:root{--color-bg-primary:#000;--color-bg-secondary:#0a0a0c;--color-bg-tertiary:#141416;--color-bg-card:#0c0c0e;--color-bg-hover:#1c1c1e;--color-bg-input:#121214;--color-text-primary:hsla(0,0%,100%,.95);--color-text-secondary:rgba(235,235,245,.6);--color-text-muted:rgba(235,235,245,.3);--color-text-inverse:#000;--color-bg-glass:rgba(0,0,0,.6);--color-accent:#eab308;--color-accent-hover:#facc15;--color-accent-soft:rgba(234,179,8,.15);--color-accent-glow:rgba(234,179,8,.4);--color-success:#00d2b4;--color-success-soft:rgba(0,210,180,.12);--color-warning:#ffc107;--color-error:#ff4757;--color-error-soft:rgba(255,71,87,.12);--color-border:hsla(0,0%,100%,.08);--color-border-hover:hsla(0,0%,100%,.15);--color-divider:hsla(0,0%,100%,.04);--color-sheen-rgb:255,255,255;--gradient-accent:linear-gradient(135deg,#facc15,#eab308);--gradient-card:linear-gradient(145deg,rgba(20,20,22,.8),rgba(10,10,12,.4));--gradient-glass:linear-gradient(135deg,hsla(0,0%,100%,.06),hsla(0,0%,100%,.01));--font-sans:-apple-system,BlinkMacSystemFont,"SF Pro Display","Inter","Segoe UI",sans-serif;--font-mono:"Geist Mono",var(--font-geist-mono),"SF 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:2rem;--text-4xl:2.5rem;--leading-tight:1.2;--leading-normal:1.5;--leading-relaxed:1.7;--weight-normal:400;--weight-medium:500;--weight-semibold:600;--weight-bold:700;--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;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--radius-xl:20px;--radius-full:9999px;--shadow-sm:0 1px 3px rgba(0,0,0,.3);--shadow-md:0 4px 12px rgba(0,0,0,.4);--shadow-lg:0 8px 32px rgba(0,0,0,.5);--shadow-glow:0 0 24px var(--color-accent-glow);--transition-fast:150ms cubic-bezier(0.4,0,0.2,1);--transition-normal:250ms cubic-bezier(0.4,0,0.2,1);--transition-slow:400ms cubic-bezier(0.4,0,0.2,1);--nav-height:56px;--tab-height:64px;--max-chat-width:800px}[data-theme=light]{--color-bg-primary:#f5f5f7;--color-bg-secondary:#fff;--color-bg-tertiary:#ebebf0;--color-bg-card:#fff;--color-bg-hover:#e5e5ea;--color-bg-input:#ebebf0;--color-text-primary:#111;--color-text-secondary:#555;--color-text-muted:#888;--color-text-inverse:#fff;--color-bg-glass:hsla(0,0%,100%,.65);--color-border:rgba(0,0,0,.1);--color-border-hover:rgba(0,0,0,.2);--color-divider:rgba(0,0,0,.06);--color-sheen-rgb:0,0,0;--gradient-card:linear-gradient(145deg,#fff,hsla(0,0%,98%,.8));--gradient-glass:linear-gradient(135deg,hsla(0,0%,100%,.9),hsla(0,0%,100%,.5));--shadow-sm:0 1px 3px rgba(0,0,0,.04);--shadow-md:0 4px 12px rgba(0,0,0,.06);--shadow-lg:0 8px 32px rgba(0,0,0,.08);--color-accent-glow:rgba(234,179,8,.15)}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-sans);background-color:var(--color-bg-primary);background-image:radial-gradient(circle at 15% 50%,rgba(234,179,8,.03),transparent 50%),radial-gradient(circle at 85% 30%,rgba(0,210,180,.02),transparent 50%),linear-gradient(hsla(0,0%,100%,.015) 1px,transparent 0),linear-gradient(90deg,hsla(0,0%,100%,.015) 1px,transparent 0);background-size:100% 100%,100% 100%,30px 30px,30px 30px;background-attachment:fixed;color:var(--color-text-primary);line-height:var(--leading-normal);min-height:100vh;overflow-x:hidden;position:relative;animation:bgScroll 8s linear infinite}@keyframes bgScroll{0%{background-position:0 0,0 0,0 0,0 0}to{background-position:0 0,0 0,0 30px,30px 0}}body:before{content:"CESY // CORE";position:fixed;top:50%;left:-200px;transform:translateY(-50%) rotate(-90deg);font-family:var(--font-mono);font-size:140px;font-weight:900;color:var(--color-text-primary);opacity:.025;white-space:nowrap;pointer-events:none;z-index:-1;letter-spacing:-.05em;animation:floatText 20s ease-in-out infinite alternate}@keyframes floatText{0%{transform:translateY(-48%) rotate(-90deg)}to{transform:translateY(-52%) rotate(-90deg)}}[data-theme=light] body{background-image:radial-gradient(circle at 15% 50%,rgba(234,179,8,.05),transparent 50%),linear-gradient(rgba(0,0,0,.03) 1px,transparent 0),linear-gradient(90deg,rgba(0,0,0,.03) 1px,transparent 0);background-size:100% 100%,30px 30px,30px 30px;animation:bgScrollLight 8s linear infinite}@keyframes bgScrollLight{0%{background-position:0 0,0 0,0 0}to{background-position:0 0,0 30px,30px 0}}a{color:var(--color-accent);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-accent-hover)}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--color-text-muted);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--color-text-secondary)}.glass{background:var(--gradient-glass);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.card,.glass{border:1px solid var(--color-border)}.card{background:var(--gradient-card);border-radius:var(--radius-lg);padding:var(--space-6);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.card:hover{border-color:var(--color-border-hover);box-shadow:var(--shadow-md)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-3) var(--space-6);border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:var(--weight-semibold);border:none;cursor:pointer;transition:all var(--transition-fast);line-height:1;white-space:nowrap}.btn-primary{background:var(--gradient-accent);color:#fff;border:none;font-weight:var(--weight-medium);box-shadow:0 2px 10px var(--color-accent-glow)}.btn-primary:hover{transform:translateY(-1px);box-shadow:var(--shadow-md),var(--shadow-glow)}.btn-primary:active{transform:translateY(0)}.btn-ghost{background:transparent;color:var(--color-text-secondary);border:1px solid var(--color-border)}.btn-ghost:hover{background:var(--color-bg-hover);color:var(--color-text-primary);border-color:var(--color-border-hover)}.btn-danger{background:var(--color-error);color:#fff}.btn-danger:hover{background:#ff5e6d;transform:translateY(-1px)}.btn-icon{width:40px;height:40px;padding:0;border-radius:var(--radius-full)}.input{width:100%;padding:var(--space-3) var(--space-4);background:var(--color-bg-input);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-primary);font-size:var(--text-base);font-family:var(--font-sans);transition:border-color var(--transition-fast),box-shadow var(--transition-fast);outline:none}.input:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-soft)}.input::placeholder{color:var(--color-text-muted)}.app-shell{flex-direction:column}.app-loader,.app-shell{min-height:100vh;display:flex}.app-loader{align-items:center;justify-content:center;background:var(--color-bg-primary)}.top-nav{position:-webkit-sticky;position:sticky;top:0;z-index:50;background:var(--color-bg-glass);backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);border-bottom:1px solid var(--color-border);height:var(--nav-height)}.top-nav-inner{max-width:1200px;margin:0 auto;padding:0 16px;justify-content:space-between;height:100%}.top-nav-inner,.top-nav-left{display:flex;align-items:center}.top-nav-left{gap:24px}.top-nav-brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:inherit}.top-nav-logo{flex-shrink:0}.top-nav-logo-icon{width:32px;height:32px;border-radius:var(--radius-sm);background:transparent;border:1.5px solid var(--color-accent);display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:inset 0 0 10px var(--color-accent-soft)}.top-nav-title{font-size:var(--text-xl);font-weight:800;font-family:var(--font-sans);color:var(--color-text-primary);letter-spacing:.15em;text-transform:uppercase;border-left:2px solid var(--color-accent);padding-left:var(--space-3);margin-left:var(--space-1)}.desktop-nav{display:none;align-items:center;gap:2px;padding-left:24px;border-left:1px solid var(--color-border)}.desktop-nav-item{display:flex;align-items:center;gap:6px;padding:8px 14px;border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-text-secondary);background:none;border:none;cursor:pointer;transition:all var(--transition-fast);white-space:nowrap}.desktop-nav-item:hover{color:var(--color-text-primary);background:var(--color-bg-hover)}.desktop-nav-active{color:var(--color-accent)!important;background:var(--color-accent-soft)}.top-nav-right{gap:8px}.top-nav-btn,.top-nav-right{display:flex;align-items:center}.top-nav-btn{width:36px;height:36px;border-radius:var(--radius-full);justify-content:center;background:none;border:none;cursor:pointer;color:var(--color-text-muted);transition:all var(--transition-fast)}.top-nav-btn:hover{color:var(--color-text-primary);background:var(--color-bg-hover)}.top-nav-btn-danger:hover{color:var(--color-error);background:var(--color-error-soft)}.top-nav-divider{width:1px;height:20px;background:var(--color-border);margin:0 4px}.app-main{flex:1 1;display:flex;flex-direction:column;padding-bottom:var(--tab-height)}.bottom-tabs{position:fixed;bottom:0;left:0;right:0;z-index:50;height:var(--tab-height);background:var(--color-bg-glass);backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);border-top:1px solid var(--color-border);justify-content:space-around;padding-bottom:env(safe-area-inset-bottom,0)}.bottom-tabs,.tab-item{display:flex;align-items:center}.tab-item{flex-direction:column;gap:2px;padding:8px 6px;border-radius:var(--radius-md);background:none;border:none;cursor:pointer;color:var(--color-text-muted);transition:all var(--transition-fast);-webkit-tap-highlight-color:transparent;min-width:0}.tab-item:hover{color:var(--color-text-secondary)}.tab-active{color:var(--color-text-primary)!important}.tab-active .tab-icon{transform:scale(1.1)}.tab-icon{display:flex;align-items:center;justify-content:center;transition:transform var(--transition-fast)}.tab-label{font-size:10px;font-weight:var(--weight-semibold);letter-spacing:.02em;display:none}@media (min-width:768px){.bottom-tabs{display:none}.app-main{padding-bottom:0}.desktop-nav{display:flex}}.chat-container{max-width:var(--max-chat-width);width:100%;margin:0 auto;padding:var(--space-4)}.chat-container,.chat-messages{flex:1 1;display:flex;flex-direction:column}.chat-messages{overflow-y:auto;padding:var(--space-4) 0;gap:var(--space-6)}.message{display:flex;gap:var(--space-3);max-width:85%;animation:messageIn .3s cubic-bezier(.4,0,.2,1)}.message-user{align-self:flex-end;flex-direction:row-reverse}.message-avatar{width:32px;height:32px;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;font-size:var(--text-xs);font-weight:var(--weight-semibold);flex-shrink:0}.message-avatar-user{background:var(--color-accent-soft);color:var(--color-accent)}.message-avatar-assistant{background:var(--gradient-accent);color:#fff}.message-bubble{padding:var(--space-3) var(--space-4);border-radius:var(--radius-lg);line-height:var(--leading-relaxed);font-size:var(--text-sm)}.message-user .message-bubble{background:var(--color-accent);color:#fff;border-bottom-right-radius:var(--radius-sm)}.message-assistant .message-bubble{background:var(--color-bg-tertiary);color:var(--color-text-primary);border-bottom-left-radius:var(--radius-sm)}.message-bubble .inline-code{background:hsla(0,0%,100%,.08);padding:1px 5px;border-radius:var(--radius-sm);font-family:SF Mono,Fira Code,monospace;font-size:.9em}.message-bubble strong{font-weight:600}.message-bubble em{font-style:italic}.amazon-cart-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 18px;margin-top:4px;background:linear-gradient(135deg,#f90,#ffad33);color:#111;font-weight:600;font-size:var(--text-sm);border-radius:var(--radius-md);text-decoration:none;transition:all .2s ease;box-shadow:0 2px 8px rgba(255,153,0,.3)}.amazon-cart-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px rgba(255,153,0,.5);background:linear-gradient(135deg,#ffad33,#ffc266)}.message-assistant .message-bubble,.message-user .message-bubble{position:relative}.retry-btn{position:absolute;bottom:-2px;left:-28px;background:none;border:none;cursor:pointer;color:var(--color-text-muted);opacity:0;transition:opacity .2s ease,color .2s ease;padding:4px;border-radius:var(--radius-sm);display:flex;align-items:center}.message-user:hover .retry-btn{opacity:.6}.retry-btn:hover{opacity:1!important;color:var(--color-primary)}.retry-btn:disabled{cursor:not-allowed;opacity:.2!important}.copy-btn{position:absolute;bottom:-2px;background:none;border:none;cursor:pointer;color:var(--color-text-muted);opacity:0;transition:opacity .2s ease,color .2s ease;padding:4px;border-radius:var(--radius-sm);display:flex;align-items:center}.message-user .copy-btn{left:-28px}.message-assistant .copy-btn{right:-28px}.message-user .retry-btn{left:-52px}.message:hover .copy-btn{opacity:.6}.copy-btn:hover{opacity:1!important;color:var(--color-accent)}.copy-toast{position:absolute;bottom:-22px;font-size:11px;font-weight:var(--weight-semibold);color:var(--color-accent);white-space:nowrap;pointer-events:none;animation:toastFadeIn .2s ease}.message-user .copy-toast{left:-32px}.message-assistant .copy-toast{right:-32px}@keyframes toastFadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.message-link{color:var(--color-accent)!important;text-decoration:underline;-webkit-text-decoration-color:rgba(234,179,8,.3);text-decoration-color:rgba(234,179,8,.3);text-underline-offset:2px;transition:color var(--transition-fast),-webkit-text-decoration-color var(--transition-fast);transition:text-decoration-color var(--transition-fast),color var(--transition-fast);transition:text-decoration-color var(--transition-fast),color var(--transition-fast),-webkit-text-decoration-color var(--transition-fast);word-break:break-all}.message-link:hover{color:var(--color-accent-hover)!important;-webkit-text-decoration-color:var(--color-accent-hover);text-decoration-color:var(--color-accent-hover)}.message-user .message-link{color:#fff!important;-webkit-text-decoration-color:hsla(0,0%,100%,.5);text-decoration-color:hsla(0,0%,100%,.5)}.message-user .message-link:hover{color:#fff!important;-webkit-text-decoration-color:#fff;text-decoration-color:#fff}.chat-input-area{padding:var(--space-4) 0 var(--space-6);position:-webkit-sticky;position:sticky;bottom:0;background:linear-gradient(transparent,var(--color-bg-primary) 30%)}.chat-input-wrapper{display:flex;align-items:flex-end;gap:var(--space-2);padding:var(--space-2);background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-xl);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.chat-input-wrapper:focus-within{border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-soft)}.chat-input{flex:1 1;background:transparent;border:none;color:var(--color-text-primary);font-size:var(--text-base);font-family:var(--font-sans);padding:var(--space-2) var(--space-3);resize:none;outline:none;max-height:120px;line-height:var(--leading-normal)}.chat-input::placeholder{color:var(--color-text-muted)}.send-btn{width:38px;height:38px;border-radius:var(--radius-full);background:var(--gradient-accent);color:#fff;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast);flex-shrink:0}.send-btn:hover{transform:scale(1.05);box-shadow:var(--shadow-glow)}.send-btn:disabled{opacity:.4;cursor:not-allowed;transform:none;box-shadow:none}.voice-btn{width:38px;height:38px;border-radius:var(--radius-full);background:transparent;color:var(--color-text-secondary);border:1px solid var(--color-border);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast);flex-shrink:0}.voice-btn:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}.voice-btn.recording{background:var(--color-error-soft);border-color:var(--color-error);color:var(--color-error);animation:pulse 1.5s ease-in-out infinite}.typing-indicator{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);color:var(--color-text-muted);font-size:var(--text-sm)}.typing-dots{display:flex;gap:3px}.typing-dot{width:6px;height:6px;border-radius:50%;background:var(--color-text-muted);animation:typingBounce 1.4s ease-in-out infinite}.typing-dot:nth-child(2){animation-delay:.2s}.typing-dot:nth-child(3){animation-delay:.4s}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--color-bg-primary);padding:var(--space-4)}.login-card{width:100%;max-width:420px;padding:var(--space-10);border-radius:var(--radius-xl);background:var(--color-bg-secondary);border:1px solid var(--color-border);box-shadow:var(--shadow-lg)}.login-header{text-align:center;margin-bottom:var(--space-8)}.login-logo-icon{width:64px;height:64px;border-radius:var(--radius-md);background:transparent;border:2px solid var(--color-accent);display:flex;align-items:center;justify-content:center;margin:0 auto var(--space-5);box-shadow:inset 0 0 20px var(--color-accent-soft)}.login-title{font-size:var(--text-2xl);font-weight:var(--weight-bold);margin-bottom:var(--space-2)}.login-subtitle{font-size:var(--text-sm);color:var(--color-text-secondary)}.login-divider{display:flex;align-items:center;gap:var(--space-4);margin:var(--space-6) 0;color:var(--color-text-muted);font-size:var(--text-xs)}.login-divider:after,.login-divider:before{content:"";flex:1 1;height:1px;background:var(--color-divider)}.sso-buttons{flex-direction:column}.sso-btn,.sso-buttons{display:flex;gap:var(--space-3)}.sso-btn{align-items:center;justify-content:center;padding:var(--space-3) var(--space-6);border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:var(--weight-medium);border:1px solid var(--color-border);background:var(--color-bg-primary);color:var(--color-text-primary);cursor:pointer;transition:all var(--transition-fast);width:100%}.sso-btn:hover{background:var(--color-bg-hover);border-color:var(--color-border-hover);transform:translateY(-1px)}.sso-btn svg{width:20px;height:20px}.settings-page{padding:var(--space-8);max-width:700px;margin:0 auto;width:100%}.settings-section{margin-bottom:var(--space-8)}.settings-title{font-size:var(--text-2xl);font-weight:var(--weight-bold);margin-bottom:var(--space-6)}.settings-section-title{font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:var(--space-4)}.setting-row{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4);border-radius:var(--radius-md);transition:background var(--transition-fast)}.setting-row:hover{background:var(--color-bg-hover)}.setting-label{font-size:var(--text-sm);font-weight:var(--weight-medium)}.setting-description{font-size:var(--text-xs);color:var(--color-text-muted);margin-top:var(--space-1)}.toggle{position:relative;width:44px;height:24px;cursor:pointer}.toggle input{opacity:0;width:0;height:0}.toggle-slider{inset:0;background:var(--color-bg-tertiary);border-radius:var(--radius-full);border:1px solid var(--color-border)}.toggle-slider,.toggle-slider:after{position:absolute;transition:all var(--transition-fast)}.toggle-slider:after{content:"";width:18px;height:18px;border-radius:50%;background:var(--color-text-secondary);top:2px;left:2px}.toggle input:checked+.toggle-slider{background:var(--color-accent);border-color:var(--color-accent)}.toggle input:checked+.toggle-slider:after{transform:translateX(20px);background:#fff}.spinner{width:20px;height:20px;border:2px solid var(--color-border);border-top-color:var(--color-accent);border-radius:50%;animation:spin .6s linear infinite}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-16) var(--space-8);text-align:center}.empty-state-icon{font-size:3rem;margin-bottom:var(--space-4);opacity:.5}.empty-state-title{font-size:var(--text-xl);font-weight:var(--weight-semibold);margin-bottom:var(--space-2)}.empty-state-description{font-size:var(--text-sm);color:var(--color-text-secondary);max-width:360px}@keyframes messageIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes typingBounce{0%,80%,to{transform:translateY(0)}40%{transform:translateY(-4px)}}@keyframes pulse-ring-yellow{0%,to{box-shadow:0 0 0 0 rgba(234,179,8,.4)}50%{box-shadow:0 0 0 8px rgba(234,179,8,0)}}@keyframes pulse-opacity{0%,to{opacity:1}50%{opacity:.5}}@keyframes spin{to{transform:rotate(1turn)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes shine{to{background-position:200%}}@keyframes glow-pulse{0%{transform:scale(1);box-shadow:0 0 10px var(--color-accent-glow)}to{transform:scale(1.05);box-shadow:0 0 20px var(--color-accent),0 0 40px var(--color-accent-glow)}}@media (max-width:768px){.chat-container{padding:var(--space-2)}}.voice-call-overlay{position:fixed;inset:0;z-index:1000;background:var(--color-bg-glass);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);display:flex;align-items:center;justify-content:center;animation:fadeIn .3s ease-out}.voice-call-container{gap:var(--space-8);padding:var(--space-10);max-width:400px;width:100%}.voice-call-container,.voice-call-header{display:flex;flex-direction:column;align-items:center}.voice-call-header{gap:var(--space-3)}.voice-call-avatar{width:80px;height:80px;border-radius:var(--radius-full);background:var(--gradient-accent);display:flex;align-items:center;justify-content:center;color:var(--color-bg-primary);font-size:var(--text-3xl);font-weight:var(--weight-bold);box-shadow:0 0 40px var(--color-accent-glow)}.voice-call-name{font-size:var(--text-xl);font-weight:var(--weight-semibold);color:var(--color-text-primary)}.voice-call-status{font-size:var(--text-sm);color:var(--color-text-secondary);animation:pulse-opacity 2s cubic-bezier(.4,0,.6,1) infinite}.voice-call-visualizer{width:300px;height:80px;display:flex;align-items:center;justify-content:center}.voice-call-visualizer canvas{width:100%;height:100%}.voice-call-text{width:100%;display:flex;flex-direction:column;gap:var(--space-4);min-height:60px;max-height:200px;overflow-y:auto}.voice-call-response,.voice-call-transcript{font-size:var(--text-sm);color:var(--color-text-primary);line-height:var(--leading-relaxed);text-align:center;padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);border:1px solid var(--color-border)}.voice-call-transcript{background:var(--color-bg-tertiary)}.voice-call-response{background:var(--color-accent-soft)}.voice-call-label{display:block;font-size:var(--text-xs);font-weight:var(--weight-semibold);text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-muted);margin-bottom:var(--space-1)}.voice-call-controls{display:flex;align-items:center;gap:var(--space-8);margin-top:var(--space-4)}.voice-call-mic{width:72px;height:72px;border-radius:var(--radius-full);border:1px solid var(--color-border);cursor:pointer;display:flex;align-items:center;justify-content:center;background:var(--color-bg-tertiary);color:var(--color-text-primary);transition:all var(--transition-normal)}.voice-call-mic:hover{background:var(--color-bg-hover);transform:scale(1.05)}.voice-call-mic-active{background:var(--color-accent)!important;color:var(--color-bg-primary)!important;border-color:var(--color-accent)!important;box-shadow:0 0 30px var(--color-accent-glow);animation:pulse-ring-yellow 1.5s infinite}.voice-call-mic-disabled{opacity:.4;cursor:not-allowed}.voice-call-mic-disabled:hover{transform:none}.voice-call-end{width:56px;height:56px;border-radius:var(--radius-full);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;background:var(--color-error-soft);color:var(--color-error);transition:all var(--transition-fast)}.voice-call-end:hover{background:var(--color-error);color:#fff;transform:scale(1.1)}.memories-page{max-width:680px;margin:0 auto;padding:var(--space-6) var(--space-4)}.memories-header{margin-bottom:var(--space-6)}.memories-title{font-size:1.75rem;font-weight:700;color:var(--color-text-primary);margin:0 0 var(--space-1) 0}.memories-subtitle{font-size:var(--text-sm);color:var(--color-text-secondary);margin:0}.memories-error{background:rgba(255,59,48,.1);border:1px solid rgba(255,59,48,.3);color:var(--color-error);padding:var(--space-3) var(--space-4);border-radius:var(--radius-lg);margin-bottom:var(--space-4);font-size:var(--text-sm);display:flex;justify-content:space-between;align-items:center}.memories-error-dismiss{background:none;border:none;color:var(--color-error);cursor:pointer;font-size:1rem;padding:0;opacity:.7}.memories-error-dismiss:hover{opacity:1}.memories-loading{display:flex;align-items:center;justify-content:center;gap:var(--space-3);padding:var(--space-12) 0;color:var(--color-text-secondary);font-size:var(--text-sm)}.memories-empty{text-align:center;padding:var(--space-12) var(--space-6);color:var(--color-text-secondary)}.memories-empty svg{margin:0 auto var(--space-4)}.memories-empty-title{font-size:1.1rem;font-weight:600;color:var(--color-text-primary);margin:0 0 var(--space-2) 0}.memories-empty-desc{font-size:var(--text-sm);max-width:320px;margin:0 auto;line-height:1.5}.memories-count{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-secondary);margin-bottom:var(--space-3);font-weight:600}.memory-grid{display:flex;flex-direction:column;gap:var(--space-3)}.memory-card{background:var(--color-bg-glass);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-4) var(--space-5);display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-4);transition:all var(--transition-normal);position:relative;overflow:hidden}.memory-card:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,var(--color-accent-soft) 0,transparent 100%);opacity:0;transition:opacity var(--transition-normal);z-index:0;pointer-events:none}.memory-content{flex:1 1;min-width:0;position:relative;z-index:1}.memory-text{font-size:var(--text-base);color:var(--color-text-primary);margin:0 0 var(--space-3) 0;line-height:var(--leading-relaxed);font-family:var(--font-sans)}.memory-meta{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap}.memory-date{font-size:var(--text-xs);color:var(--color-text-secondary);font-family:var(--font-mono);letter-spacing:.05em;text-transform:uppercase}.memory-tags{display:flex;gap:var(--space-2);flex-wrap:wrap}.memory-tag{font-size:.65rem;padding:4px 10px;border-radius:var(--radius-sm);background:transparent;border:1px solid var(--color-accent-glow);color:var(--color-accent);font-weight:var(--weight-bold);text-transform:uppercase;letter-spacing:.1em;font-family:var(--font-mono);box-shadow:inset 0 0 10px var(--color-accent-soft)}.memory-delete{background:none;border:none;color:var(--color-text-secondary);cursor:pointer;padding:var(--space-2);border-radius:var(--radius-md);transition:all var(--transition-fast);flex-shrink:0;display:flex;align-items:center;justify-content:center;position:relative;z-index:1}.memory-delete:hover{background:rgba(255,59,48,.1);color:var(--color-error);box-shadow:0 0 10px rgba(255,59,48,.2)}.memory-delete:disabled{opacity:.5;cursor:not-allowed}.flip-card{perspective:1500px;cursor:pointer}.flip-card-inner{position:relative;width:100%;height:100%;min-height:120px;transform-style:preserve-3d;transition:transform .8s cubic-bezier(.34,1.56,.64,1);border-radius:var(--radius-lg)}.flip-card:hover .flip-card-inner{transform:translateY(-2px) scale(1.01)}.flip-card.flipped .flip-card-inner{transform:rotateY(180deg)}.flip-card.flipped:hover .flip-card-inner{transform:rotateY(180deg) translateY(-2px) scale(1.01)}.flip-card:hover .flip-card-back,.flip-card:hover .memory-card{border-color:var(--color-accent);box-shadow:0 10px 30px var(--color-accent-glow)}.flip-card:hover .memory-card:before{opacity:1}.flip-card-front{position:relative;z-index:2}.flip-card-back,.flip-card-front{width:100%;backface-visibility:hidden;-webkit-backface-visibility:hidden;border-radius:var(--radius-lg);transform-style:preserve-3d}.flip-card-back{position:absolute;top:0;left:0;height:100%;overflow-y:auto;overflow-x:hidden;scrollbar-width:none}.flip-card-back::-webkit-scrollbar{display:none}.flip-card-back>*,.flip-card-front>*{transform:translateZ(20px);transition:transform .8s cubic-bezier(.34,1.56,.64,1)}.flip-card-back:after,.flip-card-front:after{content:"";position:absolute;top:0;left:-200%;width:200%;height:100%;background:linear-gradient(to right,transparent 0,rgba(var(--color-sheen-rgb),.05) 45%,rgba(var(--color-sheen-rgb),.15) 50%,rgba(var(--color-sheen-rgb),.05) 55%,transparent 100%);transform:skewX(-20deg);transition:left .8s cubic-bezier(.34,1.56,.64,1);pointer-events:none;z-index:10}.flip-card:hover .flip-card-front:after{left:100%;transition:left .8s cubic-bezier(.2,.8,.2,1)}.flip-card.flipped .flip-card-back:after{left:100%;transition:left .8s cubic-bezier(.2,.8,.2,1) .1s}[data-theme=light] .flip-card-back:after,[data-theme=light] .flip-card-front:after{left:0;width:100%;border-radius:var(--radius-lg);background:linear-gradient(105deg,transparent 0,rgba(var(--color-sheen-rgb),0) 35%,rgba(var(--color-sheen-rgb),.08) 47%,rgba(var(--color-sheen-rgb),.2) 50%,rgba(var(--color-sheen-rgb),.08) 53%,rgba(var(--color-sheen-rgb),0) 65%,transparent 100%);background-size:200% 100%;background-position:-100% 0;background-repeat:no-repeat;transform:none;transition:background-position .8s cubic-bezier(.34,1.56,.64,1)}[data-theme=light] .flip-card:hover .flip-card-front:after{left:0;background-position:200% 0;transition:background-position .8s cubic-bezier(.2,.8,.2,1)}[data-theme=light] .flip-card.flipped .flip-card-back:after{left:0;background-position:200% 0;transition:background-position .8s cubic-bezier(.2,.8,.2,1) .1s}.flip-card-back{transform:rotateY(180deg);background:var(--color-bg-secondary);border:1px solid var(--color-border);padding:var(--space-4) var(--space-5);display:flex;flex-direction:column;gap:var(--space-3);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}.flip-card-back-label{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.08em;color:var(--color-accent);font-weight:600;opacity:.8}.flip-card-back-note{font-size:var(--text-sm);color:var(--color-text-primary);line-height:1.5;flex:1 1}.flip-card-back-related{display:flex;flex-direction:column;gap:var(--space-2);flex:1 1}.flip-card-related-item{font-size:var(--text-xs);color:var(--color-text-secondary);padding:var(--space-1) var(--space-2);background:var(--color-bg-tertiary);border-radius:var(--radius-sm);border-left:2px solid var(--color-accent);overflow:hidden;white-space:nowrap;text-overflow:ellipsis;line-height:1.4}.flip-card-empty{flex:1 1;display:flex;justify-content:center;color:var(--color-text-muted);text-align:center;font-style:italic}.flip-card-empty,.flip-chat-btn{align-items:center;font-size:var(--text-xs)}.flip-chat-btn{display:inline-flex;gap:6px;padding:6px 12px;border-radius:var(--radius-full);border:1px solid var(--color-accent);color:var(--color-accent);background:var(--color-accent-soft);text-decoration:none;font-weight:600;transition:all var(--transition-fast);align-self:flex-start;cursor:pointer}.flip-chat-btn:hover{background:var(--color-accent);color:#000}.flip-card-back-row{display:flex;justify-content:space-between;align-items:center}.friends-page{max-width:800px;margin:0 auto;padding:var(--space-6) var(--space-6);width:100%}.friends-tabs{display:flex;gap:var(--space-3);margin-bottom:var(--space-4);border-bottom:1px solid var(--color-divider);padding-bottom:var(--space-2)}.friends-tab{display:flex;align-items:center;gap:6px;padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);border:none;background:transparent;color:var(--color-text-muted);cursor:pointer;font-size:var(--text-sm);font-weight:500;transition:all .15s ease;position:relative}.friends-tab:hover{background:var(--color-surface-elevated);color:var(--color-text-primary)}.friends-tab-active{color:var(--color-accent);background:rgba(234,179,8,.1)}.friends-badge{background:var(--color-accent);color:#000;font-size:11px;font-weight:700;padding:1px 6px;border-radius:10px;min-width:18px;text-align:center}.friends-list{display:flex;flex-direction:column;gap:var(--space-2)}.friends-section-title{font-size:var(--text-sm);font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;margin:var(--space-3) 0 var(--space-2)}.friend-card{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3);border-radius:var(--radius-lg);background:var(--color-surface);border:1px solid var(--color-divider);transition:background .15s ease}.friend-card:hover{background:var(--color-surface-elevated)}.friend-avatar{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,var(--color-accent),#f59e0b);display:flex;align-items:center;justify-content:center;color:#000;font-weight:600;font-size:var(--text-sm);flex-shrink:0;overflow:hidden}.friend-avatar-img{width:100%;height:100%;object-fit:cover;border-radius:50%}.friend-info{flex:1 1;min-width:0}.friend-name{font-weight:600;font-size:var(--text-sm);color:var(--color-text-primary)}.friend-username{font-size:var(--text-xs);color:var(--color-text-muted)}.friend-actions{display:flex;gap:var(--space-1);flex-shrink:0}.friend-pending-badge{font-size:var(--text-xs);color:var(--color-text-muted);background:var(--color-surface-elevated);padding:4px 10px;border-radius:var(--radius-md)}.friends-empty{text-align:center;padding:var(--space-8) var(--space-4);color:var(--color-text-muted);display:flex;flex-direction:column;align-items:center;gap:var(--space-3)}.friends-search-wrapper{position:relative;margin-bottom:var(--space-3)}.friends-search-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--color-text-muted)}.friends-search-input{padding-left:38px!important}.friends-loading{text-align:center;color:var(--color-text-muted);padding:var(--space-4);font-size:var(--text-sm)}.btn-sm{padding:4px 10px;font-size:var(--text-xs);gap:4px}.groups-page{max-width:800px;margin:0 auto;padding:var(--space-6) var(--space-6);width:100%}.group-card{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-lg);background:var(--color-surface);border:1px solid var(--color-divider);cursor:pointer;transition:all .15s ease}.group-card:hover{background:var(--color-surface-elevated);border-color:var(--color-accent)}.group-icon{width:44px;height:44px;border-radius:var(--radius-lg);background:linear-gradient(135deg,var(--color-accent),#f59e0b);display:flex;align-items:center;justify-content:center;color:#000;font-weight:700;font-size:var(--text-lg);flex-shrink:0}.group-info{flex:1 1}.group-name{font-weight:600;color:var(--color-text-primary)}.group-meta{font-size:var(--text-xs);color:var(--color-text-muted)}.group-detail{max-width:800px;margin:0 auto;padding:0;width:100%;display:flex;flex-direction:column;height:calc(100vh - 64px)}.group-header{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-divider);flex-shrink:0}.group-detail .friends-tabs{flex-shrink:0}.group-header-back{background:none;border:none;cursor:pointer;color:var(--color-text-muted);padding:var(--space-1)}.group-header-back:hover{color:var(--color-text-primary)}.group-chat-messages{flex:1 1;overflow-y:auto;padding:var(--space-4);gap:var(--space-3)}.group-chat-messages,.group-msg{display:flex;flex-direction:column}.group-msg{max-width:80%}.group-msg-self{align-self:flex-end}.group-msg-assistant,.group-msg-other{align-self:flex-start}.group-msg-name{font-size:11px;font-weight:600;margin-bottom:2px;padding-left:4px}.group-msg-bubble{padding:var(--space-2) var(--space-3);border-radius:var(--radius-lg);font-size:var(--text-sm);line-height:1.5;word-wrap:break-word}.group-msg-assistant .group-msg-bubble{background:var(--color-surface);border:1px solid var(--color-divider);color:var(--color-text-primary)}.group-msg-time{font-size:10px;color:var(--color-text-muted);margin-top:2px;padding:0 4px}.reaction-pills{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px;padding:0 4px}.reaction-pill{display:flex;align-items:center;gap:3px;padding:2px 8px;border-radius:12px;border:1px solid hsla(0,0%,100%,.08);background:hsla(0,0%,100%,.05);color:var(--color-text-secondary);font-size:12px;cursor:pointer;transition:all .15s ease;animation:messageIn .2s ease}.reaction-pill:hover{background:hsla(0,0%,100%,.1)}.reaction-pill-active{border-color:var(--color-accent);background:rgba(168,85,247,.15);color:var(--color-accent)}.reaction-row{display:flex;align-items:center;gap:6px}.reaction-trigger{background:none;border:none;color:var(--color-text-muted);cursor:pointer;padding:2px;border-radius:4px;opacity:0;transition:opacity .15s ease,color .15s ease;display:flex;align-items:center}.group-msg:hover .reaction-trigger{opacity:1}.reaction-trigger:hover{color:var(--color-accent)}.reaction-picker{display:flex;gap:2px;padding:4px 8px;border-radius:20px;background:var(--color-bg-secondary);border:1px solid hsla(0,0%,100%,.1);box-shadow:0 4px 16px rgba(0,0,0,.3);animation:messageIn .15s ease;margin-top:4px}.reaction-picker-emoji{background:none;border:none;font-size:20px;cursor:pointer;padding:4px 6px;border-radius:8px;transition:transform .1s ease,background .1s ease}.reaction-picker-emoji:hover{transform:scale(1.3);background:hsla(0,0%,100%,.08)}.group-members-list{padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-2)}.group-member-card{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md)}.group-member-color{width:12px;height:12px;border-radius:50%;flex-shrink:0}.group-member-role{font-size:var(--text-xs);color:var(--color-text-muted);background:var(--color-surface-elevated);padding:2px 8px;border-radius:var(--radius-sm)}@font-face{font-family:__geistSans_1e4310;src:url(/_next/static/media/4473ecc91f70f139-s.p.woff) format("woff");font-display:swap;font-weight:100 900}@font-face{font-family:__geistSans_Fallback_1e4310;src:local("Arial");ascent-override:85.83%;descent-override:20.52%;line-gap-override:9.33%;size-adjust:107.19%}.__className_1e4310{font-family:__geistSans_1e4310,__geistSans_Fallback_1e4310}.__variable_1e4310{--font-geist-sans:"__geistSans_1e4310","__geistSans_Fallback_1e4310"}@font-face{font-family:__geistMono_c3aa02;src:url(/_next/static/media/463dafcda517f24f-s.p.woff) format("woff");font-display:swap;font-weight:100 900}@font-face{font-family:__geistMono_Fallback_c3aa02;src:local("Arial");ascent-override:69.97%;descent-override:16.73%;line-gap-override:7.61%;size-adjust:131.49%}.__className_c3aa02{font-family:__geistMono_c3aa02,__geistMono_Fallback_c3aa02}.__variable_c3aa02{--font-geist-mono:"__geistMono_c3aa02","__geistMono_Fallback_c3aa02"}