:root{--space-0:0rem;--space-1:0.25rem;--space-2:0.5rem;--space-3:0.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--space-20:5rem;--space-24:6rem;--color-primary-50:#fdf2f8;--color-primary-100:#fce7f3;--color-primary-200:#fbcfe8;--color-primary-300:#f9a8d4;--color-primary-400:#f472b6;--color-primary-500:#ec4899;--color-primary-600:#db2777;--color-primary-700:#be185d;--color-primary-800:#9d174d;--color-primary-900:#831843;--color-secondary-50:#f5f3ff;--color-secondary-100:#ede9fe;--color-secondary-200:#ddd6fe;--color-secondary-300:#c4b5fd;--color-secondary-400:#a78bfa;--color-secondary-500:#8b5cf6;--color-secondary-600:#7c3aed;--color-secondary-700:#6d28d9;--color-secondary-800:#5b21b6;--color-secondary-900:#4c1d95;--color-accent-50:#eef2ff;--color-accent-100:#e0e7ff;--color-accent-200:#c7d2fe;--color-accent-300:#a5b4fc;--color-accent-400:#818cf8;--color-accent-500:#6366f1;--color-accent-600:#4f46e5;--color-accent-700:#4338ca;--color-accent-800:#3730a3;--color-accent-900:#312e81;--color-neutral-50:#f8fafc;--color-neutral-100:#f1f5f9;--color-neutral-200:#e2e8f0;--color-neutral-300:#cbd5e1;--color-neutral-400:#94a3b8;--color-neutral-500:#64748b;--color-neutral-600:#475569;--color-neutral-700:#334155;--color-neutral-800:#1e293b;--color-neutral-900:#0f172a;--color-success:#10b981;--color-success-bg:#d1fae5;--color-error:#ef4444;--color-error-bg:#fee2e2;--color-warning:#f59e0b;--color-warning-bg:#fef3c7;--gradient-primary:linear-gradient(135deg,var(--color-primary-400),var(--color-secondary-400));--gradient-background:linear-gradient(135deg,#831843,#5b21b6,#312e81);--gradient-card:linear-gradient(135deg,#1e293b,#334155);--gradient-button:linear-gradient(135deg,#1fc9ff,#16e57a);--gradient-button-hover:linear-gradient(135deg,#16a8d1,#12b864);--font-family-sans:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--font-family-mono:"JetBrains Mono","Fira Code",monospace;--text-xs:0.75rem;--text-sm:0.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-3xl:1.875rem;--text-4xl:2.25rem;--text-5xl:3rem;--font-light:300;--font-normal:400;--font-medium:500;--font-semibold:600;--font-bold:700;--font-extrabold:800;--leading-tight:1.25;--leading-normal:1.5;--leading-relaxed:1.625;--shadow-sm:0 1px 2px 0 rgb(0 0 0/0.05);--shadow-base:0 1px 3px 0 rgb(0 0 0/0.1),0 1px 2px -1px rgb(0 0 0/0.1);--shadow-md:0 4px 6px -1px rgb(0 0 0/0.1),0 2px 4px -2px rgb(0 0 0/0.1);--shadow-lg:0 10px 15px -3px rgb(0 0 0/0.1),0 4px 6px -4px rgb(0 0 0/0.1);--shadow-xl:0 20px 25px -5px rgb(0 0 0/0.1),0 8px 10px -6px rgb(0 0 0/0.1);--shadow-2xl:0 25px 50px -12px rgb(0 0 0/0.25);--shadow-inner:inset 0 2px 4px 0 rgb(0 0 0/0.05);--radius-sm:0.25rem;--radius-base:0.375rem;--radius-md:0.5rem;--radius-lg:0.75rem;--radius-xl:1rem;--radius-2xl:1.5rem;--radius-full:9999px;--transition-fast:150ms ease;--transition-base:200ms ease;--transition-slow:300ms ease;--transition-all:all var(--transition-base);--z-dropdown:1000;--z-sticky:1020;--z-fixed:1030;--z-modal-backdrop:1040;--z-modal:1050;--z-popover:1060;--z-tooltip:1070;--z-toast:1080;--hearthly-rose:#831843;--hearthly-purple:#5b21b6;--hearthly-indigo:#312e81;--hearthly-gradient:linear-gradient(135deg,#831843,#5b21b6,#312e81);--hearthly-gradient-br:linear-gradient(to bottom right,#831843,#5b21b6,#312e81)}.container{max-width:480px;padding:0 var(--space-4)}.container-lg{max-width:768px}.container-xl{max-width:1024px}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:fadeIn 1s ease-out}.animate-fade-in-up{animation:fadeInUp 1s ease-out}.animate-bounce-in{animation:bounceIn .8s ease-out}.card{background:rgba(255,255,255,.12);border-radius:var(--radius-xl);padding:var(--space-6);border:1px solid rgba(255,255,255,.2);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);box-shadow:0 20px 40px rgba(0,0,0,.4);position:relative;overflow:hidden}.card:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(244,114,182,.1),rgba(139,92,246,.1));border-radius:inherit;pointer-events:none;z-index:-1}.card-compact{padding:var(--space-6)}.card-spacious{padding:var(--space-12)}.btn{gap:var(--space-2);padding:var(--space-4) var(--space-6);border-radius:var(--radius-xl);font-weight:var(--font-semibold);line-height:var(--leading-tight);white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;user-select:none;position:relative;overflow:hidden}.btn-primary{background:var(--gradient-button);color:white;box-shadow:var(--shadow-md)}.btn-primary:hover:not(:disabled){background:var(--gradient-button-hover);box-shadow:var(--shadow-lg);transform:translateY(-1px)}.btn-secondary{background:rgba(255,255,255,.1);color:white;border:1px solid rgba(255,255,255,.2)}.btn-secondary:hover:not(:disabled){background:rgba(255,255,255,.2);border-color:rgba(255,255,255,.3)}.btn-ghost{background:transparent;color:rgba(255,255,255,.8)}.btn-ghost:hover:not(:disabled){background:rgba(255,255,255,.1);color:white}.btn-sm{padding:var(--space-2) var(--space-4);font-size:var(--text-sm)}.btn-lg{padding:var(--space-5) var(--space-8);font-size:var(--text-lg)}.btn-xl{padding:var(--space-6) var(--space-10);font-size:var(--text-xl)}.btn-full{width:100%}.button-primary{background:var(--gradient-primary);color:white;border:none;padding:var(--space-4) var(--space-6);border-radius:var(--radius-lg);font-size:var(--text-base);font-weight:var(--font-semibold);cursor:pointer;transition:var(--transition-all);display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);text-decoration:none;box-shadow:0 4px 14px 0 rgba(244,114,182,.3)}.button-primary:hover{transform:translateY(-2px);box-shadow:0 8px 20px 0 rgba(244,114,182,.4)}.button-primary:active{transform:translateY(0)}.button-secondary{background:rgba(255,255,255,.1);color:white;border:2px solid rgba(255,255,255,.2);padding:var(--space-4) var(--space-6);border-radius:var(--radius-lg);font-size:var(--text-base);font-weight:var(--font-semibold);cursor:pointer;transition:var(--transition-all);display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);text-decoration:none;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.button-secondary:hover{background:rgba(255,255,255,.2);border-color:rgba(255,255,255,.3);transform:translateY(-2px)}.button-secondary:active{transform:translateY(0)}.btn-animated{position:relative;overflow:hidden;transition:all var(--transition-base);transform-origin:center}.btn-animated:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;background:radial-gradient(circle,rgba(255,255,255,.3) 0,transparent 70%);border-radius:50%;transform:translate(-50%,-50%);transition:all .4s ease;pointer-events:none}.btn-animated:active:before{width:300px;height:300px}.btn-animated:hover{transform:translateY(-2px) scale(1.02);box-shadow:0 8px 25px rgba(0,0,0,.3)}.btn-animated:active{transform:translateY(0) scale(.98);transition:all .1s ease}.float-animation{animation:float 3s ease-in-out infinite}@keyframes pulseGlow{0%,to{box-shadow:0 0 5px rgba(244,114,182,.3)}50%{box-shadow:0 0 20px rgba(244,114,182,.8),0 0 30px rgba(244,114,182,.4)}}.pulse-glow{animation:pulseGlow 2s ease-in-out infinite}@keyframes heartbeat{0%,to{transform:scale(1)}10%,30%{transform:scale(1.1)}20%,40%{transform:scale(1.05)}}.heartbeat{animation:heartbeat 1.5s ease-in-out infinite}@keyframes wiggle{0%,to{transform:rotate(0deg)}25%{transform:rotate(-3deg)}75%{transform:rotate(3deg)}}.wiggle{animation:wiggle .5s ease-in-out}@keyframes bounceIn{0%{opacity:0;transform:scale(.3)}50%{opacity:1;transform:scale(1.05)}70%{transform:scale(.9)}to{transform:scale(1)}}.bounce-in{animation:bounceIn .6s cubic-bezier(.68,-.55,.265,1.55)}.shake{animation:shake .5s ease-in-out}@keyframes gradientShift{0%{background-position:0 50%}50%{background-position:100% 50%}to{background-position:0 50%}}.gradient-animated{background-size:200% 200%;animation:gradientShift 3s ease infinite}.btn-modern{position:relative;overflow:hidden;border:none;background:var(--gradient-primary);color:white;padding:var(--space-4) var(--space-6);border-radius:var(--radius-xl);font-weight:var(--font-semibold);cursor:pointer;transition:all var(--transition-base);display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2)}.btn-modern:before{content:"";position:absolute;inset:0;background:linear-gradient(45deg,transparent 30%,rgba(255,255,255,.3) 50%,transparent 70%);transform:translateX(-100%);transition:transform .6s ease}.btn-modern:hover:before{transform:translateX(100%)}.btn-modern:hover{transform:translateY(-2px);box-shadow:0 8px 25px rgba(244,114,182,.4)}.btn-modern:active{transform:translateY(0) scale(.98)}.btn-glass{background:rgba(255,255,255,.1);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.2);color:white;padding:var(--space-4) var(--space-6);border-radius:var(--radius-xl);font-weight:var(--font-medium);cursor:pointer;transition:all var(--transition-base);position:relative;overflow:hidden}.btn-glass:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s ease}.btn-glass:hover:before{left:100%}.btn-glass:hover{background:rgba(255,255,255,.15);border-color:rgba(255,255,255,.3);transform:translateY(-1px);box-shadow:0 4px 20px rgba(255,255,255,.1)}.btn-success{background:var(--color-success)!important;transform:scale(1.05);animation:successPulse .6s ease}.btn-error{background:var(--color-error)!important;animation:shake .5s ease}@keyframes successPulse{0%{transform:scale(1)}50%{transform:scale(1.1)}to{transform:scale(1.05)}}.form-input-animated{transition:all var(--transition-base);position:relative}.form-input-animated:focus{transform:translateY(-1px);box-shadow:0 4px 20px rgba(244,114,182,.2)}.form-input-animated:focus+.form-label{color:var(--color-primary-400);transform:translateY(-2px)}.card-interactive{transition:all var(--transition-base);cursor:pointer}.card-interactive:hover{transform:translateY(-4px) scale(1.02);box-shadow:0 20px 40px rgba(0,0,0,.4)}.card-interactive:active{transform:translateY(-2px) scale(1.01)}@media (hover:none) and (pointer:coarse){.btn-animated:active,.btn-glass:active,.btn-modern:active{transform:scale(.95);opacity:.8}.card-interactive:active{transform:scale(.98);opacity:.9}}@media (prefers-reduced-motion:reduce){.btn-animated,.btn-glass,.btn-modern,.card-interactive,.float-animation,.gradient-animated,.heartbeat,.pulse-glow{animation:none!important;transition:none!important}.btn-animated:hover,.btn-glass:hover,.btn-modern:hover,.card-interactive:hover{transform:none!important}}.form-group{margin-bottom:var(--space-6)}.form-label{font-weight:var(--font-medium);color:rgba(255,255,255,.9);margin-bottom:var(--space-2);font-size:var(--text-sm)}.form-input{padding:var(--space-4);background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);border-radius:var(--radius-lg);color:white;font-size:var(--text-base);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.form-input::-moz-placeholder{color:rgba(255,255,255,.5)}.form-input::placeholder{color:rgba(255,255,255,.5)}.form-input:focus{border-color:var(--color-primary-400);box-shadow:0 0 0 3px rgba(244,114,182,.2);background:rgba(255,255,255,.15)}.form-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3e%3c/svg%3e");background-position:right var(--space-3) center;background-repeat:no-repeat;background-size:1rem;padding-right:var(--space-10)}.form-error{color:var(--color-error);font-size:var(--text-sm);margin-top:var(--space-1)}.feature-grid{display:grid;gap:var(--space-4);margin-bottom:var(--space-8)}.feature-item{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-4);background:rgba(255,255,255,.05);border-radius:var(--radius-xl);border:1px solid rgba(255,255,255,.1);transition:var(--transition-all)}.feature-item:hover{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.2);transform:translateY(-1px)}.icon-container{display:flex;align-items:center;justify-content:center;border-radius:var(--radius-lg);flex-shrink:0}.icon-container-sm{width:2.5rem;height:2.5rem}.icon-container-base{width:3rem;height:3rem;display:flex;align-items:center;justify-content:center;font-size:1.5rem}.icon-container-lg{width:4rem;height:4rem}.icon-container-hero{width:5rem;height:5rem}.grid{display:grid}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.gap-2{gap:var(--space-2)}.gap-4{gap:var(--space-4)}.gap-6{gap:var(--space-6)}.flex{display:flex}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.space-y-4>*+*{margin-top:var(--space-4)}.space-y-6>*+*{margin-top:var(--space-6)}.mb-2{margin-bottom:var(--space-2)}.mb-4{margin-bottom:var(--space-4)}.mb-6{margin-bottom:var(--space-6)}.mb-8{margin-bottom:var(--space-8)}.mt-4{margin-top:var(--space-4)}.mt-8{margin-top:var(--space-8)}.text-center{text-align:center}.text-sm{font-size:var(--text-sm)}.text-xl{font-size:var(--text-xl)}.text-2xl{font-size:var(--text-2xl)}.font-bold{font-weight:var(--font-bold)}.font-semibold{font-weight:var(--font-semibold)}.text-white{color:white}.text-muted{color:rgba(255,255,255,.7)}.text-primary{color:var(--color-primary-400)}.w-full{width:100%}.max-w-md{max-width:28rem}.mx-auto{margin-left:auto;margin-right:auto}.bg-gradient-to-r{background:linear-gradient(to right,var(--from-color,transparent),var(--to-color,transparent))}.from-pink-500{--from-color:#ec4899}.to-purple-600{--to-color:#7c3aed}.bg-white{background-color:white}.text-purple-600{color:#7c3aed}.hover\:bg-gray-100:hover{background-color:#f3f4f6}.disabled\:opacity-50:disabled{opacity:.5}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.loading-spinner{display:flex;align-items:center;justify-content:center;color:white;font-size:var(--text-lg);min-height:50vh}.spinner{width:20px;height:20px;border:2px solid rgba(255,255,255,.3);border-top:2px solid var(--color-primary-400);border-radius:50%}.spinner,.spinner-lg{animation:spin 1s linear infinite}.spinner-lg{width:32px;height:32px;border:3px solid rgba(255,255,255,.3);border-top:3px solid var(--color-primary-400);border-radius:50%}.spinner-xl{width:48px;height:48px;border:4px solid rgba(255,255,255,.3);border-top:4px solid var(--color-primary-400);border-radius:50%;animation:spin 1s linear infinite}.loading-text{font-size:var(--text-sm);margin-left:var(--space-3)}.error-state,.loading-text{color:var(--color-neutral-400)}.error-state{text-align:center;padding:var(--space-12)}.error-state .error-icon{font-size:3rem;margin-bottom:var(--space-4)}.error-state .error-title{font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--color-neutral-300);margin-bottom:var(--space-2)}.error-state .error-message{font-size:var(--text-sm);margin-bottom:var(--space-6)}.empty-state{text-align:center;padding:var(--space-16);color:var(--color-neutral-400)}.empty-state .empty-icon{font-size:4rem;margin-bottom:var(--space-6);opacity:.6}.empty-state .empty-title{font-size:var(--text-xl);font-weight:var(--font-semibold);color:var(--color-neutral-300);margin-bottom:var(--space-3)}.empty-state .empty-message{font-size:var(--text-base);margin-bottom:var(--space-8);max-width:400px;margin-left:auto;margin-right:auto;line-height:var(--leading-relaxed)}.error-message{background-color:#fef2f2;border:1px solid #fecaca;color:#991b1b;padding:.75rem 1rem}.success-message{background-color:#f0fdf4;border:1px solid #bbf7d0;color:#166534;padding:.75rem 1rem}.spinner-sm{width:16px;height:16px;border:2px solid transparent;border-top-color:currentcolor;border-radius:50%}.spinner-md,.spinner-sm{display:inline-block;animation:spin 1s linear infinite}.spinner-md{width:24px;height:24px;border:3px solid transparent;border-top-color:currentcolor;border-radius:50%}.form-group{margin-bottom:1.5rem}.form-label{margin-bottom:.5rem;font-weight:600;color:var(--text-primary)}.form-input,.form-select{width:100%;padding:.75rem 1rem;border:2px solid var(--border-light);border-radius:.75rem;background-color:var(--bg-card);color:var(--text-primary);font-size:1rem;transition:all .2s ease}.form-input:focus,.form-select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-alpha)}.form-input::-moz-placeholder{color:var(--text-secondary)}.form-input::placeholder{color:var(--text-secondary)}.error-message{background-color:rgba(239,68,68,.1);border:1px solid rgba(239,68,68,.3);border-radius:.75rem;color:#ef4444}.error-message,.success-message{padding:1rem;font-size:.875rem;margin-bottom:1rem}.success-message{background-color:rgba(34,197,94,.1);border:1px solid rgba(34,197,94,.3);border-radius:.75rem;color:#22c55e}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn:disabled:hover{transform:none;box-shadow:none}.auth-container{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2rem}.auth-card{width:100%;max-width:400px;background:var(--bg-card);border-radius:1.5rem;padding:2rem;box-shadow:var(--shadow-xl);border:1px solid var(--border-light)}.hearthly-logo{transition:var(--transition-all)}.hearthly-logo:hover{transform:scale(1.05)}.hearthly-logo.header-logo{cursor:pointer}.hearthly-logo.footer-logo{opacity:.8}.hearthly-logo.auth-logo{margin-bottom:var(--space-4)}.hearthly-logo.loading-logo{animation:pulse 2s ease-in-out infinite}.logo-container{display:flex;align-items:center;justify-content:center;background:white;border-radius:50%;box-shadow:0 2px 8px rgba(0,0,0,.1);transition:var(--transition-all)}.logo-container:hover{box-shadow:0 4px 16px rgba(0,0,0,.15)}@media (max-width:768px){.hearthly-logo.header-logo{gap:var(--space-1)}.hearthly-logo.header-logo span{font-size:var(--text-lg)!important}}@media (max-width:480px){.hearthly-logo.header-logo span{font-size:var(--text-base)!important}}.chat-header{position:sticky;top:0;z-index:30;border-bottom:1px solid var(--color-primary-100);padding:var(--space-4) 0}.chat-header-content{display:flex;align-items:center;gap:var(--space-4)}.chat-user-info{display:flex;align-items:center;gap:var(--space-3)}.user-avatar-container{position:relative}.user-avatar{border-radius:var(--radius-full);-o-object-fit:cover;object-fit:cover}.user-avatar-md{width:2.5rem;height:2.5rem}.online-indicator{position:absolute;bottom:-2px;right:-2px;width:1rem;height:1rem;background:var(--color-success-500);border:2px solid white;border-radius:var(--radius-full)}.user-details{display:flex;flex-direction:column;gap:var(--space-1)}.user-name{font-size:var(--text-base);font-weight:var(--font-semibold);color:var(--color-gray-900);margin:0}.user-status{font-size:var(--text-sm);color:var(--color-gray-500);margin:0}.chat-content{padding-bottom:calc(var(--bottom-nav-height) + var(--space-4))}.chat-content,.chat-messages-container{flex:1;display:flex;flex-direction:column}.chat-messages-container{min-height:60vh;max-height:70vh}.chat-messages-scroll{flex:1;overflow-y:auto;padding:var(--space-6)}.messages-list{display:flex;flex-direction:column;gap:var(--space-4)}.message-container{display:flex;width:100%}.message-container.message-own{justify-content:flex-end}.message-container.message-other{justify-content:flex-start}.message-bubble-wrapper{max-width:20rem;display:flex;flex-direction:column;gap:var(--space-1)}.message-bubble{padding:var(--space-3) var(--space-4);border-radius:var(--radius-2xl);position:relative}.message-bubble-primary{background:var(--gradient-primary);color:white}.message-bubble-secondary{background:var(--color-gray-100);color:var(--color-gray-900)}.message-text{font-size:var(--text-sm);line-height:var(--leading-relaxed);margin:0}.message-time{font-size:var(--text-xs);color:var(--color-gray-500);margin:0}.message-own .message-time{text-align:right}.message-other .message-time{text-align:left}.chat-input-container{padding:var(--space-6);border-top:1px solid var(--color-gray-100);background:rgba(255,255,255,.9);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.chat-input-wrapper{display:flex;gap:var(--space-3);align-items:flex-end}.message-input{flex:1;resize:none;border:1px solid var(--color-gray-200);border-radius:var(--radius-xl);padding:var(--space-3) var(--space-4);font-size:var(--text-sm);transition:var(--transition-all);background:white;min-height:2.75rem;max-height:6rem}.message-input:focus{outline:none;border-color:var(--color-primary-400);box-shadow:0 0 0 3px rgba(244,114,182,.1)}.input-help-text{font-size:var(--text-xs);color:var(--color-gray-500);margin:var(--space-2) 0 0 0}@media (max-width:768px){.message-bubble-wrapper{max-width:16rem}.chat-input-container,.chat-messages-scroll{padding:var(--space-4)}}@media (max-width:480px){.message-bubble-wrapper{max-width:14rem}.chat-header-content,.chat-user-info{gap:var(--space-2)}}@keyframes float{0%,to{transform:translateY(0) rotate(0deg)}50%{transform:translateY(-20px) rotate(180deg)}}@keyframes bounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-10px)}60%{transform:translateY(-5px)}}@keyframes fadeInOut{0%{opacity:0;transform:scale(.8)}50%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.2)}}.page-header{font-size:var(--text-2xl);font-weight:var(--font-bold);color:white;text-shadow:0 2px 4px rgba(0,0,0,.3);line-height:var(--leading-tight)}@media (min-width:768px){.page-header{font-size:var(--text-3xl)}}.page-subheader{color:rgba(255,255,255,.8);font-size:var(--text-sm);font-weight:var(--font-medium);text-shadow:0 1px 2px rgba(0,0,0,.3)}@media (min-width:768px){.page-subheader{font-size:var(--text-base)}}.question-header{font-size:var(--text-xl);font-weight:var(--font-bold);color:var(--color-gray-800);line-height:var(--leading-relaxed);margin-bottom:var(--space-6)}@media (min-width:768px){.question-header{font-size:var(--text-2xl)}}.progress-text{color:rgba(255,255,255,.8);font-size:var(--text-sm);font-weight:var(--font-medium);text-shadow:0 1px 2px rgba(0,0,0,.3)}.header-container-gradient{background:rgba(255,255,255,.1);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-bottom:1px solid rgba(255,255,255,.2)}.header-container-solid{background:rgba(255,255,255,.95);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid rgba(0,0,0,.1)}.btn-primary-site{background:linear-gradient(135deg,#ec4899,#7c3aed);color:white;padding:var(--space-3) var(--space-6);border-radius:var(--radius-xl);font-weight:var(--font-semibold);font-size:var(--text-base);border:none;cursor:pointer;transition:all var(--transition-base);display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2)}.btn-primary-site:hover:not(:disabled){background:linear-gradient(135deg,#db2777,#6d28d9);transform:translateY(-1px);box-shadow:0 8px 25px rgba(244,114,182,.4)}.btn-primary-site:active{transform:translateY(0) scale(.98)}.btn-secondary-site{background:rgba(255,255,255,.1);color:white;border:2px solid rgba(255,255,255,.2);padding:var(--space-3) var(--space-6);border-radius:var(--radius-xl);font-weight:var(--font-medium);font-size:var(--text-base);cursor:pointer;transition:all var(--transition-base);display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.btn-secondary-site:hover:not(:disabled){background:rgba(255,255,255,.2);border-color:rgba(255,255,255,.3);transform:translateY(-1px)}.card-primary-site{background:rgba(255,255,255,.95);border-radius:var(--radius-2xl);box-shadow:0 20px 40px rgba(0,0,0,.4);border:1px solid rgba(255,255,255,.2)}.card-primary-site,.card-secondary-site{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.card-secondary-site{background:rgba(255,255,255,.1);border-radius:var(--radius-xl);border:1px solid rgba(255,255,255,.2)}.progress-bar-container{background:rgba(255,255,255,.2);border-radius:var(--radius-full)}.progress-bar-fill{background:linear-gradient(135deg,#ec4899,#7c3aed);border-radius:var(--radius-full);transition:all .3s ease;position:relative}.progress-bar-fill:after{content:"";position:absolute;inset:0;background:rgba(255,255,255,.2);border-radius:inherit;animation:pulse 2s ease-in-out infinite}.text-on-gradient{color:white;text-shadow:0 2px 4px rgba(0,0,0,.3)}.text-muted-on-gradient{color:rgba(255,255,255,.8);text-shadow:0 1px 2px rgba(0,0,0,.3)}.text-high-contrast{text-shadow:0 1px 0 rgba(0,0,0,.8),0 2px 4px rgba(0,0,0,.5)}.btn-primary-site:focus,.btn-secondary-site:focus{outline:3px solid rgba(255,255,255,.5);outline-offset:2px}.bg-hearthly-gradient{background:var(--hearthly-gradient-br)}.bg-hearthly-gradient-135{background:var(--hearthly-gradient)}.bg-gradient-to-br.from-purple-900.via-purple-800.to-pink-800{background:var(--hearthly-gradient-br)!important}:root{--mobile-xs:320px;--mobile-sm:375px;--mobile-md:414px;--tablet:768px;--desktop:1024px;--touch-target-min:44px;--touch-target-comfortable:48px;--mobile-padding:var(--space-4);--mobile-margin:var(--space-3)}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}.container{width:100%;max-width:100%;padding:0 var(--mobile-padding);margin:0 auto}@media (min-width:768px){.container{max-width:768px;padding:0 var(--space-6)}}@media (min-width:1024px){.container{max-width:1024px;padding:0 var(--space-8)}}.btn{min-width:var(--touch-target-min);padding:var(--space-3) var(--space-6);border:none;border-radius:var(--radius-lg);font-size:var(--text-base);font-weight:var(--font-medium);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;text-decoration:none}.btn,.form-input{min-height:var(--touch-target-min);transition:var(--transition-all);-webkit-appearance:none;-moz-appearance:none;appearance:none}.form-input{width:100%;padding:var(--space-3) var(--space-4);border:2px solid var(--color-gray-200);border-radius:var(--radius-md);background:white}.form-input:focus{outline:none;border-color:var(--color-primary-500);box-shadow:0 0 0 3px rgba(236,72,153,.1)}.grid-mobile{display:grid;gap:var(--space-4);grid-template-columns:1fr}@media (min-width:640px){.grid-mobile{grid-template-columns:repeat(2,1fr)}}@media (min-width:768px){.grid-mobile{grid-template-columns:repeat(3,1fr)}}.mobile-nav{position:fixed;bottom:0;left:0;right:0;background:var(--gradient-card);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-top:1px solid rgba(255,255,255,.1);padding:var(--space-2) 0;z-index:1000;justify-content:space-around}.mobile-nav,.mobile-nav-item{display:flex;align-items:center}.mobile-nav-item{flex-direction:column;justify-content:center;min-height:var(--touch-target-min);min-width:var(--touch-target-min);color:rgba(255,255,255,.6);text-decoration:none;transition:var(--transition-all);font-size:var(--text-xs);padding:var(--space-2)}.mobile-nav-item.active,.mobile-nav-item:hover{color:white;transform:translateY(-2px)}.card-mobile{background:var(--gradient-card);border-radius:var(--radius-xl);padding:var(--space-5);margin-bottom:var(--space-4);border:1px solid rgba(255,255,255,.1);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);box-shadow:var(--shadow-lg)}@media (min-width:768px){.card-mobile{padding:var(--space-6);margin-bottom:var(--space-6)}}.mobile-only{display:block}.desktop-only{display:none}@media (min-width:768px){.mobile-only{display:none}.desktop-only{display:block}}.text-mobile-lg{font-size:1.25rem;line-height:1.4}@media (min-width:768px){.text-mobile-lg{font-size:1.5rem;line-height:1.3}}.scroll-container{-webkit-overflow-scrolling:touch;overflow-x:hidden;overflow-y:auto}.form-group-mobile{margin-bottom:var(--space-5)}.form-label-mobile{display:block;font-weight:var(--font-medium);color:white;margin-bottom:var(--space-2);font-size:var(--text-sm)}.modal-mobile{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.8);display:flex;align-items:flex-end;justify-content:center;z-index:1000;padding:0}.modal-content-mobile{background:var(--gradient-card);border-radius:var(--radius-xl) var(--radius-xl) 0 0;padding:var(--space-6);width:100%;max-height:90vh;overflow-y:auto;-webkit-overflow-scrolling:touch}@media (min-width:768px){.modal-mobile{align-items:center;padding:var(--space-4)}.modal-content-mobile{border-radius:var(--radius-xl);max-width:500px;max-height:80vh}}@supports (padding:max(0px)){.mobile-nav{padding-bottom:max(var(--space-2),env(safe-area-inset-bottom))}.mobile-safe-top{padding-top:max(var(--space-4),env(safe-area-inset-top))}}.animate-mobile{will-change:transform;transform:translateZ(0)}.touch-feedback{position:relative;overflow:hidden}.touch-feedback:after{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:rgba(255,255,255,.1);transform:translate(-50%,-50%);transition:width .3s,height .3s}.touch-feedback:active:after{width:300px;height:300px}.mobile-safe-area{padding-bottom:100px}.mobile-nav-safe{margin-bottom:80px}.mobile-container{min-height:100vh;padding-bottom:90px;box-sizing:border-box}@media (min-width:768px){.mobile-nav-safe,.mobile-safe-area{padding-bottom:0;margin-bottom:0}.mobile-container{padding-bottom:0}}.mobile-header{padding:var(--space-4) var(--mobile-padding);position:sticky;top:0;z-index:40;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}@media (min-width:768px){.mobile-header{padding:var(--space-6) var(--space-8)}}.header-hero{background-image:linear-gradient(to right,var(--tw-gradient-stops));--tw-gradient-from:#fff var(--tw-gradient-from-position);--tw-gradient-to:rgb(255 255 255/0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to);--tw-gradient-to:#fce7f3 var(--tw-gradient-to-position);-webkit-background-clip:text;background-clip:text;font-size:4.5rem;line-height:1;font-weight:700;color:transparent}@media (min-width:768px){.header-hero{font-size:6rem;line-height:1}}.header-primary{background-image:linear-gradient(to right,var(--tw-gradient-stops));--tw-gradient-from:#1f2937 var(--tw-gradient-from-position);--tw-gradient-to:rgb(31 41 55/0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to);--tw-gradient-to:#4b5563 var(--tw-gradient-to-position);-webkit-background-clip:text;background-clip:text;font-size:2.25rem;line-height:2.5rem;font-weight:700;color:transparent}.header-secondary{font-size:1.875rem;line-height:2.25rem}.header-secondary,.header-section{font-weight:700;--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity,1))}.header-section{font-size:1.5rem;line-height:2rem}.header-subsection{font-size:1.25rem;line-height:1.75rem;font-weight:600;--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity,1))}.header-auth{font-size:1.875rem;line-height:2.25rem;font-weight:700;--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity,1))}.header-dashboard{background-image:linear-gradient(to right,var(--tw-gradient-stops));--tw-gradient-from:#db2777 var(--tw-gradient-from-position);--tw-gradient-to:rgb(219 39 119/0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to);--tw-gradient-to:#9333ea var(--tw-gradient-to-position);-webkit-background-clip:text;background-clip:text;font-size:2.25rem;line-height:2.5rem;font-weight:700;color:transparent}.header-profile,.header-settings{color:rgb(31 41 55/var(--tw-text-opacity,1))}.header-match,.header-profile,.header-settings{font-size:1.875rem;line-height:2.25rem;font-weight:700;--tw-text-opacity:1}.header-match{color:rgb(255 255 255/var(--tw-text-opacity,1))}.header-chat{font-size:1.5rem;line-height:2rem;font-weight:700;--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity,1))}@media (max-width:640px){.header-primary{font-size:1.875rem;line-height:2.25rem}.header-secondary{font-size:1.5rem;line-height:2rem}.header-section{font-size:1.25rem;line-height:1.75rem}}:root{--color-background:#ffffff;--color-foreground:#000000;--color-card:#f9fafb;--color-card-foreground:#111827;--color-primary:#8b5cf6;--color-primary-foreground:#ffffff;--color-secondary:#f1f5f9;--color-secondary-foreground:#475569;--color-muted:#f1f5f9;--color-muted-foreground:#64748b;--color-accent:#ec4899;--color-accent-foreground:#ffffff;--color-border:#e2e8f0;--color-input:#ffffff;--color-ring:#8b5cf6;--background:var(--color-background);--foreground:var(--color-foreground);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}[data-theme=dark]{--color-background:#0f172a;--color-foreground:#f1f5f9;--color-card:#1e293b;--color-card-foreground:#f1f5f9;--color-primary:#a78bfa;--color-primary-foreground:#1e1b4b;--color-secondary:#1e293b;--color-secondary-foreground:#cbd5e1;--color-muted:#1e293b;--color-muted-foreground:#94a3b8;--color-accent:#f472b6;--color-accent-foreground:#500724;--color-border:#334155;--color-input:#1e293b;--color-ring:#a78bfa;--background:var(--color-background);--foreground:var(--color-foreground)}*{transition:background-color .2s ease,color .2s ease,border-color .2s ease}body{color:var(--color-foreground);background:var(--color-background);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background-image:linear-gradient(135deg,var(--color-primary) 0,var(--color-accent) 100%);background-attachment:fixed;min-height:100vh}.page-with-bottom-nav{padding-bottom:120px}.page-full-screen{padding-bottom:0}.centered{color:white;min-height:100vh;flex-direction:column;background:#1a1a1a}.centered,.loading-msg{display:flex;justify-content:center;align-items:center}.loading-msg{color:#1fc9ff;text-align:center;margin:32px 0;font-size:18px;gap:12px}.loading-msg:before{content:"";width:20px;height:20px;border:2px solid #1fc9ff;border-top-color:transparent;border-radius:50%;animation:spin 1s linear infinite}.error-msg{color:#e74c3c;background:rgba(231,76,60,.1);border:1px solid rgba(231,76,60,.3);border-radius:8px}.error-msg,.no-questions-msg{text-align:center;margin:32px 0;padding:16px;font-size:16px}.no-questions-msg{color:#ffe75e;background:rgba(255,231,94,.1);border:1px solid rgba(255,231,94,.3);border-radius:8px}.questions-container{max-width:600px;margin:40px auto;background:#182330;border-radius:12px;padding:32px;box-shadow:0 6px 28px rgba(0,0,0,.18);color:#fff}.question-card{background:linear-gradient(135deg,#22304d,#1a2536);border-radius:12px;padding:24px 20px 18px;margin-bottom:24px;box-shadow:0 4px 16px rgba(0,0,0,.15),0 1px 4px rgba(0,0,0,.1);border:1px solid rgba(31,201,255,.2);transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.question-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#1fc9ff,#16e57a);opacity:0;transition:opacity .3s ease}.question-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(0,0,0,.2),0 2px 8px rgba(0,0,0,.15);border-color:rgba(31,201,255,.4)}.question-card:hover:before{opacity:1}.dealbreaker-highlight{border-color:rgba(231,76,60,.5)!important;background:linear-gradient(135deg,#3d2a2a,#2a1a1a)!important}.dealbreaker-highlight:before{background:linear-gradient(90deg,#e74c3c,#ff6b6b)!important}.flex-highlight{border-color:rgba(255,231,94,.5)!important;background:linear-gradient(135deg,#3d3d2a,#2a2a1a)!important}.flex-highlight:before{background:linear-gradient(90deg,#ffe75e,#ffd93d)!important}.normal-highlight{border-color:rgba(31,201,255,.3)!important}.question-meta{color:#8fd6ff;font-size:14px;margin-bottom:2px}.question-tags{color:#ffe955;font-size:13px}.question-answer,.question-tags{margin-bottom:8px}.select-answer,.slider-answer,.text-answer{margin-top:12px;padding:12px 16px;border-radius:8px;border:2px solid #444;background:linear-gradient(135deg,#232c3b,#1a2231);color:#fff;font-size:16px;transition:all .3s ease;width:100%;box-sizing:border-box}.select-answer option{background:#232c3b;color:#fff;padding:8px 12px}.select-answer:focus,.text-answer:focus{outline:none;border-color:#1fc9ff;box-shadow:0 0 0 3px rgba(31,201,255,.1);background:linear-gradient(135deg,#2a3647,#1f2936)}.text-answer::-moz-placeholder{color:#8a9bb8;opacity:.8}.text-answer::placeholder{color:#8a9bb8;opacity:.8}.slider-answer{-webkit-appearance:none;-moz-appearance:none;appearance:none;height:8px;background:linear-gradient(90deg,#444,#666);border-radius:5px;outline:none;margin:16px 0;cursor:pointer}.slider-answer::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:24px;height:24px;background:linear-gradient(135deg,#1fc9ff,#16e57a);border-radius:50%;cursor:pointer;box-shadow:0 2px 8px rgba(31,201,255,.3);-webkit-transition:all .2s ease;transition:all .2s ease}.slider-answer::-webkit-slider-thumb:hover{transform:scale(1.1);box-shadow:0 4px 12px rgba(31,201,255,.4)}.slider-answer::-moz-range-thumb{width:24px;height:24px;background:linear-gradient(135deg,#1fc9ff,#16e57a);border-radius:50%;cursor:pointer;border:none;box-shadow:0 2px 8px rgba(31,201,255,.3)}.percentage-display{color:#16e57a;font-size:15px;margin-top:6px}.save-answers-btn{margin-top:24px;background:linear-gradient(135deg,#19b647,#16e57a);color:#fff;border:none;border-radius:12px;padding:16px 32px;font-size:18px;font-weight:700;letter-spacing:.5px;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 16px rgba(25,182,71,.3);position:relative;overflow:hidden}.save-answers-btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s}.save-answers-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px rgba(25,182,71,.4);background:linear-gradient(135deg,#16e57a,#19b647)}.save-answers-btn:hover:before{left:100%}.save-answers-btn:active{transform:translateY(0)}.save-answers-btn:disabled{opacity:.5;cursor:not-allowed;background:#666}.save-answers-btn:disabled,.save-answers-btn:disabled:hover{transform:none;box-shadow:none}.admin-page{max-width:700px;margin:40px auto;background:#1a2536;border-radius:12px;padding:36px;color:#fff}.stats-container,.topic-form{margin-bottom:32px}.form-group{margin-bottom:18px}.form-label{display:block;margin-bottom:6px;color:#8fd6ff;font-weight:500}.category-select,.input-field{width:100%;padding:10px 12px;border-radius:6px;border:1px solid #444;background:#232c3b;color:#fff;font-size:16px}.form-actions{margin-top:24px;display:flex;gap:16px}.submit-button{background:#1fc9ff;color:#fff;border:none;border-radius:8px;padding:12px 28px;font-size:17px;font-weight:700;cursor:pointer;transition:background .2s}.submit-button:disabled{opacity:.6;cursor:not-allowed}.dark-bg{background:#131820;min-height:100vh}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}.animate-fade-in{animation:fadeIn .5s cubic-bezier(.4,0,.2,1)}@keyframes shake{10%,90%{transform:translateX(-2px)}20%,80%{transform:translateX(4px)}30%,50%,70%{transform:translateX(-8px)}40%,60%{transform:translateX(8px)}}.input-error{animation:shake .4s cubic-bezier(.36,.07,.19,.97) both;border-color:#ff4d4f!important}.progress-bar{width:100%;height:8px;background:rgba(255,255,255,.1);margin-bottom:8px;box-shadow:inset 0 2px 4px rgba(0,0,0,.1)}.progress-bar,.progress-bar-inner{border-radius:8px;overflow:hidden;position:relative}.progress-bar-inner{height:100%;background:linear-gradient(90deg,#1fc9ff,#16e57a);transition:all .6s cubic-bezier(.4,0,.2,1)}.progress-bar-inner:after{content:"";position:absolute;top:0;left:0;bottom:0;right:0;background-image:linear-gradient(-45deg,rgba(255,255,255,.2) 25%,transparent 0,transparent 50%,rgba(255,255,255,.2) 0,rgba(255,255,255,.2) 75%,transparent 0,transparent);background-size:50px 50px;animation:progress-shine 2s linear infinite}@keyframes progress-shine{0%{background-position:0 0}to{background-position:50px 50px}}.progress-label{font-size:14px;color:#b8d6ff;font-weight:500;margin-top:4px;text-align:center}.overall-progress .progress-bar-inner{background:linear-gradient(90deg,#ffe75e,#16e57a)}.profile-progress{display:flex;justify-content:center;gap:.5rem;margin-bottom:1.5rem}.profile-progress-dot{width:14px;height:14px;border-radius:50%;background:#232c3b;border:2px solid #1fc9ff;transition:background .2s,border .2s}.profile-progress-dot.active{background:#1fc9ff;border-color:#ffe75e}.question-legend{background:linear-gradient(135deg,rgba(35,44,59,.9),rgba(26,34,49,.9));border-radius:12px;padding:16px;margin-bottom:24px;border:1px solid rgba(31,201,255,.2);box-shadow:0 4px 16px rgba(0,0,0,.1)}.legend-dealbreaker{background:linear-gradient(135deg,#e74c3c,#ff6b6b)}.legend-dealbreaker,.legend-flex{display:inline-block;width:16px;height:16px;border-radius:2px;margin-right:8px;vertical-align:middle}.legend-flex{background:linear-gradient(135deg,#ffe75e,#ffd93d)}.legend-normal{display:inline-block;width:16px;height:16px;background:linear-gradient(135deg,#1fc9ff,#16e57a);border-radius:2px;margin-right:8px;vertical-align:middle}.profile-onboarding-card{background:linear-gradient(135deg,rgba(25,32,44,.98),rgba(35,44,59,.95));-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 8px 32px rgba(0,0,0,.3),0 2px 8px rgba(0,0,0,.2),inset 0 1px 0 rgba(255,255,255,.1);border-radius:20px;border:1px solid rgba(31,201,255,.2);max-width:700px;margin:2.5rem auto;padding:2.5rem 2rem;display:flex;flex-direction:column;gap:2.5rem;position:relative;overflow:hidden}.profile-onboarding-card:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:radial-gradient(circle at 20% 80%,rgba(31,201,255,.1) 0,transparent 50%),radial-gradient(circle at 80% 20%,rgba(22,229,122,.1) 0,transparent 50%);pointer-events:none;z-index:0}.profile-onboarding-card>*{position:relative;z-index:1}@media (min-width:900px){.profile-onboarding-card{flex-direction:row;align-items:flex-start;gap:3.5rem;padding:3.5rem 3rem;max-width:950px}}.profile-onboarding-card .profile-info{flex:1 1 0%;min-width:260px}.profile-onboarding-card .profile-image{min-width:160px;max-width:220px;display:flex;flex-direction:column;align-items:center;gap:1.2rem}.profile-onboarding-card .profile-image img{width:120px;height:120px;border-radius:50%;border:4px solid #1fc9ff;-o-object-fit:cover;object-fit:cover;box-shadow:0 2px 12px #0008}.profile-onboarding-card .profile-image input[type=file]{margin-top:.5rem;color:#fff;font-size:.95rem}.profile-onboarding-card .profile-social{background:#232c3b;border-radius:.7rem;padding:1rem 1.2rem;margin-top:1.2rem;width:100%;font-size:.98rem}.profile-onboarding-card .profile-social .text-xs{font-size:.85rem}.profile-onboarding-card .profile-fields{display:grid;grid-template-columns:1fr 1fr;gap:.5rem 1.2rem;margin-bottom:1.2rem;font-size:1.08rem}.smart-tags-display{background:linear-gradient(135deg,rgba(31,201,255,.08),rgba(22,229,122,.08));border:1px solid rgba(31,201,255,.2);border-radius:8px;padding:12px;margin-top:12px;transition:all .3s ease}.smart-tags-display:hover{background:linear-gradient(135deg,rgba(31,201,255,.12),rgba(22,229,122,.12));border-color:rgba(31,201,255,.3)}.smart-tags-loading{animation:pulse 2s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}@media (max-width:600px){.profile-onboarding-card{padding:1rem;margin:1rem;border-radius:16px}.question-card{padding:16px;margin-bottom:16px;border-radius:8px}.question-card b{font-size:1rem!important;line-height:1.4}.progress-bar{height:6px}.progress-label{font-size:.8rem}.save-answers-btn{padding:12px 20px;font-size:1rem}.slider-labels{flex-direction:column;gap:4px;font-size:.85rem}.select-answer,.text-answer{padding:10px 12px;font-size:15px}}@media (max-width:500px){.profile-info-card,.profile-main-card,.profile-onboarding-card,.profile-quiz-card,.profile-summary-card{padding:.5rem!important;border-radius:.75rem!important;box-shadow:none!important}.profile-quiz-card,.question-card{margin-bottom:1.5rem!important}.profile-info-card,.profile-summary-card,.question-legend{font-size:.85rem!important}.profile-contact-btn,.profile-edit-btn,.save-answers-btn{width:100%;margin-bottom:.5rem;font-size:1rem!important}.privacy-link,.profile-summary-toggle,.progress-label{font-size:.85rem!important}.profile-avatar{width:90px!important;height:90px!important}.profile-box{margin-bottom:1.25rem!important;padding:.75rem!important}.profile-info{gap:.5rem!important}.profile-info-card h2,.profile-summary-card h2{font-size:1.1rem!important}.profile-info-card p,.profile-summary-card p{font-size:.95rem!important}}.progress-celebration{background:#ffe75e;color:#232c3b;border-radius:8px;padding:.5rem 1rem;margin:1rem 0;text-align:center;font-weight:700;font-size:1.2rem;box-shadow:0 2px 8px rgba(0,0,0,.08)}.slider-labels{display:flex;justify-content:space-between;margin-top:4px;margin-bottom:0;font-size:.98rem;color:#b8d6ff}.slider-label-left{text-align:left;flex:1}.slider-label-right{text-align:right;flex:1}.icon-xs{width:clamp(.75rem,2vw,1rem);height:clamp(.75rem,2vw,1rem)}.icon-sm{width:clamp(1rem,2.5vw,1.25rem);height:clamp(1rem,2.5vw,1.25rem)}.icon-base{width:clamp(1.25rem,3vw,1.5rem);height:clamp(1.25rem,3vw,1.5rem)}.icon-md{width:clamp(1.5rem,4vw,2rem);height:clamp(1.5rem,4vw,2rem)}.icon-lg{width:clamp(2rem,5vw,2.5rem);height:clamp(2rem,5vw,2.5rem)}.icon-xl{width:clamp(2.5rem,6vw,3rem);height:clamp(2.5rem,6vw,3rem)}.icon-2xl{width:clamp(3rem,8vw,4rem);height:clamp(3rem,8vw,4rem)}.icon-3xl{width:clamp(4rem,10vw,5rem);height:clamp(4rem,10vw,5rem)}.icon-hero{width:clamp(3rem,8vw,7rem);height:clamp(3rem,8vw,7rem)}.icon-hero-svg{width:clamp(1.5rem,4vw,3.5rem);height:clamp(1.5rem,4vw,3.5rem)}.icon-container-xs{width:clamp(1.5rem,3vw,2rem);height:clamp(1.5rem,3vw,2rem)}.icon-container-sm{width:clamp(2rem,4vw,2.5rem);height:clamp(2rem,4vw,2.5rem)}.icon-container-base{width:clamp(2.5rem,5vw,3rem);height:clamp(2.5rem,5vw,3rem)}.icon-container-md{width:clamp(3rem,6vw,4rem);height:clamp(3rem,6vw,4rem)}.icon-container-lg{width:clamp(4rem,8vw,5rem);height:clamp(4rem,8vw,5rem)}.icon-container-xl{width:clamp(5rem,10vw,6rem);height:clamp(5rem,10vw,6rem)}.icon-container-hero{width:clamp(3rem,8vw,7rem);height:clamp(3rem,8vw,7rem)}@media (min-width:768px){.icon-hero{width:clamp(4rem,6vw,8rem);height:clamp(4rem,6vw,8rem)}.icon-hero-svg{width:clamp(2rem,3vw,4rem);height:clamp(2rem,3vw,4rem)}.icon-container-hero{width:clamp(4rem,6vw,8rem);height:clamp(4rem,6vw,8rem)}}.icon-responsive{transition:all .3s ease}.icon-active,.icon-hover:hover{transform:scale(1.1)}.nav-icon{width:clamp(1.25rem,3vw,1.5rem);height:clamp(1.25rem,3vw,1.5rem)}.btn-icon-sm{width:clamp(1rem,2.5vw,1.25rem);height:clamp(1rem,2.5vw,1.25rem)}.btn-icon-base{width:clamp(1.25rem,3vw,1.5rem);height:clamp(1.25rem,3vw,1.5rem)}.btn-icon-lg{width:clamp(1.5rem,4vw,2rem);height:clamp(1.5rem,4vw,2rem)}.icon-spin{animation:spin 1s linear infinite}.icon-primary{color:rgb(244 114 182)}.icon-secondary{color:rgb(168 85 247)}.icon-accent{color:rgb(34 197 94)}.icon-muted{color:rgb(148 163 184)}.modal-overlay{z-index:9999!important;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background-color:rgba(0,0,0,.8)}.modal-content{z-index:10000!important;max-height:90vh;overflow-y:auto;box-shadow:0 25px 50px rgba(0,0,0,.25)}.text-low-contrast{color:var(--color-muted-foreground);font-weight:500}.text-high-contrast{color:var(--color-foreground);font-weight:600}.btn-touch-target{min-height:44px;min-width:44px;display:flex;align-items:center;justify-content:center}.focus-ring{outline:2px solid var(--color-ring);outline-offset:2px}.focus-ring:focus-visible{outline:2px solid var(--color-ring);outline-offset:2px}.btn-gradient:hover{transform:translateY(-1px);box-shadow:0 10px 25px rgba(0,0,0,.2)}.btn-gradient:active{transform:translateY(0)}.loading-spinner{width:20px;height:20px;border-radius:50%;border:2px solid rgba(255,255,255,.3);border-top-color:currentcolor;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.card-interactive:hover{transform:translateY(-4px);box-shadow:0 20px 40px rgba(0,0,0,.15)}.form-group{margin-bottom:24px}.form-input{padding:16px;border-radius:12px;border:2px solid var(--color-border);background:var(--color-input);color:var(--color-foreground);font-size:16px}.form-input:focus{border-color:var(--color-ring);box-shadow:0 0 0 3px rgba(139,92,246,.1)}.form-error{color:#ef4444}.form-error,.form-success{font-size:14px;margin-top:8px;display:flex;align-items:center;gap:6px}.form-success{color:#10b981}