:root{--color-bg-primary: #fafafa;--color-bg-secondary: #ffffff;--color-bg-tertiary: #f4f4f5;--color-bg-quaternary: #e4e4e7;--color-bg-elevated: #ffffff;--color-bg-hover: #f4f4f5;--color-bg-active: #e4e4e7;--color-text-primary: #18181b;--color-text-secondary: #52525b;--color-text-tertiary: #a1a1aa;--color-text-inverse: #ffffff;--color-border-default: #e4e4e7;--color-border-subtle: #f4f4f5;--color-border-strong: #d4d4d8;--color-border-hover: #a1a1aa;--color-brand-primary: #0d9488;--color-brand-secondary: #14b8a6;--color-brand-tertiary: #5eead4;--color-brand-bg: rgba(13, 148, 136, .08);--color-brand-bg-hover: rgba(13, 148, 136, .12);--color-success: #16a34a;--color-success-bg: rgba(22, 163, 74, .08);--color-warning: #ca8a04;--color-warning-bg: rgba(202, 138, 4, .08);--color-error: #dc2626;--color-error-bg: rgba(220, 38, 38, .08);--color-error-bg-hover: rgba(220, 38, 38, .12);--color-info: #0891b2;--color-info-bg: rgba(8, 145, 178, .08);--agent-blue: #2563eb;--agent-purple: #7c3aed;--agent-emerald: #059669;--agent-orange: #ea580c;--agent-pink: #db2777;--color-tool: #ea580c;--color-tool-bg: rgba(234, 88, 12, .15);--color-tool-bg-light: rgba(234, 88, 12, .08);--color-tool-bg-subtle: rgba(234, 88, 12, .05);--color-accent-purple: #8b5cf6;--color-accent-purple-light: #a78bfa;--color-accent-purple-dark: #7c3aed;--color-accent-purple-bg: rgba(139, 92, 246, .1);--color-accent-purple-border: rgba(139, 92, 246, .2);--color-accent-blue: #3b82f6;--color-accent-blue-light: #60a5fa;--color-accent-blue-bg: rgba(59, 130, 246, .1);--color-accent-green: #10b981;--color-accent-green-light: #34d399;--color-accent-green-dark: #059669;--color-accent-green-bg: rgba(16, 185, 129, .1);--color-accent-green-border: rgba(16, 185, 129, .2);--color-accent-orange: #f59e0b;--color-accent-orange-light: #fbbf24;--color-accent-orange-dark: #d97706;--color-accent-orange-bg: rgba(245, 158, 11, .1);--color-accent-teal-rgb: 13, 148, 136;--color-accent-red: #ef4444;--color-accent-red-light: #fca5a5;--color-tier-excellent-bg: #fef3c7;--color-tier-excellent-border: #fde68a;--color-tier-excellent-text: #92400e;--color-tier-great-bg: #dbeafe;--color-tier-great-text: #1e40af;--color-tier-good-bg: #d1fae5;--color-tier-good-text: #065f46;--color-tier-developing-bg: #f3e8ff;--color-tier-developing-text: #7e22ce;--color-diff-added: #4ade80;--color-diff-added-light: #86efac;--color-diff-added-bg: rgba(34, 197, 94, .25);--color-diff-removed: #f87171;--color-diff-removed-light: #fca5a5;--color-diff-removed-bg: rgba(239, 68, 68, .25);--color-provider-openai: #10a37f;--color-provider-openai-dark: #1a7f64;--color-provider-anthropic: #d97706;--color-provider-anthropic-dark: #b45309;--color-provider-google: #4285f4;--color-provider-google-dark: #3367d6;--color-provider-xai: #1a1a1a;--color-provider-xai-dark: #3f3f46;--color-provider-mistral: #ff7000;--color-provider-mistral-dark: #cc5a00;--color-provider-deepseek: #4f46e5;--color-provider-deepseek-dark: #3730a3;--color-provider-cohere: #ff5064;--color-provider-meta: #0064e0;--color-provider-alibaba: #ff6a00;--color-provider-ai21: #6366f1;--color-social-linkedin: #0a66c2;--color-social-kakao: #fee500;--color-social-kakao-text: #191919;--color-logo-bar-1: #115E59;--color-logo-bar-2: #0D9488;--color-logo-bar-3: #059669;--color-logo-text-start: #0F766E;--color-logo-text-end: #047857;--color-logo-mono-1: #444;--color-logo-mono-2: #777;--color-logo-mono-3: #AAA;--color-success-dark: #15803d;--color-error-dark: #b91c1c;--color-brand-primary-dark: #0f766e;--color-neutral-muted: #808080;--shadow-xs: 0 1px 2px rgba(0, 0, 0, .05);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .08), 0 1px 2px rgba(0, 0, 0, .04);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .08), 0 2px 4px -1px rgba(0, 0, 0, .04);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .08), 0 4px 6px -2px rgba(0, 0, 0, .04);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 10px 10px -5px rgba(0, 0, 0, .04);--shadow-2xl: 0 25px 50px -12px rgba(0, 0, 0, .15);--shadow-inner: inset 0 2px 4px rgba(0, 0, 0, .04);--space-0: 0;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--space-16: 64px;--radius-xs: 4px;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-2xl: 20px;--radius-full: 9999px;--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Noto Sans KR", sans-serif;--font-mono: "JetBrains Mono", "SF Mono", Monaco, "Consolas", monospace;--text-xs: .75rem;--text-sm: .8125rem;--text-base: .875rem;--text-md: .9375rem;--text-lg: 1rem;--text-xl: 1.125rem;--text-2xl: 1.25rem;--text-3xl: 1.5rem;--leading-tight: 1.25;--leading-normal: 1.5;--leading-relaxed: 1.625;--duration-fast: .1s;--duration-normal: .2s;--duration-slow: .3s;--ease-default: cubic-bezier(.4, 0, .2, 1);--ease-in: cubic-bezier(.4, 0, 1, 1);--ease-out: cubic-bezier(0, 0, .2, 1);--z-base: 1;--z-dropdown: 100;--z-sticky: 200;--z-panel: 250;--z-fixed: 300;--z-floating: 350;--z-modal-backdrop: 400;--z-modal: 500;--z-popover: 600;--z-tooltip: 700;--z-toast: 800;--header-height: 56px;--sidebar-width: 280px;--max-content-width: 1200px;--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--safe-left: env(safe-area-inset-left, 0px);--safe-right: env(safe-area-inset-right, 0px)}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){--color-bg-primary: #09090b;--color-bg-secondary: #18181b;--color-bg-tertiary: #27272a;--color-bg-quaternary: #3f3f46;--color-bg-elevated: #1f1f23;--color-bg-hover: #27272a;--color-bg-active: #3f3f46;--color-text-primary: #fafafa;--color-text-secondary: #a1a1aa;--color-text-tertiary: #71717a;--color-border-default: #27272a;--color-border-subtle: #1f1f23;--color-border-strong: #3f3f46;--color-border-hover: #52525b;--color-brand-bg: rgba(13, 148, 136, .15);--color-brand-bg-hover: rgba(13, 148, 136, .2);--shadow-xs: 0 1px 2px rgba(0, 0, 0, .3);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .4), 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .4), 0 2px 4px -1px rgba(0, 0, 0, .3);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .4), 0 4px 6px -2px rgba(0, 0, 0, .3);--color-info: #22d3ee;--color-info-light: #67e8f9;--color-warning: #fbbf24;--color-logo-bar-1: #5EEAD4;--color-logo-bar-2: #2DD4BF;--color-logo-bar-3: #14B8A6;--color-logo-text-start: #2DD4BF;--color-logo-text-end: #059669;--thinking-color: #a855f7;--thinking-bg: rgba(168, 85, 247, .15);--thinking-border: rgba(168, 85, 247, .3);--thinking-bg-content: rgba(168, 85, 247, .1);--color-accent-purple-bg: rgba(139, 92, 246, .15);--color-accent-purple-border: rgba(139, 92, 246, .3);--color-accent-blue-bg: rgba(59, 130, 246, .15);--color-accent-green-bg: rgba(16, 185, 129, .15);--color-accent-green-border: rgba(16, 185, 129, .3);--color-accent-orange-bg: rgba(245, 158, 11, .15);--color-tier-excellent-bg: rgba(251, 191, 36, .15);--color-tier-excellent-border: rgba(251, 191, 36, .3);--color-tier-excellent-text: #fbbf24;--color-tier-great-bg: rgba(59, 130, 246, .15);--color-tier-great-text: #60a5fa;--color-tier-good-bg: rgba(16, 185, 129, .15);--color-tier-good-text: #34d399;--color-tier-developing-bg: rgba(139, 92, 246, .15);--color-tier-developing-text: #a78bfa;--color-diff-added: #4ade80;--color-diff-added-light: #86efac;--color-diff-added-bg: rgba(34, 197, 94, .2);--color-diff-removed: #f87171;--color-diff-removed-light: #fca5a5;--color-diff-removed-bg: rgba(239, 68, 68, .2)}}:root[data-theme=dark]{--color-bg-primary: #09090b;--color-bg-secondary: #18181b;--color-bg-tertiary: #27272a;--color-bg-quaternary: #3f3f46;--color-bg-elevated: #1f1f23;--color-bg-hover: #27272a;--color-bg-active: #3f3f46;--color-text-primary: #fafafa;--color-text-secondary: #a1a1aa;--color-text-tertiary: #71717a;--color-border-default: #27272a;--color-border-subtle: #1f1f23;--color-border-strong: #3f3f46;--color-border-hover: #52525b;--color-brand-bg: rgba(13, 148, 136, .15);--color-brand-bg-hover: rgba(13, 148, 136, .2);--shadow-xs: 0 1px 2px rgba(0, 0, 0, .3);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .4), 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .4), 0 2px 4px -1px rgba(0, 0, 0, .3);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .4), 0 4px 6px -2px rgba(0, 0, 0, .3);--thinking-color: #a855f7;--thinking-bg: rgba(168, 85, 247, .15);--thinking-border: rgba(168, 85, 247, .3);--thinking-bg-content: rgba(168, 85, 247, .1);--color-accent-purple-bg: rgba(139, 92, 246, .15);--color-accent-purple-border: rgba(139, 92, 246, .3);--color-accent-blue-bg: rgba(59, 130, 246, .15);--color-accent-green-bg: rgba(16, 185, 129, .15);--color-accent-green-border: rgba(16, 185, 129, .3);--color-accent-orange-bg: rgba(245, 158, 11, .15);--color-tier-excellent-bg: rgba(251, 191, 36, .15);--color-tier-excellent-border: rgba(251, 191, 36, .3);--color-tier-excellent-text: #fbbf24;--color-tier-great-bg: rgba(59, 130, 246, .15);--color-tier-great-text: #60a5fa;--color-tier-good-bg: rgba(16, 185, 129, .15);--color-tier-good-text: #34d399;--color-tier-developing-bg: rgba(139, 92, 246, .15);--color-tier-developing-text: #a78bfa;--color-diff-added: #4ade80;--color-diff-added-light: #86efac;--color-diff-added-bg: rgba(34, 197, 94, .2);--color-diff-removed: #f87171;--color-diff-removed-light: #fca5a5;--color-diff-removed-bg: rgba(239, 68, 68, .2);--color-provider-xai: #e4e4e4}.cost-tier-very-low{color:var(--color-success)}.cost-tier-low{color:var(--color-accent-green)}.cost-tier-medium{color:var(--color-accent-orange)}.cost-tier-high{color:var(--color-accent-orange-dark)}.cost-tier-very-high{color:var(--color-error)}.file-type-code .file-icon{color:var(--color-accent-purple)}.file-type-excel .file-icon{color:var(--color-accent-green)}.file-type-image .file-icon{color:var(--color-accent-blue)}.file-type-audio .file-icon{color:var(--color-error)}.file-type-video .file-icon{color:var(--color-accent-orange)}.file-type-pdf .file-icon{color:var(--color-error)}.file-type-word .file-icon{color:var(--color-accent-blue)}.file-type-ppt .file-icon{color:var(--color-accent-orange-dark)}.file-type-hwp .file-icon{color:var(--color-accent-green-dark)}.file-type-default .file-icon{color:var(--color-text-tertiary)}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{font-size:16px;-webkit-text-size-adjust:100%;text-size-adjust:100%}body{font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--leading-normal);color:var(--color-text-primary);background:var(--color-bg-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh;min-height:100dvh;overflow-x:hidden;overflow-y:hidden}.page-wrapper,.feature-page-wrapper{opacity:1}.page-wrapper.page-entering,.feature-page-wrapper.page-entering{animation:pageEnterIn .25s cubic-bezier(.2,.6,.35,1) forwards}.page-wrapper.page-exiting,.feature-page-wrapper.page-exiting{animation:pageExit .12s cubic-bezier(.4,0,1,1) forwards;pointer-events:none}.page-wrapper.page-exiting .perspec-logo,.page-wrapper.page-entering .perspec-logo,.feature-page-wrapper.page-exiting .perspec-logo,.feature-page-wrapper.page-entering .perspec-logo{opacity:0!important;transition:none!important}@keyframes pageEnterIn{0%{opacity:0;transform:scale(.99)}to{opacity:1;transform:scale(1)}}@keyframes pageExit{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.99)}}.view-transition-wrapper{flex:1;display:flex;flex-direction:column;overflow:hidden;min-height:0}.view-transition-wrapper.view-exit{animation:viewExit .12s cubic-bezier(.4,0,1,1) forwards;pointer-events:none}.view-transition-wrapper.view-enter{animation:viewEnter .22s cubic-bezier(.2,.6,.35,1) forwards}@keyframes viewExit{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-4px)}}@keyframes viewEnter{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion: reduce){.page-wrapper.page-entering,.page-wrapper.page-exiting,.feature-page-wrapper.page-entering,.feature-page-wrapper.page-exiting,.view-transition-wrapper.view-exit,.view-transition-wrapper.view-enter{animation-duration:.01s}}body.page-transitioning>#root{animation:pageExit .12s cubic-bezier(.4,0,1,1) forwards}button{font-family:inherit;cursor:pointer}input,textarea,select{font-family:inherit}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--color-brand-primary);outline-offset:2px;border-radius:var(--radius-sm)}:focus:not(:focus-visible){outline:none}.app{display:flex;height:100vh;height:100dvh;overflow:hidden;background:var(--color-bg-primary)}.sidebar{width:var(--sidebar-width);height:100%;background:var(--color-bg-secondary);border-right:1px solid var(--color-border-default);display:flex;flex-direction:column;flex-shrink:0;overflow:hidden;transition:width .3s cubic-bezier(.16,1,.3,1),min-width .3s cubic-bezier(.16,1,.3,1),max-width .3s cubic-bezier(.16,1,.3,1)}.sidebar-header{padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--color-border-default);display:flex;align-items:center;justify-content:space-between;height:var(--header-height);flex-shrink:0}.logo{display:flex;align-items:center;gap:var(--space-3)}.logo-btn{display:flex;align-items:center;gap:var(--space-3);background:none;border:none;padding:var(--space-1) var(--space-2);margin:calc(-1 * var(--space-1)) calc(-1 * var(--space-2));border-radius:var(--radius-md);cursor:pointer;transition:background-color .15s ease,transform .15s ease}.logo-btn:hover{background-color:var(--color-bg-hover)}.logo-btn:active{transform:scale(.98)}.logo-btn .perspec-logo{cursor:pointer}.perspec-logo{display:inline-flex;align-items:center;gap:5px;white-space:nowrap;user-select:none;cursor:default;font-size:22px}.perspec-icon-svg{height:1.08em;width:auto;flex-shrink:0}.icon-bar-1{fill:var(--color-logo-bar-1)}.icon-bar-2{fill:var(--color-logo-bar-2)}.icon-bar-3{fill:var(--color-logo-bar-3)}.perspec-logo-text{display:inline;font-family:var(--font-sans);font-weight:700;font-size:inherit;letter-spacing:-.013em;line-height:1;background:linear-gradient(135deg,var(--color-logo-text-start),var(--color-logo-text-end));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}[data-theme=dark] .perspec-logo-text{background:linear-gradient(135deg,var(--color-logo-text-start),var(--color-logo-text-end));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.perspec-logo.sidebar{font-size:20px}.perspec-logo.large{font-size:42px;gap:7px}.perspec-logo.large .perspec-logo-text{font-weight:700}@media (max-width: 768px){.perspec-logo.large{font-size:34px}}@media (max-width: 480px){.perspec-logo.large{font-size:26px;gap:5px}}.perspec-logo.small{font-size:16px}.perspec-logo.inline{font-size:inherit;gap:3px}@keyframes logoFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.perspec-logo.animate .perspec-icon-svg{animation:logoFloat 3s ease-in-out infinite}.perspec-logo.light .perspec-logo-text{background:linear-gradient(135deg,#fffffff2,#fffc);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.perspec-logo.light .icon-bar-1{fill:#ffffffe6}.perspec-logo.light .icon-bar-2{fill:#ffffffb3}.perspec-logo.light .icon-bar-3{fill:#ffffff80}.logo-btn:hover .perspec-logo .perspec-logo-text{filter:brightness(1.15);transition:filter var(--duration-normal) var(--ease-default)}.perspec-logo.mono .perspec-logo-text{background:none;-webkit-background-clip:unset;background-clip:unset;-webkit-text-fill-color:var(--color-text-secondary);color:var(--color-text-secondary)}.perspec-logo.mono .icon-bar-1{fill:var(--color-logo-mono-1)}.perspec-logo.mono .icon-bar-2{fill:var(--color-logo-mono-2)}.perspec-logo.mono .icon-bar-3{fill:var(--color-logo-mono-3)}@keyframes logoBarShimmer{0%,to{filter:brightness(1)}50%{filter:brightness(1.15)}}.header-logo-btn.nav-active .icon-bar-1{animation:logoBarShimmer 1.2s ease-in-out infinite}.header-logo-btn.nav-active .icon-bar-2{animation:logoBarShimmer 1.2s ease-in-out infinite;animation-delay:.1s}.header-logo-btn.nav-active .icon-bar-3{animation:logoBarShimmer 1.2s ease-in-out infinite;animation-delay:.2s}@media (prefers-reduced-motion: reduce){.header-logo-btn.nav-active .icon-bar-1,.header-logo-btn.nav-active .icon-bar-2,.header-logo-btn.nav-active .icon-bar-3{animation:none;filter:brightness(.95)}}.logo-icon{width:28px;height:28px;background:linear-gradient(135deg,var(--color-brand-primary),var(--color-brand-tertiary));border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center}.logo-icon svg{width:16px;height:16px;color:#fff}.logo-text{font-size:var(--text-md);font-weight:600;color:var(--color-text-primary)}.btn-new-chat{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;background:var(--color-brand-primary);color:#fff;border-radius:var(--radius-md);transition:all var(--duration-fast) var(--ease-default)}.btn-new-chat:hover{background:var(--color-brand-secondary);transform:scale(1.05)}.btn-new-chat svg{width:16px;height:16px}.conversation-list{flex:1;overflow-y:auto;overflow-x:hidden;padding:var(--space-2)}.conversation-list::-webkit-scrollbar{width:4px}.conversation-list::-webkit-scrollbar-thumb{background:var(--color-border-strong);border-radius:2px}.sidebar-footer{padding:var(--space-3);border-top:1px solid var(--color-border-default);margin-top:auto}.sidebar-footer.collapsed{padding:var(--space-2);display:flex;justify-content:center}.sidebar-footer.collapsed .btn-settings{width:auto;padding:var(--space-2);justify-content:center}.btn-settings{display:flex;align-items:center;gap:var(--space-3);width:100%;padding:var(--space-3);border:none;background:transparent;color:var(--color-text-secondary);border-radius:var(--radius-md);font-size:var(--text-sm);text-align:left;cursor:pointer;transition:all var(--duration-fast)}.btn-settings:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}.btn-settings svg{width:18px;height:18px}.btn-settings.needs-attention{background:var(--color-warning-bg);border:1px solid var(--color-warning-border, hsl(45 93% 40% / .3))}.btn-settings.needs-attention:hover{background:var(--color-warning-bg)}.api-key-badge{margin-left:auto;font-size:var(--text-xs);font-weight:600;color:var(--color-warning);background:var(--color-warning-bg);padding:2px 8px;border-radius:var(--radius-full);white-space:nowrap}.main-content{flex:1;display:flex;flex-direction:column;overflow:hidden;min-width:0}.main-header{height:var(--header-height);padding:0 var(--space-6);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--color-border-default);background:var(--color-bg-secondary);flex-shrink:0;position:relative}.header-logo-btn{display:flex;align-items:center;background:none;border:none;padding:4px 8px;border-radius:var(--radius-md);cursor:pointer;transition:background-color .15s ease}.header-logo-btn:hover{background-color:var(--color-bg-hover)}.header-logo-btn:active{transform:scale(.98)}.header-logo-btn .perspec-logo{font-size:18px}.header-left{display:flex;align-items:center;gap:var(--space-4);min-width:0}.header-right{display:flex;align-items:center;gap:var(--space-3);flex-shrink:0}.user-menu-container{position:relative}.btn-user-menu{display:flex;align-items:center;gap:var(--space-2);height:36px;padding:0 var(--space-3);border-radius:var(--radius-md);background:var(--color-bg-tertiary);border:1px solid var(--color-border-default);color:var(--color-text-primary);cursor:pointer;transition:all var(--duration-normal) var(--ease-default)}.btn-user-menu:hover{background:var(--color-bg-hover);border-color:var(--color-border-strong);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.user-avatar{width:24px;height:24px;border-radius:var(--radius-full);background:var(--color-brand-bg);display:flex;align-items:center;justify-content:center;color:var(--color-brand-primary);flex-shrink:0}.user-avatar svg{width:14px;height:14px}.user-email{font-size:var(--text-sm);font-weight:500;color:var(--color-text-primary);max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-menu-chevron{width:16px;height:16px;color:var(--color-text-tertiary);transition:transform var(--duration-normal) var(--ease-default);flex-shrink:0}.user-menu-chevron.open{transform:rotate(180deg)}.user-menu-chevron svg{width:100%;height:100%}.user-dropdown-menu{position:absolute;top:calc(100% + var(--space-2));right:0;min-width:240px;background:var(--color-bg-elevated);border:1px solid var(--color-border-default);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);padding:var(--space-2);z-index:var(--z-popover);animation:dropdownEnter var(--duration-normal) var(--ease-default)}.user-dropdown-header{padding:var(--space-3);display:flex;flex-direction:column;gap:var(--space-1)}.user-dropdown-email{font-size:var(--text-sm);font-weight:600;color:var(--color-text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-dropdown-plan{font-size:var(--text-xs);font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--color-brand-primary);background:var(--color-brand-bg);padding:2px 8px;border-radius:var(--radius-sm);display:inline-block;width:fit-content}.user-dropdown-divider{height:1px;background:var(--color-border-default);margin:var(--space-1) 0}.user-dropdown-item{display:flex;align-items:center;gap:var(--space-3);width:100%;padding:var(--space-3);border-radius:var(--radius-md);background:none;border:none;color:var(--color-text-primary);font-size:var(--text-sm);font-weight:500;cursor:pointer;transition:all var(--duration-fast) var(--ease-default);text-align:left}.user-dropdown-item:hover,.user-dropdown-item.active,.user-dropdown-item[data-active=true]{background:var(--color-bg-hover);color:var(--color-text-primary)}.user-dropdown-item:focus{outline:2px solid var(--color-brand-primary);outline-offset:-2px}.user-dropdown-item svg{width:18px;height:18px;flex-shrink:0}.user-dropdown-item.logout{color:var(--color-error)}.user-dropdown-item.logout:hover{background:var(--color-error-bg);color:var(--color-error)}.user-dropdown-item.admin{color:var(--color-accent-primary)}.user-dropdown-item.admin:hover{background:var(--color-brand-bg);color:var(--color-accent-primary)}.btn-api-key-warning{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--color-warning-bg);color:var(--color-warning);border:none;border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:500;white-space:nowrap;cursor:pointer;transition:all var(--duration-fast)}.btn-api-key-warning:hover{background:var(--color-warning-bg)}.btn-api-key-warning svg{width:16px;height:16px}.btn-menu{display:none;width:36px;height:36px;align-items:center;justify-content:center;border:none;background:transparent;color:var(--color-text-secondary);border-radius:var(--radius-md)}.topic-display{display:flex;align-items:center;gap:var(--space-3);min-width:0}.topic-label{font-size:var(--text-xs);color:var(--color-text-tertiary);flex-shrink:0}.topic-text{font-size:var(--text-md);font-weight:500;color:var(--color-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:400px}.org-badge{display:flex;align-items:center;gap:6px;padding:4px 12px;border:1px solid var(--color-brand-primary);background:var(--color-brand-bg);color:var(--color-brand-primary);border-radius:var(--radius-full, 9999px);font-size:var(--text-xs);font-weight:600;letter-spacing:.02em;white-space:nowrap;transition:all var(--duration-fast);min-width:auto;min-height:auto}.org-badge svg{width:14px;height:14px;flex-shrink:0}button.org-badge:hover{background:var(--color-brand-primary);color:var(--color-text-inverse)}span.org-badge{opacity:.9;cursor:default}@media (max-width: 640px){.org-badge span{display:none}.org-badge{padding:4px 8px}}.btn-theme-toggle{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:none;background:var(--color-bg-tertiary);color:var(--color-text-secondary);border-radius:var(--radius-md);cursor:pointer;transition:all var(--duration-fast)}.btn-theme-toggle:hover{background:var(--color-bg-active);color:var(--color-text-primary)}.btn-theme-toggle svg{width:18px;height:18px}[data-theme=dark] .btn-theme-toggle{background:var(--color-bg-tertiary);color:var(--color-warning)}[data-theme=dark] .btn-theme-toggle:hover{background:var(--color-bg-active)}.mobile-only-menu-item{display:none}@media (max-width: 768px){.btn-theme-toggle{display:none}.mobile-only-menu-item{display:block}}.stat-item{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--color-text-secondary)}.stat-item svg{width:14px;height:14px}.stat-value{font-weight:600;color:var(--color-text-primary)}.cost-value{font-size:var(--text-sm);font-weight:600;color:var(--color-success)}.connection-dot{width:8px;height:8px;border-radius:50%;background:var(--color-success)}.connection-dot.connecting{background:var(--color-warning);animation:pulse 1.5s infinite}.connection-dot.error{background:var(--color-error)}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}.setup-panel{flex:1;display:flex;align-items:flex-start;justify-content:center;padding:var(--space-8);overflow-y:auto}.service-mode-badge{display:inline-flex;align-items:center;gap:var(--space-1);margin-top:var(--space-3);padding:var(--space-1) var(--space-3);background:var(--color-accent-green-bg);color:var(--color-accent-green);border-radius:var(--radius-full);font-size:var(--text-sm);font-weight:500}.service-mode-badge svg{width:14px;height:14px}.settings-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4)}.api-key-warning-card{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4);background:var(--color-warning-bg);border:1px solid var(--color-warning);border-radius:var(--radius-lg);margin-bottom:var(--space-4)}.api-key-warning-card .warning-icon{width:40px;height:40px;background:var(--color-warning);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;flex-shrink:0}.api-key-warning-card .warning-icon svg{color:#fff}.api-key-warning-card .warning-content{flex:1}.api-key-warning-card .warning-title{font-weight:600;color:var(--color-text-primary);margin-bottom:2px}.unified-input-container.loading{opacity:.7}.unified-input-container{position:relative;background:var(--color-bg-primary);border:2px solid var(--color-border-default);border-radius:var(--radius-xl);padding:var(--space-3);margin-bottom:var(--space-3);transition:all var(--duration-normal);box-shadow:0 2px 8px #0000000a}.unified-input-container:hover:not(:focus-within):not(.disabled){border-color:var(--color-border-strong);box-shadow:0 4px 12px #0000000f}.unified-input-container:focus-within{border-color:var(--color-brand-primary);box-shadow:0 0 0 3px var(--color-brand-bg)}.unified-input-container.dragging{border-color:var(--color-brand-primary);border-style:dashed;background:var(--color-brand-bg)}.unified-input-container.disabled{opacity:.6;pointer-events:none}.drag-overlay{position:absolute;inset:0;background:#0d94881a;border-radius:calc(var(--radius-xl) - 2px);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-2);z-index:10;pointer-events:none}.drag-overlay svg{width:40px;height:40px;color:var(--color-brand-primary)}.drag-overlay span{font-size:var(--text-base);font-weight:600;color:var(--color-brand-primary)}.attached-files-preview{display:flex;flex-wrap:wrap;gap:var(--space-2);padding-bottom:var(--space-3);border-bottom:1px solid var(--color-border-subtle);margin-bottom:var(--space-2)}.file-preview-chip{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-2) var(--space-1) var(--space-1);background:var(--color-bg-tertiary);border:1px solid var(--color-border-default);border-radius:var(--radius-md);max-width:200px;transition:all var(--duration-fast)}.file-preview-chip:hover{background:var(--color-bg-hover);border-color:var(--color-border-strong)}.file-preview-icon{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:var(--color-brand-bg);border-radius:var(--radius-sm);color:var(--color-brand-primary);flex-shrink:0}.file-preview-icon svg{width:14px;height:14px}.file-preview-info{flex:1;min-width:0;display:flex;flex-direction:column}.file-preview-name{font-size:var(--text-xs);font-weight:500;color:var(--color-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.file-preview-size{font-size:10px;color:var(--color-text-tertiary)}.file-preview-remove{width:20px;height:20px;display:flex;align-items:center;justify-content:center;background:none;border:none;color:var(--color-text-tertiary);cursor:pointer;border-radius:var(--radius-sm);transition:all var(--duration-fast);flex-shrink:0}.file-preview-remove:hover:not(:disabled){background:var(--color-error-bg);color:var(--color-error)}.file-preview-remove:disabled{opacity:.5;cursor:not-allowed}.file-preview-remove svg{width:12px;height:12px}.upload-error-inline{display:flex;align-items:center;justify-content:space-between;padding:var(--space-2) var(--space-3);background:var(--color-error-bg);border-radius:var(--radius-md);margin-bottom:var(--space-2);font-size:var(--text-sm);color:var(--color-error)}.upload-error-inline button{background:none;border:none;color:var(--color-error);cursor:pointer;padding:2px;display:flex}.upload-error-inline button svg{width:14px;height:14px}.unified-textarea{width:100%;min-height:80px;max-height:200px;padding:var(--space-2);border:none;background:transparent;color:var(--color-text-primary);font-size:var(--text-base);line-height:1.5;resize:none;font-family:inherit}.unified-textarea::placeholder{color:var(--color-text-tertiary)}.unified-textarea:focus-visible{outline:2px solid var(--color-brand-primary);outline-offset:-2px}.unified-textarea:disabled{cursor:not-allowed}.unified-input-toolbar{display:flex;align-items:center;justify-content:space-between;padding-top:var(--space-2);border-top:1px solid var(--color-border-subtle)}.toolbar-left,.toolbar-right{display:flex;align-items:center;gap:var(--space-2)}.toolbar-btn{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:none;border:none;color:var(--color-text-tertiary);cursor:pointer;border-radius:var(--radius-md);transition:all var(--duration-fast)}.toolbar-btn:hover:not(:disabled){background:var(--color-bg-tertiary);color:var(--color-text-secondary)}.toolbar-btn:disabled{opacity:.4;cursor:not-allowed}.toolbar-btn svg{width:20px;height:20px}.toolbar-btn.attach-btn:hover:not(:disabled){color:var(--color-brand-primary)}.toolbar-btn.send-btn{background:var(--color-bg-tertiary);color:var(--color-text-tertiary);transition:all .25s ease}.toolbar-btn.send-btn.active{background:var(--color-brand-primary);color:#fff;box-shadow:0 2px 8px #0d94884d;transform:scale(1.05)}.toolbar-btn.send-btn.active:hover:not(:disabled){background:var(--color-brand-hover);box-shadow:0 4px 12px #0d948866;transform:scale(1.08)}.toolbar-btn.send-btn.active:active:not(:disabled){transform:scale(.98);box-shadow:0 1px 4px #0d94884d}.char-count{font-size:var(--text-xs);color:var(--color-text-tertiary)}.file-count{font-size:var(--text-xs);color:var(--color-brand-primary);font-weight:500;padding:2px 8px;background:var(--color-brand-bg);border-radius:var(--radius-full)}.api-key-warning-card.compact{padding:var(--space-2) var(--space-3);margin-bottom:var(--space-3)}.api-key-warning-card.compact .warning-title{font-size:var(--text-sm)}.btn-sm{padding:var(--space-1) var(--space-3);font-size:var(--text-sm)}@media (max-width: 640px){.unified-textarea,select{font-size:16px!important}}@keyframes fadeIn{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}.btn-start{width:100%;padding:var(--space-4);background:linear-gradient(135deg,var(--color-brand-primary),var(--color-brand-secondary));color:#fff;border:none;border-radius:var(--radius-lg);font-size:var(--text-md);font-weight:600;cursor:pointer;transition:all .25s ease;box-shadow:0 2px 8px #0d948840;display:flex;align-items:center;justify-content:center;gap:var(--space-2)}.btn-start:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 16px #0d948859;filter:brightness(1.05)}.btn-start:active:not(:disabled){transform:translateY(0);box-shadow:0 1px 4px #0d94884d}.btn-start:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.conversation-view{flex:1;display:flex;flex-direction:column;overflow:hidden}.messages-container{flex:1;overflow-y:auto;padding:var(--space-4) var(--space-6);display:flex;flex-direction:column;gap:2px}.messages-container::-webkit-scrollbar{width:6px}.messages-container::-webkit-scrollbar-thumb{background:var(--color-border-strong);border-radius:3px}@keyframes messageIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.message.user .message-header{justify-content:flex-end}.message-avatar{width:28px;height:28px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;font-size:var(--text-xs);font-weight:700;color:#fff}.btn-send{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:var(--color-brand-primary);color:#fff;border:none;border-radius:var(--radius-md);transition:all var(--duration-fast)}.btn-send:hover:not(:disabled){background:var(--color-brand-secondary)}.btn-send:disabled{opacity:.5;cursor:not-allowed}.btn-send svg{width:18px;height:18px}.btn-control{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:var(--color-bg-tertiary);border:none;border-radius:var(--radius-md);color:var(--color-text-secondary);transition:all var(--duration-fast)}.btn-control:hover{background:var(--color-bg-active);color:var(--color-text-primary)}.btn-control.active{background:var(--color-brand-primary);color:#fff}.btn-control.danger:hover{background:var(--color-error);color:#fff}.btn-control svg{width:18px;height:18px}.modal-overlay{position:fixed;inset:0;background:#00000080;backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:var(--z-modal);padding:var(--space-4);animation:fadeIn .15s var(--ease-out)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal{width:100%;max-width:520px;max-height:90vh;background:var(--color-bg-secondary);border-radius:var(--radius-xl);border:1px solid var(--color-border-default);box-shadow:var(--shadow-xl);display:flex;flex-direction:column;animation:modalSlideUp .25s var(--ease-out)}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-5);border-bottom:1px solid var(--color-border-default)}.modal-title{font-size:var(--text-lg);font-weight:700;color:var(--color-text-primary)}.modal-content{width:100%;max-width:520px;max-height:90vh;background:var(--color-bg-primary);border-radius:var(--radius-xl);border:1px solid var(--color-border-default);box-shadow:var(--shadow-xl);display:flex;flex-direction:column;overflow:hidden;animation:slideUp .2s var(--ease-out)}.modal-content .modal-header{background:var(--color-bg-primary);border-bottom:2px solid var(--color-border-default)}.modal-content .modal-body{background:var(--color-bg-secondary)}.modal-content .modal-footer{background:var(--color-bg-primary);border-top:2px solid var(--color-border-default)}.btn-close{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:var(--color-bg-tertiary);border:none;border-radius:50%;color:var(--color-text-secondary);cursor:pointer;transition:all var(--duration-fast)}.btn-close:hover{background:var(--color-bg-active);color:var(--color-text-primary)}.modal-body{flex:1;padding:var(--space-5);overflow-y:auto}.modal-footer{display:flex;justify-content:flex-end;gap:var(--space-3);padding:var(--space-4) var(--space-5);border-top:1px solid var(--color-border-default)}@media (max-width: 640px){.modal-overlay{padding:var(--space-2);align-items:flex-end}.modal,.modal-content{max-width:100%;max-height:92vh;border-radius:var(--radius-xl) var(--radius-xl) 0 0;animation:modalSlideUpMobile .3s var(--ease-out)}.modal-header{padding:var(--space-4)}.btn-close{width:40px;height:40px;min-width:40px}.modal-body{padding:var(--space-4);-webkit-overflow-scrolling:touch}.modal-footer{padding:var(--space-3) var(--space-4);padding-bottom:calc(var(--space-3) + env(safe-area-inset-bottom,0px))}@keyframes modalSlideUpMobile{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}}.btn{padding:var(--space-3) var(--space-5);border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:500;cursor:pointer;transition:all var(--duration-fast)}.btn-primary{background:var(--color-brand-primary);color:var(--color-text-inverse);border:none;font-weight:600}.btn-primary:hover{background:var(--color-brand-secondary)}.btn-secondary{background:var(--color-bg-tertiary);color:var(--color-text-primary);border:2px solid var(--color-border-strong);font-weight:600}.btn-secondary:hover{background:var(--color-bg-active);border-color:var(--color-border-strong)}.btn-danger{background:var(--color-error);color:#fff;border:none;font-weight:600}.btn-danger:hover{filter:brightness(.85)}.btn-warning{background:var(--color-warning);color:#fff;border:none;font-weight:600}.btn-warning:hover{filter:brightness(.85)}.onboarding-title{font-size:var(--text-2xl);font-weight:700;color:var(--color-text-primary);margin-bottom:var(--space-2)}.btn-cta{width:100%;padding:var(--space-4);background:var(--color-brand-primary);color:#fff;border:none;border-radius:var(--radius-lg);font-size:var(--text-md);font-weight:600;cursor:pointer;transition:all var(--duration-fast)}.btn-cta:hover{background:var(--color-brand-secondary)}.cost-model-item{display:flex;justify-content:space-between;font-size:var(--text-xs);padding:var(--space-1) 0;color:var(--color-text-tertiary)}.loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-4);padding:var(--space-8);color:var(--color-text-tertiary)}.spinner{width:32px;height:32px;border:3px solid var(--color-border-default);border-top-color:var(--color-brand-primary);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.empty-state{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-8);text-align:center}.empty-icon{width:80px;height:80px;background:var(--color-bg-tertiary);border-radius:var(--radius-2xl);display:flex;align-items:center;justify-content:center;margin-bottom:var(--space-4)}.empty-icon svg{width:40px;height:40px;color:var(--color-text-tertiary)}.empty-title{font-size:var(--text-lg);font-weight:600;color:var(--color-text-primary);margin-bottom:var(--space-2)}.empty-desc{font-size:var(--text-md);color:var(--color-text-tertiary);max-width:320px}@media (max-width: 1024px){.sidebar{position:fixed;left:0;top:0;z-index:var(--z-modal);transform:translate(-100%);transition:transform var(--duration-normal) var(--ease-default)}.sidebar.open{transform:translate(0)}.sidebar-backdrop{position:fixed;inset:0;background:#00000080;z-index:calc(var(--z-modal) - 1);opacity:0;visibility:hidden;transition:all var(--duration-normal)}.sidebar-backdrop.visible{opacity:1;visibility:visible}.btn-menu{display:flex}}@media (max-width: 768px){.setup-panel{padding:var(--space-4)}.settings-row{grid-template-columns:1fr}.topic-text{max-width:200px}.user-email{display:none}.btn-user-menu{padding:0 var(--space-2)}.messages-container{padding:var(--space-3) var(--space-4)}}@media (max-width: 480px){:root{--header-height: 44px}.main-header{padding:0 var(--space-3)}.topic-display{display:none}.messages-container{padding:var(--space-2) var(--space-3)}.mobile-nav-label{font-size:10px}.header-logo-btn .perspec-logo{font-size:15px}}@supports (padding: env(safe-area-inset-bottom)){.sidebar{padding-top:var(--safe-top);padding-bottom:var(--safe-bottom)}}.mobile-nav{display:none;position:fixed;bottom:0;left:0;right:0;height:64px;background:var(--color-bg-secondary);border-top:1px solid var(--color-border-default);z-index:var(--z-sticky);padding:0 var(--space-2);padding-bottom:env(safe-area-inset-bottom,0);transition:transform var(--duration-slow) var(--ease-default);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.mobile-nav.hidden{transform:translateY(100%);pointer-events:none}.mobile-nav-item{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-1);padding:var(--space-2);background:transparent;border:none;color:var(--color-text-tertiary);cursor:pointer;transition:color var(--duration-fast);-webkit-tap-highlight-color:transparent}.mobile-nav-item:active{background:var(--color-bg-tertiary);border-radius:var(--radius-md)}.mobile-nav-item.active{color:var(--color-brand-primary)}.mobile-nav-icon{position:relative;width:24px;height:24px;transition:transform .15s var(--ease-default)}.mobile-nav-icon svg{width:100%;height:100%}.mobile-nav-item:active .mobile-nav-icon{transform:scale(.85)}.mobile-nav-badge{position:absolute;top:-4px;right:-8px;min-width:16px;height:16px;padding:0 4px;background:var(--color-brand-primary);color:#fff;font-size:10px;font-weight:600;line-height:16px;text-align:center;border-radius:var(--radius-full)}.mobile-nav-badge.alert{background:var(--color-error-text)}.mobile-nav-label{font-size:11px;font-weight:500;letter-spacing:-.01em}@media (max-width: 768px){.mobile-nav{display:flex;align-items:stretch;height:56px;animation:mobileNavFadeIn .3s var(--ease-out) both}.mobile-nav-icon{width:22px;height:22px}.app:has(.mobile-nav:not(.hidden)) .main-content{padding-bottom:calc(56px + env(safe-area-inset-bottom,0))}.btn-menu{display:none}.messages-container{padding:var(--space-4)}}@keyframes mobileNavFadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (min-width: 769px) and (max-width: 1024px){.mobile-nav,.mobile-nav-fab{display:none}}.mobile-nav-backdrop,.mobile-nav-fab,.mobile-nav--collapsed-panel{display:none}@media (max-width: 768px){.mobile-nav-backdrop{display:block;position:fixed;inset:0;background:#0000004d;z-index:calc(var(--z-sticky) + 1);opacity:0;animation:mobileNavBackdropIn var(--duration-normal) var(--ease-out) forwards}.mobile-nav-fab{display:flex;align-items:center;justify-content:center;position:fixed;bottom:calc(16px + env(safe-area-inset-bottom,0));right:16px;width:48px;height:48px;border-radius:var(--radius-full);border:none;background:var(--color-brand-primary);color:var(--color-text-inverse);cursor:pointer;z-index:calc(var(--z-sticky) + 3);box-shadow:0 4px 12px #00000026,0 1px 3px #0000001a;transition:transform var(--duration-normal) var(--ease-default),background-color var(--duration-fast) var(--ease-default),box-shadow var(--duration-normal) var(--ease-default);-webkit-tap-highlight-color:transparent}.mobile-nav-fab:active{transform:scale(.92)}.mobile-nav-fab--active{background:var(--color-bg-elevated);color:var(--color-text-primary);box-shadow:0 4px 16px #0003}.mobile-nav-fab-icon{display:flex;align-items:center;justify-content:center;width:22px;height:22px;transition:transform var(--duration-normal) var(--ease-default)}.mobile-nav-fab-icon svg{width:100%;height:100%}.mobile-nav-fab--active .mobile-nav-fab-icon{transform:rotate(90deg)}.mobile-nav--collapsed-panel{display:flex;flex-direction:column;position:fixed;bottom:calc(72px + env(safe-area-inset-bottom,0));right:16px;width:auto;min-width:160px;height:auto;left:auto;top:auto;padding:var(--space-2);gap:var(--space-1);background:var(--color-bg-elevated);border:1px solid var(--color-border-default);border-radius:var(--radius-lg);box-shadow:0 8px 24px #0000001f,0 2px 8px #00000014;z-index:calc(var(--z-sticky) + 2);transform:translateY(12px) scale(.95);opacity:0;pointer-events:none;transition:transform var(--duration-slow) var(--ease-out),opacity var(--duration-normal) var(--ease-out)}.mobile-nav--collapsed-panel.mobile-nav--expanded{transform:translateY(0) scale(1);opacity:1;pointer-events:auto}.mobile-nav--collapsed-panel .mobile-nav-item{flex:none;flex-direction:row;justify-content:flex-start;gap:var(--space-3);padding:var(--space-3);border-radius:var(--radius-md);transition:background-color var(--duration-fast) var(--ease-default),color var(--duration-fast) var(--ease-default)}.mobile-nav--collapsed-panel .mobile-nav-item:active{background:var(--color-bg-hover)}.mobile-nav--collapsed-panel .mobile-nav-item.active{background:var(--color-brand-bg);color:var(--color-brand-primary)}.mobile-nav--collapsed-panel .mobile-nav-label{font-size:var(--text-sm);font-weight:500;white-space:nowrap}}@media (max-width: 480px){.mobile-nav{height:44px}.app:has(.mobile-nav:not(.hidden)) .main-content{padding-bottom:calc(44px + env(safe-area-inset-bottom,0))}.mobile-nav-icon{width:18px;height:18px}.mobile-nav-label{font-size:9px}.mobile-nav-item{gap:2px;padding:var(--space-1)}}@media (prefers-reduced-motion: reduce){.mobile-nav{animation:none}.mobile-nav-icon,.mobile-nav-fab,.mobile-nav-fab-icon,.mobile-nav--collapsed-panel{transition:none}.mobile-nav-backdrop{animation:none;opacity:1}}@keyframes mobileNavBackdropIn{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion: reduce){.explore-backdrop{animation:none;opacity:1}.explore-sheet{transition:none}}@media (min-width: 769px){.explore-sheet,.explore-backdrop{display:none!important}}.explore-backdrop{position:fixed;inset:0;background:#0006;z-index:var(--z-modal-backdrop, 400);animation:explore-fade-in .2s ease-out}@keyframes explore-fade-in{0%{opacity:0}to{opacity:1}}.explore-sheet{position:fixed;bottom:0;left:0;right:0;z-index:var(--z-modal, 500);background:var(--color-bg-primary);border-radius:16px 16px 0 0;padding:12px 20px 24px;transform:translateY(100%);transition:transform .3s cubic-bezier(.32,.72,0,1);box-shadow:var(--shadow-lg);max-height:60vh}.explore-sheet--open{transform:translateY(0)}.explore-sheet-handle{width:36px;height:4px;border-radius:2px;background:var(--color-border-default);margin:0 auto 16px}.explore-sheet-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.explore-sheet-item{display:flex;flex-direction:column;align-items:center;gap:6px;padding:16px 12px;border:1px solid var(--color-border-default);border-radius:var(--radius-md);background:var(--color-bg-primary);cursor:pointer;transition:all .15s;text-align:center}.explore-sheet-item:hover{border-color:var(--color-accent-teal);background:var(--color-bg-secondary)}.explore-sheet-item.active{border-color:var(--color-accent-teal);background:var(--color-brand-bg)}.explore-sheet-item-icon{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:var(--radius-md);background:var(--color-bg-secondary);color:var(--color-text-secondary)}.explore-sheet-item.active .explore-sheet-item-icon{background:var(--color-brand-bg-hover);color:var(--color-accent-teal)}.explore-sheet-item-icon svg{width:18px;height:18px}.explore-sheet-item-label{font-size:13px;font-weight:700;color:var(--color-text-primary)}.explore-sheet-item.active .explore-sheet-item-label{color:var(--color-accent-teal)}.explore-sheet-item-desc{font-size:11px;color:var(--color-text-tertiary);line-height:1.3}.mobile-nav-divider{width:80%;height:1px;background:var(--color-border-default);margin:4px auto}[data-theme=dark] .explore-sheet{background:var(--color-bg-primary);box-shadow:0 -4px 24px #0006}[data-theme=dark] .explore-sheet-item{background:var(--color-bg-secondary);border-color:var(--color-border-default)}[data-theme=dark] .explore-sheet-item:hover{background:var(--color-bg-tertiary)}[data-theme=dark] .explore-sheet-item.active{background:var(--color-brand-bg);border-color:var(--color-accent-teal)}[data-theme=dark] .explore-sheet-item-icon{background:var(--color-bg-tertiary)}[data-theme=dark] .explore-sheet-handle,[data-theme=dark] .mobile-nav-divider{background:var(--color-border-default)}::-webkit-scrollbar-thumb{background:var(--color-border-strong);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--color-text-tertiary)}:focus-visible{outline:2px solid var(--color-brand-primary);outline-offset:2px}::selection{background:var(--color-brand-bg);color:var(--color-text-primary)}@media print{.sidebar,.scroll-btn{display:none!important}.main-content{width:100%!important}}.stats-bar{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-3) var(--space-6);background:var(--color-bg-secondary);border-bottom:1px solid var(--color-border-default);flex-shrink:0}.stats-bar-compact{justify-content:space-between;padding:var(--space-2) var(--space-4);gap:var(--space-2);min-height:44px}.stats-left,.stats-right{display:flex;align-items:center;gap:var(--space-2)}.turn-chip{display:inline-flex;align-items:center;gap:4px;padding:var(--space-1) var(--space-2);background:var(--color-bg-tertiary);border-radius:var(--radius-full);font-size:var(--text-xs);color:var(--color-text-secondary)}.turn-count{font-variant-numeric:tabular-nums;font-weight:500}.cost-chip{display:inline-flex;align-items:center;gap:4px;padding:var(--space-1) var(--space-2);background:var(--color-bg-tertiary);border-radius:var(--radius-full);font-size:var(--text-xs);transition:all var(--duration-fast)}.cost-chip.clickable{cursor:pointer}.cost-chip.clickable:hover{background:var(--color-bg-hover)}.cost-chip.actual{background:color-mix(in srgb,var(--color-success) 15%,transparent)}.cost-chip.actual .cost-value{color:var(--color-success)}.cost-chip.estimated .cost-value{color:var(--color-text-secondary)}.cost-value{font-weight:500;font-variant-numeric:tabular-nums}.cost-badge{font-size:10px;opacity:.7}.connection-chip{display:flex;align-items:center;justify-content:center;width:24px;height:24px}.connection-chip .connection-dot{width:8px;height:8px;border-radius:50%;transition:background-color var(--duration-normal)}@media (max-width: 480px){.stats-bar-compact{padding:var(--space-2) var(--space-3);gap:var(--space-1)}.stats-left,.stats-right{gap:var(--space-1)}.turn-chip,.cost-chip{padding:var(--space-1)}.cost-badge{display:none}}@media (max-width: 360px){.stats-bar-compact{padding:var(--space-1) var(--space-2)}.turn-count,.cost-value{font-size:10px}}.stat-item.clickable{cursor:pointer;padding:var(--space-1) var(--space-2);border-radius:var(--radius-md);transition:all var(--duration-fast)}.stat-item.clickable:hover{background:var(--color-bg-hover)}.stat-label{font-size:var(--text-xs);color:var(--color-text-tertiary)}.stat-icon{width:14px;height:14px}.stat-icon svg{width:100%;height:100%}.stat-item.connection{margin-left:auto}.cost-detail-popup{position:absolute;top:100px;right:var(--space-6);width:280px;background:var(--color-bg-secondary);border:1px solid var(--color-border-default);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);z-index:var(--z-dropdown);animation:slideDown .15s var(--ease-out)}.cost-detail-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border-default)}.cost-detail-header h4{font-size:var(--text-sm);font-weight:600;color:var(--color-text-primary);margin:0}.btn-close-popup{width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:none;border:none;border-radius:var(--radius-sm);color:var(--color-text-tertiary);cursor:pointer}.btn-close-popup:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}.btn-close-popup svg{width:14px;height:14px}.cost-detail-body{padding:var(--space-4)}.cost-detail-row{display:flex;justify-content:space-between;align-items:center;padding:var(--space-2) 0}.cost-detail-row.highlight{background:var(--color-brand-bg);margin:0 calc(var(--space-4) * -1);padding:var(--space-2) var(--space-4)}.cost-detail-label{font-size:var(--text-sm);color:var(--color-text-secondary)}.cost-detail-value{font-size:var(--text-sm);font-weight:600;color:var(--color-text-primary)}.cost-detail-divider{height:1px;background:var(--color-border-default);margin:var(--space-2) 0}.cost-detail-section-title{font-size:var(--text-xs);font-weight:600;color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.03em;margin-bottom:var(--space-2)}.cost-model-name{font-size:var(--text-sm);color:var(--color-text-primary)}.cost-model-tokens{font-size:var(--text-xs);color:var(--color-text-tertiary)}.cost-estimate-notice{font-size:11px;color:var(--color-text-tertiary);font-style:italic;padding:var(--space-2) 0;text-align:center}.agents-bar{display:flex;gap:var(--space-2);padding:var(--space-3) var(--space-6);background:var(--color-bg-secondary);border-bottom:1px solid var(--color-border-default);overflow-x:auto;flex-shrink:0;flex-wrap:nowrap;-webkit-overflow-scrolling:touch;scrollbar-width:none;mask-image:linear-gradient(to right,transparent 0,black 16px,black calc(100% - 16px),transparent 100%);-webkit-mask-image:linear-gradient(to right,transparent 0,black 16px,black calc(100% - 16px),transparent 100%)}.agents-bar::-webkit-scrollbar{display:none}.agent-chip{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:color-mix(in srgb,var(--agent-color, var(--color-brand-primary)) 8%,var(--color-bg-tertiary));border-radius:var(--radius-lg);white-space:nowrap;transition:all var(--duration-fast);flex-shrink:0}.agent-chip.speaking{background:var(--color-brand-bg);box-shadow:var(--shadow-sm)}.agent-indicator{width:6px;height:6px;border-radius:50%;background:var(--agent-color, var(--color-brand-primary));flex-shrink:0;align-self:flex-start;margin-top:6px}.agent-chip.speaking .agent-indicator{animation:pulse 1s infinite}.agent-chip-info{display:flex;flex-direction:column;gap:1px;min-width:0}.agent-name{font-size:var(--text-sm);font-weight:600;color:var(--color-text-primary);line-height:1.2}.agent-model{font-size:10px;color:var(--color-text-tertiary);font-family:var(--font-mono);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:140px;line-height:1.2}.agent-chip.clickable{cursor:pointer}.agent-chip.clickable:hover{background:var(--color-bg-hover);box-shadow:var(--shadow-sm)}.agent-chip.clickable:hover .agent-model{color:var(--color-brand-primary)}.agent-edit-hint{font-size:var(--text-xs);font-weight:500;color:var(--color-brand-primary);background:var(--color-brand-bg);padding:2px 6px;border-radius:var(--radius-sm);opacity:0;transform:translate(-4px);transition:all var(--duration-fast)}.agent-chip.clickable:hover .agent-edit-hint{opacity:1;transform:translate(0)}.agents-bar-label{font-size:var(--text-xs);font-weight:600;color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.05em;margin-right:var(--space-1)}.agent-model-selector-overlay{position:fixed;inset:0;background:#0000004d;z-index:var(--z-modal);display:flex;align-items:center;justify-content:center;animation:fadeIn .15s ease}.agent-model-selector-popover{position:absolute;min-width:340px;max-width:420px;max-height:80vh;background:var(--color-bg-primary);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);display:flex;flex-direction:column;animation:scaleIn .2s var(--ease-out);overflow:hidden}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.selector-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4);border-bottom:1px solid var(--color-border-default)}.selector-agent-info{display:flex;align-items:center;gap:var(--space-3)}.selector-agent-avatar{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:16px}.selector-agent-details{display:flex;flex-direction:column;gap:2px}.selector-agent-name{font-size:var(--text-md);font-weight:700;color:var(--color-text-primary)}.selector-current-model{font-size:var(--text-xs);color:var(--color-text-tertiary)}.selector-close-btn{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border:none;background:transparent;color:var(--color-text-tertiary);border-radius:var(--radius-md);cursor:pointer;transition:all var(--duration-fast)}.selector-close-btn:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}.selector-close-btn svg{width:18px;height:18px}.selector-body{flex:1;overflow-y:auto;padding:var(--space-3);max-height:400px}.selector-loading,.selector-empty{display:flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-6);color:var(--color-text-tertiary);font-size:var(--text-sm)}.spinner-small{width:16px;height:16px;border:2px solid var(--color-border-default);border-top-color:var(--color-brand-primary);border-radius:50%;animation:spin .8s linear infinite}.selector-model-list{display:flex;flex-direction:column;gap:var(--space-3)}.selector-provider-group{display:flex;flex-direction:column;gap:var(--space-1)}.selector-provider-header{font-size:var(--text-xs);font-weight:600;color:var(--color-text-secondary);padding:var(--space-2) var(--space-3);padding-left:var(--space-4);background:color-mix(in srgb,var(--color-brand-primary) 6%,var(--color-bg-tertiary));border-radius:var(--radius-sm)}.selector-model-item{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3);background:transparent;border:1px solid var(--color-border-default);border-radius:var(--radius-md);cursor:pointer;transition:all var(--duration-fast);text-align:left}.selector-model-item:hover{background:var(--color-bg-hover);border-color:var(--color-border-strong)}.selector-model-item.selected{background:var(--color-brand-bg);border-color:var(--color-brand-primary)}.selector-model-item.current{border-style:dashed}.selector-model-item.unavailable{opacity:.5;cursor:not-allowed}.selector-model-item.unavailable:hover{background:transparent;border-color:var(--color-border-default)}.selector-model-item.unavailable .model-item-name{color:var(--color-text-tertiary)}.selector-unavailable-message{padding:var(--space-3);background:var(--color-warning-bg, rgba(255, 193, 7, .1));border:1px solid var(--color-warning, #ffc107);border-radius:var(--radius-md);color:var(--color-warning-text, #856404);font-size:var(--text-sm);text-align:center;margin:var(--space-3);animation:fadeIn var(--duration-normal)}.model-item-left{display:flex;align-items:center;gap:var(--space-3)}.model-item-icon{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:var(--color-bg-tertiary);border-radius:var(--radius-md);color:var(--color-text-secondary)}.model-item-icon svg{width:18px;height:18px}.model-item-info{display:flex;flex-direction:column;gap:2px}.model-item-name{font-size:var(--text-sm);font-weight:600;color:var(--color-text-primary)}.model-item-price{font-size:var(--text-xs);color:var(--color-text-tertiary)}.model-item-right{display:flex;align-items:center;gap:var(--space-2)}.current-badge{font-size:var(--text-xs);padding:2px 8px;background:var(--color-bg-tertiary);color:var(--color-text-secondary);border-radius:var(--radius-full)}.selected-check{width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:var(--color-brand-primary);color:#fff;border-radius:50%}.selected-check svg{width:14px;height:14px}.selector-footer{display:flex;justify-content:flex-end;gap:var(--space-2);padding:var(--space-4);border-top:1px solid var(--color-border-default)}.messages-area{flex:1;overflow-y:auto;padding:var(--space-6);display:flex;flex-direction:column;gap:var(--space-4)}.messages-area::-webkit-scrollbar{width:6px}.messages-area::-webkit-scrollbar-thumb{background:var(--color-border-strong);border-radius:3px}.loading-state{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-4);color:var(--color-text-tertiary)}.loading-state p{font-size:var(--text-sm)}.empty-conversation-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:48px 24px;text-align:center;animation:emptyConvFade .5s ease-out}@keyframes emptyConvFade{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.empty-conv-icon{width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,var(--color-brand-bg),var(--color-info-bg));display:flex;align-items:center;justify-content:center;margin-bottom:4px;position:relative;color:var(--color-text-tertiary)}.empty-conv-icon:after{content:"";position:absolute;inset:-4px;border-radius:50%;border:2px dashed var(--color-border-default);opacity:.4}.empty-conv-icon svg{width:24px;height:24px;color:inherit}.empty-conv-title{font-size:18px;font-weight:600;color:var(--color-text-primary);margin:0}.empty-conv-desc{font-size:14px;color:var(--color-text-tertiary);margin:0;max-width:300px;line-height:1.6}.message.error-message{align-self:center;max-width:90%}.user-avatar{width:28px;height:28px;border-radius:var(--radius-md);background:var(--color-brand-primary);display:flex;align-items:center;justify-content:center;color:#fff}.user-avatar svg{width:16px;height:16px}.error-avatar{width:28px;height:28px;border-radius:var(--radius-md);background:var(--color-error-bg);display:flex;align-items:center;justify-content:center;color:var(--color-error)}.error-avatar svg{width:16px;height:16px}.agent-avatar{width:28px;height:28px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;color:#fff;font-size:var(--text-xs);font-weight:700}.agent-info{display:flex;flex-direction:column}.sender-name{font-size:var(--text-xs);font-weight:600;color:var(--color-text-secondary)}.sender-model{font-size:var(--text-xs);color:var(--color-text-tertiary)}.streaming-badge{font-size:var(--text-xs);color:var(--color-brand-primary);background:var(--color-brand-bg);padding:2px 6px;border-radius:var(--radius-full);margin-left:auto}.thinking-badge{display:flex;align-items:center;gap:var(--space-1);font-size:var(--text-xs);color:var(--color-accent-purple, #9333ea);background:#9333ea1a;padding:2px 8px;border-radius:var(--radius-full);margin-left:auto;animation:thinkingPulse 2s ease-in-out infinite}.thinking-badge svg{width:14px;height:14px}@keyframes thinkingPulse{0%,to{opacity:1}50%{opacity:.6}}.thinking-used-badge{display:flex;align-items:center;justify-content:center;width:24px;height:24px;color:var(--color-accent-purple, #9333ea);background:#9333ea1a;border-radius:var(--radius-full);margin-left:auto}.thinking-used-badge svg{width:14px;height:14px}.thinking-block{margin:var(--space-2) 0;border:1px solid rgba(147,51,234,.2);border-radius:var(--radius-lg);background:linear-gradient(135deg,#9333ea0d,#a855f705);overflow:hidden;transition:all var(--duration-normal)}.thinking-block.expanded{border-color:#9333ea4d}.thinking-header{display:flex;align-items:center;gap:var(--space-2);width:100%;padding:var(--space-3) var(--space-4);background:transparent;border:none;cursor:pointer;color:var(--color-accent-purple, #9333ea);font-size:var(--text-sm);font-weight:500;text-align:left;transition:background var(--duration-fast)}.thinking-header:hover{background:#9333ea14}.thinking-icon{display:flex;align-items:center;justify-content:center}.thinking-icon svg{width:18px;height:18px}.thinking-label{flex:1}.thinking-toggle{display:flex;align-items:center;justify-content:center;transition:transform var(--duration-fast)}.thinking-toggle svg{width:16px;height:16px}.thinking-content{padding:var(--space-4);padding-top:0;color:var(--color-text-secondary);font-size:var(--text-sm);line-height:var(--leading-relaxed);max-height:300px;overflow-y:auto;animation:fadeIn var(--duration-fast) ease-out}.thinking-content pre{white-space:pre-wrap;word-wrap:break-word;font-family:var(--font-mono);font-size:var(--text-xs);background:#9333ea0d;padding:var(--space-3);border-radius:var(--radius-md);margin:0}@keyframes fadeIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.message.agent-message.thinking-active{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--color-accent-purple, #9333ea) 20%,transparent)}.message.agent-message.grounded{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--color-info) 20%,transparent)}.grounding-block{margin:var(--space-2) 0;border:1px solid rgba(8,145,178,.2);border-radius:var(--radius-lg);background:linear-gradient(135deg,#0891b20d,#06b6d405);overflow:hidden;transition:all var(--duration-normal)}.grounding-block.expanded{border-color:#0891b24d}.grounding-header{display:flex;align-items:center;gap:var(--space-2);width:100%;padding:var(--space-3) var(--space-4);background:transparent;border:none;cursor:pointer;color:var(--color-info);font-size:var(--text-sm);font-weight:500;text-align:left;transition:background var(--duration-fast)}.grounding-header:hover{background:#0891b214}.grounding-icon{display:flex;align-items:center;justify-content:center}.grounding-icon svg{width:18px;height:18px}.grounding-label{flex:1}.grounding-toggle{display:flex;align-items:center;justify-content:center;transition:transform var(--duration-fast)}.grounding-toggle svg{width:16px;height:16px}.grounding-content{padding:var(--space-4);padding-top:0;animation:fadeIn var(--duration-fast) ease-out}.grounding-sources-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-2)}.grounding-source-item{padding:0}.grounding-source-link{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:#0891b20d;border-radius:var(--radius-md);color:var(--color-text-secondary);text-decoration:none;font-size:var(--text-sm);transition:all var(--duration-fast)}.grounding-source-link:hover{background:#0891b21a;color:var(--color-info)}.grounding-source-link .source-title{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.grounding-source-link svg{width:14px;height:14px;flex-shrink:0;opacity:.6}.grounding-source-link:hover svg{opacity:1}.grounded-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;background:#0891b226;color:var(--color-info);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:500}.grounded-badge svg{width:12px;height:12px}.tool-use-block{margin:var(--space-2) 0;border:1px solid rgba(234,88,12,.2);border-radius:var(--radius-lg);background:linear-gradient(135deg,#ea580c0d,#f9731605);overflow:hidden;transition:all var(--duration-normal)}.tool-use-block.expanded{border-color:#ea580c4d}.tool-use-header{display:flex;align-items:center;gap:var(--space-2);width:100%;padding:var(--space-3) var(--space-4);background:transparent;border:none;cursor:pointer;color:var(--color-tool);font-size:var(--text-sm);font-weight:500;text-align:left;transition:background var(--duration-fast)}.tool-use-header:hover{background:var(--color-tool-bg-light)}.tool-use-icon{display:flex;align-items:center;justify-content:center}.tool-use-icon svg{width:18px;height:18px}.tool-use-label{flex:1}.tool-use-toggle{display:flex;align-items:center;justify-content:center;transition:transform var(--duration-fast)}.tool-use-toggle svg{width:16px;height:16px}.tool-use-content{padding:var(--space-4);padding-top:0;animation:fadeIn var(--duration-fast) ease-out}.tool-use-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-3)}.tool-use-item{background:var(--color-tool-bg-subtle);border-radius:var(--radius-md);padding:var(--space-3)}.tool-name{display:flex;align-items:center;gap:var(--space-2);color:var(--color-tool);font-weight:500;font-size:var(--text-sm);margin-bottom:var(--space-2)}.tool-name svg{width:14px;height:14px}.tool-input{white-space:pre-wrap;word-wrap:break-word;font-family:var(--font-mono);font-size:var(--text-xs);background:#00000008;padding:var(--space-2);border-radius:var(--radius-sm);margin:0;color:var(--color-text-secondary)}.tool-used-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;background:var(--color-tool-bg);color:var(--color-tool);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:500}.tool-used-badge svg{width:12px;height:12px}.tool-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;background:var(--color-tool-bg);color:var(--color-tool);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:500;animation:pulse 1.5s ease-in-out infinite}.tool-badge svg{width:12px;height:12px}.citations-block{margin:var(--space-2) 0;border:1px solid rgba(16,185,129,.2);border-radius:var(--radius-lg);background:linear-gradient(135deg,#10b9810d,#34d39905);overflow:hidden;transition:all var(--duration-normal)}.citations-block.expanded{border-color:#10b9814d}.citations-header{display:flex;align-items:center;gap:var(--space-2);width:100%;padding:var(--space-3) var(--space-4);background:transparent;border:none;cursor:pointer;color:var(--color-accent-green);font-size:var(--text-sm);font-weight:500;text-align:left;transition:background var(--duration-fast)}.citations-header:hover{background:#10b98114}.citations-icon{display:flex;align-items:center;justify-content:center}.citations-icon svg{width:18px;height:18px}.citations-label{flex:1}.citations-toggle{display:flex;align-items:center;justify-content:center;transition:transform var(--duration-fast)}.citations-toggle svg{width:16px;height:16px}.citations-content{padding:var(--space-4);padding-top:0;animation:fadeIn var(--duration-fast) ease-out}.citations-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-2)}.citation-item{display:flex;gap:var(--space-2);padding:var(--space-2);background:#10b9810d;border-radius:var(--radius-md);font-size:var(--text-sm)}.citation-number{color:var(--color-accent-green);font-weight:600;flex-shrink:0}.citation-text{color:var(--color-text-secondary);flex:1}.citation-excerpt{margin:var(--space-2) 0 0 0;padding:var(--space-2) var(--space-3);background:var(--color-accent-green-bg, rgba(16, 185, 129, .05));border-radius:var(--radius-sm);font-style:italic;font-size:var(--text-xs);color:var(--color-text-tertiary)}.citations-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;background:#10b98126;color:var(--color-accent-green);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:500}.citations-badge svg{width:12px;height:12px}.web-search-indicator{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);margin:var(--space-2) 0;background:#0891b214;border-radius:var(--radius-md);font-size:var(--text-sm);color:var(--color-info)}.web-search-indicator.searching{background:#0891b21f}.search-icon{display:flex;align-items:center;justify-content:center}.search-icon svg{width:16px;height:16px}.search-text{flex:1}.searching-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;background:#0891b226;color:var(--color-info);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:500;animation:pulse 1.5s ease-in-out infinite}.searching-badge svg{width:12px;height:12px}.cache-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;background:#f59e0b26;color:var(--color-warning);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:500}.cache-badge svg{width:12px;height:12px}.status-indicators{display:flex;align-items:center;gap:var(--space-1);margin-left:auto}.spin{animation:spin 1s linear infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}.message-content{padding:var(--space-4);border-radius:var(--radius-lg);font-size:var(--text-md);line-height:var(--leading-relaxed)}.user-content{background:var(--color-brand-primary);color:#fff;border-bottom-right-radius:var(--radius-sm)}.agent-content{background:var(--color-bg-secondary);border:1px solid var(--color-border-default);border-top-left-radius:var(--radius-sm);color:var(--color-text-primary)}.error-content{background:var(--color-error-bg);border:1px solid var(--color-error);color:var(--color-error)}.message.system-note-message{align-self:center;max-width:90%}.system-note-header{color:var(--color-text-tertiary)}.system-note-avatar{width:28px;height:28px;border-radius:var(--radius-md);background:var(--color-warning-bg);display:flex;align-items:center;justify-content:center;color:var(--color-warning)}.system-note-avatar svg{width:16px;height:16px}.system-note-content{background:var(--color-warning-bg);border:1px solid var(--color-border-subtle);color:var(--color-text-secondary);font-size:var(--text-sm)}.pending-indicator{font-size:var(--text-xs);color:var(--color-text-tertiary);margin-top:var(--space-2);font-style:italic}.file-indicator{display:inline-flex;margin-left:var(--space-1);opacity:.7}.file-indicator svg{width:14px;height:14px}.cursor-blink{animation:blink 1s step-end infinite}.input-bar{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);background:var(--color-bg-secondary);border-top:1px solid var(--color-border-default)}.intervention-bar{padding:var(--space-4) var(--space-6);background:var(--color-bg-secondary);border-top:1px solid var(--color-border-default);transition:all var(--duration-normal) var(--ease-default)}.intervention-bar.resumable{background:linear-gradient(135deg,var(--color-brand-bg) 0%,var(--color-bg-secondary) 100%);border-top:2px solid var(--color-brand-primary)}.intervention-bar.resumable .intervention-input{border-color:var(--color-brand-primary);animation:subtle-pulse 2s ease-in-out infinite}@keyframes subtle-pulse{0%,to{box-shadow:0 0 #0d948800}50%{box-shadow:0 0 0 4px #0d948826}}@media (prefers-reduced-motion: reduce){.intervention-bar.resumable .intervention-input{animation:none}}.upload-error{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3);background:var(--color-error-bg);border:1px solid var(--color-error);border-radius:var(--radius-md);margin-bottom:var(--space-3)}.error-text{font-size:var(--text-sm);color:var(--color-error)}.btn-dismiss{background:none;border:none;color:var(--color-error);cursor:pointer;padding:0}.btn-dismiss svg{width:16px;height:16px}.attached-files{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-bottom:var(--space-3)}.file-chip{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--color-bg-tertiary);border-radius:var(--radius-md);font-size:var(--text-xs);border:1px solid var(--color-border-default);transition:all var(--duration-fast);position:relative;overflow:hidden}.file-progress-bar{width:100%;height:2px;background:var(--color-bg-hover);border-radius:1px;overflow:hidden}.file-progress-fill{height:100%;border-radius:1px;transition:width .5s ease-out;animation:progress-shimmer 1.5s ease-in-out infinite}@keyframes progress-shimmer{0%,to{opacity:.7}50%{opacity:1}}.file-chip:hover{border-color:var(--color-border-strong)}.file-chip.file-status-uploading{background:linear-gradient(90deg,var(--color-bg-tertiary) 0%,var(--color-brand-bg) 50%,var(--color-bg-tertiary) 100%);background-size:200% 100%;animation:shimmer 1.5s ease-in-out infinite}.file-chip.file-status-processing{border-color:var(--color-brand-primary);box-shadow:0 0 0 1px var(--color-brand-bg)}.file-chip.file-status-ready{border-color:var(--color-success)}.file-chip.file-status-error{border-color:var(--color-error);background:var(--color-error-bg)}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.file-icon{width:16px;height:16px;color:var(--color-text-tertiary)}.file-icon svg{width:100%;height:100%}.file-name{color:var(--color-text-primary);max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-size{color:var(--color-text-tertiary)}.file-badge{font-size:9px;font-weight:600;padding:1px 4px;background:var(--color-brand-primary);color:#fff;border-radius:4px;text-transform:uppercase}.file-badge.ai-badge{background:var(--color-accent-blue);animation:pulse-subtle 2s ease-in-out infinite}@keyframes pulse-subtle{0%,to{opacity:1}50%{opacity:.7}}.file-status-icon{display:flex;align-items:center;justify-content:center}.file-status-icon svg{width:14px;height:14px}.file-status-icon.status-uploading svg,.file-status-icon.status-processing svg{animation:spin 1s linear infinite}.file-status-icon.status-ready{color:var(--color-success)}.file-status-icon.status-error{color:var(--color-error)}.processing-status{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:linear-gradient(90deg,var(--color-brand-bg),transparent);border-radius:var(--radius-md);margin-bottom:var(--space-2);color:var(--color-brand-primary);font-size:var(--text-sm);animation:fadeIn var(--duration-normal) ease-out}.processing-status svg{width:16px;height:16px;animation:spin 2s linear infinite}.file-remove{background:none;border:none;color:var(--color-text-tertiary);cursor:pointer;padding:0;display:flex}.file-remove:hover{color:var(--color-error)}.file-remove svg{width:14px;height:14px}@keyframes spin-slow{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.spin-slow{animation:spin-slow 2s linear infinite}.input-row{display:flex;align-items:flex-end;gap:var(--space-3)}.input-row .btn-attach,.input-row .btn-send{flex-shrink:0;margin-bottom:2px}.btn-attach{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:var(--color-bg-tertiary);border:none;border-radius:var(--radius-md);color:var(--color-text-secondary);cursor:pointer;transition:all var(--duration-fast)}.btn-attach:hover:not(:disabled){background:var(--color-bg-active);color:var(--color-text-primary)}.btn-attach:disabled{opacity:.5;cursor:not-allowed}.btn-attach svg{width:18px;height:18px}.btn-attach .spin{animation:spin 1s linear infinite}.attach-wrapper{position:relative;flex-shrink:0;margin-bottom:2px}.attach-source-selector{position:absolute;bottom:calc(100% + 6px);left:0;background:var(--color-bg-elevated);border:1px solid var(--color-border-default);border-radius:var(--radius-md);box-shadow:0 4px 16px #0000001f;overflow:hidden;z-index:20;min-width:160px;animation:sourceSelectFadeIn .15s var(--ease-out)}@keyframes sourceSelectFadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion: reduce){.attach-source-selector{animation:none}}.attach-source-option{display:flex;align-items:center;gap:8px;width:100%;padding:10px 14px;background:none;border:none;color:var(--color-text-primary);font-size:13px;font-weight:500;cursor:pointer;transition:background var(--duration-fast);text-align:left}.attach-source-option:hover{background:var(--color-bg-hover)}.attach-source-option:not(:last-child){border-bottom:1px solid var(--color-border-subtle)}.attach-source-option svg{flex-shrink:0;color:var(--color-text-secondary)}.attach-source-label{display:flex;flex-direction:column;gap:1px}.attach-source-desc{font-size:11px;font-weight:400;color:var(--color-text-tertiary)}[data-theme=dark] .attach-source-selector{box-shadow:0 4px 16px #00000052}.intervention-input{flex:1;padding:var(--space-3) var(--space-4);background:var(--color-bg-primary);border:1px solid var(--color-border-default);border-radius:var(--radius-lg);color:var(--color-text-primary);font-size:var(--text-md);font-family:inherit;line-height:var(--leading-normal);resize:none;min-height:40px;max-height:150px;overflow-y:auto;transition:border-color var(--duration-fast),box-shadow var(--duration-fast)}.intervention-input:focus-visible{outline:none;border-color:var(--color-brand-primary);box-shadow:0 0 0 3px var(--color-brand-bg)}.intervention-input::placeholder{color:var(--color-text-tertiary)}.intervention-input:disabled{background:var(--color-bg-tertiary);cursor:not-allowed}.status-overlay{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);padding:var(--space-4) var(--space-6);background:var(--color-bg-secondary);border:1px solid var(--color-border-default);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);display:flex;align-items:center;gap:var(--space-3);font-size:var(--text-md);font-weight:500;color:var(--color-text-primary);z-index:var(--z-sticky)}.status-overlay.stopped{border-color:var(--color-error)}.status-icon{font-size:var(--text-xl);font-weight:700}.status-overlay.stopped .status-icon{color:var(--color-success)}.connection-banner{display:flex;align-items:center;justify-content:center;gap:var(--space-3);padding:var(--space-3);background:var(--color-warning-bg);border-bottom:1px solid var(--color-warning)}.connection-banner.error{background:var(--color-error-bg);border-color:var(--color-error)}.connection-icon{width:18px;height:18px;color:var(--color-warning)}.connection-banner.error .connection-icon{color:var(--color-error)}.connection-icon svg{width:100%;height:100%}.connection-text{font-size:var(--text-sm);color:var(--color-text-secondary)}.btn-sm{padding:var(--space-1) var(--space-3);font-size:var(--text-xs)}.warning-banner{display:flex;align-items:center;justify-content:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--color-warning-bg);border-bottom:1px solid var(--color-warning);animation:slideDown .3s ease}.warning-banner.danger{background:var(--color-error-bg);border-color:var(--color-error)}.warning-banner.exhausted{background:linear-gradient(135deg,var(--color-error-bg),rgba(239,68,68,.15));border-color:var(--color-error);border-width:2px;padding:var(--space-4)}.warning-banner.exhausted .warning-icon{font-size:24px}.credit-exhausted-note{color:var(--color-text-secondary);font-weight:400;font-style:italic}.btn-danger{background:linear-gradient(135deg,var(--color-accent-red-light),var(--color-error));color:#fff;font-weight:600}.btn-danger:hover{background:var(--color-error);transform:translateY(-1px);box-shadow:0 4px 12px #ef444466}.warning-icon{width:20px;height:20px;color:var(--color-warning);flex-shrink:0}.warning-banner.danger .warning-icon{color:var(--color-error)}.warning-icon svg{width:100%;height:100%}.warning-text{font-size:var(--text-sm);color:var(--color-text-primary);font-weight:500}.credit-balance-inline{font-weight:400;opacity:.8;margin-left:var(--space-1)}.modal-subtitle{font-size:var(--text-sm);color:var(--color-text-secondary);margin-top:var(--space-1);font-weight:500}.service-mode-banner{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-4);background:linear-gradient(135deg,#0d948814,#0d94880a);border:2px solid var(--color-accent);border-radius:var(--radius-lg);margin-bottom:var(--space-4);position:relative}.api-health-indicator{display:flex;align-items:center;gap:6px;padding:4px 10px;border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:500;margin-left:auto;flex-shrink:0;transition:all .3s ease}.api-health-indicator.connected{background:var(--color-success-bg);color:var(--color-success)}.api-health-indicator.slow{background:var(--color-warning-bg);color:var(--color-warning)}.api-health-indicator.disconnected{background:var(--color-error-bg);color:var(--color-error)}.api-health-indicator.checking{background:var(--color-bg-tertiary);color:var(--color-text-tertiary)}.api-health-text{line-height:1}.api-health-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;transition:background-color .3s ease}.api-health-dot.connected{background-color:var(--color-success);box-shadow:0 0 6px var(--color-success)}.api-health-dot.slow{background-color:var(--color-warning);box-shadow:0 0 6px var(--color-warning);animation:health-pulse 2s ease-in-out infinite}.api-health-dot.disconnected{background-color:var(--color-error);box-shadow:0 0 6px var(--color-error)}.api-health-dot.checking{background-color:var(--color-text-tertiary);animation:health-pulse 1s ease-in-out infinite}@keyframes health-pulse{0%,to{opacity:1}50%{opacity:.4}}.service-mode-icon{width:28px;height:28px;color:var(--color-accent);flex-shrink:0}.service-mode-icon svg{width:100%;height:100%}.service-mode-content{flex:1}.service-mode-content strong{display:block;font-size:var(--text-base);color:var(--color-accent);margin-bottom:var(--space-1);font-weight:700}.service-mode-content p{font-size:var(--text-sm);color:var(--color-text-secondary);margin:0;font-weight:500;line-height:1.5}.security-notice{display:flex;gap:var(--space-3);padding:var(--space-4);background:var(--color-brand-bg);border:2px solid var(--color-brand-primary);border-radius:var(--radius-lg);margin-bottom:var(--space-5)}.security-notice-icon{width:24px;height:24px;color:var(--color-brand-primary);flex-shrink:0}.security-notice-icon svg{width:100%;height:100%}.security-notice-content{flex:1}.security-notice-content strong{display:block;font-size:var(--text-sm);color:var(--color-brand-primary);margin-bottom:var(--space-1);font-weight:700}.security-notice-content p{font-size:var(--text-sm);color:var(--color-brand-primary);margin:0;font-weight:500;line-height:1.5}.error-banner{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3);background:var(--color-error-bg);border:2px solid var(--color-error);border-radius:var(--radius-md);margin-bottom:var(--space-4);font-size:var(--text-sm);color:var(--color-error);font-weight:500}.error-icon{width:20px;height:20px;background:var(--color-error);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:var(--text-xs);font-weight:700;flex-shrink:0}.provider-card{border:2px solid var(--color-border-default);border-radius:var(--radius-lg);overflow:hidden;transition:all var(--duration-fast);background:var(--color-bg-primary)}.provider-card-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4);cursor:pointer;transition:background var(--duration-fast);background:var(--color-bg-primary)}.provider-card-header:hover{background:var(--color-bg-tertiary)}.provider-info{display:flex;align-items:center;gap:var(--space-3)}.provider-color-bar{width:4px;height:36px;border-radius:2px}.provider-name{font-weight:700;font-size:var(--text-base);color:var(--color-text-primary)}.provider-models{font-size:var(--text-sm);color:var(--color-text-secondary);font-weight:500}.provider-card-body{padding:0 var(--space-4) var(--space-4);border-top:2px solid var(--color-border-default);background:var(--color-bg-secondary)}.api-key-input{flex:1;padding:12px 14px;background:var(--color-bg-primary);border:2px solid var(--color-border-default);border-radius:10px;color:var(--color-text-primary);font-family:var(--font-mono);font-size:var(--text-base);font-weight:600;letter-spacing:.5px;box-sizing:border-box}.api-key-input::placeholder{color:var(--color-text-tertiary);font-weight:400}.api-key-input:focus-visible{outline:none;border-color:var(--color-brand-primary);box-shadow:0 0 0 3px var(--color-brand-bg)}[data-theme=dark] .api-key-input{background:var(--color-bg-tertiary);border-color:var(--color-border-strong);color:var(--color-text-primary)}[data-theme=dark] .api-key-input::placeholder{color:var(--color-text-tertiary)}@media (prefers-color-scheme: dark){:root:not([data-theme=light]) .api-key-input{background:var(--color-bg-tertiary);border-color:var(--color-border-strong);color:var(--color-text-primary)}:root:not([data-theme=light]) .api-key-input::placeholder{color:var(--color-text-tertiary)}}.btn-toggle-visibility{width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:var(--color-bg-tertiary);border:2px solid var(--color-text-tertiary);border-radius:10px;color:var(--color-text-secondary);cursor:pointer;transition:all var(--duration-fast)}.btn-toggle-visibility:hover{color:var(--color-text-primary);border-color:var(--color-border-strong)}.btn-toggle-visibility svg{width:18px;height:18px}.error-boundary{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:var(--space-6);background:var(--color-bg-primary)}.error-boundary-content{max-width:400px;text-align:center}.error-boundary-content .error-icon{width:64px;height:64px;margin:0 auto var(--space-5);background:var(--color-error-bg);border-radius:var(--radius-xl);display:flex;align-items:center;justify-content:center}.error-boundary-content .error-icon svg{width:32px;height:32px;color:var(--color-error)}.error-boundary-content h2{font-size:var(--text-2xl);font-weight:700;color:var(--color-text-primary);margin-bottom:var(--space-2)}.error-description{font-size:var(--text-md);color:var(--color-text-secondary);margin-bottom:var(--space-6)}.error-actions{display:flex;gap:var(--space-3);justify-content:center;margin-bottom:var(--space-4)}.modal-content.settings-modal{max-width:560px}.modal-content.usage-modal{max-width:680px}.modal-content.usage-modal .modal-body{padding:var(--space-4) var(--space-5)}.settings-tabs{display:flex;gap:var(--space-2);margin-bottom:var(--space-4);padding-bottom:var(--space-3);border-bottom:1px solid var(--color-border-default)}.settings-tab{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:transparent;border:1px solid var(--color-border-default);border-radius:var(--radius-md);color:var(--color-text-secondary);font-size:var(--text-sm);font-weight:500;cursor:pointer;transition:all var(--duration-fast)}.settings-tab svg{width:16px;height:16px}.settings-tab:hover{background:var(--color-bg-tertiary);color:var(--color-text-primary)}.settings-tab.active{background:var(--color-brand-primary);border-color:var(--color-brand-primary);color:#fff}.settings-tab .tab-badge{background:#fff3;padding:2px 6px;border-radius:var(--radius-sm);font-size:var(--text-xs);font-weight:600}.settings-tab.active .tab-badge{background:#ffffff4d}@keyframes settingsTabEnter{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.settings-tab-content{animation:settingsTabEnter .2s ease-out}@media (prefers-reduced-motion: reduce){.settings-tab-content{animation:none}}.settings-tab-content-scroll{height:480px;overflow-y:auto;padding:0 4px 0 0}.api-keys-tab{display:flex;flex-direction:column;gap:12px}.api-keys-subscription-gate{display:flex;flex-direction:column;align-items:center;text-align:center;padding:48px 32px;background:var(--color-bg-secondary);border-radius:var(--radius-lg);border:1px solid var(--color-border-subtle)}.api-keys-gate-icon{width:64px;height:64px;display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--color-brand-primary, #2563eb) 10%,transparent);border-radius:var(--radius-full);color:var(--color-brand-primary, #2563eb);margin-bottom:16px}.api-keys-subscription-gate h3{font-size:var(--text-lg, 18px);font-weight:700;color:var(--color-text-primary);margin:0 0 8px}.api-keys-subscription-gate>p{font-size:var(--text-sm, 14px);color:var(--color-text-secondary);line-height:1.6;margin:0 0 20px;max-width:400px}.api-keys-gate-benefits{list-style:none;padding:0;margin:0 0 24px;display:flex;flex-direction:column;gap:8px}.api-keys-gate-benefits li{display:flex;align-items:center;gap:8px;font-size:var(--text-sm, 14px);color:var(--color-text-primary)}.api-keys-gate-benefits li svg{color:var(--color-success, #22c55e);flex-shrink:0}.api-keys-gate-cta{background:var(--color-brand-primary, #2563eb);color:#fff;border:none;padding:12px 24px;border-radius:var(--radius-md);font-size:var(--text-sm, 14px);font-weight:600;cursor:pointer;transition:opacity .15s ease}.api-keys-gate-cta:hover{opacity:.9}.api-keys-gate-note{font-size:var(--text-xs, 12px);color:var(--color-text-tertiary);margin:16px 0 0}.org-custom-key-notice{display:flex;align-items:flex-start;gap:12px;padding:16px;background:var(--color-info-bg, var(--color-bg-secondary));border:1px solid var(--color-brand-primary, #2563eb);border-radius:var(--radius-md);margin-bottom:4px}.org-custom-key-notice .notice-icon{flex-shrink:0;width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--color-brand-primary, #2563eb) 10%,transparent);border-radius:var(--radius-full);color:var(--color-brand-primary, #2563eb)}.org-custom-key-notice .notice-icon svg{width:18px;height:18px}.org-custom-key-notice .notice-content strong{display:block;color:var(--color-text-primary);font-weight:600;font-size:var(--text-sm);margin-bottom:4px}.org-custom-key-notice .notice-content p{font-size:var(--text-xs);color:var(--color-text-secondary);line-height:1.5;margin:0}.org-custom-key-notice .notice-content .org-fallback-policy-info{margin-top:6px;font-style:italic;opacity:.85}.org-custom-key-notice .notice-header-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.btn-org-manage-link{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;font-size:var(--text-xs);font-weight:500;color:var(--color-brand-primary, #2563eb);background:var(--color-brand-bg, rgba(37, 99, 235, .08));border:1px solid var(--color-brand-primary, #2563eb);border-radius:var(--radius-sm, 6px);cursor:pointer;transition:background .15s,color .15s;white-space:nowrap}.btn-org-manage-link:hover{background:var(--color-brand-primary, #2563eb);color:var(--color-text-inverse)}.btn-org-manage-link svg{width:12px;height:12px}.btn-org-manage-link.inline{padding:2px 6px;margin-left:6px;border:none;background:none;text-decoration:underline;font-style:normal}.btn-org-manage-link.inline:hover{background:none;color:var(--color-brand-primary, #2563eb);opacity:.8}.org-managed-notice{display:flex;align-items:center;gap:6px;padding:6px 10px;font-size:var(--text-xs);color:var(--color-brand-primary, #2563eb);background:var(--color-brand-bg, rgba(37, 99, 235, .06));border-radius:var(--radius-sm, 6px);margin-bottom:6px}.org-managed-notice svg{width:14px;height:14px;flex-shrink:0}.org-unregistered-notice{display:flex;align-items:flex-start;gap:8px;padding:8px 10px;font-size:var(--text-xs);color:var(--color-text-secondary);background:var(--color-bg-hover);border-radius:var(--radius-sm);margin-bottom:8px}.org-unregistered-notice svg{width:14px;height:14px;flex-shrink:0;margin-top:1px;opacity:.6}.api-keys-provider-card.blocked{opacity:.55}.api-keys-provider-card.unregistered{opacity:.85}.api-keys-provider-list{display:flex;flex-direction:column;gap:8px}.api-keys-provider-card{border:1px solid var(--color-border-default, #e2e8f0);border-radius:var(--radius-md, 8px);overflow:hidden;transition:border-color .15s}.api-keys-provider-card:hover{border-color:var(--color-border-strong, #cbd5e1)}.api-keys-provider-header{display:flex;align-items:center;gap:10px;padding:10px 14px;background:var(--color-bg-secondary, #f8fafc)}.api-keys-provider-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.api-keys-provider-info .provider-models{font-size:11px;color:var(--color-text-tertiary, #94a3b8)}.api-keys-status-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:var(--radius-xl, 20px);font-size:11px;font-weight:600;flex-shrink:0;white-space:nowrap}.api-keys-status-badge svg{width:12px;height:12px}.api-keys-status-badge.server{background:var(--color-success-bg);color:var(--color-success)}.api-keys-status-badge.custom{background:var(--color-brand-bg, rgba(13, 148, 136, .1));color:var(--color-accent-teal, #0d9488)}.api-keys-status-badge.org{background:var(--color-accent-purple-bg, rgba(139, 92, 246, .1));color:var(--color-accent-purple, #8b5cf6)}.api-keys-status-badge.session{background:var(--color-accent-blue-bg, rgba(59, 130, 246, .1));color:var(--color-accent-blue, #3b82f6)}.api-keys-status-badge.none{background:var(--color-bg-tertiary, #e2e8f0);color:var(--color-text-tertiary, #94a3b8)}.api-keys-provider-body{padding:10px 14px}[data-theme=dark] .api-keys-provider-card{border-color:var(--color-border-default)}[data-theme=dark] .api-keys-provider-header{background:var(--color-bg-tertiary)}[data-theme=dark] .api-keys-provider-body{background:var(--color-bg-secondary)}[data-theme=dark] .api-keys-status-badge.none{background:var(--color-bg-tertiary)}.account-privacy-tab{display:flex;flex-direction:column;gap:0}.personal-keys-benefit{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-4);background:var(--color-bg-tertiary);border:1px solid var(--color-border-default);border-radius:var(--radius-lg)}.personal-keys-benefit .benefit-icon{flex-shrink:0;width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:var(--color-accent-teal-bg, rgba(13, 148, 136, .1));border-radius:var(--radius-full);color:var(--color-accent-teal, #0d9488)}.personal-keys-benefit .benefit-icon svg{width:20px;height:20px}.personal-keys-benefit .benefit-content strong{display:block;color:var(--color-text-primary);font-weight:600;margin-bottom:var(--space-1)}.personal-keys-benefit .benefit-content p{font-size:var(--text-sm);color:var(--color-text-secondary);line-height:1.5}.personal-keys-benefit .benefit-content ul{margin:6px 0 0;padding-left:18px;font-size:12px;line-height:1.6;color:var(--color-text-secondary)}.personal-keys-benefit.subscriber-notice{background:var(--color-brand-bg);border:1px solid var(--color-brand-bg-hover)}.personal-keys-benefit.subscriber-notice .benefit-icon{background:var(--color-brand-primary)}.personal-keys-benefit.subscriber-notice .benefit-content p{margin-top:6px}.security-notice.personal-keys{background:var(--color-bg-tertiary);border:1px solid var(--color-border-default)}.saved-key-display{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-2) var(--space-3);background:var(--color-bg-tertiary);border-radius:var(--radius-md);margin-bottom:var(--space-3)}.saved-key-masked{display:flex;align-items:center;gap:var(--space-2);color:var(--color-text-secondary)}.saved-key-masked svg{width:16px;height:16px;color:var(--color-text-tertiary)}.saved-key-masked code{font-family:var(--font-mono);font-size:var(--text-sm)}.btn-delete-key{display:flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-2);background:transparent;border:1px solid var(--color-border-default);border-radius:var(--radius-sm);color:var(--color-text-secondary);font-size:var(--text-xs);cursor:pointer;transition:all var(--duration-fast)}.btn-delete-key:hover{background:var(--color-error-bg);border-color:var(--color-error);color:var(--color-error)}.btn-delete-key svg{width:14px;height:14px}.new-key-input{display:flex;flex-direction:column;gap:var(--space-2);margin-bottom:var(--space-3)}.key-input-wrapper{display:flex;align-items:center;gap:var(--space-2)}.key-input-wrapper .api-key-input{flex:1}.key-actions{display:flex;gap:var(--space-2)}.btn-save-key{display:flex;align-items:center;gap:var(--space-1);padding:var(--space-2) var(--space-3);background:var(--color-brand-primary);border:none;border-radius:var(--radius-md);color:#fff;font-size:var(--text-sm);font-weight:500;cursor:pointer;transition:all var(--duration-fast)}.btn-save-key:hover{background:var(--color-brand-secondary)}.btn-save-key:disabled{opacity:.6;cursor:not-allowed}.btn-save-key svg{width:14px;height:14px}.provider-links{display:flex;gap:var(--space-3)}.provider-link{display:flex;align-items:center;gap:var(--space-1);font-size:var(--text-xs);color:var(--color-text-tertiary);text-decoration:none;transition:color var(--duration-fast)}.provider-link:hover{color:var(--color-brand-primary)}.provider-link svg{width:12px;height:12px}.privacy-tab{display:flex;flex-direction:column;gap:var(--space-4)}.loading-privacy{display:flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-6);color:var(--color-text-secondary)}.loading-privacy svg{width:20px;height:20px;animation:spin 1s linear infinite}.privacy-section{background:var(--color-bg-secondary);border:1px solid var(--color-border-default);border-radius:var(--radius-lg);padding:var(--space-4)}.privacy-section-title{display:flex;align-items:center;gap:var(--space-2);margin:0 0 var(--space-3);font-size:var(--text-md);font-weight:600;color:var(--color-text-primary)}.privacy-section-title svg{width:18px;height:18px;color:var(--color-brand-primary)}.privacy-section-desc{margin:0 0 var(--space-3);font-size:var(--text-sm);color:var(--color-text-secondary)}.privacy-items{display:flex;flex-direction:column;gap:var(--space-3)}.privacy-item{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-3);background:var(--color-bg-tertiary);border-radius:var(--radius-md);position:relative}.privacy-item.certified{background:var(--color-accent-green-bg, rgba(16, 185, 129, .06));box-shadow:inset 0 0 0 1px var(--color-accent-green-border, rgba(16, 185, 129, .15))}.privacy-item-icon{flex-shrink:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:var(--color-accent-green-bg, rgba(16, 185, 129, .1));border-radius:var(--radius-md);color:var(--color-accent-green)}.privacy-item-icon svg{width:16px;height:16px}.privacy-item-content{flex:1}.privacy-item-content strong{display:block;margin-bottom:var(--space-1);color:var(--color-text-primary);font-size:var(--text-sm)}.privacy-item-content p{margin:0;font-size:var(--text-xs);color:var(--color-text-secondary);line-height:1.5}.certified-badge{display:flex;align-items:center;gap:var(--space-1);padding:2px 8px;background:var(--color-accent-green-bg, rgba(16, 185, 129, .1));border-radius:var(--radius-full);font-size:10px;font-weight:600;color:var(--color-accent-green)}.certified-badge svg{width:12px;height:12px}.storage-comparison{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3)}@media (max-width: 480px){.storage-comparison{grid-template-columns:1fr}}.storage-list{padding:var(--space-3);background:var(--color-bg-tertiary);border-radius:var(--radius-md)}.storage-list h4{margin:0 0 var(--space-2);font-size:var(--text-sm);font-weight:600;color:var(--color-text-primary)}.storage-list.stored h4{color:var(--color-accent-green)}.storage-list.not-stored h4{color:var(--color-text-tertiary)}.storage-list ul{list-style:none;margin:0;padding:0}.storage-list li{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-1);font-size:var(--text-xs);color:var(--color-text-secondary)}.storage-list li svg{width:12px;height:12px;flex-shrink:0}.storage-list.stored li svg{color:var(--color-accent-green)}.storage-list.not-stored li svg{color:var(--color-text-tertiary)}.provider-policies{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-2)}@media (max-width: 480px){.provider-policies{grid-template-columns:1fr}}.provider-policy-card{padding:var(--space-3);background:var(--color-bg-tertiary);border-radius:var(--radius-md)}.provider-policy-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-2)}.provider-policy-header .provider-name{font-weight:600;font-size:var(--text-sm);color:var(--color-text-primary)}.no-training-badge{display:flex;align-items:center;gap:4px;padding:2px 6px;background:var(--color-accent-green-bg, rgba(16, 185, 129, .1));border-radius:var(--radius-full);font-size:9px;font-weight:600;color:var(--color-accent-green)}.no-training-badge svg{width:10px;height:10px}.provider-note{margin:0 0 var(--space-2);font-size:var(--text-xs);color:var(--color-text-secondary);line-height:1.4}.policy-link{display:inline-flex;align-items:center;gap:4px;font-size:var(--text-xs);color:var(--color-brand-primary);text-decoration:none}.policy-link:hover{text-decoration:underline}.policy-link svg{width:10px;height:10px}.enterprise-section{border:1px solid var(--color-accent-purple-border, rgba(139, 92, 246, .3));background:linear-gradient(135deg,color-mix(in srgb,var(--color-accent-purple) 5%,transparent),color-mix(in srgb,var(--color-accent-blue) 5%,transparent))}.enterprise-features{display:flex;flex-direction:column;gap:var(--space-2)}.enterprise-feature{padding:var(--space-3);background:var(--color-bg-tertiary);border-radius:var(--radius-md)}.enterprise-feature.coming-soon{opacity:.6}.enterprise-feature .feature-header{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-1)}.enterprise-feature strong{font-size:var(--text-sm);color:var(--color-text-primary)}.coming-soon-badge{padding:2px 6px;background:var(--color-accent-purple-bg, color-mix(in srgb, var(--color-accent-purple) 10%, transparent));border-radius:var(--radius-full);font-size:9px;font-weight:600;color:var(--color-accent-purple)}.enterprise-feature p{margin:0;font-size:var(--text-xs);color:var(--color-text-secondary)}.enterprise-promo{border:1px solid var(--color-accent-purple-border, color-mix(in srgb, var(--color-accent-purple) 20%, transparent));background:linear-gradient(135deg,color-mix(in srgb,var(--color-accent-purple) 2%,transparent),color-mix(in srgb,var(--color-accent-blue) 2%,transparent))}.enterprise-promo p{margin:0 0 var(--space-3);font-size:var(--text-sm);color:var(--color-text-secondary)}.enterprise-benefits{list-style:none;margin:0;padding:0}.enterprise-benefits li{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-2);font-size:var(--text-sm);color:var(--color-text-primary)}.enterprise-benefits li svg{width:14px;height:14px;color:var(--color-accent-purple)}.security-certs{display:flex;flex-direction:column;gap:var(--space-2)}.security-cert{display:flex;align-items:flex-start;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--color-bg-tertiary);border-radius:var(--radius-md)}.security-cert.active svg{color:var(--color-accent-green)}.security-cert svg{width:16px;height:16px;margin-top:2px;flex-shrink:0}.security-cert strong{display:block;font-size:var(--text-sm);color:var(--color-text-primary);margin-bottom:2px}.security-cert p{margin:0;font-size:var(--text-xs);color:var(--color-text-secondary)}.privacy-error{text-align:center;padding:var(--space-4);color:var(--color-text-tertiary)}.markdown-content{line-height:1.7;word-wrap:break-word}.markdown-content strong{font-weight:600;color:var(--color-text-primary)}.markdown-content em{font-style:italic}.markdown-content .md-h2{font-size:var(--text-lg);font-weight:700;margin:var(--space-3) 0 var(--space-2);color:var(--color-text-primary)}.markdown-content .md-h3{font-size:var(--text-md);font-weight:600;margin:var(--space-3) 0 var(--space-2);color:var(--color-text-primary)}.markdown-content .md-h4{font-size:var(--text-sm);font-weight:600;margin:var(--space-2) 0 var(--space-1);color:var(--color-text-primary)}.markdown-content .md-list{margin:var(--space-2) 0;padding-left:var(--space-5);list-style-type:disc}.markdown-content .md-list li{margin-bottom:var(--space-1)}.markdown-content .code-block{display:block;background:var(--color-bg-tertiary);border:1px solid var(--color-border-default);border-radius:var(--radius-md);padding:var(--space-3);margin:var(--space-2) 0;font-family:var(--font-mono);font-size:var(--text-sm);overflow-x:auto;white-space:pre-wrap}.markdown-content .inline-code{background:var(--color-bg-tertiary);border-radius:var(--radius-sm);padding:.1em .4em;font-family:var(--font-mono);font-size:.9em}.markdown-content .md-link{color:var(--color-brand-primary);text-decoration:none;border-bottom:1px solid transparent;transition:all var(--duration-fast)}.markdown-content .md-link:hover{color:var(--color-brand-secondary);border-bottom-color:var(--color-brand-secondary)}.markdown-content .md-link.auto-link{word-break:break-all}.markdown-content .md-quote{margin:var(--space-3) 0;padding:var(--space-3) var(--space-4);background:var(--color-bg-tertiary);border-left:2px solid var(--color-border-default);border-radius:0 var(--radius-sm) var(--radius-sm) 0;color:var(--color-text-secondary);font-style:italic}.toast-container{position:fixed;bottom:var(--space-6);right:var(--space-6);z-index:var(--z-toast);display:flex;flex-direction:column;gap:var(--space-2);pointer-events:none;max-width:400px;contain:layout style}@media (max-width: 640px){.toast-container{left:var(--space-4);right:var(--space-4);bottom:calc(var(--space-6) + var(--safe-bottom))}}.toast{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--color-bg-elevated);border:1px solid var(--color-border-default);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);pointer-events:auto;animation:toast-enter .2s var(--ease-out);will-change:transform,opacity}.toast-exit{animation:toast-exit .2s var(--ease-in) forwards}@keyframes toast-enter{0%{opacity:0;transform:translateY(16px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes toast-exit{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(-8px) scale(.95)}}.toast-icon{flex-shrink:0;width:20px;height:20px}.toast-icon svg{width:100%;height:100%}.toast-success .toast-icon{color:var(--color-success)}.toast-error .toast-icon{color:var(--color-error)}.toast-warning .toast-icon{color:var(--color-warning)}.toast-info .toast-icon{color:var(--color-info)}.toast-message{flex:1;font-size:var(--text-sm);color:var(--color-text-primary);line-height:var(--leading-normal)}.toast-close{flex-shrink:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:var(--radius-sm);color:var(--color-text-tertiary);cursor:pointer;transition:all var(--duration-fast) var(--ease-default)}.toast-close:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}.toast-close svg{width:14px;height:14px}@media (prefers-reduced-motion: reduce){.toast{animation:none}.toast-exit{animation:none;opacity:0}}.confirm-dialog-overlay{position:fixed;inset:0;background:#00000080;backdrop-filter:blur(4px);z-index:var(--z-modal);display:flex;align-items:center;justify-content:center;padding:var(--space-4);animation:fade-in .15s var(--ease-out)}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.confirm-dialog{background:var(--color-bg-elevated);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);width:100%;max-width:400px;overflow:hidden;animation:dialog-enter .2s var(--ease-out)}@keyframes dialog-enter{0%{opacity:0;transform:scale(.95) translateY(-10px)}to{opacity:1;transform:scale(1) translateY(0)}}.confirm-dialog-header{padding:var(--space-5) var(--space-5) var(--space-3)}.confirm-dialog-icon{width:48px;height:48px;margin:0 auto var(--space-3);display:flex;align-items:center;justify-content:center;background:var(--color-error-bg);border-radius:var(--radius-full)}.confirm-dialog-icon svg{width:24px;height:24px;color:var(--color-error)}.confirm-dialog-icon.warning{background:var(--color-warning-bg)}.confirm-dialog-icon.warning svg{color:var(--color-warning)}.confirm-dialog-title{font-size:var(--text-lg);font-weight:600;color:var(--color-text-primary);text-align:center;margin-bottom:var(--space-2)}.confirm-dialog-message{font-size:var(--text-sm);color:var(--color-text-secondary);text-align:center;line-height:var(--leading-relaxed)}.confirm-dialog-body{padding:0 var(--space-5) var(--space-4)}.confirm-dialog-info{background:var(--color-bg-tertiary);border-radius:var(--radius-md);padding:var(--space-3)}.confirm-dialog-info-row{display:flex;justify-content:space-between;font-size:var(--text-sm);padding:var(--space-1) 0}.confirm-dialog-info-label{color:var(--color-text-tertiary)}.confirm-dialog-info-value{color:var(--color-text-primary);font-weight:500}.confirm-dialog-footer{display:flex;gap:var(--space-3);padding:var(--space-4) var(--space-5);background:var(--color-bg-tertiary);border-top:1px solid var(--color-border-subtle)}.confirm-dialog-footer .btn{flex:1}@media (max-width: 640px){.confirm-dialog-overlay{padding:var(--space-3);align-items:flex-end}.confirm-dialog{border-radius:var(--radius-xl) var(--radius-xl) 0 0}.confirm-dialog-footer{padding-bottom:calc(var(--space-4) + env(safe-area-inset-bottom,0px))}.confirm-dialog-footer .btn{min-height:44px}}.message-actions{position:absolute;top:var(--space-2);right:var(--space-2);opacity:0;visibility:hidden;transition:all var(--duration-fast) var(--ease-default);display:flex;gap:var(--space-1)}.message:hover .message-actions,.message-actions.visible{opacity:1;visibility:visible}.btn-copy{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:var(--color-bg-elevated);border:1px solid var(--color-border-default);border-radius:var(--radius-sm);color:var(--color-text-tertiary);cursor:pointer;transition:all var(--duration-fast) var(--ease-default)}.btn-copy:hover{background:var(--color-bg-hover);color:var(--color-text-primary);border-color:var(--color-border-strong)}.btn-copy.copied{background:var(--color-success-bg);border-color:var(--color-success);color:var(--color-success)}.btn-copy svg{width:14px;height:14px}.message-cost{display:block;margin-top:var(--space-1);padding:2px 0;font-size:var(--text-xs);font-family:var(--font-mono);color:var(--color-text-tertiary);text-align:right;opacity:0;transition:opacity var(--duration-normal)}.message:hover .message-cost{opacity:1}.sidebar-search{padding:0 0 var(--space-3)}.search-input-wrapper{position:relative;display:flex;align-items:center}.search-input-icon{position:absolute;left:var(--space-3);width:16px;height:16px;color:var(--color-text-tertiary);pointer-events:none}.search-input-icon svg{width:100%;height:100%}.search-input{width:100%;padding:var(--space-2) var(--space-3) var(--space-2) var(--space-8);background:var(--color-bg-tertiary);border:1px solid transparent;border-radius:var(--radius-md);font-size:var(--text-sm);color:var(--color-text-primary);transition:all var(--duration-fast) var(--ease-default)}.search-input::placeholder{color:var(--color-text-tertiary)}.search-input:focus-visible{outline:none;background:var(--color-bg-secondary);border-color:var(--color-brand-primary);box-shadow:0 0 0 3px var(--color-brand-bg)}.search-input-clear{position:absolute;right:var(--space-2);width:20px;height:20px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:var(--radius-sm);color:var(--color-text-tertiary);cursor:pointer;opacity:0;visibility:hidden;transition:all var(--duration-fast) var(--ease-default)}.search-input:not(:placeholder-shown)~.search-input-clear{opacity:1;visibility:visible}.search-input-clear:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}.search-input-clear svg{width:12px;height:12px}.export-menu{position:absolute;top:100%;right:0;margin-top:var(--space-1);background:var(--color-bg-elevated);border:1px solid var(--color-border-default);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);z-index:var(--z-dropdown);min-width:160px;overflow:hidden;animation:dropdownEnter .15s var(--ease-out)}.message{position:relative}.empty-state-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-8) var(--space-4);text-align:center}.empty-state-icon{width:120px;height:120px;margin-bottom:var(--space-4);opacity:.8}.empty-state-icon.small{width:80px;height:80px}.empty-state-icon svg{width:100%;height:100%}.empty-state-title{font-size:var(--text-md);font-weight:600;color:var(--color-text-primary);margin-bottom:var(--space-1)}.empty-state-desc{font-size:var(--text-sm);color:var(--color-text-tertiary);margin-bottom:var(--space-4)}.empty-state-container .btn{display:inline-flex;align-items:center;gap:var(--space-2)}.empty-state-container .btn svg{width:16px;height:16px}*:focus-visible{outline:2px solid var(--color-brand-primary);outline-offset:2px}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,a:focus-visible{outline:2px solid var(--color-brand-primary);outline-offset:2px;border-radius:var(--radius-sm)}.btn:focus-visible{box-shadow:0 0 0 3px var(--color-brand-bg)}*:focus:not(:focus-visible){outline:none}.settings-row{display:flex;gap:var(--space-4);margin-bottom:var(--space-4)}.settings-row>*{flex:1}.theme-toggle-container{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) var(--space-4);background:var(--color-bg-tertiary);border-radius:var(--radius-md)}.theme-toggle-label{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--color-text-primary)}.theme-toggle-label svg{width:18px;height:18px;color:var(--color-text-secondary)}.theme-toggle{position:relative;width:48px;height:26px;background:var(--color-bg-active);border:none;border-radius:var(--radius-full);cursor:pointer;transition:background var(--duration-normal) var(--ease-default)}.theme-toggle.active{background:var(--color-brand-primary)}.theme-toggle:after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;background:var(--color-bg-secondary);border-radius:var(--radius-full);box-shadow:var(--shadow-sm);transition:transform var(--duration-normal) var(--ease-default)}.theme-toggle.active:after{transform:translate(22px)}.auxiliary-model-section{margin-top:var(--space-4);padding:var(--space-4);background:var(--color-bg-secondary);border:1px solid var(--color-border-subtle);border-radius:var(--radius-lg)}.settings-section-header{display:flex;align-items:flex-start;gap:var(--space-3);margin-bottom:var(--space-4)}.settings-section-header>svg{width:20px;height:20px;color:var(--color-brand-primary);flex-shrink:0;margin-top:2px}.settings-section-header h4{margin:0 0 var(--space-1) 0;font-size:var(--text-base);font-weight:600;color:var(--color-text-primary)}.settings-section-desc{margin:0;font-size:var(--text-sm);color:var(--color-text-tertiary);line-height:1.4}.auxiliary-model-selector{position:relative}.auxiliary-model-trigger{display:flex;align-items:center;gap:var(--space-2);width:100%;padding:var(--space-3) var(--space-4);background:var(--color-bg-primary);border:1px solid var(--color-border-default);border-radius:var(--radius-md);font-size:var(--text-sm);color:var(--color-text-primary);cursor:pointer;transition:all var(--duration-fast) var(--ease-default)}.auxiliary-model-trigger:hover:not(:disabled){border-color:var(--color-brand-primary);background:var(--color-bg-hover)}.auxiliary-model-trigger:disabled{opacity:.5;cursor:not-allowed}.auxiliary-model-trigger.open{border-color:var(--color-brand-primary);box-shadow:0 0 0 2px #2563eb26}.auxiliary-model-trigger>svg:first-child{width:16px;height:16px;color:var(--color-text-tertiary);flex-shrink:0}.auxiliary-model-trigger>svg:last-child{width:14px;height:14px;color:var(--color-text-tertiary);margin-left:auto;flex-shrink:0;transition:transform var(--duration-fast) var(--ease-default)}.auxiliary-model-trigger.open>svg:last-child{transform:rotate(180deg)}.aux-model-name{flex:1;text-align:left;font-weight:500}.aux-saving{font-size:var(--text-xs);color:var(--color-text-tertiary);animation:pulse 1s ease-in-out infinite}.aux-saved{display:flex;align-items:center;gap:4px;font-size:var(--text-xs);color:var(--color-success);font-weight:500}.aux-saved svg{width:12px;height:12px}.auxiliary-model-dropdown{position:absolute;top:calc(100% + var(--space-1));left:0;right:0;background:var(--color-bg-elevated);border:1px solid var(--color-border-default);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);z-index:var(--z-dropdown, 100);max-height:320px;overflow-y:auto;animation:dropdownEnter .15s var(--ease-out)}.aux-model-group{padding:var(--space-1) 0}.aux-model-group+.aux-model-group{border-top:1px solid var(--color-border-subtle)}.aux-model-group-header{padding:var(--space-2) var(--space-3);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-tertiary)}.aux-model-option{display:flex;align-items:center;gap:var(--space-2);width:100%;padding:var(--space-2) var(--space-3);background:none;border:none;font-size:var(--text-sm);color:var(--color-text-primary);cursor:pointer;transition:background var(--duration-fast) var(--ease-default)}.aux-model-option:hover{background:var(--color-bg-hover)}.aux-model-option.selected{background:var(--color-brand-bg);color:var(--color-brand-primary)}.aux-option-name{flex:1;text-align:left;font-weight:500}.aux-option-price{font-size:var(--text-xs);color:var(--color-text-tertiary);font-family:var(--font-mono)}.aux-model-option.selected .aux-option-price{color:var(--color-brand-primary);opacity:.7}.aux-model-option>svg{width:14px;height:14px;flex-shrink:0;color:var(--color-brand-primary)}.safety-limit-section{margin-top:var(--space-4);padding:var(--space-4);background:var(--color-bg-secondary);border:1px solid var(--color-border-subtle);border-radius:var(--radius-lg)}.safety-limit-input-row{display:flex;align-items:center;gap:8px}.safety-limit-input-row input{width:100px;padding:var(--space-2) var(--space-3);border:1px solid var(--color-border-default);border-radius:var(--radius-md);background:var(--color-bg-primary);color:var(--color-text-primary);font-size:var(--text-sm);font-weight:500;text-align:center;transition:border-color var(--duration-fast) var(--ease-default)}.safety-limit-input-row input:focus{outline:none;border-color:var(--color-brand-primary);box-shadow:0 0 0 2px #2563eb26}.safety-limit-unit{font-size:var(--text-sm);color:var(--color-text-tertiary)}.btn-test-key{display:flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-2);background:var(--color-bg-tertiary);border:1px solid var(--color-border-default);border-radius:var(--radius-sm);font-size:var(--text-xs);color:var(--color-text-secondary);cursor:pointer;transition:all var(--duration-fast) var(--ease-default)}.btn-test-key:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}.btn-test-key:disabled{opacity:.5;cursor:not-allowed}.btn-test-key svg{width:12px;height:12px}.btn-test-key.testing{color:var(--color-info)}.btn-test-key.success{color:var(--color-success);border-color:var(--color-success);background:var(--color-success-bg)}.btn-test-key.error{color:var(--color-error);border-color:var(--color-error);background:var(--color-error-bg)}.test-result-message{font-size:11px;line-height:1.4;padding:0;margin:0}.test-result-message.success{color:var(--color-success)}.test-result-message.error{color:var(--color-error)}.btn-sm{padding:var(--space-2) var(--space-3);font-size:var(--text-sm)}.confirm-dialog-icon.stop{background:var(--color-warning-bg)}.confirm-dialog-icon.stop svg{color:var(--color-warning)}.stop-confirm-overlay{position:fixed;inset:0;background:#00000080;backdrop-filter:blur(4px);z-index:var(--z-modal);display:flex;align-items:center;justify-content:center;padding:var(--space-4);animation:fade-in .15s var(--ease-out)}.stop-confirm-dialog{background:var(--color-bg-elevated);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);width:90%;max-width:440px;padding:var(--space-6);text-align:center;animation:dialog-enter .2s var(--ease-out)}.stop-confirm-icon{width:48px;height:48px;margin:0 auto var(--space-3);display:flex;align-items:center;justify-content:center;background:var(--color-warning-bg);border-radius:var(--radius-full)}.stop-confirm-icon svg{width:24px;height:24px;color:var(--color-warning)}.stop-confirm-title{font-size:var(--text-lg);font-weight:600;color:var(--color-text-primary);margin-bottom:var(--space-2)}.stop-confirm-message{font-size:var(--text-sm);color:var(--color-text-secondary);line-height:var(--leading-relaxed);margin-bottom:var(--space-4)}.stop-confirm-actions{display:flex;flex-wrap:wrap;gap:var(--space-2)}.stop-confirm-actions .btn{white-space:nowrap;font-size:var(--text-sm);padding:var(--space-2) var(--space-4)}.stop-confirm-actions .stop-summarize-btn{order:-1;flex:1 1 100%}.stop-confirm-actions .btn-secondary,.stop-confirm-actions .btn-warning{flex:1 1 0}.stop-summarize-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2)}.stop-summarize-btn svg{width:14px;height:14px;flex-shrink:0}.summary-generating-card{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4);margin:var(--space-3) var(--space-4);background:var(--color-bg-secondary);border:1px solid var(--color-border-subtle);border-radius:var(--radius-lg);color:var(--color-text-secondary);font-size:var(--text-sm);animation:fadeIn .3s ease}.summary-generating-icon{display:flex;align-items:center;justify-content:center}.summary-generating-icon svg{width:18px;height:18px;animation:spin 1s linear infinite}.conversation-summary-card{margin:var(--space-3) var(--space-4);padding:var(--space-4);background:var(--color-bg-secondary);border:1px solid var(--color-accent-purple-border, var(--color-border-default));border-radius:var(--radius-lg);animation:fadeIn .4s ease}.summary-card-header{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-3)}.summary-card-icon{display:flex;align-items:center;color:var(--color-accent-purple, var(--color-brand-primary))}.summary-card-icon svg{width:16px;height:16px}.summary-card-title{font-size:var(--text-sm);font-weight:600;color:var(--color-text-primary)}.summary-card-body{font-size:var(--text-sm);color:var(--color-text-secondary);line-height:var(--leading-relaxed);word-wrap:break-word}.summary-card-meta{display:flex;gap:var(--space-4);margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--color-border-subtle);font-size:var(--text-xs);color:var(--color-text-tertiary)}.safety-progress-bar{display:flex;gap:var(--space-4);padding:var(--space-2) var(--space-4);background:var(--color-bg-tertiary);border-bottom:1px solid var(--color-border-default);font-size:var(--text-xs)}.safety-progress-item{display:flex;align-items:center;gap:var(--space-2);flex:1;min-width:0}.safety-progress-label{color:var(--color-text-tertiary);font-weight:500;flex-shrink:0;width:28px}.safety-progress-track{flex:1;height:4px;background:var(--color-bg-active);border-radius:var(--radius-full);overflow:hidden;min-width:40px}.safety-progress-fill{height:100%;background:var(--color-success);border-radius:var(--radius-full);transition:width var(--duration-normal) var(--ease-default),background-color var(--duration-normal) var(--ease-default)}.safety-progress-item.warning .safety-progress-fill{background:var(--color-warning)}.safety-progress-item.danger .safety-progress-fill{background:var(--color-error);animation:pulse-danger 1s infinite}.safety-progress-item.warning .safety-progress-label,.safety-progress-item.warning .safety-progress-value{color:var(--color-warning)}.safety-progress-item.danger .safety-progress-label,.safety-progress-item.danger .safety-progress-value{color:var(--color-error);font-weight:600}.safety-progress-value{color:var(--color-text-secondary);flex-shrink:0;font-variant-numeric:tabular-nums}@keyframes pulse-danger{0%,to{opacity:1}50%{opacity:.7}}.stat-item.cost-stat{min-width:100px}.agent-chip.clickable{cursor:pointer;position:relative}.agent-chip.clickable:after{content:"▾";font-size:10px;margin-left:var(--space-1);opacity:.6;transition:opacity var(--duration-fast)}.agent-chip.clickable:hover:after{opacity:1}.agent-chip.clickable:hover{transform:translateY(-1px);box-shadow:var(--shadow-sm)}.conversation-item-title{position:relative}.conversation-item-title:after{content:"✏️";font-size:10px;margin-left:var(--space-1);opacity:0;transition:opacity var(--duration-fast)}.conversation-item:hover .conversation-item-title:after{opacity:.5}.conversation-item-title:hover:after{opacity:1}.preparing-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;background:var(--color-info-bg);color:var(--color-info);font-size:var(--text-xs);font-weight:600;border-radius:var(--radius-full);animation:preparingBadgePulse 2s ease-in-out infinite}.preparing-badge svg{width:12px;height:12px;animation:spin 1s linear infinite}@keyframes preparingBadgePulse{0%,to{opacity:.8}50%{opacity:1}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.preparing-indicator{display:flex;align-items:center;gap:6px;padding:16px 20px;animation:preparingFadeIn .3s var(--ease-out)}@keyframes preparingFadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.preparing-indicator .preparing-dot{width:8px;height:8px;border-radius:50%;background:var(--color-info);animation:preparingDotBounce 1.4s ease-in-out infinite}.preparing-indicator .preparing-dot:nth-child(2){animation-delay:.2s}.preparing-indicator .preparing-dot:nth-child(3){animation-delay:.4s}@keyframes preparingDotBounce{0%,80%,to{transform:scale(1);opacity:.5}40%{transform:scale(1.4);opacity:1}}[data-theme=dark] .preparing-badge{background:#0891b226;color:var(--color-info-light)}[data-theme=dark] .preparing-indicator .preparing-dot{background:var(--color-info-light)}[data-theme=dark] .thinking-badge,[data-theme=dark] .thinking-used-badge{background:#a855f733}[data-theme=dark] .thinking-block{border-color:#a855f74d;background:linear-gradient(135deg,#a855f71a,#9333ea0d)}[data-theme=dark] .thinking-block.expanded{border-color:#a855f766}[data-theme=dark] .thinking-header:hover{background:#a855f726}[data-theme=dark] .thinking-content pre{background:#a855f71a}[data-theme=dark] .message.agent-message.grounded{border-left-color:var(--color-info)}[data-theme=dark] .grounding-block{border-color:#22d3ee4d;background:linear-gradient(135deg,#22d3ee1a,#06b6d40d)}[data-theme=dark] .grounding-block.expanded{border-color:#22d3ee66}[data-theme=dark] .grounding-header{color:var(--color-info-light)}[data-theme=dark] .grounding-header:hover{background:#22d3ee26}[data-theme=dark] .grounding-source-link{background:#22d3ee14}[data-theme=dark] .grounding-source-link:hover{background:#22d3ee26;color:var(--color-info-light)}[data-theme=dark] .grounded-badge{background:#22d3ee33;color:var(--color-info-light)}[data-theme=dark] .web-search-indicator{background:#22d3ee1f;color:var(--color-info-light)}[data-theme=dark] .web-search-indicator.searching{background:#22d3ee2e}[data-theme=dark] .searching-badge{background:#22d3ee33;color:var(--color-info-light)}[data-theme=dark] .tool-use-block{border-color:#fb923c4d;background:linear-gradient(135deg,#fb923c1a,#f973160d)}[data-theme=dark] .tool-use-block.expanded{border-color:#fb923c66}[data-theme=dark] .tool-input{background:#ffffff0f}[data-theme=dark] .citations-block{border-color:#34d3994d;background:linear-gradient(135deg,#34d3991a,#10b9810d)}[data-theme=dark] .citations-block.expanded{border-color:#34d39966}[data-theme=dark] .citations-header:hover{background:#34d39926}[data-theme=dark] .cache-badge{background:#fbbf2433;color:var(--color-warning)}.recommendation-reasoning{display:flex;align-items:flex-start;gap:8px;background:#0d94880f;padding:var(--space-3) var(--space-4);margin-bottom:var(--space-4);border-radius:var(--radius-md);font-size:var(--text-sm);color:var(--color-text-secondary);line-height:1.5;font-style:italic}.recommendation-reasoning svg{width:16px;height:16px;flex-shrink:0;margin-top:2px;color:var(--color-brand-primary)}.mode-btn{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);padding:var(--space-4);background:var(--color-bg-tertiary);border:2px solid transparent;border-radius:var(--radius-lg);cursor:pointer;transition:all var(--duration-fast)}.mode-btn:hover{background:var(--color-bg-active)}.mode-btn.active{border-color:var(--color-brand-primary);background:#0d948814}.agent-cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:var(--space-3);margin-top:var(--space-4);max-height:400px;overflow-y:auto;padding-right:var(--space-2)}.agent-card{background:var(--color-bg-tertiary);border:1px solid var(--color-border-default);border-radius:var(--radius-lg);padding:var(--space-3);display:flex;flex-direction:column;gap:var(--space-3);transition:all var(--duration-fast)}.agent-card:hover{border-color:var(--color-brand-primary);box-shadow:0 2px 8px #0d94881a}.agent-card-header{display:flex;align-items:center;gap:var(--space-2)}.agent-card-avatar{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:var(--text-sm);font-weight:600;color:#fff;flex-shrink:0}.agent-card-role{font-size:var(--text-sm);font-weight:600;color:var(--color-text-primary);cursor:pointer;padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);transition:background var(--duration-fast);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.agent-card-role:hover{background:var(--color-bg-secondary)}.agent-role-input{flex:1;min-width:0;padding:var(--space-1) var(--space-2);background:var(--color-bg-secondary);border:1px solid var(--color-brand-primary);border-radius:var(--radius-sm);font-size:var(--text-sm);font-weight:600;color:var(--color-text-primary);outline:none}.agent-role-input:focus-visible{box-shadow:0 0 0 3px var(--color-brand-bg)}.agent-card-model{width:100%;padding:var(--space-2);background:var(--color-bg-secondary);border:1px solid var(--color-border-default);border-radius:var(--radius-md);font-size:var(--text-xs);color:var(--color-text-primary);cursor:pointer;transition:all var(--duration-fast)}.agent-card-model:hover{border-color:var(--color-text-tertiary)}.agent-card-model:focus-visible{outline:none;border-color:var(--color-brand-primary)}.recommendation-loading-hint{display:flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);background:var(--color-brand-bg);border-radius:var(--radius-lg);color:var(--color-brand-primary);font-size:14px;font-weight:500;animation:pulse 1.5s ease-in-out infinite}.recommendation-loading-hint svg{width:18px;height:18px;animation:spin 1s linear infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.send-btn.loading{background:color-mix(in srgb,var(--color-brand-primary) 60%,var(--color-bg-tertiary));cursor:wait;animation:none;transform:none!important;box-shadow:none!important;padding:0!important;flex-direction:row!important;gap:0!important}.send-btn.loading svg{animation:spin 1s linear infinite}@media (max-width: 640px){.warning-title{word-wrap:break-word;overflow-wrap:break-word}.btn,.toolbar-btn{min-height:44px;min-width:44px}.unified-input-container{padding:var(--space-3)}.unified-textarea{font-size:16px;min-height:100px}.unified-input-toolbar,.toolbar-left,.toolbar-right{gap:var(--space-2)}.attached-files-preview{flex-wrap:wrap}.file-preview-chip{max-width:calc(50% - var(--space-1))}.file-preview-name{max-width:60px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.btn-start{width:100%;padding:var(--space-4);font-size:var(--text-base)}}@media (max-width: 640px){.agents-bar{padding:var(--space-2) var(--space-3);gap:var(--space-1)}.agent-chip{padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm)}.agent-name{font-size:var(--text-xs)}.agent-model{display:none}.messages-container{padding:var(--space-3)}.message{max-width:95%}.message-content{padding:var(--space-3);font-size:var(--text-sm)}.message-header{flex-wrap:wrap;gap:var(--space-1)}.message-time,.message-tokens{font-size:10px}.cost-detail-popup{left:var(--space-3);right:var(--space-3);width:auto;max-height:60vh;overflow-y:auto}.safety-progress-bar{padding:var(--space-2) var(--space-3);flex-wrap:wrap;gap:var(--space-2)}.safety-progress-item{flex:1 1 auto;min-width:80px}.safety-progress-label,.safety-progress-value{font-size:10px}}@media (max-width: 360px){.agents-bar{padding:var(--space-1) var(--space-2)}.agent-chip{padding:var(--space-1)}.agent-indicator{width:4px;height:4px}.agent-name{font-size:10px}.message-content{padding:var(--space-2)}}.btn:active,.btn-primary:active,.btn-secondary:active,button:active:not(:disabled){transform:scale(.98)}@keyframes messageFadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.message{animation:messageFadeIn .3s var(--ease-out)}@keyframes skeletonPulse{0%,to{opacity:.4}50%{opacity:.7}}.skeleton-line{animation:skeletonPulse 1.5s ease-in-out infinite;background:var(--color-bg-tertiary);border-radius:var(--radius-sm)}@keyframes countUpdate{0%{transform:scale(1)}50%{transform:scale(1.1)}to{transform:scale(1)}}.credit-amount.updated{animation:countUpdate .3s ease-out}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--color-border-default);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--color-border-strong)}:focus-visible{outline:2px solid var(--color-brand-primary);outline-offset:2px;border-radius:var(--radius-sm)}@media (pointer: coarse){button,[role=button],input[type=checkbox],input[type=radio]{min-height:44px;min-width:44px}input,textarea,select{font-size:16px}}.conversation-list-header{font-size:.625rem;font-weight:600;color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.08em;padding:6px 14px 4px}.conversation-date-group+.conversation-date-group{margin-top:4px}.conversation-date-group-header{font-size:.6875rem;font-weight:700;color:var(--color-text-tertiary);padding:10px 14px 4px;letter-spacing:.04em;text-transform:uppercase;user-select:none}.conversation-date-group:first-child .conversation-date-group-header{padding-top:4px}.conversation-item-icon{display:none}.conversation-item{display:flex;align-items:center;padding:8px 10px 8px 14px;gap:6px;border:none;border-radius:8px;margin:0 4px 1px;cursor:pointer;transition:background .15s ease,box-shadow .15s ease;position:relative}.conversation-item:hover{background:var(--color-bg-tertiary);transform:none;border:none}.conversation-item.active{background:var(--color-brand-bg);border:none}.conversation-item.active:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:3px;height:60%;border-radius:0 2px 2px 0;background:var(--color-brand-primary);transition:height .2s ease}.conversation-item-content{min-width:0;flex:1;overflow:hidden}.conversation-item-title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.8125rem;font-weight:500;line-height:1.4;color:var(--color-text-primary);letter-spacing:-.005em}.conversation-item.active .conversation-item-title{color:var(--color-brand-primary);font-weight:600;letter-spacing:-.01em}.conversation-item-preview{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.6875rem;line-height:1.35;color:var(--color-text-tertiary);margin-top:2px;opacity:.75}.conversation-item:hover .conversation-item-preview,.conversation-item.active .conversation-item-preview{opacity:.9}.conversation-item-meta{display:flex;align-items:center;gap:0;margin-top:1px;font-size:.6875rem;line-height:1.2;color:var(--color-text-tertiary);white-space:nowrap;overflow:hidden}.conversation-item-date{font-size:inherit;color:inherit}.conversation-item-count{font-size:inherit;color:inherit;background:none;padding:0;border-radius:0}.conversation-item-count:before{content:"·";margin:0 4px}.conversation-cost{font-size:.625rem;font-weight:500;color:var(--color-text-tertiary);background:var(--color-bg-tertiary);padding:0 4px;border-radius:3px;margin-left:4px;font-variant-numeric:tabular-nums}.conversation-status-badge{font-size:.625rem;display:inline-flex;align-items:center;margin-left:4px;color:var(--color-text-tertiary)}.conversation-status-badge.completed{color:var(--color-success)}.conversation-status-badge.live{color:var(--color-brand-primary);animation:live-pulse 1.5s ease-in-out infinite}@keyframes live-pulse{0%,to{opacity:1}50%{opacity:.4}}.conversation-status-badge svg{width:10px;height:10px}.conversation-item-actions{display:flex;align-items:center;gap:1px;opacity:0;transition:opacity .12s ease;flex-shrink:0}.conversation-item:hover .conversation-item-actions,.conversation-item.active .conversation-item-actions,.conversation-item-actions:focus-within{opacity:1}.conversation-item-actions .btn-item-action{padding:3px;border-radius:4px;border:none;background:transparent;color:var(--color-text-tertiary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .12s ease}.conversation-item-actions .btn-item-action:hover{background:var(--color-bg-tertiary);color:var(--color-text-primary)}.conversation-item-actions .btn-item-action.danger:hover{background:var(--color-error-bg);color:var(--color-error)}.conversation-item-actions .btn-item-action svg{width:12px;height:12px}.inline-edit-input{width:100%;max-width:100%;box-sizing:border-box;font-size:.8125rem;font-weight:500;padding:2px 4px;border:1px solid var(--color-brand-primary);border-radius:4px;background:var(--color-bg-primary);color:var(--color-text-primary);outline:none;font-family:inherit}.empty-state-container{text-align:center;padding:32px 16px}.empty-state-icon{margin-bottom:12px;opacity:.5}.empty-state-title{font-size:.875rem;font-weight:600;color:var(--color-text-secondary);margin-bottom:4px}.empty-state-desc{font-size:.75rem;color:var(--color-text-tertiary);margin-bottom:12px}.sidebar-header-left{display:flex;align-items:center;gap:4px;min-width:0}.sidebar-header .logo-btn .perspec-logo.sidebar{font-size:16px}.sidebar-header .btn-new-chat-minimal{width:32px;height:32px;border:none;border-radius:6px;background:transparent;color:var(--color-text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s ease;flex-shrink:0;box-shadow:none;padding:0}.sidebar-header .btn-new-chat-minimal:hover{background:var(--color-bg-tertiary);color:var(--color-text-primary)}.sidebar-header .btn-new-chat-minimal svg{width:18px;height:18px}.sidebar.collapsed{width:48px;min-width:48px;max-width:48px;resize:none;overflow:hidden}@media (prefers-reduced-motion: reduce){.sidebar{transition:none!important}}.sidebar.collapsed .sidebar-header{flex-direction:column;padding:8px;gap:8px;align-items:center}.btn-sidebar-toggle{width:32px;height:32px;border:none;border-radius:6px;background:transparent;color:var(--color-text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s ease;flex-shrink:0}.btn-sidebar-toggle:hover{background:var(--color-bg-tertiary);color:var(--color-text-primary)}.btn-sidebar-toggle svg{width:18px;height:18px}.sidebar.collapsed .btn-new-chat-minimal{width:32px;height:32px;padding:0;display:flex;align-items:center;justify-content:center}.conversation-item-actions{display:none}@media (min-width: 1024px){.sidebar:not(.collapsed){resize:horizontal;overflow:auto;min-width:240px;max-width:400px}}@media (max-width: 768px){.conversation-item{padding:10px 12px}.conversation-item-actions{opacity:1}.conversation-item-actions .btn-item-action{padding:6px}.conversation-item-actions .btn-item-action svg{width:14px;height:14px}}[data-theme=dark] .conversation-item:hover{background:var(--color-bg-hover)}[data-theme=dark] .conversation-item.active{background:var(--color-brand-bg)}[data-theme=dark] .inline-edit-input{background:var(--color-bg-secondary);border-color:var(--color-brand-primary);color:var(--color-text-primary)}@media (hover: none){.conversation-item-actions{opacity:.7}.conversation-item-actions .btn-item-action{min-width:44px;min-height:44px}}.page-transitioning{pointer-events:none}@keyframes pageEnter{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeEnter{0%{opacity:0}to{opacity:1}}@keyframes slideInFromRight{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@keyframes slideInFromLeft{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@keyframes scaleEnter{0%{opacity:0;transform:scale(.98)}to{opacity:1;transform:scale(1)}}@keyframes dropdownEnter{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes modalSlideUp{0%{opacity:0;transform:translateY(20px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes modalFadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInFromRightFull{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}@keyframes bannerSlideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes messageSlideIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.modal-overlay,.dialog-overlay{animation:fadeEnter .2s ease-out}.modal-content,.dialog-content{animation:scaleEnter .3s cubic-bezier(.34,1.56,.64,1)}@media (max-width: 768px){.page-wrapper.page-entering,.feature-page-wrapper.page-entering{animation-duration:.18s}}@media (prefers-reduced-motion: reduce){.page-wrapper.page-entering,.feature-page-wrapper.page-entering{animation-duration:.1s}.page-exit{animation-duration:.01s}.modal-overlay,.modal-content{animation:fadeEnter .15s ease-out}.transition-dropdown,.transition-modal,.transition-modal-overlay,.transition-banner,.transition-message,.transition-slide-down{animation:none;opacity:1;transform:none}}.page-loading{opacity:.6;pointer-events:none;transition:opacity .2s ease-out}.page-loading-enter{animation:fadeEnter .2s ease-out}.transition-fade{animation:fadeEnter .3s ease-out}.transition-slide-up{animation:pageEnter .3s cubic-bezier(.4,0,.2,1)}.transition-slide-right{animation:slideInFromRight .3s cubic-bezier(.4,0,.2,1)}.transition-slide-left{animation:slideInFromLeft .3s cubic-bezier(.4,0,.2,1)}.transition-scale{animation:scaleEnter .3s cubic-bezier(.34,1.56,.64,1)}.transition-dropdown{animation:dropdownEnter .15s var(--ease-out, cubic-bezier(.4, 0, .2, 1))}.transition-modal{animation:modalSlideUp .3s cubic-bezier(.34,1.56,.64,1)}.transition-modal-overlay{animation:modalFadeIn .2s ease-out}.transition-banner{animation:bannerSlideDown .3s ease-out}.transition-message{animation:messageSlideIn .2s var(--ease-out, cubic-bezier(.4, 0, .2, 1))}.transition-slide-down{animation:slideDown .2s var(--ease-out, cubic-bezier(.4, 0, .2, 1))}.content-loading-placeholder{flex:1;min-height:0;background:transparent}:focus-visible{outline:1px solid var(--color-brand-primary)!important;outline-offset:1px!important;box-shadow:none!important;border-radius:var(--radius-sm, 4px)}:focus{outline:none}.unified-input-container:focus-within .unified-textarea:focus-visible,.unified-input-container .unified-textarea:focus-visible{outline:none!important;box-shadow:none!important}.unified-input-container:focus-within{border-color:var(--color-border-strong)!important;box-shadow:0 2px 8px #0000000f!important}.review-item-card.selected{box-shadow:none!important}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:1px solid var(--color-brand-primary)!important;outline-offset:1px!important;box-shadow:none!important}.btn:focus-visible{box-shadow:none!important}button,a,input,select,textarea,[role=button],[role=link]{min-height:44px;min-width:44px}.btn-sm,.icon-button-sm,.toast-close,.badge{min-height:32px;min-width:32px}.skip-link{position:absolute;left:-9999px;z-index:9999;text-decoration:none;font-weight:600}.skip-link:focus{left:50%;transform:translate(-50%);top:8px;padding:8px 16px;background:var(--color-brand-primary);color:#fff;border-radius:var(--radius-md, 8px)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.sr-only-focusable:focus,.sr-only-focusable:active{position:static;width:auto;height:auto;overflow:visible;clip:auto;white-space:normal}@media (prefers-contrast: high){:root{--color-border-default: #000;--color-text-primary: #000;--color-bg-primary: #fff}[data-theme=dark]{--color-border-default: #fff;--color-text-primary: #fff;--color-bg-primary: #000}button,a,input,select{border-width:2px}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.1s!important;animation-iteration-count:1!important;transition-duration:.1s!important;scroll-behavior:auto!important}}.focus-trap [tabindex="-1"]{outline:none}.keyboard-hint{display:inline-flex;align-items:center;gap:var(--space-1, 4px);padding:var(--space-1, 4px) var(--space-2, 8px);background:var(--color-bg-tertiary);border:1px solid var(--color-border-default);border-radius:var(--radius-sm, 4px);font-size:.75rem;font-family:var(--font-mono);color:var(--color-text-tertiary)}.keyboard-hint kbd{font-weight:600;color:var(--color-text-primary)}[aria-busy=true]{cursor:wait;opacity:.6}[disabled],[aria-disabled=true]{cursor:not-allowed;opacity:.5;pointer-events:none}[aria-selected=true]{background:var(--color-brand-bg);color:var(--color-brand-primary);font-weight:600}[aria-required=true] label:after,.required label:after{content:" *";color:var(--color-error)}[aria-invalid=true],.invalid{border-color:var(--color-error);background:var(--color-error-bg)}[aria-invalid=true]:focus{outline-color:var(--color-error)}.error-message,[role=alert]{color:var(--color-error);font-size:.875rem;margin-top:var(--space-1, 4px)}@media (max-width: 768px){button,a,input,select{min-height:48px;min-width:48px}.btn-sm,.icon-button-sm{min-height:40px;min-width:40px}input,select,textarea{font-size:16px!important}}@media print{:focus-visible{outline:none}button,.mobile-nav,.toast-container,.modal-overlay{display:none!important}}:root{color-scheme:light dark}.theme-transitioning,.theme-transitioning *{transition:background-color .3s ease,color .3s ease,border-color .3s ease,box-shadow .3s ease!important}.no-transition,.no-transition *{transition:none!important}img,video,canvas,iframe{transition:none!important}pre,code,.code-block{transition:background-color .3s ease,color .3s ease}@media (prefers-reduced-motion: reduce){.theme-transitioning,.theme-transitioning *{transition:none!important}}[data-theme=dark] img:not(.no-filter){filter:brightness(.9) contrast(1.1)}[data-theme=dark] .logo,[data-theme=dark] .icon{filter:none}[data-theme=dark] ::-webkit-scrollbar{width:6px;height:6px}[data-theme=dark] ::-webkit-scrollbar-track{background:var(--color-bg-primary)}[data-theme=dark] ::-webkit-scrollbar-thumb{background:var(--color-bg-tertiary);border-radius:3px;border:1px solid var(--color-bg-primary)}[data-theme=dark] ::-webkit-scrollbar-thumb:hover{background:var(--color-bg-active)}[data-theme=dark]{scrollbar-width:thin;scrollbar-color:var(--color-bg-tertiary) var(--color-bg-primary)}:root{--brand-bar-1: #115E59;--brand-bar-2: #0D9488;--brand-bar-3: #059669}[data-theme=dark]{--brand-bar-1: #5EEAD4;--brand-bar-2: #2DD4BF;--brand-bar-3: #14B8A6}.brand-progress{position:fixed;top:0;left:0;right:0;z-index:9999;pointer-events:none;opacity:.3}.brand-progress-bar{transform-origin:left;transform:scaleX(0);will-change:transform}.brand-progress-bar.bar-1{height:1.5px;background:var(--brand-bar-1)}.brand-progress-bar.bar-2{height:1px;background:var(--brand-bar-2)}.brand-progress-bar.bar-3{height:.5px;background:var(--brand-bar-3)}.brand-progress.running .brand-progress-bar{animation:brandProgressSlide 3s cubic-bezier(.25,.1,0,1) forwards}.brand-progress.running .bar-2{animation-delay:60ms}.brand-progress.running .bar-3{animation-delay:.12s}@keyframes brandProgressSlide{0%{transform:scaleX(0)}to{transform:scaleX(.85)}}.brand-progress.completing{animation:brandProgressFade .4s ease-out forwards}.brand-progress.completing .brand-progress-bar{transform:scaleX(1);animation:none}@keyframes brandProgressFade{0%{opacity:.3}to{opacity:0}}.brand-suspense-fallback{display:flex;align-items:center;justify-content:center;flex:1;min-height:200px;background:var(--color-bg-primary, white);opacity:0;animation:brandFallbackIn .3s ease-out .15s forwards}.brand-suspense-bars{display:flex;flex-direction:column;align-items:flex-start;gap:4px}.brand-suspense-bar{border-radius:2px;animation:brandBarPulse 1.8s ease-in-out infinite}.brand-suspense-bar-1{width:28px;height:4px;background:var(--brand-bar-1)}.brand-suspense-bar-2{width:18px;height:4px;background:var(--brand-bar-2);animation-delay:.12s}.brand-suspense-bar-3{width:11px;height:4px;background:var(--brand-bar-3);animation-delay:.24s}@keyframes brandFallbackIn{0%{opacity:0}to{opacity:1}}@keyframes brandBarPulse{0%,to{opacity:.7}50%{opacity:.25}}.fullpage-brand-bars{display:flex;flex-direction:column;align-items:flex-start;gap:6px}.fullpage-brand-bar{border-radius:3px;animation:fullpageBarPulse 1.8s ease-in-out infinite}.fullpage-brand-bar-1{width:52px;height:6px;background:var(--brand-bar-1)}.fullpage-brand-bar-2{width:32px;height:6px;background:var(--brand-bar-2);animation-delay:.15s}.fullpage-brand-bar-3{width:20px;height:6px;background:var(--brand-bar-3);animation-delay:.3s}@keyframes fullpageBarPulse{0%,to{opacity:1}50%{opacity:.4}}@media (max-width: 480px){.fullpage-brand-bar-1{width:36px;height:5px}.fullpage-brand-bar-2{width:22px;height:5px}.fullpage-brand-bar-3{width:14px;height:5px}.fullpage-brand-bars{gap:4px}}@media (prefers-reduced-motion: reduce){.brand-progress{opacity:.2}.brand-progress.running .brand-progress-bar{animation:none;transform:scaleX(1)}.brand-progress.completing{animation:none;opacity:0}.brand-progress.completing .brand-progress-bar{transform:scaleX(1)}.brand-suspense-fallback{animation:none;opacity:1}.brand-suspense-bar{animation:none;opacity:.5}.fullpage-brand-bar{animation:none}}.network-status-indicator{position:fixed;top:0;left:0;right:0;z-index:var(--z-toast, 800);display:flex;align-items:center;justify-content:center;padding:.625rem 1rem;font-size:.875rem;font-weight:500;animation:bannerSlideDown .3s ease-out}.network-status-indicator.offline{background:var(--color-error);color:var(--color-text-inverse)}.network-status-indicator.online{background:var(--color-success);color:var(--color-text-inverse);animation:bannerSlideDown .3s ease-out,network-status-fade-out .5s ease-out 2.5s forwards}@keyframes network-status-fade-out{0%{transform:translateY(0);opacity:1}to{transform:translateY(-100%);opacity:0}}.network-status-content{display:flex;align-items:center;gap:.5rem}.network-status-content svg{width:1rem;height:1rem;flex-shrink:0}@supports (padding-top: env(safe-area-inset-top)){.network-status-indicator{padding-top:calc(.625rem + env(safe-area-inset-top))}}@media (max-width: 480px){.network-status-indicator{font-size:.8125rem;padding:.5rem .75rem}.network-status-content svg{width:.875rem;height:.875rem}}[data-theme=dark] .network-status-indicator.offline{background:var(--color-error, #ef4444)}[data-theme=dark] .network-status-indicator.online{background:var(--color-success, #10b981)}@media (prefers-reduced-motion: reduce){.network-status-indicator,.network-status-indicator.online{animation:none}}.skeleton{background:linear-gradient(90deg,var(--color-border, #e5e7eb) 0%,var(--color-bg-secondary, #f3f4f6) 50%,var(--color-border, #e5e7eb) 100%);background-size:200% 100%;animation:skeleton-shimmer 1.5s ease-in-out infinite}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}[data-theme=dark] .skeleton{background:linear-gradient(90deg,var(--color-border, #374151) 0%,var(--color-bg-secondary, #4b5563) 50%,var(--color-border, #374151) 100%);background-size:200% 100%}.skeleton-text{display:flex;flex-direction:column;gap:.5rem}.skeleton-avatar{flex-shrink:0}.skeleton-card{padding:1rem;border-radius:8px;background:var(--color-bg-primary, white);border:1px solid var(--color-border, #e5e7eb)}.skeleton-card-header{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem}.skeleton-card-meta{display:flex;flex-direction:column;gap:.25rem}.skeleton-card-body{padding-top:.5rem}.skeleton-message{display:flex;align-items:flex-start;gap:.75rem;padding:.75rem}.skeleton-message-user{flex-direction:row-reverse}.skeleton-message-content{display:flex;flex-direction:column;gap:.375rem;flex:1;max-width:300px}.skeleton-message-user .skeleton-message-content{align-items:flex-end}.skeleton-conversation-list{display:flex;flex-direction:column;gap:.25rem}.skeleton-conversation-item{display:flex;align-items:center;gap:.75rem;padding:.75rem;border-radius:8px}.skeleton-conversation-content{display:flex;flex-direction:column;gap:.375rem;flex:1}.skeleton-chat{display:flex;flex-direction:column;height:100%;padding:1rem}.skeleton-chat-header{display:flex;flex-direction:column;gap:.5rem;padding-bottom:1rem;border-bottom:1px solid var(--color-border, #e5e7eb);margin-bottom:1rem}.skeleton-chat-messages{flex:1;display:flex;flex-direction:column;gap:1rem;overflow:hidden}.skeleton-chat-input{padding-top:1rem;border-top:1px solid var(--color-border, #e5e7eb);margin-top:auto}.skeleton-dashboard{display:flex;flex-direction:column;gap:1.5rem;padding:1rem}.skeleton-dashboard-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.skeleton-stat-card{display:flex;flex-direction:column;gap:.5rem;padding:1.25rem;border-radius:8px;background:var(--color-bg-primary, white);border:1px solid var(--color-border, #e5e7eb)}.skeleton-dashboard-chart{padding:1rem;border-radius:8px;background:var(--color-bg-primary, white);border:1px solid var(--color-border, #e5e7eb)}.skeleton-table{display:flex;flex-direction:column;border-radius:8px;border:1px solid var(--color-border, #e5e7eb);overflow:hidden}.skeleton-table-header{display:flex;gap:1.5rem;padding:1rem;background:var(--color-bg-secondary, #f9fafb);border-bottom:1px solid var(--color-border, #e5e7eb)}.skeleton-table-body{display:flex;flex-direction:column}.skeleton-table-row{display:flex;gap:1.5rem;padding:1rem;border-bottom:1px solid var(--color-border, #e5e7eb)}.skeleton-table-row:last-child{border-bottom:none}.skeleton-spinner{animation:skeleton-spin 1s linear infinite}@keyframes skeleton-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.skeleton-fullpage{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:var(--color-bg-primary, white);z-index:var(--z-toast, 800)}.skeleton-fullpage-content{display:flex;flex-direction:column;align-items:center;gap:1.5rem}.skeleton-fullpage-logo{font-size:2rem;font-weight:300;color:var(--color-text-primary, #111827)}.skeleton-fullpage-logo .logo-text{display:inline-flex;align-items:center}.skeleton-fullpage-logo .logo-per{font-weight:600;color:var(--color-text-primary, #18181b)}.skeleton-fullpage-logo .logo-spec{font-weight:500;color:var(--color-brand-primary, #2563eb)}.skeleton-fullpage-message{color:var(--color-text-secondary, #6b7280);font-size:.875rem;margin:0}@media (max-width: 768px){.skeleton-dashboard-stats{grid-template-columns:repeat(2,1fr)}.skeleton-table-header,.skeleton-table-row{gap:.75rem;padding:.75rem}}@media (max-width: 480px){.skeleton-dashboard-stats{grid-template-columns:1fr}.skeleton-message-content{max-width:200px}}@media (prefers-reduced-motion: reduce){.skeleton{animation:none;background:var(--color-border, #e5e7eb)}.skeleton-spinner{animation:none}}.credit-balance{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-3);background:var(--color-bg-secondary);border-radius:var(--radius-lg);border:1px solid var(--color-border)}.credit-balance.low{border-color:var(--color-warning);background:color-mix(in srgb,var(--color-warning) 5%,var(--color-bg-secondary))}.credit-balance.critical{border-color:var(--color-error);background:color-mix(in srgb,var(--color-error) 5%,var(--color-bg-secondary))}.credit-balance-header{display:flex;align-items:center;gap:var(--space-2);color:var(--color-text-secondary);font-size:var(--text-sm)}.credit-balance-header .credit-icon{width:16px;height:16px}.credit-balance-main{display:flex;flex-direction:column;gap:var(--space-1)}.credit-amount-large{font-size:var(--text-3xl);font-weight:700;color:var(--color-text-primary);font-family:var(--font-mono);line-height:1}.credit-usd{font-size:var(--text-sm);color:var(--color-text-tertiary)}.credit-warning-message{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);font-size:var(--text-sm)}.credit-warning-message.low{background:color-mix(in srgb,var(--color-warning) 10%,transparent);color:var(--color-warning)}.credit-warning-message.critical{background:color-mix(in srgb,var(--color-error) 10%,transparent);color:var(--color-error);font-weight:500}.credit-purchase-button{display:flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--color-brand);color:var(--color-text-inverse);border:none;border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:500;cursor:pointer;transition:all .2s ease}.credit-purchase-button:hover{background:var(--color-brand-hover);transform:translateY(-1px)}.credit-purchase-button.urgent{background:var(--color-error);animation:pulse-urgent 2s infinite}.credit-purchase-button svg{width:16px;height:16px}@keyframes pulse-urgent{0%,to{box-shadow:0 0 color-mix(in srgb,var(--color-error) 40%,transparent)}50%{box-shadow:0 0 0 8px color-mix(in srgb,var(--color-error) 0%,transparent)}}.credit-refresh-button{position:absolute;top:var(--space-2);right:var(--space-2);padding:var(--space-1);background:transparent;border:none;color:var(--color-text-tertiary);cursor:pointer;border-radius:var(--radius-sm);opacity:0;transition:all .2s ease}.credit-balance{position:relative}.credit-balance:hover .credit-refresh-button,.credit-balance:focus-within .credit-refresh-button{opacity:1}.credit-refresh-button:hover{background:var(--color-bg-hover);color:var(--color-text-secondary)}.credit-refresh-button svg{width:14px;height:14px}.credit-balance-loading{display:flex;align-items:center;justify-content:center;padding:var(--space-2)}.credit-balance.org-free{border-color:var(--color-brand-primary, #2563eb);background:color-mix(in srgb,var(--color-brand-primary, #2563eb) 5%,var(--color-bg-secondary))}.credit-org-message{text-align:center;padding:var(--space-2) 0}.credit-org-message p{font-size:var(--text-sm);color:var(--color-text-secondary);margin:0;line-height:1.5}.credit-org-message .credit-org-sub{font-size:var(--text-xs);color:var(--color-text-tertiary);margin-top:var(--space-1)}.credit-balance.compact{flex-direction:row;align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-2);background:transparent;border:1px solid var(--color-border);border-radius:var(--radius-full);cursor:pointer;transition:all .2s ease}.credit-balance.compact:hover{background:var(--color-bg-hover);border-color:var(--color-border-hover)}.credit-balance.compact.org-free{border-color:var(--color-brand-primary, #2563eb);cursor:default}.credit-balance.compact.org-free:hover{background:transparent}.credit-balance.compact.flat-rate{border-color:var(--color-brand-primary, #2563eb)}.credit-balance.compact.flat-rate:hover{background:color-mix(in srgb,var(--color-brand-primary, #2563eb) 5%,transparent)}.credit-balance.compact.low{border-color:var(--color-warning)}.credit-balance.compact.critical{border-color:var(--color-error);animation:pulse-border 2s infinite}@keyframes pulse-border{0%,to{border-color:var(--color-error)}50%{border-color:color-mix(in srgb,var(--color-error) 50%,transparent)}}.credit-balance.compact .credit-icon{width:14px;height:14px;color:var(--color-text-secondary)}.credit-balance.compact .credit-amount{font-size:var(--text-sm);font-weight:600;color:var(--color-text-primary);font-family:var(--font-mono)}.credit-balance.compact .credit-warning-dot{width:6px;height:6px;background:var(--color-error);border-radius:50%;animation:blink 1s infinite}@keyframes blink{0%,to{opacity:1}50%{opacity:.4}}@media (max-width: 640px){.credit-balance.compact{padding:var(--space-1) var(--space-2)}.credit-balance.compact .credit-amount{font-size:var(--text-xs)}.credit-amount-large{font-size:var(--text-2xl)}}@keyframes creditFlashIncrease{0%{background-color:transparent;transform:scale(1)}20%{background-color:color-mix(in srgb,var(--color-success) 25%,transparent);transform:scale(1.05)}to{background-color:transparent;transform:scale(1)}}@keyframes creditFlashDecrease{0%{background-color:transparent;transform:scale(1)}20%{background-color:color-mix(in srgb,var(--color-error) 20%,transparent);transform:scale(1.05)}to{background-color:transparent;transform:scale(1)}}.credit-balance.flash-increase{animation:creditFlashIncrease .8s ease-out}.credit-balance.flash-decrease{animation:creditFlashDecrease .8s ease-out}.credit-balance.flash-increase .credit-amount,.credit-balance.flash-increase .credit-amount-large{color:var(--color-success, #16a34a);transition:color .3s ease}.credit-balance.flash-decrease .credit-amount,.credit-balance.flash-decrease .credit-amount-large{color:var(--color-error, #dc2626);transition:color .3s ease}[data-theme=dark] .credit-purchase-button.urgent{animation:pulse-urgent-dark 2s infinite}@keyframes pulse-urgent-dark{0%,to{box-shadow:0 0 color-mix(in srgb,var(--color-error) 30%,transparent)}50%{box-shadow:0 0 0 8px color-mix(in srgb,var(--color-error) 0%,transparent)}}[data-theme=dark] .credit-balance.flash-increase{animation:creditFlashIncreaseDark .8s ease-out}[data-theme=dark] .credit-balance.flash-decrease{animation:creditFlashDecreaseDark .8s ease-out}@keyframes creditFlashIncreaseDark{0%{background-color:transparent;transform:scale(1)}20%{background-color:color-mix(in srgb,var(--color-success) 15%,transparent);transform:scale(1.05)}to{background-color:transparent;transform:scale(1)}}@keyframes creditFlashDecreaseDark{0%{background-color:transparent;transform:scale(1)}20%{background-color:color-mix(in srgb,var(--color-error) 15%,transparent);transform:scale(1.05)}to{background-color:transparent;transform:scale(1)}}@media (prefers-reduced-motion: reduce){.credit-purchase-button,.credit-purchase-button.urgent,.credit-balance.compact.critical,.credit-balance.compact .credit-warning-dot,.credit-balance.flash-increase,.credit-balance.flash-decrease,[data-theme=dark] .credit-purchase-button.urgent,[data-theme=dark] .credit-balance.flash-increase,[data-theme=dark] .credit-balance.flash-decrease{animation:none}.credit-purchase-button:hover{transform:none}}.conversation-menu-wrapper{position:relative;flex-shrink:0}.conversation-menu-trigger{width:20px;height:20px;border:none;border-radius:4px;background:transparent;color:var(--color-text-tertiary);cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;transition:all .12s ease}.conversation-menu-trigger svg{width:14px;height:14px}.conversation-item:hover .conversation-menu-trigger,.conversation-item.active .conversation-menu-trigger,.conversation-menu-trigger:focus-visible,.conversation-menu-wrapper:focus-within .conversation-menu-trigger{opacity:1}.conversation-menu-trigger:hover{background:var(--color-bg-tertiary);color:var(--color-text-primary)}.conversation-menu-dropdown{position:absolute;right:0;top:100%;margin-top:4px;min-width:160px;padding:3px;background:var(--color-bg-elevated, var(--color-bg-primary));border:1px solid var(--color-border-default);border-radius:8px;box-shadow:0 4px 16px #0000001f;z-index:var(--z-popover, 500);animation:menuSlideIn .15s cubic-bezier(.16,1,.3,1)}.conversation-menu-dropdown{background:var(--color-bg-primary)}[data-theme=dark] .conversation-menu-dropdown{background:var(--color-bg-elevated);border-color:#ffffff14;box-shadow:0 4px 20px #0006}[data-theme=light] .conversation-menu-dropdown{background:var(--color-bg-elevated);box-shadow:0 4px 20px #0000001f,0 0 0 1px #0000000a}.conversation-menu-item{display:flex;align-items:center;gap:8px;width:100%;padding:5px 10px;border:none;border-radius:5px;background:transparent;color:var(--color-text-primary);font-size:.8125rem;font-family:inherit;cursor:pointer;transition:background .12s ease;text-align:left}.conversation-menu-item:hover{background:var(--color-bg-tertiary)}.conversation-menu-item.danger{color:var(--color-error)}.conversation-menu-item.danger:hover{background:var(--color-error-bg)}.conversation-menu-item svg{width:14px;height:14px;flex-shrink:0}.has-submenu{position:relative;display:flex;flex-direction:column}.has-submenu>.conversation-menu-item-btn{display:flex;align-items:center;gap:8px;width:100%;padding:5px 10px;border:none;border-radius:5px;background:transparent;color:var(--color-text-primary);font-size:.8125rem;font-family:inherit;cursor:pointer;transition:background .12s ease;text-align:left;white-space:nowrap}.has-submenu>.conversation-menu-item-btn>svg:last-child{margin-left:auto;width:10px;height:10px;opacity:.5}.has-submenu>.conversation-menu-item-btn:hover{background:var(--color-bg-tertiary)}.has-submenu>.conversation-menu-item-btn svg{width:14px;height:14px;flex-shrink:0}.submenu-arrow{margin-left:auto;width:10px!important;height:10px!important;color:var(--color-text-tertiary)}.conversation-submenu{position:static;margin:2px 0 0;min-width:auto;padding:2px 0 2px 4px;background:transparent;border:none;border-radius:0;box-shadow:none;border-left:2px solid var(--color-border-subtle);animation:menuSlideIn .1s ease}.conversation-submenu .conversation-menu-item{font-size:.75rem;padding:4px 10px}.conversation-menu-divider{height:1px;background:var(--color-border-subtle);margin:3px 0}@keyframes menuSlideIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 768px){.conversation-menu-trigger{opacity:1}}@media (prefers-reduced-motion: reduce){.conversation-menu-dropdown,.conversation-submenu{animation:none}}@media (hover: none){.conversation-menu-trigger{opacity:.7;min-width:44px;min-height:44px}.conversation-menu-item{min-height:44px;padding:10px 12px}.has-submenu>.conversation-menu-item-btn{min-height:44px;padding:10px 12px}}.email-verification-banner{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-4) var(--space-6);background:var(--color-info-bg);border-bottom:1px solid var(--color-info);animation:bannerSlideDown .3s ease}.email-verification-banner-content{display:flex;align-items:center;gap:var(--space-3);flex:1;min-width:0}.email-verification-banner-icon{width:20px;height:20px;color:var(--color-info);flex-shrink:0}.email-verification-banner-icon svg{width:100%;height:100%}.email-verification-banner-text{display:flex;flex-direction:column;gap:2px;font-size:14px;color:var(--color-text-primary);min-width:0}.email-verification-banner-text strong{font-weight:600}.email-verification-banner-text span{font-size:13px;color:var(--color-text-secondary)}.email-verification-banner-actions{display:flex;align-items:center;gap:var(--space-3);flex-shrink:0}.btn-secondary-inverse{background:var(--color-bg-primary);color:var(--color-info);border:1px solid var(--color-info);display:flex;align-items:center;gap:6px;white-space:nowrap}.btn-secondary-inverse:hover:not(:disabled){background:var(--color-info);color:var(--color-text-inverse)}.btn-secondary-inverse:disabled{opacity:.6;cursor:not-allowed}.btn-secondary-inverse svg{width:14px;height:14px}.email-verification-banner-resend-short{display:none}.email-verification-banner-close{width:24px;height:24px;padding:0;background:none;border:none;color:var(--color-text-tertiary);cursor:pointer;transition:color var(--duration-fast) var(--ease-default);display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm)}.email-verification-banner-close:hover{color:var(--color-text-primary);background:var(--color-bg-hover)}.email-verification-banner-close svg{width:18px;height:18px}@media (max-width: 768px){.email-verification-banner{flex-direction:column;align-items:flex-start;gap:var(--space-3);padding:var(--space-3) var(--space-4)}.email-verification-banner-actions{width:100%;justify-content:space-between}.email-verification-banner-text span{display:none}}@media (max-width: 480px){.btn-secondary-inverse{padding:6px 12px;font-size:12px}.email-verification-banner-resend-full{display:none}.email-verification-banner-resend-short{display:inline}}[data-theme=dark] .btn-secondary-inverse{background:var(--color-bg-tertiary);color:var(--color-info)}[data-theme=dark] .btn-secondary-inverse:hover:not(:disabled){background:var(--color-info);color:var(--color-text-inverse)}[data-theme=dark] .email-verification-banner-close:hover{background:var(--color-bg-hover)}@media (hover: none){.email-verification-banner-close{min-width:44px;min-height:44px}}@media (prefers-reduced-motion: reduce){.email-verification-banner{animation:none}}.app-sidebar{display:flex;flex-direction:column;align-items:center;gap:8px;width:48px;min-width:48px;padding:12px 0;background:var(--color-bg-secondary);border-left:1px solid var(--color-border-subtle);flex-shrink:0}.app-sidebar-btn{width:36px;height:36px;border:none;border-radius:8px;background:transparent;color:var(--color-text-tertiary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s ease;position:relative}.app-sidebar-btn:hover{background:var(--color-bg-tertiary);color:var(--color-text-primary)}.app-sidebar-btn.active{background:var(--color-brand-bg);color:var(--color-brand-primary)}.app-sidebar-btn.active:before{content:"";position:absolute;left:-4px;top:50%;transform:translateY(-50%);width:3px;height:16px;border-radius:0 2px 2px 0;background:var(--color-brand-primary)}.app-sidebar-btn svg{width:18px;height:18px}.feedback-sidebar-btn{margin-top:auto}.feedback-sidebar-btn:hover{color:var(--color-accent-orange)}[data-theme=dark] .app-sidebar{background:var(--color-bg-secondary);border-left-color:var(--color-border-subtle)}[data-theme=dark] .app-sidebar-btn:hover{background:var(--color-bg-tertiary)}.app-sidebar-btn[data-tooltip]:after{content:attr(data-tooltip);position:absolute;right:calc(100% + 10px);top:50%;transform:translateY(-50%);white-space:nowrap;font-size:12px;font-weight:500;line-height:1;padding:6px 10px;border-radius:var(--radius-sm, 6px);background:var(--color-bg-primary);color:var(--color-text-primary);box-shadow:var(--shadow-md);border:1px solid var(--color-border-subtle);pointer-events:none;opacity:0;transition:opacity .15s ease;z-index:var(--z-tooltip)}.app-sidebar-btn[data-tooltip]:not(.active):hover:after{opacity:1}[data-theme=dark] .app-sidebar-btn[data-tooltip]:after{background:var(--color-bg-tertiary);color:var(--color-text-primary);box-shadow:var(--shadow-lg);border-color:var(--color-border-subtle)}@media (prefers-reduced-motion: reduce){.app-sidebar-btn[data-tooltip]:after{transition:none}}@media (max-width: 768px){.app-sidebar{display:none}}@media (hover: none){.app-sidebar-btn{min-width:44px;min-height:44px}.app-sidebar-btn[data-tooltip]:after{display:none}}
