:root{--color-bg-primary: #fafafa;--color-bg-secondary: #ffffff;--color-bg-tertiary: #f4f4f5;--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-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-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-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-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-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-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)}}:root[data-theme=dark]{--color-bg-primary: #09090b;--color-bg-secondary: #18181b;--color-bg-tertiary: #27272a;--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-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}.page-wrapper{opacity:1;will-change:opacity,transform}.page-wrapper.page-entering{animation:pageEnterIn .3s var(--ease-out) forwards}.page-wrapper.page-exiting{animation:pageExit .15s var(--ease-in) forwards;pointer-events:none}@keyframes pageEnterIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes pageExit{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-8px)}}.feature-page-wrapper{opacity:1;will-change:opacity,transform}.feature-page-wrapper.page-entering{animation:featurePageEnterIn .35s var(--ease-out) forwards}.feature-page-wrapper.page-exiting{animation:featurePageExit .15s var(--ease-in) forwards;pointer-events:none}@keyframes featurePageEnterIn{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@keyframes featurePageExit{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(-20px)}}.view-transition-wrapper{flex:1;display:flex;flex-direction:column;overflow:hidden;min-height:0}.view-transition-wrapper.view-exit{animation:viewExit .15s var(--ease-in) forwards;pointer-events:none}.view-transition-wrapper.view-enter{animation:viewEnter .25s var(--ease-out) forwards}@keyframes viewExit{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-6px)}}@keyframes viewEnter{0%{opacity:0;transform:translateY(10px)}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 .25s var(--ease-in) 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:6px;white-space:nowrap;user-select:none;cursor:default;font-size:22px}.perspec-icon-svg{height:1.15em;width:auto;flex-shrink:0}.icon-card-back{fill:#e5e7eb}.icon-card-mid{fill:#d1d5db}.icon-card-front{fill:var(--color-brand-primary, #0d9488)}[data-theme=dark] .icon-card-back{fill:#ffffff26}[data-theme=dark] .icon-card-mid{fill:#ffffff4d}.perspec-logo-text{display:inline-flex;font-family:var(--font-sans);font-weight:500;font-size:inherit;letter-spacing:-.02em;line-height:1}.perspec-logo.sidebar{font-size:20px}.perspec-logo.large{font-size:42px;gap:10px}.perspec-logo.large .perspec-logo-text{font-weight:400}.perspec-logo.small{font-size:16px}.perspec-logo.inline{font-size:inherit}.perspec-logo.inline{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 .logo-part-per{color:var(--color-text-primary);font-weight:700}.perspec-logo .logo-part-spec{color:var(--color-brand-primary);font-weight:700}.perspec-logo.light .logo-part-per{color:#fffffff2}.perspec-logo.light .logo-part-spec{color:#fffc}.logo-btn:hover .perspec-logo .logo-part-spec{color:var(--color-brand-secondary, var(--color-brand-primary));transition:color var(--duration-normal) var(--ease-default)}.perspec-logo.mono .logo-part-per,.perspec-logo.mono .logo-part-spec{color:currentColor}.perspec-logo.mono .logo-part-spec{opacity:.8}.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 rgba(202,138,4,.3)}.btn-settings.needs-attention:hover{background:#ca8a0426}.api-key-badge{margin-left:auto;font-size:var(--text-xs);font-weight:600;color:var(--color-warning);background:#ca8a0426;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 .perspec-logo-text{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:#ca8a0426}.btn-api-key-warning svg{width:16px;height:16px}.btn-credit-balance{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:linear-gradient(135deg,#fbbf2426,#f59e0b1a);color:var(--color-warning);border:1px solid rgba(245,158,11,.3);border-radius:var(--radius-full);font-size:var(--text-sm);font-weight:600;white-space:nowrap;cursor:pointer;transition:all var(--duration-fast)}.btn-credit-balance:hover{background:linear-gradient(135deg,#fbbf2440,#f59e0b33);border-color:#f59e0b80;transform:translateY(-1px)}.btn-credit-balance svg{width:16px;height:16px}.btn-credit-balance .credit-amount{font-variant-numeric:tabular-nums}[data-theme=dark] .btn-credit-balance{background:linear-gradient(135deg,#fbbf241a,#f59e0b0d);color:var(--color-accent-orange);border-color:#fbbf2433}[data-theme=dark] .btn-credit-balance:hover{background:linear-gradient(135deg,#fbbf2433,#f59e0b1a);border-color:#fbbf2466}.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}.header-right{display:flex;align-items:center;gap:var(--space-3)}.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-group{display:flex;align-items:center;gap:var(--space-4);padding-right:var(--space-4);border-right:1px solid var(--color-border-default)}.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-display{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-3);background:var(--color-success-bg);border-radius:var(--radius-full);cursor:pointer;transition:all var(--duration-fast)}.cost-display:hover{background:var(--color-success);color:#fff}.cost-display:hover .cost-value{color:#fff}.cost-value{font-size:var(--text-sm);font-weight:600;color:var(--color-success)}.connection-status{display:flex;align-items:center;gap:var(--space-2)}.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}.setup-container{width:100%;max-width:600px}.setup-header{text-align:center;margin-bottom:var(--space-8)}.setup-title{font-size:var(--text-3xl);font-weight:700;color:var(--color-text-primary);margin-bottom:var(--space-2)}.setup-subtitle{font-size:var(--text-md);color:var(--color-text-secondary)}.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}.setup-card{background:var(--color-bg-secondary);border:1px solid var(--color-border-default);border-radius:var(--radius-xl);padding:var(--space-6);margin-bottom:var(--space-4);box-shadow:0 1px 3px #0000000a;transition:border-color .2s ease,box-shadow .2s ease}.setup-card:hover{border-color:var(--color-border-strong);box-shadow:0 2px 8px #0000000f}.setup-section{margin-bottom:var(--space-6)}.setup-section:last-child{margin-bottom:0}.setup-section-title{font-size:var(--text-sm);font-weight:600;color:var(--color-text-secondary);margin-bottom:var(--space-3);display:flex;align-items:center;justify-content:space-between}.topic-input{width:100%;min-height:100px;padding:var(--space-4);border:1px solid var(--color-border-default);border-radius:var(--radius-lg);background:var(--color-bg-primary);color:var(--color-text-primary);font-size:var(--text-md);line-height:var(--leading-relaxed);resize:vertical;transition:all var(--duration-fast)}.topic-input:focus-visible{outline:none;border-color:var(--color-brand-primary);box-shadow:0 0 0 3px var(--color-brand-bg)}.topic-input::placeholder{color:var(--color-text-tertiary)}.char-counter{text-align:right;font-size:var(--text-xs);color:var(--color-text-tertiary);margin-top:var(--space-2)}.topic-suggestions{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-3)}.topic-suggestion{padding:var(--space-2) var(--space-3);background:var(--color-bg-tertiary);border:1px solid var(--color-border-default);border-radius:var(--radius-full);font-size:var(--text-xs);color:var(--color-text-secondary);cursor:pointer;transition:all .2s ease}.topic-suggestion:hover{background:var(--color-brand-bg);border-color:var(--color-brand-primary);color:var(--color-brand-primary);transform:translateY(-1px);box-shadow:0 2px 6px #0d94881f}.topic-suggestion:active{transform:translateY(0)}.settings-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4)}.setting-group{display:flex;flex-direction:column;gap:var(--space-2)}.setting-label{font-size:var(--text-xs);font-weight:600;color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.03em}.counter-control{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2);background:var(--color-bg-primary);border:1px solid var(--color-border-default);border-radius:var(--radius-md)}.counter-btn{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border:none;background:var(--color-bg-tertiary);color:var(--color-text-primary);border-radius:var(--radius-sm);font-size:var(--text-lg);transition:all var(--duration-fast)}.counter-btn:hover:not(:disabled){background:var(--color-brand-primary);color:#fff}.counter-btn:disabled{opacity:.3;cursor:not-allowed}.counter-value{flex:1;text-align:center;font-size:var(--text-xl);font-weight:600;color:var(--color-text-primary)}.select-control{width:100%;padding:var(--space-3);background:var(--color-bg-primary);border:1px solid var(--color-border-default);border-radius:var(--radius-md);color:var(--color-text-primary);font-size:var(--text-sm);cursor:pointer;transition:all var(--duration-fast)}.select-control:focus-visible{outline:none;border-color:var(--color-brand-primary)}.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}.api-key-warning-card .warning-desc{font-size:var(--text-sm);color:var(--color-text-secondary)}.api-key-success-card{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4);background:var(--color-success-bg);border:1px solid var(--color-success);border-radius:var(--radius-lg);margin-bottom:var(--space-4)}.api-key-success-card .success-icon{width:40px;height:40px;background:var(--color-success);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;flex-shrink:0}.api-key-success-card .success-icon svg{color:#fff}.api-key-success-card .success-content{flex:1}.api-key-success-card .success-title{font-weight:600;color:var(--color-text-primary);margin-bottom:2px}.api-key-success-card .success-desc{font-size:var(--text-sm);color:var(--color-text-secondary)}.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)}.topic-suggestions-inline{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-2);margin-bottom:var(--space-4)}.suggestions-label{font-size:var(--text-xs);color:var(--color-text-tertiary);font-weight:500}.suggestion-chip{padding:var(--space-2) var(--space-4);background:var(--color-bg-tertiary);border:1px solid var(--color-border-default);border-radius:var(--radius-lg);font-size:var(--text-sm);color:var(--color-text-secondary);cursor:pointer;transition:all var(--duration-fast);white-space:nowrap}.suggestion-chip:hover{background:var(--color-brand-bg);border-color:var(--color-brand-primary);color:var(--color-brand-primary);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.feature-links{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4);background:var(--color-bg-secondary);border:1px solid var(--color-border-default);border-radius:var(--radius-lg);margin-bottom:var(--space-4)}.feature-links-label{font-size:var(--text-xs);color:var(--color-text-tertiary);font-weight:600;white-space:nowrap}.feature-links-buttons{display:flex;flex-wrap:wrap;gap:var(--space-2)}.feature-link-btn{display:flex;align-items:center;gap:var(--space-2);padding:10px 16px;background:var(--color-bg-secondary);border:1px solid var(--color-border-default);border-radius:var(--radius-lg);font-size:var(--text-sm);color:var(--color-text-secondary);cursor:pointer;transition:all .25s ease;text-decoration:none;box-shadow:0 1px 3px #0000000a}.feature-link-btn:hover{border-color:var(--color-brand-primary);background:var(--color-brand-bg);color:var(--color-brand-primary);transform:translateY(-2px);box-shadow:0 4px 12px #0d948826}.feature-link-btn:active{transform:translateY(0);box-shadow:0 1px 3px #0d94881a}.feature-link-btn.disabled{opacity:.6;cursor:default}.feature-link-btn.disabled:hover{border-color:var(--color-border-default);background:var(--color-bg-tertiary);color:var(--color-text-secondary);transform:none;box-shadow:none}.feature-link-btn .btn-icon{font-size:14px}.feature-link-btn .btn-text{font-weight:500}.feature-link-btn .btn-badge{font-size:10px;padding:2px 6px;background:var(--color-brand-bg);color:var(--color-brand-primary);border-radius:var(--radius-full);font-weight:600}@media (max-width: 640px){.feature-links{flex-direction:column;align-items:flex-start;gap:var(--space-2)}.feature-link-btn{flex:1;justify-content:center}}.template-selector{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-2);margin-bottom:var(--space-4);padding:var(--space-3);background:linear-gradient(135deg,var(--color-bg-secondary),var(--color-bg-tertiary));border:1px solid var(--color-border-default);border-radius:var(--radius-lg)}.template-label{font-size:var(--text-xs);color:var(--color-text-tertiary);font-weight:600;text-transform:uppercase;letter-spacing:.5px}.template-chips{display:flex;flex-wrap:wrap;gap:var(--space-2);flex:1}.template-chip{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-2) var(--space-3);background:var(--color-bg-primary);border:1px solid var(--color-border-default);border-radius:var(--radius-lg);font-size:var(--text-sm);color:var(--color-text-secondary);cursor:pointer;transition:all var(--duration-fast);white-space:nowrap}.template-chip:hover{background:var(--color-brand-bg);border-color:var(--color-brand-primary);color:var(--color-brand-primary);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.template-chip.selected{background:var(--color-brand-primary);border-color:var(--color-brand-primary);color:#fff;box-shadow:var(--shadow-md)}.template-chip.selected:hover{background:var(--color-brand-hover);color:#fff}.template-icon{font-size:var(--text-base)}.template-name{font-weight:500}.template-clear{display:flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;background:var(--color-bg-tertiary);border:1px solid var(--color-border-default);border-radius:var(--radius-full);color:var(--color-text-tertiary);cursor:pointer;transition:all var(--duration-fast)}.template-clear:hover{background:var(--color-danger-bg);border-color:var(--color-danger-border);color:var(--color-danger-text)}.template-clear svg{width:14px;height:14px}.estimated-cost-banner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:linear-gradient(135deg,var(--color-bg-secondary),rgba(16,185,129,.05));border:1px solid var(--color-border-default);border-radius:var(--radius-lg);margin-bottom:var(--space-4);transition:all var(--duration-normal)}.estimated-cost-banner.insufficient{background:linear-gradient(135deg,var(--color-bg-secondary),rgba(239,68,68,.08));border-color:#ef44444d}.estimated-cost-banner .cost-info{display:flex;align-items:center;gap:var(--space-2)}.estimated-cost-banner .cost-icon{font-size:18px}.estimated-cost-banner .cost-label{font-size:var(--text-sm);color:var(--color-text-secondary)}.estimated-cost-banner .cost-value{font-size:var(--text-sm);font-weight:600;color:var(--color-text-primary)}.estimated-cost-banner .cost-krw{margin-left:var(--space-1);color:var(--color-text-tertiary);font-weight:400}.estimated-cost-banner .balance-info{display:flex;align-items:center;gap:var(--space-2)}.estimated-cost-banner .balance-label{font-size:var(--text-sm);color:var(--color-text-tertiary)}.estimated-cost-banner .balance-value{font-size:var(--text-sm);font-weight:600;color:var(--color-success-text)}.estimated-cost-banner .balance-value.low{color:var(--color-warning)}.estimated-cost-banner .balance-value.critical{color:var(--color-error)}.estimated-cost-banner .recharge-link{font-size:var(--text-sm);color:var(--color-primary);text-decoration:none;font-weight:500;margin-left:var(--space-2)}.estimated-cost-banner .recharge-link:hover{text-decoration:underline}.estimated-cost-banner .insufficient-warning{flex-basis:100%;padding-top:var(--space-2);font-size:var(--text-sm);color:var(--color-error);font-weight:500}@media (max-width: 640px){.estimated-cost-banner{flex-direction:column;align-items:flex-start;gap:var(--space-2)}.estimated-cost-banner .balance-info{width:100%;justify-content:space-between}}.quick-settings-bar{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) var(--space-4);background:var(--color-bg-secondary);border:1px solid var(--color-border-default);border-radius:var(--radius-lg);margin-bottom:var(--space-4);gap:var(--space-3)}.quick-settings-summary{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-2)}.summary-badge{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-3);background:var(--color-bg-tertiary);border-radius:var(--radius-full);font-size:var(--text-xs);color:var(--color-text-secondary);font-weight:500}.summary-badge .badge-icon{font-size:var(--text-sm)}.summary-badge.cost-badge{background:var(--color-success-bg);color:var(--color-success-text)}.advanced-toggle-btn{display:inline-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);font-size:var(--text-sm);color:var(--color-text-secondary);cursor:pointer;transition:all var(--duration-fast);white-space:nowrap}.advanced-toggle-btn:hover{background:var(--color-bg-tertiary);border-color:var(--color-border-strong);color:var(--color-text-primary)}.advanced-toggle-btn.active{background:var(--color-brand-bg);border-color:var(--color-brand-primary);color:var(--color-brand-primary)}.advanced-toggle-btn svg{width:16px;height:16px;transition:transform var(--duration-fast)}.advanced-toggle-btn.active svg{transform:rotate(180deg)}.advanced-settings-panel{animation:revealPanel var(--duration-normal) cubic-bezier(.16,1,.3,1);transform-origin:top center}@keyframes revealPanel{0%{opacity:0;transform:scaleY(.95)}to{opacity:1;transform:scaleY(1)}}.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){.quick-settings-bar{flex-direction:column;align-items:stretch;gap:var(--space-3)}.quick-settings-summary,.advanced-toggle-btn{justify-content:center}.template-selector{flex-direction:column;align-items:stretch;padding:var(--space-3)}.template-label{text-align:center;margin-bottom:var(--space-2)}.template-chips{justify-content:center}.template-chip{flex:0 1 auto;min-width:0;padding:var(--space-2)}.template-name{font-size:var(--text-xs)}.unified-textarea,.input-control-sm,.custom-length-input,select{font-size:16px!important}}.input-with-unit{display:flex;align-items:center;gap:var(--space-2)}.input-control-sm{width:80px;padding:var(--space-1) var(--space-2);font-size:var(--text-sm);background:var(--color-bg-primary);border:1px solid var(--color-border-default);border-radius:var(--radius-sm);color:var(--color-text-primary);text-align:center}.input-control-sm:focus-visible{outline:none;border-color:var(--color-brand-primary)}.input-unit{font-size:var(--text-sm);color:var(--color-text-tertiary)}.model-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-3)}.model-card{padding:var(--space-4);background:var(--color-bg-primary);border:2px solid var(--color-border-default);border-radius:var(--radius-lg);cursor:pointer;transition:all var(--duration-fast)}.model-card:hover{border-color:var(--color-brand-tertiary)}.model-card.selected{border-color:var(--color-brand-primary);background:var(--color-brand-bg)}.model-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-2)}.model-provider{font-size:var(--text-xs);color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.03em}.model-cost{font-size:var(--text-xs);font-weight:600;padding:2px 6px;border-radius:var(--radius-sm)}.model-cost.low{background:var(--color-success-bg);color:var(--color-success)}.model-cost.medium{background:var(--color-warning-bg);color:var(--color-warning)}.model-cost.high{background:var(--color-error-bg);color:var(--color-error)}.model-name{font-size:var(--text-md);font-weight:600;color:var(--color-text-primary);margin-bottom:var(--space-1)}.model-desc{font-size:var(--text-xs);color:var(--color-text-tertiary)}.model-card.unavailable{opacity:.5;cursor:not-allowed;border-style:dashed}.model-card.unavailable:hover{border-color:var(--color-border-default)}.model-pricing-mini{display:flex;gap:var(--space-2);margin-top:var(--space-2);padding-top:var(--space-2);border-top:1px solid var(--color-border-subtle);font-size:10px;color:var(--color-text-tertiary)}.model-pricing-mini span{padding:1px 4px;background:var(--color-bg-tertiary);border-radius:var(--radius-sm)}.model-unavailable-badge{margin-top:var(--space-2);text-align:center}.model-unavailable-badge span{display:inline-block;padding:4px 8px;background:var(--color-warning-bg);color:var(--color-warning);font-size:11px;font-weight:500;border-radius:var(--radius-sm);cursor:pointer;transition:all var(--duration-fast)}.model-unavailable-badge span:hover{background:var(--color-warning);color:#fff}.loading-indicator{display:inline-block;margin-left:var(--space-2);padding:2px 8px;background:var(--color-info-bg);color:var(--color-info);font-size:11px;font-weight:500;border-radius:var(--radius-full);animation:pulse 1.5s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.section-info-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;background:var(--color-brand-bg);color:var(--color-brand-primary);border-radius:20px;font-size:12px;font-weight:600;margin-left:10px}.section-info-badge svg{width:14px;height:14px}.agent-preview-container{display:flex;flex-direction:column;gap:10px;padding:16px;background:var(--color-bg-secondary);border:2px solid var(--color-border-default);border-radius:12px}.agent-preview-row{display:flex;align-items:center;gap:12px;padding:10px 12px;background:var(--color-bg-primary);border-radius:8px;border:1px solid var(--color-border-default)}.agent-preview-left{display:flex;align-items:center;gap:10px;min-width:100px}.agent-avatar{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:14px;flex-shrink:0}.agent-preview-name{font-weight:600;font-size:14px;color:var(--color-text-primary)}.agent-preview-arrow{color:var(--color-text-tertiary);flex-shrink:0}.agent-preview-arrow svg{width:18px;height:18px}.agent-preview-model{display:flex;flex-direction:column;gap:2px;flex:1}.agent-model-provider{font-size:11px;color:var(--color-text-tertiary);font-weight:500}.agent-model-name{font-size:13px;font-weight:600;color:var(--color-text-primary)}.unused-models-notice,.model-cycle-notice{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;margin-top:12px;border-radius:10px;font-size:13px;line-height:1.5}.unused-models-notice{background:var(--color-tier-excellent-bg);border:1px solid var(--color-accent-orange);color:var(--color-tier-excellent-text)}.model-cycle-notice{background:var(--color-accent-blue-bg);border:1px solid var(--color-accent-blue);color:var(--color-brand-primary)}.unused-models-notice svg,.model-cycle-notice svg{width:18px;height:18px;flex-shrink:0;margin-top:1px}.unused-models-notice strong,.model-cycle-notice strong{font-weight:700}.agent-config-container{display:flex;flex-direction:column;gap:10px;padding:16px;background:var(--color-bg-tertiary);border:2px solid var(--color-border-default);border-radius:12px}.agent-config-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;background:var(--color-bg-primary);border-radius:10px;border:1px solid var(--color-border-default);transition:all var(--duration-fast)}.agent-config-row:hover{border-color:var(--color-border-strong);box-shadow:0 2px 8px #0000000f}.agent-config-left{display:flex;align-items:center;gap:10px;min-width:100px}.agent-config-name{font-weight:600;font-size:14px;color:var(--color-text-primary)}.agent-config-right{display:flex;align-items:center;gap:12px;flex:1;justify-content:flex-end}.agent-model-select{flex:1;max-width:280px;padding:8px 32px 8px 12px;font-size:13px;font-weight:500;color:var(--color-text-primary);background:var(--color-bg-secondary);border:1px solid var(--color-border-default);border-radius:8px;cursor:pointer;transition:all var(--duration-fast);appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2371717a' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center}.agent-model-select:hover{border-color:var(--color-border-strong);background-color:var(--color-bg-hover)}.agent-model-select:focus-visible{outline:none;border-color:var(--color-brand-primary);box-shadow:0 0 0 3px var(--color-brand-subtle)}.agent-model-select option.coming-soon{color:var(--color-text-tertiary);background-color:var(--color-bg-tertiary);font-style:italic;opacity:.6}.agent-model-price{font-size:12px;font-weight:600;color:var(--color-brand-primary);background:var(--color-brand-subtle);padding:4px 10px;border-radius:6px;white-space:nowrap;min-width:70px;text-align:center}.no-models-notice{display:flex;align-items:center;gap:10px;padding:16px;background:var(--color-warning-bg);border:1px solid var(--color-warning);border-radius:10px;color:var(--color-warning-text);font-size:14px}.no-models-notice svg{width:20px;height:20px;flex-shrink:0}.breakdown-agent-info{display:flex;align-items:center;gap:8px}.breakdown-agent-avatar{width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:11px;flex-shrink:0}.breakdown-agent-name{font-size:var(--text-sm);font-weight:600;color:var(--color-text-primary)}.breakdown-model-info{font-size:var(--text-xs);color:var(--color-text-tertiary);margin-top:2px}.cost-estimator{background:var(--color-bg-tertiary);border-radius:var(--radius-lg);padding:var(--space-4)}.cost-estimator-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-3)}.cost-estimator-title{font-size:var(--text-sm);font-weight:600;color:var(--color-text-primary)}.cost-estimator-value{font-size:var(--text-lg);font-weight:700;color:var(--color-brand-primary)}.cost-slider{width:100%;margin-bottom:var(--space-3)}.cost-slider input[type=range]{width:100%;height:4px;-webkit-appearance:none;appearance:none;background:var(--color-border-strong);border-radius:2px;outline:none}.cost-slider input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:16px;height:16px;background:var(--color-brand-primary);border-radius:50%;cursor:pointer}.cost-details{display:flex;justify-content:space-between;font-size:var(--text-xs);color:var(--color-text-tertiary)}.safety-settings-toggle{width:100%;display:flex;align-items:center;justify-content:space-between;padding:var(--space-4);background:var(--color-bg-tertiary);border:1px solid var(--color-border-default);border-radius:var(--radius-lg);cursor:pointer;transition:all var(--duration-fast)}.safety-settings-toggle:hover{background:var(--color-bg-hover);border-color:var(--color-border-strong)}.safety-toggle-left{display:flex;align-items:center;gap:var(--space-3)}.safety-icon{width:20px;height:20px;color:var(--color-success)}.safety-icon svg{width:100%;height:100%}.safety-title{font-size:var(--text-sm);font-weight:600;color:var(--color-text-primary)}.safety-badge{font-size:var(--text-xs);padding:2px 8px;background:var(--color-success-bg);color:var(--color-success);border-radius:var(--radius-full);font-weight:500}.safety-chevron{width:16px;height:16px;color:var(--color-text-tertiary)}.safety-chevron svg{width:100%;height:100%}.safety-settings-content{margin-top:var(--space-3);padding:var(--space-4);background:var(--color-bg-secondary);border:1px solid var(--color-border-default);border-radius:var(--radius-lg);animation:fadeIn .2s ease}.safety-settings-desc{font-size:var(--text-sm);color:var(--color-text-secondary);margin-bottom:var(--space-4);padding-bottom:var(--space-3);border-bottom:1px solid var(--color-border-subtle)}.safety-setting-row{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) 0}.safety-setting-row:not(:last-child){border-bottom:1px solid var(--color-border-subtle)}.safety-setting-label{display:flex;flex-direction:column;gap:2px}.safety-setting-label>span:first-child{font-size:var(--text-sm);font-weight:500;color:var(--color-text-primary)}.safety-setting-hint{font-size:var(--text-xs);color:var(--color-text-tertiary)}.safety-setting-control{flex-shrink:0}.safety-setting-control .select-control{min-width:100px;font-size:var(--text-sm)}.toggle-switch{position:relative;display:inline-block;width:44px;height:24px}.toggle-switch input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;cursor:pointer;inset:0;background-color:var(--color-bg-active);transition:var(--duration-fast);border-radius:var(--radius-full)}.toggle-slider:before{position:absolute;content:"";height:18px;width:18px;left:3px;bottom:3px;background-color:var(--color-bg-secondary);transition:var(--duration-fast);border-radius:50%;box-shadow:var(--shadow-sm)}.toggle-switch input:checked+.toggle-slider{background-color:var(--color-success)}.toggle-switch input:checked+.toggle-slider:before{transform:translate(20px)}@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}.section-subtitle{font-size:var(--text-xs);color:var(--color-text-tertiary);font-weight:400;margin-left:var(--space-2)}.upload-error-banner{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);color:var(--color-error);font-size:var(--text-sm)}.upload-error-banner button{background:none;border:none;color:var(--color-error);cursor:pointer;padding:var(--space-1);display:flex;align-items:center;justify-content:center}.upload-error-banner button svg{width:16px;height:16px}.attached-files-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:var(--space-2);margin-bottom:var(--space-3)}.file-chip-setup{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--color-bg-tertiary);border:1px solid var(--color-border-default);border-radius:var(--radius-md);transition:all var(--duration-fast)}.file-chip-setup:hover{background:var(--color-bg-hover);border-color:var(--color-border-strong)}.file-icon-setup{width:32px;height:32px;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-icon-setup svg{width:16px;height:16px}.file-info-setup{flex:1;min-width:0;display:flex;flex-direction:column}.file-name-setup{font-size:var(--text-sm);font-weight:500;color:var(--color-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.file-size-setup{font-size:var(--text-xs);color:var(--color-text-tertiary)}.file-remove-setup{width:24px;height:24px;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-remove-setup:hover:not(:disabled){background:var(--color-error-bg);color:var(--color-error)}.file-remove-setup:disabled{opacity:.5;cursor:not-allowed}.file-remove-setup svg{width:14px;height:14px}.file-attach-actions{display:flex;align-items:center;gap:var(--space-3)}.btn-attach-file{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--color-bg-tertiary);border:1px dashed var(--color-border-strong);border-radius:var(--radius-md);color:var(--color-text-secondary);font-size:var(--text-sm);cursor:pointer;transition:all var(--duration-fast)}.btn-attach-file:hover:not(:disabled){background:var(--color-brand-bg);border-color:var(--color-brand-primary);color:var(--color-brand-primary)}.btn-attach-file:disabled{opacity:.5;cursor:not-allowed}.btn-attach-file svg{width:16px;height:16px}.btn-attach-file svg.spin{animation:spin 1s linear infinite}.file-hint{font-size:var(--text-xs);color:var(--color-text-tertiary)}.cost-safety-integrated{background:var(--color-bg-tertiary);border-radius:var(--radius-lg);padding:var(--space-4)}.cost-safety-integrated .cost-estimator-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-3);flex-wrap:wrap;gap:var(--space-2)}.cost-title-area{display:flex;align-items:baseline;gap:var(--space-2)}.cost-title-area .cost-estimator-title{font-size:var(--text-sm);font-weight:600;color:var(--color-text-primary)}.cost-title-area .cost-estimator-value{font-size:var(--text-lg);font-weight:700;color:var(--color-brand-primary)}.cost-title-area .cost-krw{font-size:var(--text-xs);color:var(--color-text-tertiary)}.safety-auto-badge{display:flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-2);background:var(--color-success-bg);color:var(--color-success);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:500}.safety-auto-badge svg{width:12px;height:12px}.cost-slider-area{margin-bottom:var(--space-3)}.cost-slider-area .cost-slider{width:100%;margin-bottom:var(--space-2)}.cost-slider-labels{display:flex;justify-content:space-between;font-size:var(--text-xs);color:var(--color-text-tertiary)}.cost-slider-labels .current-value{font-weight:600;color:var(--color-brand-primary)}.safety-summary{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--color-border-subtle)}.safety-item{display:flex;align-items:center;gap:var(--space-1);font-size:var(--text-xs)}.safety-item .safety-label{color:var(--color-text-tertiary)}.safety-item .safety-value{font-weight:600;color:var(--color-text-secondary)}.btn-adjust-safety{margin-left:auto;padding:var(--space-1) var(--space-2);background:none;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)}.btn-adjust-safety:hover{background:var(--color-bg-hover);border-color:var(--color-border-strong)}.safety-settings-expanded{margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--color-border-subtle);animation:fadeIn .2s ease}.safety-settings-expanded .safety-setting-row{display:flex;align-items:center;justify-content:space-between;padding:var(--space-2) 0}.safety-settings-expanded .safety-setting-row:not(:last-child){border-bottom:1px solid var(--color-border-subtle)}.safety-settings-expanded .safety-setting-label span{font-size:var(--text-sm);color:var(--color-text-primary)}.select-control-sm{padding:var(--space-1) var(--space-2);font-size:var(--text-sm);background:var(--color-bg-primary);border:1px solid var(--color-border-default);border-radius:var(--radius-sm);color:var(--color-text-primary)}.cost-calculator-new{background:linear-gradient(135deg,var(--color-bg-tertiary) 0%,var(--color-bg-secondary) 100%);border:1px solid var(--color-border-default);border-radius:var(--radius-xl);padding:var(--space-5)}.cost-main-display{text-align:center;padding:var(--space-4) var(--space-3);background:var(--color-bg-secondary);border-radius:var(--radius-lg);margin-bottom:var(--space-4);box-shadow:var(--shadow-sm)}.cost-label-row{display:flex;align-items:center;justify-content:center;gap:var(--space-2);margin-bottom:var(--space-2)}.cost-label{font-size:var(--text-sm);font-weight:600;color:var(--color-text-secondary)}.cost-hint{font-size:var(--text-xs);color:var(--color-text-tertiary)}.cost-value-row{display:flex;align-items:baseline;justify-content:center;gap:var(--space-2)}.cost-usd{font-size:var(--text-3xl);font-weight:700;color:var(--color-brand-primary);font-family:var(--font-mono)}.cost-krw-display{font-size:var(--text-md);color:var(--color-text-tertiary);font-weight:500}.turn-control{margin-bottom:var(--space-4)}.turn-control-header{margin-bottom:var(--space-3)}.turn-label{font-size:var(--text-sm);font-weight:600;color:var(--color-text-primary)}.turn-control-body{display:flex;flex-direction:column;gap:var(--space-3)}.turn-preset-buttons{display:flex;gap:var(--space-2);flex-wrap:wrap}.turn-preset-btn{padding:var(--space-2) var(--space-3);background:var(--color-bg-secondary);border:1px solid var(--color-border-default);border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:500;color:var(--color-text-secondary);cursor:pointer;transition:all var(--duration-fast);min-width:48px}.turn-preset-btn:hover{background:var(--color-bg-hover);border-color:var(--color-border-strong)}.turn-preset-btn.active{background:var(--color-brand-primary);border-color:var(--color-brand-primary);color:#fff}.turn-slider-row{display:flex;align-items:center;gap:var(--space-3)}.turn-slider{flex:1;-webkit-appearance:none;appearance:none;height:6px;background:var(--color-border-default);border-radius:var(--radius-full);outline:none}.turn-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:20px;height:20px;background:var(--color-brand-primary);border-radius:50%;cursor:pointer;box-shadow:var(--shadow-md);transition:transform var(--duration-fast)}.turn-slider::-webkit-slider-thumb:hover{transform:scale(1.1)}.turn-slider::-moz-range-thumb{width:20px;height:20px;background:var(--color-brand-primary);border:none;border-radius:50%;cursor:pointer;box-shadow:var(--shadow-md)}.turn-input-wrapper{display:flex;align-items:center;gap:var(--space-1);background:var(--color-bg-secondary);border:1px solid var(--color-border-default);border-radius:var(--radius-md);padding:var(--space-1) var(--space-2)}.turn-input{width:60px;border:none;background:transparent;font-size:var(--text-md);font-weight:600;color:var(--color-text-primary);text-align:center;outline:none;font-family:var(--font-mono)}.turn-input:focus-visible{outline:2px solid var(--color-brand-primary);outline-offset:2px;border-radius:var(--radius-sm)}.turn-input::-webkit-outer-spin-button,.turn-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.turn-unit{font-size:var(--text-sm);color:var(--color-text-tertiary)}.conversation-length-setting{background:var(--color-bg-tertiary);border:1px solid var(--color-border-default);border-radius:var(--radius-lg);padding:var(--space-4)}.length-header{margin-bottom:var(--space-4)}.length-title{display:block;font-size:var(--text-md);font-weight:600;color:var(--color-text-primary);margin-bottom:var(--space-1)}.length-hint{font-size:var(--text-sm);color:var(--color-text-tertiary)}.length-presets{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-2);margin-bottom:var(--space-3)}.length-preset-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-3) var(--space-2);background:var(--color-bg-secondary);border:2px solid var(--color-border-default);border-radius:var(--radius-lg);cursor:pointer;transition:all var(--duration-fast)}.length-preset-btn:hover{border-color:var(--color-brand-primary);background:var(--color-bg-hover)}.length-preset-btn.active{border-color:var(--color-brand-primary);background:color-mix(in srgb,var(--color-brand-primary) 10%,transparent)}.length-preset-btn .preset-label{font-size:var(--text-sm);font-weight:600;color:var(--color-text-primary);margin-bottom:var(--space-1)}.length-preset-btn .preset-value{font-size:var(--text-xs);color:var(--color-text-tertiary);font-family:var(--font-mono)}.length-preset-btn.active .preset-label,.length-preset-btn.active .preset-value{color:var(--color-brand-primary)}.custom-length-details{border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);overflow:hidden}.custom-length-summary{display:flex;align-items:center;justify-content:space-between;padding:var(--space-2) var(--space-3);background:var(--color-bg-secondary);cursor:pointer;font-size:var(--text-sm);color:var(--color-text-secondary);list-style:none;transition:background var(--duration-fast)}.custom-length-summary::-webkit-details-marker{display:none}.custom-length-summary:hover{background:var(--color-bg-hover)}.custom-length-summary .current-value{font-family:var(--font-mono);font-weight:600;color:var(--color-text-primary)}.custom-length-content{padding:var(--space-3);background:var(--color-bg-tertiary);display:flex;flex-direction:column;gap:var(--space-3)}.length-slider{width:100%;-webkit-appearance:none;appearance:none;height:6px;background:var(--color-border-default);border-radius:var(--radius-full);outline:none}.length-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:18px;height:18px;background:var(--color-brand-primary);border-radius:50%;cursor:pointer;box-shadow:var(--shadow-sm);transition:transform var(--duration-fast)}.length-slider::-webkit-slider-thumb:hover{transform:scale(1.1)}.length-slider::-moz-range-thumb{width:18px;height:18px;background:var(--color-brand-primary);border:none;border-radius:50%;cursor:pointer}.length-input-row{display:flex;align-items:center;justify-content:center;gap:var(--space-2)}.length-input{width:80px;padding:var(--space-2);border:1px solid var(--color-border-default);border-radius:var(--radius-md);background:var(--color-bg-secondary);font-size:var(--text-md);font-weight:600;color:var(--color-text-primary);text-align:center;font-family:var(--font-mono);outline:none}.length-input:focus-visible{border-color:var(--color-brand-primary);box-shadow:0 0 0 3px var(--color-brand-bg)}.length-input::-webkit-outer-spin-button,.length-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.length-unit{font-size:var(--text-sm);color:var(--color-text-tertiary)}@media (max-width: 480px){.length-presets{grid-template-columns:repeat(2,1fr)}}.cost-breakdown-details,.safety-details{border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);overflow:hidden;margin-bottom:var(--space-2)}.cost-breakdown-summary,.safety-summary-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3);background:var(--color-bg-secondary);cursor:pointer;font-size:var(--text-sm);font-weight:500;color:var(--color-text-primary);list-style:none;transition:background var(--duration-fast)}.cost-breakdown-summary::-webkit-details-marker,.safety-summary-header::-webkit-details-marker{display:none}.cost-breakdown-summary:hover,.safety-summary-header:hover{background:var(--color-bg-hover)}.summary-arrow{transition:transform var(--duration-fast)}.summary-arrow svg{width:16px;height:16px;color:var(--color-text-tertiary)}details[open] .summary-arrow{transform:rotate(180deg)}.cost-breakdown-content{padding:var(--space-3);background:var(--color-bg-tertiary)}.cost-breakdown-item{display:flex;justify-content:space-between;align-items:center;padding:var(--space-2) 0;border-bottom:1px solid var(--color-border-subtle)}.cost-breakdown-item:last-child{border-bottom:none}.breakdown-model-name{font-size:var(--text-sm);font-weight:600;color:var(--color-text-primary)}.breakdown-details{display:flex;flex-direction:column;align-items:flex-end;gap:var(--space-1)}.breakdown-rate{font-size:var(--text-xs);color:var(--color-text-tertiary)}.breakdown-cost{font-size:var(--text-sm);font-weight:600;color:var(--color-brand-primary);font-family:var(--font-mono)}.safety-summary-left{display:flex;align-items:center;gap:var(--space-2)}.safety-summary-left svg{width:16px;height:16px;color:var(--color-success)}.safety-summary-right{display:flex;align-items:center;gap:var(--space-2)}.safety-badge{font-size:var(--text-xs);color:var(--color-text-tertiary);background:var(--color-bg-tertiary);padding:var(--space-1) var(--space-2);border-radius:var(--radius-full)}.safety-settings-content{padding:var(--space-3);background:var(--color-bg-tertiary)}.safety-setting-item{display:flex;align-items:center;justify-content:space-between;padding:var(--space-2) 0;border-bottom:1px solid var(--color-border-subtle)}.safety-setting-item:last-child{border-bottom:none}.setting-name{font-size:var(--text-sm);color:var(--color-text-primary)}.setting-control{display:flex;align-items:center;gap:var(--space-1)}.setting-input{width:70px;padding:var(--space-1) var(--space-2);border:1px solid var(--color-border-default);border-radius:var(--radius-sm);font-size:var(--text-sm);text-align:center;background:var(--color-bg-secondary);color:var(--color-text-primary)}.setting-unit{font-size:var(--text-xs);color:var(--color-text-tertiary)}.setting-select{padding:var(--space-1) var(--space-2);border:1px solid var(--color-border-default);border-radius:var(--radius-sm);font-size:var(--text-sm);background:var(--color-bg-secondary);color:var(--color-text-primary);cursor:pointer}.toggle-switch-new{position:relative;display:inline-block;width:44px;height:24px}.toggle-switch-new input{opacity:0;width:0;height:0}.toggle-track{position:absolute;cursor:pointer;inset:0;background-color:var(--color-border-default);transition:var(--duration-fast);border-radius:var(--radius-full)}.toggle-track:before{position:absolute;content:"";height:18px;width:18px;left:3px;bottom:3px;background-color:var(--color-bg-secondary);transition:var(--duration-fast);border-radius:50%;box-shadow:var(--shadow-sm)}.toggle-switch-new input:checked+.toggle-track{background-color:var(--color-brand-primary)}.toggle-switch-new input:checked+.toggle-track:before{transform:translate(20px)}.conversation-view{flex:1;display:flex;flex-direction:column;overflow:hidden}.agent-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}.agent-bar::-webkit-scrollbar{display:none}.agent-tag{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--color-bg-tertiary);border-radius:var(--radius-md);border-left:3px solid var(--agent-color);white-space:nowrap;transition:all var(--duration-fast)}.agent-tag.active{background:var(--color-brand-bg);box-shadow:var(--shadow-sm)}.agent-tag-name{font-size:var(--text-sm);font-weight:600;color:var(--color-text-primary)}.agent-tag-model{font-size:var(--text-xs);color:var(--color-text-tertiary)}.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}.message-sender{font-size:var(--text-xs);font-weight:600;color:var(--color-text-secondary)}.message-model{font-size:var(--text-xs);color:var(--color-text-tertiary)}.message-body{padding:var(--space-4);border-radius:var(--radius-lg);font-size:var(--text-md);line-height:var(--leading-relaxed)}.message.agent .message-body{background:var(--color-bg-secondary);border:1px solid var(--color-border-default);border-top-left-radius:var(--radius-sm)}.message.user .message-body{background:var(--color-brand-primary);color:#fff;border-bottom-right-radius:var(--radius-sm)}.message.user.topic .message-body{background:var(--color-brand-primary)}.message.error .message-body{background:var(--color-error-bg);border:1px solid var(--color-error);color:var(--color-error)}.message-tokens{display:flex;align-items:center;gap:var(--space-2);margin-top:var(--space-2);font-size:var(--text-xs);color:var(--color-text-tertiary)}.message-time{font-size:var(--text-xs);color:var(--color-text-tertiary);white-space:nowrap}.typing-cursor{display:inline-block;width:2px;height:1em;background:var(--color-brand-primary);animation:blink 1s step-end infinite;margin-left:2px}@keyframes blink{50%{opacity:0}}.scroll-btn{position:absolute;bottom:200px;right:var(--space-6);width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:var(--color-bg-secondary);border:1px solid var(--color-border-default);border-radius:50%;color:var(--color-text-secondary);cursor:pointer;box-shadow:var(--shadow-lg);transition:all var(--duration-fast);z-index:var(--z-sticky)}.scroll-btn:hover{background:var(--color-brand-primary);border-color:var(--color-brand-primary);color:#fff}.input-area{padding:var(--space-4) var(--space-6);background:var(--color-bg-secondary);border-top:1px solid var(--color-border-default)}.input-wrapper{display:flex;align-items:flex-end;gap:var(--space-3);max-width:900px;margin:0 auto}.input-field{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);resize:none;max-height:120px;transition:all var(--duration-fast)}.input-field:focus-visible{outline:none;border-color:var(--color-brand-primary);box-shadow:0 0 0 3px var(--color-brand-bg)}.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}.controls-bar{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) var(--space-6);background:var(--color-bg-secondary);border-top:1px solid var(--color-border-default)}.control-group{display:flex;align-items:center;gap:var(--space-2)}.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}.speed-control{display:flex;align-items:center;gap:var(--space-2)}.speed-label{font-size:var(--text-xs);color:var(--color-text-tertiary)}.speed-buttons{display:flex;background:var(--color-bg-tertiary);border-radius:var(--radius-md);padding:2px}.speed-btn{width:32px;height:28px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:var(--radius-sm);font-size:var(--text-xs);color:var(--color-text-secondary);cursor:pointer;transition:all var(--duration-fast)}.speed-btn:hover{color:var(--color-text-primary)}.speed-btn.active{background:var(--color-brand-primary);color:#fff}.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)}.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)}}}.api-section{margin-bottom:var(--space-6)}.api-section:last-child{margin-bottom:0}.api-provider{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-3)}.api-provider-info{display:flex;align-items:center;gap:var(--space-3)}.api-provider-icon{width:36px;height:36px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;font-size:var(--text-lg)}.api-provider-icon.openai{background:color-mix(in srgb,var(--color-provider-openai) 12%,transparent);color:var(--color-provider-openai)}.api-provider-icon.google{background:color-mix(in srgb,var(--color-provider-google) 12%,transparent);color:var(--color-provider-google)}.api-provider-name{font-weight:600;color:var(--color-text-primary)}.api-provider-desc{font-size:var(--text-xs);color:var(--color-text-tertiary)}.btn-get-key{padding:var(--space-2) var(--space-3);background:var(--color-brand-primary);color:#fff;border:none;border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:600;cursor:pointer;transition:all var(--duration-fast)}.btn-get-key:hover{background:var(--color-brand-secondary)}.api-input-group{display:flex;gap:var(--space-2)}.api-input{flex:1;padding:var(--space-3);background:var(--color-bg-primary);border:1px solid var(--color-border-default);border-radius:var(--radius-md);color:var(--color-text-primary);font-family:var(--font-mono);font-size:var(--text-sm)}.api-input:focus-visible{outline:none;border-color:var(--color-brand-primary)}.btn-toggle{width: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}.api-status{display:flex;align-items:center;gap:var(--space-2);margin-top:var(--space-2);font-size:var(--text-xs)}.api-status.valid{color:var(--color-success)}.api-status.invalid{color:var(--color-error)}.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{flex:1;display:flex;align-items:center;justify-content:center;padding:var(--space-8)}.onboarding-card{width:100%;max-width:480px;background:var(--color-bg-secondary);border:1px solid var(--color-border-default);border-radius:var(--radius-xl);padding:var(--space-8);text-align:center}.onboarding-icon{width:64px;height:64px;margin:0 auto var(--space-5);background:var(--color-brand-bg);border-radius:var(--radius-xl);display:flex;align-items:center;justify-content:center}.onboarding-icon svg{width:32px;height:32px;color:var(--color-brand-primary)}.onboarding-title{font-size:var(--text-2xl);font-weight:700;color:var(--color-text-primary);margin-bottom:var(--space-2)}.onboarding-desc{font-size:var(--text-md);color:var(--color-text-secondary);margin-bottom:var(--space-6)}.onboarding-steps{display:flex;flex-direction:column;gap:var(--space-3);text-align:left;margin-bottom:var(--space-6)}.onboarding-step{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-3);background:var(--color-bg-tertiary);border-radius:var(--radius-md)}.step-number{width:24px;height:24px;background:var(--color-brand-primary);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:var(--text-xs);font-weight:700;flex-shrink:0}.step-content h4{font-size:var(--text-sm);font-weight:600;color:var(--color-text-primary);margin-bottom:2px}.step-content p{font-size:var(--text-xs);color:var(--color-text-tertiary)}.onboarding-actions{display:flex;flex-direction:column;gap:var(--space-3)}.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)}.btn-skip{background:transparent;color:var(--color-text-tertiary);border:none;font-size:var(--text-sm);cursor:pointer}.btn-skip:hover{color:var(--color-text-secondary)}.cost-panel{position:absolute;top:calc(var(--header-height) + var(--space-2));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-panel-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-panel-title{font-size:var(--text-sm);font-weight:600;color:var(--color-text-primary)}.cost-panel-body{padding:var(--space-4)}.cost-row{display:flex;justify-content:space-between;align-items:center;padding:var(--space-2) 0}.cost-row-label{font-size:var(--text-sm);color:var(--color-text-secondary)}.cost-row-value{font-size:var(--text-sm);font-weight:600;color:var(--color-text-primary)}.cost-row-value.highlight{color:var(--color-brand-primary)}.cost-divider{height:1px;background:var(--color-border-default);margin:var(--space-2) 0}.cost-model-list{margin-top:var(--space-2)}.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,.setup-card{padding:var(--space-4)}.settings-row,.model-grid{grid-template-columns:1fr}.stat-group{display:none}.topic-text{max-width:200px}.user-email{display:none}.btn-user-menu{padding:0 var(--space-2)}.messages-container,.input-area{padding:var(--space-3) var(--space-4)}.controls-bar{padding:var(--space-2) var(--space-4);flex-wrap:wrap;gap:var(--space-2)}}@media (max-width: 480px){:root{--header-height: 44px}.main-header{padding:0 var(--space-3)}.topic-display{display:none}.onboarding-card{padding:var(--space-4)}.cost-panel{right:var(--space-3);left:var(--space-3);width:auto}.agent-bar{padding:var(--space-2) var(--space-3);gap:var(--space-1)}.agent-tag{padding:var(--space-1) var(--space-2)}.agent-tag-name{font-size:var(--text-xs)}.agent-tag-model{display:none}.messages-container{padding:var(--space-2) var(--space-3)}.mobile-nav{height:56px}.mobile-nav-label{font-size:10px}.credit-balance-details{display:none}}@supports (padding: env(safe-area-inset-bottom)){.controls-bar{padding-bottom:calc(var(--space-3) + var(--safe-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}.mobile-nav-icon svg{width:100%;height:100%}.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}.app:has(.mobile-nav:not(.hidden)) .main-content{padding-bottom:calc(64px + env(safe-area-inset-bottom,0))}.btn-menu{display:none}.header-credits-display{font-size:var(--text-xs)}.messages-container{padding:var(--space-4)}}@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:48px}.app:has(.mobile-nav:not(.hidden)) .main-content{padding-bottom:calc(48px + env(safe-area-inset-bottom,0))}.mobile-nav-icon{width:20px;height:20px}.mobile-nav-label{font-size:9px}.mobile-nav-item{gap:2px;padding:var(--space-1)}}@media (prefers-reduced-motion: reduce){.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}}.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, 200);background:var(--color-bg-primary, #ffffff);border-radius:16px 16px 0 0;padding:12px 20px 24px;transform:translateY(100%);transition:transform .3s cubic-bezier(.32,.72,0,1);box-shadow:0 -4px 24px #0000001f;max-height:60vh}.explore-sheet--open{transform:translateY(0)}.explore-sheet-handle{width:36px;height:4px;border-radius:2px;background:var(--color-border-default, #e2e8f0);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, #e2e8f0);border-radius:var(--radius-md, 8px);background:var(--color-bg-primary, #ffffff);cursor:pointer;transition:all .15s;text-align:center}.explore-sheet-item:hover{border-color:var(--color-accent-teal, #0d9488);background:var(--color-bg-secondary, #f1f5f9)}.explore-sheet-item.active{border-color:var(--color-accent-teal, #0d9488);background:#0d94880f}.explore-sheet-item-icon{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:var(--radius-md, 8px);background:var(--color-bg-secondary, #f1f5f9);color:var(--color-text-secondary, #64748b)}.explore-sheet-item.active .explore-sheet-item-icon{background:#0d94881a;color:var(--color-accent-teal, #0d9488)}.explore-sheet-item-icon svg{width:18px;height:18px}.explore-sheet-item-label{font-size:13px;font-weight:700;color:var(--color-text-primary, #1a1a2e)}.explore-sheet-item.active .explore-sheet-item-label{color:var(--color-accent-teal, #0d9488)}.explore-sheet-item-desc{font-size:11px;color:var(--color-text-tertiary, #94a3b8);line-height:1.3}.mobile-nav-divider{width:80%;height:1px;background:var(--color-border-default, #e2e8f0);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:#0d94881a;border-color:var(--color-accent-teal, #0d9488)}[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,.controls-bar,.input-area,.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)}.phase-chip{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-2);background:color-mix(in srgb,var(--phase-color, #6B7280) 15%,transparent);border-radius:var(--radius-full);font-size:var(--text-xs);color:var(--phase-color, var(--color-text-secondary));font-weight:500;white-space:nowrap}.phase-icon{font-size:12px;line-height:1}.phase-progress{font-variant-numeric:tabular-nums}.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-icon{width:12px;height:12px;opacity:.7}.turn-icon svg{width:100%;height:100%}.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)}.phase-chip,.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)}.phase-progress{display:none}.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-expand{width:12px;height:12px;opacity:.5}.stat-expand 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)}.stat-item.actual-cost .stat-value{color:var(--color-success)}.stat-item.actual-cost .stat-label{color:var(--color-success);font-weight:600}.stat-item.estimated-cost .stat-value,.stat-item.estimated-cost .stat-label{color:var(--color-warning)}.cost-detail-row.highlight.actual{background:var(--color-success-bg)}.cost-detail-row.highlight.actual .cost-detail-label{color:var(--color-success)}.cost-detail-row.highlight.estimated{background:var(--color-warning-bg)}.cost-detail-row.highlight.estimated .cost-detail-label{color:var(--color-warning)}.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}.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:var(--color-bg-tertiary);border-radius:var(--radius-md);border-left:3px solid var(--agent-color, var(--color-brand-primary));white-space:nowrap;transition:all var(--duration-fast)}.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))}.agent-chip.speaking .agent-indicator{animation:pulse 1s infinite}.agent-name{font-size:var(--text-sm);font-weight:600;color:var(--color-text-primary)}.agent-model{font-size:var(--text-xs);color:var(--color-text-tertiary)}.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}.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);border-left:3px solid var(--color-brand-primary);background: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}.pending-messages{opacity:.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{border-left:3px solid var(--color-accent-purple, #9333ea)}.message.agent-message.grounded{border-left:3px solid #0891b2}.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:#0891b2;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:#0891b2}.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:#0891b2;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:#ea580c;font-size:var(--text-sm);font-weight:500;text-align:left;transition:background var(--duration-fast)}.tool-use-header:hover{background:#ea580c14}.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:#ea580c0d;border-radius:var(--radius-md);padding:var(--space-3)}.tool-name{display:flex;align-items:center;gap:var(--space-2);color:#ea580c;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:#ea580c26;color:#ea580c;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:#ea580c26;color:#ea580c;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}.message.agent-message.using-tools{border-left:3px solid #ea580c}.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);border-left:2px solid rgba(16,185,129,.3);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:#0891b2}.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:#0891b2;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:#f59e0b;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)}.message.initial-topic .user-content{background:var(--color-brand-primary)}.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)}.pending-badge{display:flex;align-items:center;gap:var(--space-1);font-size:var(--text-xs);color:var(--color-text-tertiary);margin-left:auto}.pending-badge svg{width:12px;height:12px}.pending-indicator{font-size:var(--text-xs);color:var(--color-text-tertiary);margin-top:var(--space-2);font-style:italic}.user-message.pending{opacity:.6;position:relative;background:linear-gradient(135deg,#ffffff0d,#ffffff05);border:1px dashed var(--color-border);animation:pendingPulse 2s ease-in-out infinite}.user-message.pending:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.1),transparent);animation:pendingShimmer 2s ease-in-out infinite;pointer-events:none}@keyframes pendingPulse{0%,to{opacity:.6}50%{opacity:.4}}@keyframes pendingShimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.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)}.input-bar-field{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-sm);outline:none;transition:border-color var(--duration-fast) var(--ease-default)}.input-bar-field:focus{border-color:var(--color-brand-primary)}.input-bar-field:disabled{opacity:.5;cursor:not-allowed}.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}}.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-type-image{border-left:3px solid var(--color-accent-green-dark)}.file-chip.file-type-audio{border-left:3px solid #7c3aed}.file-chip.file-type-video{border-left:3px solid var(--agent-pink)}.file-chip.file-type-pdf{border-left:3px solid var(--color-error)}.file-chip.file-type-word{border-left:3px solid var(--color-brand-primary)}.file-chip.file-type-excel{border-left:3px solid #16a34a}.file-chip.file-type-ppt{border-left:3px solid #ea580c}.file-chip.file-type-hwp{border-left:3px solid #0891b2}.file-chip.file-type-code{border-left:3px solid #9b59b6}.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}.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}.primary-controls{display:flex;align-items:center;gap:var(--space-2)}.btn-control.playing{background:var(--color-brand-primary);color:#fff;box-shadow:0 0 0 3px #0d948833}.btn-control.playing:hover{background:var(--color-brand-secondary)}.btn-control.paused{background:var(--color-success);color:#fff;box-shadow:0 0 0 3px #16a34a33}.btn-control.paused:hover{background:var(--color-accent-green-dark)}.btn-control.btn-stop{background:var(--color-bg-tertiary);color:var(--color-text-secondary)}.btn-control.btn-stop:hover{background:var(--color-error-bg);color:var(--color-error)}.btn-control.btn-new{width:auto;padding:0 var(--space-4);gap:var(--space-2);font-size:var(--text-sm);font-weight:500;background:var(--color-brand-primary);color:#fff}.btn-control.btn-new:hover{background:var(--color-brand-secondary)}.btn-control.btn-new svg{width:16px;height:16px}.btn-control.with-label{width:auto;padding:0 var(--space-3) 0 var(--space-2);gap:var(--space-1)}.btn-control .btn-label{font-size:var(--text-xs);font-weight:500}.waiting-indicator{display:flex;align-items:center;padding:var(--space-2) var(--space-4);background:var(--color-bg-tertiary);border-radius:var(--radius-md)}.waiting-text{font-size:var(--text-sm);color:var(--color-text-secondary)}.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.paused{border-color:var(--color-warning)}.status-overlay.stopped{border-color:var(--color-error)}.status-overlay.resumable{flex-direction:column;text-align:center;gap:var(--space-2);border-color:var(--color-success)}.status-hint{font-size:var(--text-sm);font-weight:400;color:var(--color-text-secondary);margin-top:var(--space-1);max-width:280px;line-height:1.4}.status-icon{font-size:var(--text-xl);font-weight:700}.status-overlay.paused .status-icon{color:var(--color-warning)}.status-overlay.stopped .status-icon{color:var(--color-success)}.status-action{margin-top:var(--space-2)}.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)}.auto-pause-banner{display:flex;align-items:center;justify-content:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--color-info-bg);border-bottom:1px solid var(--color-info);animation:slideDown .3s ease}.auto-pause-icon{width:20px;height:20px;color:var(--color-info);flex-shrink:0}.auto-pause-icon svg{width:100%;height:100%}.auto-pause-text{font-size:var(--text-sm);color:var(--color-text-primary)}.modal-subtitle{font-size:var(--text-sm);color:var(--color-text-secondary);margin-top:var(--space-1);font-weight:500}.server-config-notice{display:flex;gap:var(--space-3);padding:var(--space-4);background:var(--color-success-bg);border:2px solid var(--color-success);border-radius:var(--radius-lg);margin-bottom:var(--space-4)}.server-config-icon{width:24px;height:24px;color:var(--color-success);flex-shrink:0}.server-config-icon svg{width:100%;height:100%}.server-config-content{flex:1}.server-config-content strong{display:block;font-size:var(--text-sm);color:var(--color-text-primary);margin-bottom:var(--space-1);font-weight:700}.server-config-content p{font-size:var(--text-sm);color:var(--color-text-secondary);margin:0;font-weight:500;line-height:1.5}.key-status-badge.server{background:var(--color-success-bg);color:var(--color-success);border:1px solid var(--color-success)}.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}.api-keys-advanced{margin-bottom:var(--space-4)}.api-keys-advanced-toggle{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);cursor:pointer;font-size:var(--text-sm);font-weight:600;color:var(--color-text-secondary);transition:all .2s ease}.api-keys-advanced-toggle:hover{background:var(--color-bg-secondary);color:var(--color-text-primary)}.api-keys-advanced-toggle svg{width:16px;height:16px;transition:transform .2s ease}.api-keys-advanced[open] .api-keys-advanced-toggle svg{transform:rotate(180deg)}.api-keys-advanced .providers-list{margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--color-border-default)}.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}.providers-list{display:flex;flex-direction:column;gap:var(--space-3)}.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.has-key{border-color:var(--color-success)}.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-details{display:flex;flex-direction:column;gap:2px}.provider-name-row{display:flex;align-items:center;gap:var(--space-2)}.provider-name{font-weight:700;font-size:var(--text-base);color:var(--color-text-primary)}.key-status-badge{display:flex;align-items:center;gap:var(--space-1);padding:2px 8px;background:var(--color-success-bg);color:var(--color-success);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:600}.key-status-badge svg{width:12px;height:12px}.provider-models{font-size:var(--text-sm);color:var(--color-text-secondary);font-weight:500}.provider-expand{width:20px;height:20px;color:var(--color-text-tertiary)}.provider-expand svg{width:100%;height:100%}.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-guide{padding:var(--space-4) 0}.guide-badge{display:inline-block;padding:var(--space-1) var(--space-3);background:var(--color-success-bg);color:var(--color-success);border-radius:var(--radius-full);font-size:var(--text-sm);font-weight:700;margin-bottom:var(--space-3)}.guide-steps{display:flex;flex-direction:column;gap:var(--space-2);margin-bottom:var(--space-3)}.guide-step-link{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3);background:var(--color-bg-primary);border:2px solid var(--color-border-default);border-radius:var(--radius-md);text-decoration:none;transition:all var(--duration-fast)}.guide-step-link:hover{border-color:var(--color-brand-primary);background:var(--color-brand-bg)}.guide-step-link.primary{background:var(--color-brand-bg);border-color:var(--color-brand-primary)}.guide-step{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3)}.step-number{width:24px;height:24px;background:var(--color-brand-primary);color:var(--color-text-inverse);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:var(--text-sm);font-weight:700;flex-shrink:0}.step-text{flex:1;font-size:var(--text-sm);color:var(--color-text-primary);font-weight:600}.step-arrow{width:16px;height:16px;color:var(--color-brand-primary)}.step-arrow svg{width:100%;height:100%}.guide-links{display:flex;gap:var(--space-4);padding-top:var(--space-2);border-top:1px solid var(--color-border-default)}.guide-link{font-size:var(--text-sm);color:var(--color-brand-primary);text-decoration:none;font-weight:600;transition:color var(--duration-fast)}.guide-link:hover{color:var(--color-brand-primary);text-decoration:underline}.api-key-input-group{margin-top:var(--space-3)}.api-key-input-wrapper{display:flex;gap:var(--space-2)}.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-details{text-align:left;margin-bottom:var(--space-6);background:var(--color-bg-tertiary);border-radius:var(--radius-md);padding:var(--space-3)}.error-details summary{cursor:pointer;font-size:var(--text-sm);color:var(--color-text-secondary)}.error-details pre{margin-top:var(--space-3);font-size:var(--text-xs);color:var(--color-error);overflow-x:auto;white-space:pre-wrap}.error-actions{display:flex;gap:var(--space-3);justify-content:center;margin-bottom:var(--space-4)}.error-help{font-size:var(--text-sm);color:var(--color-text-tertiary)}.error-help a{color:var(--color-brand-primary);text-decoration:none}.error-help a:hover{text-decoration:underline}.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}.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:#fff}.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-blocked-notice{padding:6px 10px;font-size:var(--text-xs);color:var(--color-text-tertiary);font-style:italic}.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-tab{display:flex;flex-direction:column;gap:var(--space-4)}.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-example{display:inline-block;margin-top:var(--space-1);padding:var(--space-1) var(--space-2);background:var(--color-accent-teal-bg, rgba(13, 148, 136, .1));border-radius:var(--radius-sm);font-weight:500;color:var(--color-accent-teal, #0d9488)}.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)}.security-notice.personal-keys{background:var(--color-bg-tertiary);border:1px solid var(--color-border-default)}.personal-keys-list{display:flex;flex-direction:column;gap:var(--space-3)}.personal-key-card{background:var(--color-bg-secondary);border:1px solid var(--color-border-default);border-radius:var(--radius-lg);overflow:hidden;transition:all var(--duration-fast)}.personal-key-card.has-saved-key{border-color:var(--color-accent-teal, #0d9488)}.personal-key-header{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3);background:var(--color-bg-primary)}.personal-key-header .provider-color-bar{width:4px;height:32px;border-radius:2px}.personal-key-info{display:flex;align-items:center;gap:var(--space-2);flex:1}.personal-key-info .provider-name{font-weight:600;color:var(--color-text-primary)}.saved-key-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;background:var(--color-accent-teal-bg, rgba(13, 148, 136, .1));color:var(--color-accent-teal, #0d9488);font-size:var(--text-xs);font-weight:500;border-radius:var(--radius-sm)}.saved-key-badge svg{width:12px;height:12px}.no-key-badge{padding:2px 8px;background:var(--color-bg-tertiary);color:var(--color-text-tertiary);font-size:var(--text-xs);border-radius:var(--radius-sm)}.personal-key-body{padding:var(--space-3);padding-top:0}.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{border-left:3px solid var(--color-accent-green)}.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:3px solid var(--color-brand-primary);border-radius:0 var(--radius-md) var(--radius-md) 0;color:var(--color-text-secondary);font-style:italic}.estimate-control .slider-row{display:flex;align-items:center;gap:var(--space-2)}.estimate-control input[type=range]{flex:1}.estimate-control .estimate-input{width:60px;padding:var(--space-1) var(--space-2);border:1px solid var(--color-border-default);border-radius:var(--radius-sm);background:var(--color-bg-secondary);color:var(--color-text-primary);font-size:var(--text-sm);text-align:center}.estimate-control .estimate-input:focus-visible{outline:none;border-color:var(--color-brand-primary)}.estimate-control .estimate-unit{font-size:var(--text-sm);color:var(--color-text-tertiary)}.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}.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}.search-no-results{padding:var(--space-6) var(--space-4);text-align:center;color:var(--color-text-tertiary);font-size:var(--text-sm)}.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)}.export-menu-item{display:flex;align-items:center;gap:var(--space-2);width:100%;padding:var(--space-2) var(--space-3);background:transparent;border:none;font-size:var(--text-sm);color:var(--color-text-primary);text-align:left;cursor:pointer;transition:background var(--duration-fast) var(--ease-default)}.export-menu-item:hover,.export-menu-item.active,.export-menu-item[data-active=true]{background:var(--color-bg-hover)}.export-menu-item:focus{outline:2px solid var(--color-brand-primary);outline-offset:-2px}.export-menu-item svg{width:14px;height:14px;color:var(--color-text-tertiary)}.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)}.api-key-actions{display:flex;gap:var(--space-2);margin-top:var(--space-2)}.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}}.setting-hint{display:block;font-size:var(--text-xs);color:var(--color-text-tertiary);margin-top:var(--space-1);font-style:italic}.stat-item.estimated-cost{border:1px dashed var(--color-border-default);border-radius:var(--radius-md);background:transparent}.stat-item.actual-cost{border:1px solid var(--color-success);border-radius:var(--radius-md);background:var(--color-success-bg)}.stat-item.actual-cost .stat-value,.stat-item.actual-cost .stat-label{color:var(--color-success)}.stat-badge{font-size:10px;font-weight:600;padding:2px 6px;border-radius:var(--radius-full);white-space:nowrap}.stat-badge.estimated{background:var(--color-warning-bg);color:var(--color-warning);border:1px dashed rgba(202,138,4,.3)}.stat-badge.actual{background:var(--color-success-bg);color:var(--color-success);border:1px solid rgba(22,163,74,.3)}.stat-item.cost-stat{min-width:100px}.stat-value-group{display:flex;flex-direction:column;align-items:flex-start;gap:1px;line-height:1.2}.stat-value-krw{font-size:var(--text-sm);font-weight:600;color:var(--color-text-primary)}.stat-value-usd{font-size:10px;color:var(--color-text-tertiary)}.stat-item.actual-cost .stat-value-krw{color:var(--color-success)}.stat-item.actual-cost .stat-value-usd{color:var(--color-success);opacity:.7}.stat-item.estimated-cost .stat-value-krw{color:var(--color-warning)}.stat-item.estimated-cost .stat-value-usd{color:var(--color-warning);opacity:.7}@media (max-width: 480px){.stat-value-group{flex-direction:row;gap:var(--space-2);align-items:center}.stat-value-usd{display:none}.stat-item.cost-stat{min-width:auto}}.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}.safety-settings-section{background:var(--color-bg-secondary);border:1px solid var(--color-border-default);border-radius:var(--radius-lg);padding:var(--space-4);margin-top:var(--space-4)}.safety-settings-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-4)}.safety-header-left{display:flex;align-items:center;gap:var(--space-2)}.safety-header-left svg{width:20px;height:20px;color:var(--color-brand-primary)}.safety-title{font-weight:600;font-size:var(--text-md);color:var(--color-text-primary)}.safety-header-badge{font-size:var(--text-xs);padding:var(--space-1) var(--space-2);background:var(--color-success-bg);color:var(--color-success);border-radius:var(--radius-full);font-weight:500}.safety-visual-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-3);margin-bottom:var(--space-4)}.safety-limit-card{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3);background:var(--color-bg-tertiary);border-radius:var(--radius-md);border:1px solid var(--color-border-subtle)}.safety-limit-icon{font-size:20px;flex-shrink:0}.safety-limit-info{display:flex;flex-direction:column;gap:2px}.safety-limit-value{font-weight:600;font-size:var(--text-md);color:var(--color-text-primary)}.safety-limit-label{font-size:var(--text-xs);color:var(--color-text-tertiary)}.safety-details-inner{border-top:1px solid var(--color-border-subtle);padding-top:var(--space-3);margin-top:var(--space-3)}.safety-details-summary{display:flex;align-items:center;justify-content:space-between;cursor:pointer;padding:var(--space-2) 0;font-size:var(--text-sm);color:var(--color-text-secondary);user-select:none}.safety-details-summary:hover{color:var(--color-text-primary)}.safety-details-inner[open] .summary-arrow{transform:rotate(180deg)}.setting-name-group{display:flex;flex-direction:column;gap:2px}.setting-desc{font-size:var(--text-xs);color:var(--color-text-tertiary)}.safety-notice{display:flex;align-items:flex-start;gap:var(--space-2);padding:var(--space-3);background:var(--color-info-bg);border-radius:var(--radius-md);margin-top:var(--space-3);font-size:var(--text-xs);color:var(--color-text-secondary);line-height:var(--leading-relaxed)}.safety-notice-icon{flex-shrink:0}@media (max-width: 480px){.safety-visual-summary{grid-template-columns:1fr}.safety-limit-card{flex-direction:row;justify-content:flex-start}}.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:#67e8f9}[data-theme=dark] .preparing-indicator .preparing-dot{background:#67e8f9}.recommendation-panel{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--space-5);margin-top:var(--space-4);animation:slideUp .3s var(--ease-out)}.recommendation-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-4)}.recommendation-hint{font-size:var(--text-xs);color:var(--color-text-tertiary);font-weight:400}.recommendation-title{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-lg);font-weight:600;color:var(--color-text-primary)}.recommendation-title svg{width:20px;height:20px;color:var(--color-brand-primary)}.recommendation-edit-btn{background:transparent;border:none;font-size:var(--text-sm);color:var(--color-text-secondary);cursor:pointer;padding:var(--space-1) var(--space-2);border-radius:var(--radius-md);transition:all var(--duration-fast)}.recommendation-edit-btn:hover{color:var(--color-brand-primary);background:var(--color-bg-tertiary)}.recommendation-topic{background:var(--color-bg-tertiary);border-radius:var(--radius-lg);padding:var(--space-3) var(--space-4);margin-bottom:var(--space-3)}.recommendation-topic .topic-label{display:block;font-size:var(--text-xs);color:var(--color-text-tertiary);margin-bottom:var(--space-1)}.recommendation-topic .topic-text{font-size:var(--text-base);color:var(--color-text-primary);font-weight:500}.recommendation-reasoning{display:flex;align-items:flex-start;gap:8px;background:#0d948814;border-left:3px solid var(--color-brand-primary);padding:var(--space-3) var(--space-4);margin-bottom:var(--space-4);border-radius:0 var(--radius-md) var(--radius-md) 0;font-size:var(--text-sm);color:var(--color-text-secondary);line-height:1.5}.recommendation-reasoning svg{width:16px;height:16px;flex-shrink:0;margin-top:2px;color:var(--color-brand-primary)}.recommendation-section{margin-bottom:var(--space-4)}.recommendation-section.compact{margin-bottom:var(--space-3)}.recommendation-section .section-label{font-size:var(--text-sm);font-weight:600;color:var(--color-text-secondary);margin-bottom:var(--space-2)}.recommendation-section .section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-2)}.recommendation-section .section-value{font-size:var(--text-sm);color:var(--color-text-tertiary)}.mode-selector{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3)}.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}.mode-btn .mode-icon{font-size:24px}.mode-btn .mode-name{font-size:var(--text-sm);font-weight:600;color:var(--color-text-primary)}.mode-btn .mode-desc{font-size:var(--text-xs);color:var(--color-text-tertiary);text-align:center}.mode-btn .mode-cost{font-size:10px;font-weight:500;padding:2px 8px;border-radius:100px;background:#0d94881a;color:var(--color-brand-primary);margin-top:var(--space-1)}.mode-btn.active .mode-cost{background:#0d948833}.style-selector{display:flex;flex-direction:column;gap:var(--space-2)}.style-btn{display:flex;flex-direction:column;align-items:flex-start;padding:var(--space-3) var(--space-4);background:var(--color-bg-tertiary);border:2px solid transparent;border-radius:var(--radius-lg);cursor:pointer;transition:all var(--duration-fast);text-align:left}.style-btn:hover{background:var(--color-bg-active)}.style-btn.active{border-color:var(--color-brand-primary);background:#0d948814}.style-btn .style-label{font-size:var(--text-sm);font-weight:600;color:var(--color-text-primary)}.style-btn .style-desc{font-size:var(--text-xs);color:var(--color-text-tertiary);margin-top:2px}.agent-count-control{display:flex;align-items:center;gap:var(--space-2)}.agent-count-control .count-btn{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:var(--color-bg-tertiary);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--text-base);color:var(--color-text-secondary);cursor:pointer;transition:all var(--duration-fast)}.agent-count-control .count-btn:hover:not(:disabled){background:var(--color-bg-active);color:var(--color-text-primary)}.agent-count-control .count-btn:disabled{opacity:.4;cursor:not-allowed}.agent-count-control .count-value{font-size:var(--text-sm);font-weight:600;color:var(--color-text-primary);min-width:36px;text-align:center}.suggested-roles{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-2)}.role-chip{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-3) var(--space-1) var(--space-1);background:var(--color-bg-tertiary);border-radius:100px}.role-chip .role-avatar{width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:var(--text-xs);font-weight:600;color:#fff}.role-chip .role-name{font-size:var(--text-sm);color:var(--color-text-primary)}.suggested-roles.editable{display:flex;flex-direction:column;gap:var(--space-2)}.suggested-roles .roles-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-1)}.suggested-roles .roles-label{font-size:var(--text-sm);font-weight:500;color:var(--color-text-secondary)}.suggested-roles .roles-hint{font-size:var(--text-xs);color:var(--color-text-tertiary)}.suggested-roles .roles-list{display:flex;flex-wrap:wrap;gap:var(--space-2)}.role-chip.editable{cursor:pointer;transition:all .2s ease}.role-chip.editable:hover{background:var(--color-bg-secondary);box-shadow:0 0 0 2px var(--color-primary-light)}.role-chip .role-name.clickable{cursor:pointer}.role-chip .role-input{font-size:var(--text-sm);color:var(--color-text-primary);background:var(--color-bg-primary);border:1px solid var(--color-primary);border-radius:4px;padding:2px 6px;width:120px;outline:none}.role-chip .role-input:focus-visible{box-shadow:0 0 0 2px var(--color-primary-light)}.range-slider{width:100%;height:6px;-webkit-appearance:none;appearance:none;background:var(--color-bg-tertiary);border-radius:3px;outline:none;cursor:pointer}.range-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:18px;height:18px;background:var(--color-brand-primary);border-radius:50%;cursor:pointer;transition:all var(--duration-fast)}.range-slider::-webkit-slider-thumb:hover{transform:scale(1.1);box-shadow:0 0 0 4px #0d948833}.range-slider::-moz-range-thumb{width:18px;height:18px;background:var(--color-brand-primary);border:none;border-radius:50%;cursor:pointer}.inline-model-edit-section{background:var(--color-bg-tertiary);border-radius:var(--radius-lg);padding:var(--space-4);margin-bottom:var(--space-4);animation:slideDown .2s ease-out}.inline-model-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-3)}.inline-model-title{font-size:var(--text-sm);font-weight:600;color:var(--color-text-primary)}.inline-model-close{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)}.inline-model-close:hover{background:var(--color-bg-active);color:var(--color-text-primary)}.inline-model-close svg{width:14px;height:14px}.inline-model-list{display:flex;flex-direction:column;gap:var(--space-2)}.inline-model-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-2);background:var(--color-bg-secondary);border-radius:var(--radius-md)}.inline-model-agent{display:flex;align-items:center;gap:var(--space-2);min-width:80px}.inline-model-name{font-size:var(--text-xs);font-weight:500;color:var(--color-text-secondary)}.inline-model-select{flex:1;padding:var(--space-1) var(--space-2);background:var(--color-bg-primary);border:1px solid var(--color-border-default);border-radius:var(--radius-sm);font-size:var(--text-xs);color:var(--color-text-primary);cursor:pointer}.inline-model-select:focus-visible{outline:none;border-color:var(--color-brand-primary)}.optimize-confirm-overlay{position:fixed;inset:0;background:#00000080;backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:var(--z-modal);animation:fadeIn .2s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.optimize-confirm-popup{background:var(--color-bg-secondary);border-radius:var(--radius-xl);padding:var(--space-8);max-width:400px;width:90%;text-align:center;box-shadow:var(--shadow-xl);animation:scaleIn .2s ease-out}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.popup-icon{width:56px;height:56px;margin:0 auto var(--space-4);background:var(--color-brand-primary);border-radius:50%;display:flex;align-items:center;justify-content:center}.popup-icon svg{width:28px;height:28px;color:#fff}.popup-title{font-size:var(--text-xl);font-weight:700;color:var(--color-text-primary);margin-bottom:var(--space-3)}.popup-description{font-size:var(--text-sm);color:var(--color-text-secondary);line-height:1.6;margin-bottom:var(--space-6)}.popup-credit-note{display:inline-block;margin-top:var(--space-2);font-size:var(--text-xs);color:var(--color-text-tertiary)}.popup-actions{display:flex;gap:var(--space-3)}.popup-btn{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-1);padding:var(--space-4);border-radius:var(--radius-lg);font-size:var(--text-base);font-weight:600;cursor:pointer;transition:all var(--duration-fast)}.popup-btn svg{width:18px;height:18px}.popup-btn.secondary{background:var(--color-bg-tertiary);border:1px solid var(--color-border-default);color:var(--color-text-primary)}.popup-btn.secondary:hover{background:var(--color-bg-active)}.popup-btn.secondary .btn-hint{font-size:var(--text-xs);font-weight:400;color:var(--color-text-tertiary)}.popup-btn.primary{background:var(--color-brand-primary);border:none;color:#fff;box-shadow:0 2px 8px #0d94884d}.popup-btn.primary:hover{background:var(--color-brand-primary);transform:translateY(-1px);box-shadow:0 4px 12px #0d948866}.agent-count-selector{display:flex;gap:var(--space-1)}.agent-count-selector .count-btn{padding:var(--space-1) var(--space-2);background:var(--color-bg-secondary);border:1px solid var(--color-border-default);border-radius:var(--radius-sm);font-size:var(--text-xs);font-weight:500;color:var(--color-text-secondary);cursor:pointer;transition:all var(--duration-fast)}.agent-count-selector .count-btn:hover{background:var(--color-bg-tertiary)}.agent-count-selector .count-btn.active{background:var(--color-brand-primary);border-color:var(--color-brand-primary);color:#fff}.count-fine-control{display:flex;align-items:center;gap:2px;margin-left:var(--space-2);padding-left:var(--space-2);border-left:1px solid var(--color-border-default)}.count-fine-control .count-btn.fine{width:24px;height:24px;padding:0;display:flex;align-items:center;justify-content:center;font-size:var(--text-base);font-weight:600}.count-fine-control .count-btn.fine:disabled{opacity:.4;cursor:not-allowed}.count-fine-control .count-display{min-width:40px;text-align:center;font-size:var(--text-sm);font-weight:600;color:var(--color-text-primary)}.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-actions .action-btn.full-width{width:100%}.recommendation-actions{margin-top:var(--space-5);padding-top:var(--space-4);border-top:1px solid var(--color-border)}.recommendation-actions.horizontal{display:flex;gap:var(--space-3)}.recommendation-actions .action-btn{display:flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-radius:var(--radius-lg);font-size:var(--text-sm);font-weight:600;cursor:pointer;transition:all var(--duration-fast)}.recommendation-actions .action-btn svg{width:16px;height:16px}.recommendation-actions .action-btn.outline{flex:1;background:transparent;border:1px solid var(--color-border-default);color:var(--color-text-secondary);font-size:var(--text-xs)}.recommendation-actions .action-btn.outline:hover{background:var(--color-bg-secondary);border-color:var(--color-text-tertiary);color:var(--color-text-primary)}.recommendation-actions .action-btn.primary{flex:2;background:var(--color-brand-primary);border:none;color:#fff;box-shadow:0 2px 8px #0d94884d;padding:var(--space-4);font-size:var(--text-base);flex-direction:column;gap:var(--space-1)}.recommendation-actions .action-btn.primary .btn-cost{font-size:var(--text-xs);font-weight:400;opacity:.9}.recommendation-actions .action-btn.primary:hover:not(:disabled){background:var(--color-brand-primary);transform:translateY(-1px);box-shadow:0 4px 12px #0d948866}.recommendation-actions .action-btn.primary:disabled{opacity:.5;cursor:not-allowed}.recommendation-actions .start-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-4);background:var(--color-brand-primary);border:none;border-radius:var(--radius-lg);font-size:var(--text-base);font-weight:600;color:#fff;cursor:pointer;transition:all var(--duration-fast)}.recommendation-actions .start-btn:hover:not(:disabled){background:var(--color-brand-hover);transform:translateY(-1px)}.recommendation-actions .start-btn:disabled{opacity:.5;cursor:not-allowed}.recommendation-actions .start-btn svg{width:18px;height:18px}.inline-length-presets{display:flex;gap:var(--space-2);margin-bottom:var(--space-3)}.inline-preset-btn{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;padding:var(--space-2) var(--space-2);background:var(--color-bg-secondary);border:1px solid var(--color-border-default);border-radius:var(--radius-md);cursor:pointer;transition:all var(--duration-fast)}.inline-preset-btn .preset-label{font-size:var(--text-xs);font-weight:600;color:var(--color-text-primary)}.inline-preset-btn .preset-desc{font-size:10px;font-weight:400;color:var(--color-text-tertiary)}.inline-preset-btn:hover{background:var(--color-bg-tertiary);border-color:var(--color-text-tertiary)}.inline-preset-btn.active{background:var(--color-brand-primary);border-color:var(--color-brand-primary)}.inline-preset-btn.active .preset-label,.inline-preset-btn.active .preset-desc{color:#fff}.recommendation-cost-preview{display:flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-3);margin-top:var(--space-4);background:linear-gradient(135deg,#10b9811a,#0596691a);border:1px solid rgba(16,185,129,.2);border-radius:var(--radius-md)}.recommendation-cost-preview .cost-label{font-size:var(--text-xs);color:var(--color-text-secondary)}.recommendation-cost-preview .cost-value{font-size:var(--text-base);font-weight:700;color:var(--color-accent-green-dark)}.recommendation-cost-preview .cost-detail{font-size:var(--text-xs);color:var(--color-text-tertiary)}.recommendation-warning{margin-top:var(--space-3);padding:var(--space-2) var(--space-3);background:var(--color-error-bg);border:1px solid var(--color-error-bg);border-radius:var(--radius-md);font-size:var(--text-xs);color:var(--color-error);text-align:center}.recommendation-warning a{color:var(--color-error);font-weight:600;text-decoration:underline}.recommendation-actions .action-btn.primary .btn-main{display:flex;align-items:center;gap:var(--space-2)}.agent-visual-selector{display:flex;gap:var(--space-2);margin-top:var(--space-2)}.agent-count-btn{flex:1;display:flex;flex-direction:column;align-items:center;gap:var(--space-1);padding:var(--space-2);background:var(--color-bg-secondary);border:1px solid var(--color-border-default);border-radius:var(--radius-md);cursor:pointer;transition:all var(--duration-fast)}.agent-count-btn:hover{background:var(--color-bg-tertiary);border-color:var(--color-text-tertiary)}.agent-count-btn.active{background:#0d94881a;border-color:var(--color-brand-primary)}.agent-count-btn .agent-avatars{display:flex;justify-content:center}.agent-count-btn .mini-avatar{width:20px;height:20px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:600;color:#fff;margin-left:-6px;border:2px solid var(--color-bg-primary)}.agent-count-btn .mini-avatar:first-child{margin-left:0}.agent-count-btn .count-label{font-size:var(--text-xs);font-weight:500;color:var(--color-text-secondary)}.agent-count-btn.active .count-label{color:var(--color-brand-primary);font-weight:600}.section-sublabel{font-size:var(--text-xs);color:var(--color-text-tertiary);font-weight:400}.style-selector-compact{display:flex;gap:var(--space-2);margin-top:var(--space-2)}.style-btn-compact{flex:1;display:flex;align-items:center;justify-content:center;gap:var(--space-1);padding:var(--space-2);background:var(--color-bg-secondary);border:1px solid var(--color-border-default);border-radius:var(--radius-md);cursor:pointer;transition:all var(--duration-fast)}.style-btn-compact:hover{background:var(--color-bg-tertiary)}.style-btn-compact.active{background:var(--color-accent-teal, #0d9488);border-color:var(--color-accent-teal, #0d9488);color:#fff}.style-btn-compact .style-icon{font-size:14px}.style-btn-compact.active .style-icon{color:#fff}.style-btn-compact .style-label{font-size:var(--text-xs);font-weight:500;color:var(--color-text-secondary)}.style-btn-compact.active .style-label{color:#fff;font-weight:600}.roles-details{margin-top:var(--space-3)}.roles-summary{display:flex;justify-content:space-between;align-items:center;padding:var(--space-2) var(--space-3);background:var(--color-bg-secondary);border-radius:var(--radius-md);cursor:pointer;font-size:var(--text-xs);color:var(--color-text-secondary);list-style:none}.roles-summary::-webkit-details-marker{display:none}.roles-summary:before{content:"▶";font-size:8px;margin-right:var(--space-2);transition:transform .2s}.roles-details[open] .roles-summary:before{transform:rotate(90deg)}.roles-summary .roles-preview{font-size:10px;color:var(--color-text-tertiary);max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.roles-details .roles-list{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-2);padding:var(--space-2)}.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}.send-btn.loading{background:var(--color-brand-primary);animation:pulse 1.5s ease-in-out infinite}@media (max-width: 640px){.recommendation-panel{padding:var(--space-4)}.mode-selector{grid-template-columns:1fr}.mode-btn{padding:var(--space-3);flex-direction:row;justify-content:flex-start;gap:var(--space-3)}.mode-btn .mode-icon{font-size:20px}.mode-btn .mode-desc{text-align:left}.style-btn{padding:var(--space-2) var(--space-3)}.role-chip{padding:var(--space-1) var(--space-2) var(--space-1) var(--space-1)}.role-chip .role-avatar{width:20px;height:20px;font-size:10px}.role-chip .role-name{font-size:var(--text-xs)}}@media (max-width: 640px){.setup-title,.setup-subtitle,.section-label,.warning-title{word-wrap:break-word;overflow-wrap:break-word}.btn,.toolbar-btn,.count-btn{min-height:44px;min-width:44px}.setup-container{padding:var(--space-3)}.setup-header{text-align:center;margin-bottom:var(--space-4)}.setup-title{font-size:var(--text-xl)}.setup-subtitle{font-size:var(--text-sm);line-height:1.5}.unified-input-container{padding:var(--space-3)}.unified-textarea{font-size:16px;min-height:100px}.unified-input-toolbar,.toolbar-left,.toolbar-right{flex-wrap:wrap;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}.section-header{flex-direction:column;align-items:flex-start;gap:var(--space-2)}.agent-count-control{width:100%;justify-content:center}.agent-count-control .count-btn{width:44px;height:44px;font-size:var(--text-lg)}.agent-count-control .count-value{min-width:60px;text-align:center}.suggested-roles{justify-content:center}.safety-settings-section{padding:var(--space-3)}.safety-row{flex-direction:column;align-items:flex-start;gap:var(--space-2)}.safety-row .input-group{width:100%}.btn-start{width:100%;padding:var(--space-4);font-size:var(--text-base)}}@media (max-width: 360px){.setup-container{padding:var(--space-2)}.setup-title{font-size:var(--text-lg)}.setup-subtitle{font-size:var(--text-xs)}.mode-btn{padding:var(--space-2)}.mode-btn .mode-icon{font-size:16px}.mode-btn .mode-name{font-size:var(--text-xs)}.mode-btn .mode-desc{display:none}.style-btn{padding:var(--space-2)}.style-btn .style-desc{font-size:10px}.role-chip{font-size:var(--text-xs)}.role-chip .role-avatar{width:18px;height:18px;font-size:9px}.role-chip .role-name{font-size:10px}}@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}.control-btn{min-height:44px;padding:var(--space-2) var(--space-3);font-size:var(--text-sm)}.intervention-input-container{padding:var(--space-2)}.intervention-textarea{font-size:16px;min-height:60px}.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)}.control-btn span{display:none}.control-btn svg{width:20px;height:20px}}.btn:active,.btn-primary:active,.btn-secondary:active,button:active:not(:disabled){transform:scale(.98)}.modal-backdrop,.diff-modal-overlay,.analytics-overlay{transition:opacity .2s var(--ease-default)}@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:.2s}}@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:300px;background:var(--color-bg-primary, #fff);display:flex;align-items:center;justify-content:center;opacity:0;animation:placeholderFadeIn .3s ease .1s forwards}.content-loading-placeholder:after{content:"";width:32px;height:32px;border:3px solid var(--color-border-subtle, #e5e7eb);border-top-color:var(--color-brand-primary, #2563eb);border-radius:50%;animation:placeholderSpin .8s linear infinite}@keyframes placeholderFadeIn{0%{opacity:0}to{opacity:1}}@keyframes placeholderSpin{to{transform:rotate(360deg)}}: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)}.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-duration:2s}}.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{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.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:#0000000d}.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:#ffffff1a;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:#ffffff1a}@media (hover: none){.email-verification-banner-close{min-width:44px;min-height:44px}}@media (prefers-reduced-motion: reduce){.email-verification-banner{animation:none}}.feedback-modal-overlay{position:fixed;inset:0;background:color-mix(in srgb,var(--color-bg-primary) 25%,black);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:var(--z-modal, 500);padding:16px;animation:modalFadeIn .2s ease}.feedback-modal{background:var(--color-bg-secondary, #1f2937);border:1px solid var(--color-border-default, #374151);border-radius:16px;width:100%;max-width:540px;max-height:calc(100vh - 32px);overflow:hidden;display:flex;flex-direction:column;box-shadow:0 20px 60px color-mix(in srgb,black 60%,transparent);animation:modalSlideUp .3s ease;position:relative;z-index:var(--z-base, 1)}.feedback-modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--color-border-default, #e5e7eb)}.feedback-modal-tabs{display:flex;gap:8px}.feedback-tab{padding:8px 16px;border:none;background:transparent;color:var(--color-text-secondary, #6b7280);font-size:14px;font-weight:500;cursor:pointer;border-radius:8px;transition:all .15s ease}.feedback-tab:hover{background:var(--color-bg-hover, #f9fafb)}.feedback-tab.active{background:var(--color-brand-primary, #0d9488);color:var(--color-text-inverse, #ffffff)}.feedback-modal-close{width:32px;height:32px;border:none;background:transparent;color:var(--color-text-secondary, #6b7280);cursor:pointer;border-radius:8px;display:flex;align-items:center;justify-content:center;transition:all .15s ease}.feedback-modal-close:hover{background:var(--color-bg-hover, #f9fafb);color:var(--color-text-primary, #111827)}.feedback-modal-close svg{width:20px;height:20px}.feedback-modal-content{padding:20px;overflow-y:auto;flex:1}.feedback-form{display:flex;flex-direction:column;gap:20px}.feedback-reward-banner{display:flex;align-items:flex-start;gap:12px;padding:14px 16px;background:var(--color-warning-bg, rgba(251, 191, 36, .1));border:1px solid var(--color-warning-border, rgba(251, 191, 36, .3));border-radius:12px}.feedback-reward-banner .reward-icon{font-size:24px;flex-shrink:0}.feedback-reward-banner .reward-text{display:flex;flex-direction:column;gap:2px}.feedback-reward-banner .reward-text strong{font-size:14px;font-weight:600;color:var(--color-text-primary, #111827)}.feedback-reward-banner .reward-text p{font-size:13px;color:var(--color-text-secondary, #6b7280);margin:0}.feedback-reward-banner .reward-details{display:flex;flex-direction:column;gap:4px;margin-top:6px}.feedback-reward-banner .reward-positive{font-size:12px;color:var(--color-success, #059669);margin:0}.feedback-reward-banner .reward-negative{font-size:12px;color:var(--color-error, #dc2626);margin:0}.feedback-reward-banner .reward-tip{font-size:12px;color:var(--color-text-secondary, #6b7280);margin-top:6px;background:var(--color-bg-hover, rgba(255, 255, 255, .5));padding:6px 10px;border-radius:6px}.feedback-reward-banner .reward-highlight{color:var(--color-success, #059669);font-weight:600}.feedback-reward-banner .penalty-highlight{color:var(--color-error, #dc2626);font-weight:600}.feedback-form-section{display:flex;flex-direction:column;gap:8px}.feedback-form-label{font-size:14px;font-weight:600;color:var(--color-text-primary, #111827)}.feedback-form-label .required{color:var(--color-error, #ef4444)}.feedback-type-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:8px}.feedback-type-btn{display:flex;flex-direction:column;align-items:center;gap:4px;padding:12px 8px;border:2px solid var(--color-border-default, #e5e7eb);background:var(--color-bg-secondary, #ffffff);border-radius:12px;cursor:pointer;transition:all .15s ease}.feedback-type-btn:hover{border-color:var(--color-brand-primary, #0d9488);background:var(--color-bg-hover, #f9fafb)}.feedback-type-btn.selected{border-color:var(--color-brand-primary, #0d9488);background:var(--color-brand-bg, rgba(13, 148, 136, .1))}.feedback-type-icon{font-size:.5625rem;font-weight:700;letter-spacing:.5px;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:8px;background:var(--color-bg-tertiary, rgba(255,255,255,.06));border:1px solid var(--color-border-subtle, rgba(255,255,255,.08));color:var(--color-text-secondary, #a0a0a0)}.feedback-type-label{font-size:12px;font-weight:500;color:var(--color-text-secondary, #6b7280);text-align:center}.feedback-type-btn.selected .feedback-type-label{color:var(--color-brand-primary, #0d9488)}.feedback-type-description{font-size:13px;color:var(--color-text-secondary, #6b7280);background:var(--color-bg-hover, #f9fafb);padding:8px 12px;border-radius:8px}.feedback-input,.feedback-textarea{width:100%;padding:12px 14px;border:1px solid var(--color-border-default, #e5e7eb);border-radius:10px;font-size:14px;color:var(--color-text-primary, #111827);background:var(--color-bg-secondary, #ffffff);transition:border-color .15s ease}.feedback-input:focus,.feedback-textarea:focus{outline:none;border-color:var(--color-brand-primary, #0d9488);box-shadow:0 0 0 3px var(--color-brand-bg, rgba(13, 148, 136, .1))}.feedback-input::placeholder,.feedback-textarea::placeholder{color:var(--color-text-tertiary, #9ca3af)}.feedback-textarea{resize:vertical;min-height:120px}.feedback-char-count{font-size:12px;color:var(--color-text-tertiary, #9ca3af);text-align:right}.feedback-context-info{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--color-text-tertiary, #9ca3af);padding:8px 12px;background:var(--color-bg-hover, #f9fafb);border-radius:8px}.feedback-context-info code{font-family:var(--font-mono);font-size:11px;color:var(--color-text-secondary, #6b7280)}.feedback-form-actions{display:flex;justify-content:flex-end;gap:12px;padding-top:8px}.feedback-btn-cancel,.feedback-btn-submit{padding:10px 20px;border-radius:10px;font-size:14px;font-weight:500;cursor:pointer;transition:all .15s ease}.feedback-btn-cancel{border:1px solid var(--color-border-default, #e5e7eb);background:var(--color-bg-secondary, #ffffff);color:var(--color-text-secondary, #6b7280)}.feedback-btn-cancel:hover{background:var(--color-bg-hover, #f9fafb)}.feedback-btn-submit{border:none;background:var(--color-brand-primary, #0d9488);color:var(--color-text-inverse, #ffffff)}.feedback-btn-submit:hover:not(:disabled){background:var(--color-brand-secondary, #4f46e5)}.feedback-btn-submit:disabled{opacity:.5;cursor:not-allowed}.feedback-history{min-height:200px}.feedback-history-loading,.feedback-history-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:200px;color:var(--color-text-secondary, #6b7280)}.feedback-history-empty .emoji{font-size:48px;margin-bottom:12px}.feedback-history-list{display:flex;flex-direction:column;gap:12px}.feedback-history-item{padding:16px;border:1px solid var(--color-border-default, #e5e7eb);border-radius:12px;background:var(--color-bg-secondary, #ffffff)}.feedback-history-item-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.feedback-history-type{font-size:13px;font-weight:500;color:var(--color-text-secondary, #6b7280);display:flex;align-items:center;gap:4px}.feedback-history-status{font-size:11px;font-weight:600;color:var(--color-text-inverse, #ffffff);padding:4px 8px;border-radius:12px}.feedback-history-title{font-size:14px;font-weight:600;color:var(--color-text-primary, #111827);margin-bottom:4px}.feedback-history-date{font-size:12px;color:var(--color-text-tertiary, #9ca3af)}.feedback-history-response{margin-top:12px;padding:12px;background:var(--color-bg-tertiary, #f4f4f5);border-radius:8px;font-size:13px;color:var(--color-text-secondary, #6b7280)}.feedback-history-response strong{color:var(--color-brand-primary, #0d9488)}.feedback-stats-card{background:var(--color-brand-bg, rgba(13, 148, 136, .08));border:1px solid var(--color-brand-border, rgba(13, 148, 136, .2));border-radius:12px;padding:16px;margin-bottom:16px}.feedback-stats-card .stats-header{display:flex;align-items:center;gap:8px;margin-bottom:12px}.feedback-stats-card .stats-icon{font-size:20px}.feedback-stats-card h4{margin:0;font-size:14px;font-weight:600;color:var(--color-text-primary, #111827)}.feedback-stats-card .stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.feedback-stats-card .stat-item{display:flex;flex-direction:column;align-items:center;padding:10px;background:var(--color-bg-secondary, rgba(255, 255, 255, .7));border-radius:8px}.feedback-stats-card .stat-value{font-size:20px;font-weight:700;color:var(--color-text-primary, #111827)}.feedback-stats-card .stat-label{font-size:11px;color:var(--color-text-secondary, #6b7280);margin-top:2px}.feedback-stats-card .stat-item.highlight .stat-value{color:var(--color-brand-primary, #0d9488)}.feedback-stats-card .stat-item.success .stat-value{color:var(--color-success, #059669)}.feedback-reward-badge{margin-top:8px;padding:8px 12px;background:var(--color-success-bg, rgba(16, 185, 129, .1));border:1px solid var(--color-accent-green-border, rgba(16, 185, 129, .2));border-radius:8px;font-size:12px;color:var(--color-success, #059669);font-weight:500}.feedback-status-filter{display:flex;gap:8px;flex-wrap:wrap;padding:12px 0;margin:12px 0;border-bottom:1px solid var(--color-border-light, #f3f4f6)}.feedback-status-filter .filter-btn{padding:6px 12px;border:1px solid var(--color-border-default, #e5e7eb);background:var(--color-bg-primary, #ffffff);color:var(--color-text-secondary, #6b7280);font-size:13px;font-weight:500;border-radius:6px;cursor:pointer;transition:all .15s ease}.feedback-status-filter .filter-btn:hover{background:var(--color-bg-hover, #f9fafb);border-color:var(--color-border-hover, #d1d5db)}.feedback-status-filter .filter-btn.active{background:var(--color-brand-primary, #0d9488);border-color:var(--color-brand-primary, #0d9488);color:var(--color-text-inverse, #ffffff)}.feedback-skeleton{display:flex;flex-direction:column;gap:12px;width:100%;padding:0 4px}.feedback-skeleton .skeleton-item{padding:16px;border:1px solid var(--color-border-default, #e5e7eb);border-radius:12px;background:var(--color-bg-secondary, #ffffff);display:flex;flex-direction:column;gap:10px}.feedback-skeleton .skeleton-line{height:14px;border-radius:6px;background:linear-gradient(90deg,var(--color-bg-tertiary, #f3f4f6) 25%,var(--color-bg-hover, #e5e7eb) 50%,var(--color-bg-tertiary, #f3f4f6) 75%);background-size:200% 100%;animation:skeletonShimmer 1.5s ease-in-out infinite}.feedback-skeleton .skeleton-line.wide{width:80%}.feedback-skeleton .skeleton-line.narrow{width:40%;height:10px}@keyframes skeletonShimmer{0%{background-position:200% 0}to{background-position:-200% 0}}[data-theme=dark] .feedback-skeleton .skeleton-line{background:linear-gradient(90deg,var(--color-bg-tertiary, #1f2937) 25%,var(--color-bg-hover, #374151) 50%,var(--color-bg-tertiary, #1f2937) 75%);background-size:200% 100%;animation:skeletonShimmer 1.5s ease-in-out infinite}.feedback-load-more-btn{width:100%;padding:12px;margin-top:16px;border:1px solid var(--color-border-default, #e5e7eb);background:var(--color-bg-secondary, #f9fafb);color:var(--color-text-primary, #111827);font-size:14px;font-weight:500;border-radius:8px;cursor:pointer;transition:all .15s ease}.feedback-load-more-btn:hover:not(:disabled){background:var(--color-bg-hover, #f3f4f6);border-color:var(--color-border-hover, #d1d5db)}.feedback-load-more-btn:disabled{opacity:.6;cursor:not-allowed}.feedback-cooldown-notice{padding:10px 14px;margin-bottom:16px;background:var(--color-warning-bg, rgba(251, 146, 60, .1));border:1px solid var(--color-warning-border, rgba(251, 146, 60, .3));border-radius:8px;font-size:13px;color:var(--color-warning, #f59e0b);text-align:center;animation:pulse 2s ease-in-out infinite}.feedback-cooldown-notice strong{font-weight:600;color:var(--color-warning-dark, #d97706)}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}[data-theme=dark] .feedback-status-filter{border-bottom-color:var(--color-border-default, #374151)}[data-theme=dark] .feedback-status-filter .filter-btn{background:var(--color-bg-secondary, #1f2937);border-color:var(--color-border-default, #374151);color:var(--color-text-secondary, #9ca3af)}[data-theme=dark] .feedback-status-filter .filter-btn:hover{background:var(--color-bg-hover, #374151);border-color:var(--color-border-hover, #4b5563)}[data-theme=dark] .feedback-load-more-btn{background:var(--color-bg-secondary, #1f2937);border-color:var(--color-border-default, #374151);color:var(--color-text-primary, #f9fafb)}[data-theme=dark] .feedback-load-more-btn:hover{background:var(--color-bg-hover, #374151);border-color:var(--color-border-hover, #4b5563)}@media (max-width: 480px){.feedback-modal{max-height:calc(100vh - 16px);border-radius:12px}.feedback-type-grid{grid-template-columns:repeat(2,1fr)}.feedback-form-actions{flex-direction:column-reverse}.feedback-btn-cancel,.feedback-btn-submit{width:100%;justify-content:center}.feedback-status-filter{gap:6px}.feedback-status-filter .filter-btn{padding:5px 10px;font-size:12px}}.feedback-screenshot-upload{margin-top:8px;display:flex;flex-direction:column;gap:10px;position:relative}.feedback-preview-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(90px,1fr));gap:8px}.feedback-preview-item{position:relative;border-radius:8px;overflow:hidden;border:1px solid var(--color-border-default, #e5e7eb);aspect-ratio:1}.feedback-preview-thumb{width:100%;height:100%;object-fit:cover;display:block;background:var(--color-bg-tertiary, #f9fafb)}.feedback-preview-remove{position:absolute;top:4px;right:4px;width:22px;height:22px;border:none;background:color-mix(in srgb,black 70%,transparent);color:var(--color-text-inverse, #ffffff);border-radius:4px;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .15s ease}.feedback-preview-item:hover .feedback-preview-remove{opacity:1}.feedback-preview-remove:hover{background:color-mix(in srgb,var(--color-error) 90%,transparent)}@media (hover: none){.feedback-preview-remove{opacity:1}}.feedback-upload-label{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;width:100%;padding:20px;border:2px dashed var(--color-border-default, #e5e7eb);border-radius:8px;background:var(--color-bg-tertiary, #f9fafb);cursor:pointer;transition:all .15s ease;font-family:inherit}.feedback-upload-label:hover{border-color:var(--color-brand-primary, #0d9488);background:var(--color-bg-hover, #f3f4f6)}.feedback-upload-label svg{width:28px;height:28px;color:var(--color-text-tertiary, #9ca3af)}.feedback-upload-label span{font-size:13px;color:var(--color-text-secondary, #6b7280)}.feedback-upload-label .upload-hint{font-size:12px;color:var(--color-text-tertiary, #9ca3af)}.feedback-context-separator{color:var(--color-text-tertiary, #d1d5db);margin:0 4px}[data-theme=dark] .feedback-upload-label{background:var(--color-bg-tertiary, #1f2937);border-color:var(--color-border-default, #374151)}[data-theme=dark] .feedback-upload-label:hover{background:var(--color-bg-hover, #111827);border-color:var(--color-brand-primary, #818cf8)}[data-theme=dark] .feedback-preview-item{border-color:var(--color-border-default, #374151)}[data-theme=dark] .feedback-preview-thumb{background:var(--color-bg-tertiary, #1f2937)}@media (prefers-reduced-motion: reduce){.feedback-modal-overlay,.feedback-modal,.feedback-skeleton .skeleton-line,.feedback-cooldown-notice{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, #fbbf24)}[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)}@media (prefers-color-scheme: dark){:root:not([data-theme=light]) .app-sidebar{background:var(--color-bg-secondary);border-left-color:var(--color-border-subtle)}:root:not([data-theme=light]) .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:0 2px 8px #0000001f;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:0 2px 8px #0000004d;border-color:var(--color-border-subtle)}@media (prefers-color-scheme: dark){:root:not([data-theme=light]) .app-sidebar-btn[data-tooltip]:after{background:var(--color-bg-tertiary);color:var(--color-text-primary);box-shadow:0 2px 8px #0000004d;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}}
