:root{--color-black: #000000;--color-white: #ffffff;--bg-primary: #0a0a0f;--bg-secondary: #12121a;--bg-tertiary: #1a1a24;--bg-elevated: #22222e;--bg-hover: #2a2a38;--surface-glass: rgba(255, 255, 255, .03);--surface-glass-hover: rgba(255, 255, 255, .06);--surface-glass-active: rgba(255, 255, 255, .08);--surface-glass-border: rgba(255, 255, 255, .08);--surface-glass-border-hover: rgba(255, 255, 255, .12);--text-primary: rgba(255, 255, 255, .95);--text-secondary: rgba(255, 255, 255, .7);--text-tertiary: rgba(255, 255, 255, .5);--text-muted: rgba(255, 255, 255, .35);--text-disabled: rgba(255, 255, 255, .2);--gradient-brand: linear-gradient(135deg, #6366f1 0%, #8b5cf6 50%, #a855f7 100%);--gradient-brand-subtle: linear-gradient(135deg, rgba(99, 102, 241, .15) 0%, rgba(139, 92, 246, .15) 100%);--gradient-brand-hover: linear-gradient(135deg, #818cf8 0%, #a78bfa 50%, #c084fc 100%);--accent-primary: #8b5cf6;--accent-primary-hover: #a78bfa;--accent-primary-muted: rgba(139, 92, 246, .2);--accent-secondary: #06b6d4;--accent-secondary-hover: #22d3ee;--accent-secondary-muted: rgba(6, 182, 212, .2);--accent-success: #10b981;--accent-success-hover: #34d399;--accent-success-muted: rgba(16, 185, 129, .2);--accent-warning: #f59e0b;--accent-warning-hover: #fbbf24;--accent-warning-muted: rgba(245, 158, 11, .2);--accent-error: #ef4444;--accent-error-hover: #f87171;--accent-error-muted: rgba(239, 68, 68, .2);--ai-claude: #d97706;--ai-gpt: #10b981;--ai-deepseek: #3b82f6;--ai-gemini: #3b82f6;--ai-llama: #8b5cf6;--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono: "JetBrains Mono", "Fira Code", "SF Mono", Consolas, monospace;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 1.875rem;--text-4xl: 2.25rem;--text-5xl: 3rem;--font-normal: 400;--font-medium: 500;--font-semibold: 600;--font-bold: 700;--leading-none: 1;--leading-tight: 1.25;--leading-snug: 1.375;--leading-normal: 1.5;--leading-relaxed: 1.625;--tracking-tight: -.025em;--tracking-normal: 0;--tracking-wide: .025em;--space-0: 0;--space-px: 1px;--space-0-5: .125rem;--space-1: .25rem;--space-1-5: .375rem;--space-2: .5rem;--space-2-5: .625rem;--space-3: .75rem;--space-3-5: .875rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-7: 1.75rem;--space-8: 2rem;--space-9: 2.25rem;--space-10: 2.5rem;--space-12: 3rem;--space-14: 3.5rem;--space-16: 4rem;--space-20: 5rem;--space-24: 6rem;--radius-none: 0;--radius-sm: .25rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--radius-2xl: 1.25rem;--radius-3xl: 1.5rem;--radius-full: 9999px;--shadow-xs: 0 1px 2px rgba(0, 0, 0, .3);--shadow-sm: 0 2px 4px rgba(0, 0, 0, .3), 0 1px 2px rgba(0, 0, 0, .2);--shadow-md: 0 4px 8px rgba(0, 0, 0, .3), 0 2px 4px rgba(0, 0, 0, .2);--shadow-lg: 0 8px 16px rgba(0, 0, 0, .3), 0 4px 8px rgba(0, 0, 0, .2);--shadow-xl: 0 16px 32px rgba(0, 0, 0, .35), 0 8px 16px rgba(0, 0, 0, .2);--shadow-2xl: 0 24px 48px rgba(0, 0, 0, .4), 0 12px 24px rgba(0, 0, 0, .25);--glow-primary: 0 0 20px rgba(139, 92, 246, .3), 0 0 40px rgba(139, 92, 246, .1);--glow-success: 0 0 20px rgba(16, 185, 129, .3);--glow-error: 0 0 20px rgba(239, 68, 68, .3);--shadow-inner: inset 0 2px 4px rgba(0, 0, 0, .3);--shadow-inner-lg: inset 0 4px 8px rgba(0, 0, 0, .4);--glass-blur: 16px;--glass-blur-lg: 24px;--glass-blur-xl: 40px;--glass-bg: rgba(18, 18, 26, .8);--glass-bg-light: rgba(26, 26, 36, .7);--glass-border: 1px solid rgba(255, 255, 255, .08);--duration-instant: 50ms;--duration-fast: .1s;--duration-normal: .2s;--duration-slow: .3s;--duration-slower: .5s;--duration-slowest: .7s;--ease-linear: linear;--ease-in: cubic-bezier(.4, 0, 1, 1);--ease-out: cubic-bezier(0, 0, .2, 1);--ease-in-out: cubic-bezier(.4, 0, .2, 1);--ease-bounce: cubic-bezier(.68, -.55, .265, 1.55);--ease-spring: cubic-bezier(.175, .885, .32, 1.275);--transition-colors: color var(--duration-normal) var(--ease-out), background-color var(--duration-normal) var(--ease-out), border-color var(--duration-normal) var(--ease-out);--transition-transform: transform var(--duration-normal) var(--ease-out);--transition-opacity: opacity var(--duration-normal) var(--ease-out);--transition-shadow: box-shadow var(--duration-normal) var(--ease-out);--transition-all: all var(--duration-normal) var(--ease-out);--z-base: 0;--z-dropdown: 100;--z-sticky: 200;--z-drawer: 300;--z-modal-backdrop: 400;--z-modal: 500;--z-popover: 600;--z-tooltip: 700;--z-toast: 800;--z-max: 9999;--sidebar-width: 280px;--sidebar-width-collapsed: 64px;--header-height: 64px;--input-area-height: 120px;--max-content-width: 900px;--max-chat-width: 768px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes slideInRight{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes bounce{0%,to{transform:translateY(0);animation-timing-function:cubic-bezier(.8,0,1,1)}50%{transform:translateY(-25%);animation-timing-function:cubic-bezier(0,0,.2,1)}}@keyframes glow{0%,to{box-shadow:0 0 5px #8b5cf680,0 0 10px #8b5cf64d,0 0 15px #8b5cf61a}50%{box-shadow:0 0 10px #8b5cf699,0 0 20px #8b5cf666,0 0 30px #8b5cf633}}@keyframes typingDot{0%,60%,to{transform:translateY(0);opacity:.6}30%{transform:translateY(-4px);opacity:1}}.animate-fade-in{animation:fadeIn var(--duration-normal) var(--ease-out)}.animate-fade-in-up{animation:fadeInUp var(--duration-slow) var(--ease-out)}.animate-fade-in-down{animation:fadeInDown var(--duration-slow) var(--ease-out)}.animate-scale-in{animation:scaleIn var(--duration-slow) var(--ease-spring)}.animate-slide-in-right{animation:slideInRight var(--duration-slow) var(--ease-out)}.animate-slide-in-left{animation:slideInLeft var(--duration-slow) var(--ease-out)}.animate-pulse{animation:pulse 2s var(--ease-in-out) infinite}.animate-shimmer{background:linear-gradient(90deg,var(--bg-tertiary) 0%,var(--bg-elevated) 50%,var(--bg-tertiary) 100%);background-size:200% 100%;animation:shimmer 1.5s infinite}.animate-spin{animation:spin 1s linear infinite}.animate-glow{animation:glow 2s ease-in-out infinite}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;scroll-behavior:smooth}html,body{height:100%}body{font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--leading-normal);color:var(--text-primary);background-color:var(--bg-primary);overflow-x:hidden}ul,ol{list-style:none}button{font-family:inherit;font-size:inherit;line-height:inherit;color:inherit;background:transparent;border:none;cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}input,textarea,select{font-family:inherit;font-size:inherit;line-height:inherit;color:inherit;background:transparent;border:none;outline:none}input::placeholder,textarea::placeholder{color:var(--text-muted)}a{color:inherit;text-decoration:none}img,svg,video,canvas{display:block;max-width:100%;height:auto}table{border-collapse:collapse;border-spacing:0}fieldset{border:none}input,button,textarea,select{font:inherit}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}h1,h2,h3,h4,h5,h6{font-weight:var(--font-semibold);line-height:var(--leading-tight);letter-spacing:var(--tracking-tight);color:var(--text-primary)}h1{font-size:var(--text-4xl)}h2{font-size:var(--text-3xl)}h3{font-size:var(--text-2xl)}h4{font-size:var(--text-xl)}h5{font-size:var(--text-lg)}h6{font-size:var(--text-base)}p{color:var(--text-secondary)}small{font-size:var(--text-sm)}strong,b{font-weight:var(--font-semibold)}em,i{font-style:italic}code,kbd,pre,samp{font-family:var(--font-mono)}code{font-size:.9em;padding:var(--space-0-5) var(--space-1);background:var(--bg-tertiary);border-radius:var(--radius-sm)}pre{padding:var(--space-4);background:var(--bg-secondary);border-radius:var(--radius-lg);overflow-x:auto}pre code{padding:0;background:transparent;border-radius:0}blockquote{padding-left:var(--space-4);border-left:3px solid var(--accent-primary);color:var(--text-secondary);font-style:italic}hr{border:none;height:1px;background:var(--surface-glass-border);margin:var(--space-6) 0}::selection{background:var(--accent-primary-muted);color:var(--text-primary)}:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-secondary)}::-webkit-scrollbar-thumb{background:var(--bg-elevated);border-radius:var(--radius-full);border:2px solid var(--bg-secondary)}::-webkit-scrollbar-thumb:hover{background:var(--bg-hover)}*{scrollbar-width:thin;scrollbar-color:var(--bg-elevated) var(--bg-secondary)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.glass{background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border:var(--glass-border)}.glass-light{background:var(--glass-bg-light);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border:var(--glass-border)}.gradient-text{background:var(--gradient-brand);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.line-clamp-2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.line-clamp-3{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.flex{display:flex}.flex-col{flex-direction:column}.flex-center{display:flex;align-items:center;justify-content:center}.flex-between{display:flex;align-items:center;justify-content:space-between}.grid{display:grid}.gap-1{gap:var(--space-1)}.gap-2{gap:var(--space-2)}.gap-3{gap:var(--space-3)}.gap-4{gap:var(--space-4)}.gap-6{gap:var(--space-6)}.gap-8{gap:var(--space-8)}.p-2{padding:var(--space-2)}.p-3{padding:var(--space-3)}.p-4{padding:var(--space-4)}.p-6{padding:var(--space-6)}.px-2{padding-left:var(--space-2);padding-right:var(--space-2)}.px-3{padding-left:var(--space-3);padding-right:var(--space-3)}.px-4{padding-left:var(--space-4);padding-right:var(--space-4)}.px-6{padding-left:var(--space-6);padding-right:var(--space-6)}.py-2{padding-top:var(--space-2);padding-bottom:var(--space-2)}.py-3{padding-top:var(--space-3);padding-bottom:var(--space-3)}.py-4{padding-top:var(--space-4);padding-bottom:var(--space-4)}.m-auto{margin:auto}.mx-auto{margin-left:auto;margin-right:auto}.text-center{text-align:center}.text-sm{font-size:var(--text-sm)}.text-xs{font-size:var(--text-xs)}.text-muted{color:var(--text-muted)}.text-secondary{color:var(--text-secondary)}.rounded{border-radius:var(--radius-md)}.rounded-lg{border-radius:var(--radius-lg)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-full{border-radius:var(--radius-full)}.transition{transition:var(--transition-all)}.transition-colors{transition:var(--transition-colors)}.transition-transform{transition:var(--transition-transform)}#app{display:flex;flex-direction:column;height:100vh;height:100dvh;overflow:hidden;position:relative;background:var(--bg-primary)}.app-background{position:fixed;inset:0;z-index:-1;overflow:hidden;pointer-events:none}.app-background:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(ellipse at 30% 20%,rgba(139,92,246,.08) 0%,transparent 50%),radial-gradient(ellipse at 70% 80%,rgba(6,182,212,.06) 0%,transparent 50%),radial-gradient(ellipse at 50% 50%,rgba(99,102,241,.04) 0%,transparent 70%);animation:backgroundShift 30s ease-in-out infinite}@keyframes backgroundShift{0%,to{transform:translate(0) rotate(0)}33%{transform:translate(2%,1%) rotate(1deg)}66%{transform:translate(-1%,2%) rotate(-1deg)}}.app-layout{display:flex;flex:1;overflow:hidden;position:relative}.sidebar{position:fixed;top:0;left:0;bottom:0;width:var(--sidebar-width);background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur-lg));-webkit-backdrop-filter:blur(var(--glass-blur-lg));border-right:1px solid var(--surface-glass-border);display:flex;flex-direction:column;z-index:var(--z-drawer);transform:translate(-100%);transition:transform var(--duration-slow) var(--ease-out)}.sidebar.open{transform:translate(0)}.sidebar-backdrop{position:fixed;inset:0;background:#0009;backdrop-filter:blur(4px);z-index:calc(var(--z-drawer) - 1);opacity:0;visibility:hidden;transition:opacity var(--duration-slow) var(--ease-out),visibility var(--duration-slow) var(--ease-out)}.sidebar-backdrop.visible{opacity:1;visibility:visible}.sidebar-header{padding:var(--space-4) var(--space-4);border-bottom:1px solid var(--surface-glass-border);display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);min-height:var(--header-height)}.sidebar-logo{display:flex;align-items:center;gap:var(--space-3)}.sidebar-logo-icon{width:32px;height:32px;border-radius:var(--radius-lg);background:var(--gradient-brand);display:flex;align-items:center;justify-content:center;box-shadow:var(--glow-primary)}.sidebar-logo-text{font-size:var(--text-lg);font-weight:var(--font-bold);background:var(--gradient-brand);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:var(--tracking-tight)}.new-chat-btn{width:auto;padding:var(--space-3) var(--space-4);margin:var(--space-4);border-radius:var(--radius-lg);background:var(--gradient-brand-subtle);border:1px solid var(--surface-glass-border);color:var(--text-primary);font-weight:var(--font-medium);display:flex;align-items:center;justify-content:center;gap:var(--space-2);transition:var(--transition-all)}.new-chat-btn:hover{background:var(--gradient-brand);border-color:var(--accent-primary);box-shadow:var(--glow-primary)}.sidebar-content{flex:1;overflow-y:auto;padding:var(--space-2)}.conversation-list{display:flex;flex-direction:column;gap:var(--space-1)}.conversation-item{padding:var(--space-3) var(--space-4);border-radius:var(--radius-lg);cursor:pointer;transition:var(--transition-colors);display:flex;align-items:center;gap:var(--space-3)}.conversation-item:hover{background:var(--surface-glass-hover)}.conversation-item.active{background:var(--surface-glass-active);border:1px solid var(--surface-glass-border)}.conversation-title{flex:1;font-size:var(--text-sm);color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.conversation-item.active .conversation-title{color:var(--text-primary)}.sidebar-footer{padding:var(--space-4);border-top:1px solid var(--surface-glass-border)}.main-content{flex:1;display:flex;flex-direction:column;overflow:hidden;min-width:0}.header{height:var(--header-height);min-height:var(--header-height);padding:0 var(--space-4);display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border-bottom:1px solid var(--surface-glass-border);position:relative;z-index:var(--z-sticky)}.header-left{display:flex;align-items:center;gap:var(--space-3)}.header-center{flex:1;display:flex;align-items:center;justify-content:center}.header-right{display:flex;align-items:center;gap:var(--space-2)}.menu-btn{width:40px;height:40px;border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;transition:var(--transition-colors);color:var(--text-secondary)}.menu-btn:hover{background:var(--surface-glass-hover);color:var(--text-primary)}.parallel-toggle{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-radius:var(--radius-full);background:var(--surface-glass);border:1px solid var(--surface-glass-border);font-size:var(--text-sm);color:var(--text-secondary);transition:var(--transition-all);cursor:pointer}.parallel-toggle:hover{background:var(--surface-glass-hover);border-color:var(--surface-glass-border-hover)}.parallel-toggle.active{background:var(--accent-primary-muted);border-color:var(--accent-primary);color:var(--text-primary)}.parallel-toggle-indicator{width:8px;height:8px;border-radius:var(--radius-full);background:var(--text-muted);transition:var(--transition-colors)}.parallel-toggle.active .parallel-toggle-indicator{background:var(--accent-success);box-shadow:0 0 8px var(--accent-success)}.tab-bar{display:flex;gap:var(--space-1);padding:var(--space-2) var(--space-4);border-bottom:1px solid var(--border-primary);overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none;flex-shrink:0}.tab-bar::-webkit-scrollbar{display:none}.tab-btn{padding:var(--space-2) var(--space-3);border:none;background:transparent;color:var(--text-muted);font-size:var(--text-sm);cursor:pointer;border-radius:var(--radius-md);white-space:nowrap;transition:all .15s ease}.tab-btn:hover{background:var(--bg-tertiary);color:var(--text-secondary)}.tab-btn.active{background:var(--bg-tertiary);color:var(--text-primary);border-bottom:2px solid var(--accent-primary)}.chat-area{flex:1;overflow-y:auto;overflow-x:hidden;padding:var(--space-4);display:flex;flex-direction:column}.chat-container{width:100%;max-width:var(--max-chat-width);margin:0 auto;display:flex;flex-direction:column;gap:var(--space-6)}.message{display:flex;gap:var(--space-3);animation:fadeInUp var(--duration-slow) var(--ease-out)}.message-avatar{width:36px;height:36px;border-radius:var(--radius-lg);flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:var(--text-sm);font-weight:var(--font-semibold)}.message-avatar.user{background:var(--gradient-brand)}.message-avatar.assistant{background:var(--bg-tertiary);border:1px solid var(--surface-glass-border)}.message-content{flex:1;min-width:0}.message-bubble{padding:var(--space-4);border-radius:var(--radius-xl);background:var(--surface-glass);border:1px solid var(--surface-glass-border);color:var(--text-primary);line-height:var(--leading-relaxed)}.message.user .message-bubble{background:var(--gradient-brand-subtle);border-color:#8b5cf633}.message-meta{display:flex;align-items:center;gap:var(--space-2);margin-top:var(--space-2);font-size:var(--text-xs);color:var(--text-muted)}.parallel-responses{display:grid;gap:var(--space-4);grid-template-columns:1fr}.parallel-response{border-radius:var(--radius-xl);background:var(--surface-glass);border:1px solid var(--surface-glass-border);overflow:hidden;animation:scaleIn var(--duration-slow) var(--ease-spring)}.parallel-response-header{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--surface-glass-border);display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);font-weight:var(--font-medium)}.parallel-response-indicator{width:8px;height:8px;border-radius:var(--radius-full)}.parallel-response-content{padding:var(--space-4);color:var(--text-primary);line-height:var(--leading-relaxed)}.empty-state{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:var(--space-8);gap:var(--space-4)}.empty-state-icon{width:80px;height:80px;border-radius:var(--radius-2xl);background:var(--gradient-brand-subtle);display:flex;align-items:center;justify-content:center;margin-bottom:var(--space-4)}.empty-state-title{font-size:var(--text-2xl);font-weight:var(--font-semibold);color:var(--text-primary)}.empty-state-description{font-size:var(--text-base);color:var(--text-secondary);max-width:400px}.input-area{padding:var(--space-4);background:linear-gradient(to top,var(--bg-primary) 0%,var(--bg-primary) 60%,transparent 100%);position:relative}.input-container{width:100%;max-width:var(--max-chat-width);margin:0 auto}.input-wrapper{background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--surface-glass-border);border-radius:var(--radius-2xl);padding:var(--space-3);transition:var(--transition-all);display:flex;flex-direction:column;gap:var(--space-3)}.input-wrapper:focus-within{border-color:var(--accent-primary);box-shadow:0 0 0 3px var(--accent-primary-muted)}.input-row{display:flex;align-items:flex-end;gap:var(--space-3)}.input-field{flex:1;min-height:24px;max-height:200px;padding:var(--space-2) var(--space-3);background:transparent;color:var(--text-primary);font-size:var(--text-base);line-height:var(--leading-normal);resize:none;overflow-y:auto}.input-field::placeholder{color:var(--text-muted)}.send-btn{width:44px;height:44px;border-radius:var(--radius-xl);background:var(--gradient-brand);color:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:var(--transition-all);box-shadow:var(--shadow-md)}.send-btn:hover:not(:disabled){background:var(--gradient-brand-hover);box-shadow:var(--glow-primary);transform:scale(1.05)}.send-btn:active:not(:disabled){transform:scale(.98)}.send-btn:disabled{opacity:.5;cursor:not-allowed}.model-chips{display:flex;gap:var(--space-2);flex-wrap:wrap;padding-top:var(--space-2);border-top:1px solid var(--surface-glass-border)}.model-chip{padding:var(--space-1-5) var(--space-3);border-radius:var(--radius-full);background:var(--surface-glass);border:1px solid var(--surface-glass-border);font-size:var(--text-xs);font-weight:var(--font-medium);color:var(--text-secondary);display:flex;align-items:center;gap:var(--space-1-5);cursor:pointer;transition:var(--transition-all)}.model-chip:hover{background:var(--surface-glass-hover);border-color:var(--surface-glass-border-hover)}.model-chip.selected{border-color:var(--accent-primary);background:var(--accent-primary-muted);color:var(--text-primary)}.model-chip-dot{width:6px;height:6px;border-radius:var(--radius-full)}@media(min-width:768px){.sidebar{position:relative;transform:translate(0);transition:width var(--duration-slow) var(--ease-out)}.sidebar:not(.open){width:0;border-right:none;overflow:hidden}.sidebar.open{width:var(--sidebar-width)}.sidebar-backdrop{display:none}.chat-area,.input-area{padding:var(--space-6)}.parallel-responses{grid-template-columns:repeat(2,1fr)}}@media(min-width:1024px){.sidebar.open{width:var(--sidebar-width)}.sidebar.collapsed{width:var(--sidebar-width-collapsed)}.sidebar.collapsed .sidebar-logo-text,.sidebar.collapsed .conversation-title,.sidebar.collapsed .new-chat-btn span{display:none}.chat-area{padding:var(--space-8)}.input-area{padding:var(--space-8);padding-top:var(--space-4)}}@media(min-width:1280px){.parallel-responses{grid-template-columns:repeat(2,1fr)}}.typing-indicator{display:flex;align-items:center;gap:var(--space-1);padding:var(--space-3)}.typing-dot{width:8px;height:8px;border-radius:var(--radius-full);background:var(--text-muted);animation:typingDot 1.4s ease-in-out infinite}.typing-dot:nth-child(2){animation-delay:.2s}.typing-dot:nth-child(3){animation-delay:.4s}.skeleton{background:linear-gradient(90deg,var(--bg-tertiary) 0%,var(--bg-elevated) 50%,var(--bg-tertiary) 100%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:var(--radius-md)}.skeleton-text{height:1em;margin-bottom:var(--space-2)}.skeleton-text:last-child{width:60%}.settings-overlay{position:fixed;inset:0;z-index:var(--z-modal);background:#0009;backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;padding:var(--space-4);animation:fadeIn var(--duration-fast) var(--ease-out)}.settings-panel{width:100%;max-width:560px;max-height:85vh;background:var(--bg-secondary);border:1px solid var(--surface-glass-border);border-radius:var(--radius-2xl);display:flex;flex-direction:column;overflow:hidden;animation:scaleIn var(--duration-normal) var(--ease-spring)}.settings-header{padding:var(--space-5) var(--space-6);border-bottom:1px solid var(--surface-glass-border);display:flex;align-items:center;justify-content:space-between}.settings-header h2{font-size:var(--text-xl);font-weight:var(--font-semibold)}.settings-body{flex:1;overflow-y:auto;padding:var(--space-6);display:flex;flex-direction:column;gap:var(--space-8)}.settings-section h3{font-size:var(--text-base);font-weight:var(--font-semibold);margin-bottom:var(--space-4);color:var(--text-primary)}.settings-hint{font-size:var(--text-xs);color:var(--text-muted);margin-bottom:var(--space-4);margin-top:calc(-1 * var(--space-2))}.settings-field{margin-bottom:var(--space-4)}.settings-field label{display:block;font-size:var(--text-sm);color:var(--text-secondary);margin-bottom:var(--space-2)}.settings-input,.settings-select{width:100%;padding:var(--space-2-5) var(--space-3);background:var(--bg-tertiary);border:1px solid var(--surface-glass-border);border-radius:var(--radius-lg);color:var(--text-primary);font-size:var(--text-sm);transition:var(--transition-colors)}.settings-input:focus,.settings-select:focus{border-color:var(--accent-primary);outline:none;box-shadow:0 0 0 3px var(--accent-primary-muted)}.settings-select{cursor:pointer;appearance:auto}.api-key-input-row{display:flex;gap:var(--space-2)}.api-key-input-row .settings-input{flex:1}.settings-btn-sm{padding:var(--space-2) var(--space-3);border-radius:var(--radius-lg);background:var(--surface-glass);border:1px solid var(--surface-glass-border);color:var(--text-secondary);font-size:var(--text-xs);font-weight:var(--font-medium);cursor:pointer;transition:var(--transition-colors);white-space:nowrap}.settings-btn-sm:hover{background:var(--surface-glass-hover);color:var(--text-primary)}.settings-link{font-size:var(--text-xs);color:var(--accent-primary);text-decoration:none;margin-top:var(--space-1);display:inline-block}.settings-link:hover{color:var(--accent-primary-hover);text-decoration:underline}.settings-range-row{display:flex;align-items:center;gap:var(--space-3)}.settings-range-row input[type=range]{flex:1;accent-color:var(--accent-primary);height:4px}.settings-range-value{font-size:var(--text-sm);color:var(--text-secondary);min-width:40px;text-align:right;font-variant-numeric:tabular-nums}.settings-toggle-label{display:flex!important;align-items:center;justify-content:space-between;cursor:pointer}.settings-toggle-label input[type=checkbox]{position:absolute;opacity:0;width:0;height:0}.settings-toggle-switch{width:44px;height:24px;border-radius:var(--radius-full);background:var(--bg-hover);position:relative;transition:var(--transition-colors);flex-shrink:0}.settings-toggle-switch:after{content:"";position:absolute;top:2px;left:2px;width:20px;height:20px;border-radius:var(--radius-full);background:#fff;transition:transform var(--duration-fast) var(--ease-out)}.settings-toggle-label input:checked+.settings-toggle-switch{background:var(--accent-primary)}.settings-toggle-label input:checked+.settings-toggle-switch:after{transform:translate(20px)}.provider-config{background:var(--bg-tertiary);border:1px solid var(--surface-glass-border);border-radius:var(--radius-xl);overflow:hidden;margin-bottom:var(--space-3)}.provider-config-header{padding:var(--space-3) var(--space-4);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--surface-glass-border)}.provider-name{font-weight:var(--font-medium);font-size:var(--text-sm)}.provider-status{font-size:var(--text-xs);padding:var(--space-1) var(--space-2);border-radius:var(--radius-full)}.provider-status.configured{background:#10b98126;color:var(--accent-success)}.provider-status.unconfigured{background:#ffffff0d;color:var(--text-muted)}.provider-config-body{padding:var(--space-4)}.settings-actions{display:flex;gap:var(--space-3);flex-wrap:wrap}.settings-btn{padding:var(--space-2-5) var(--space-4);border-radius:var(--radius-lg);background:var(--surface-glass);border:1px solid var(--surface-glass-border);color:var(--text-secondary);font-size:var(--text-sm);font-weight:var(--font-medium);cursor:pointer;transition:var(--transition-all)}.settings-btn:hover{background:var(--surface-glass-hover);color:var(--text-primary)}.settings-btn.danger{color:var(--accent-error);border-color:#ef444433}.settings-btn.danger:hover{background:#ef44441a;border-color:var(--accent-error)}.markdown-body h2,.markdown-body h3,.markdown-body h4{margin-top:var(--space-4);margin-bottom:var(--space-2);font-weight:var(--font-semibold)}.markdown-body h2{font-size:var(--text-lg)}.markdown-body h3{font-size:var(--text-base)}.markdown-body h4{font-size:var(--text-sm)}.markdown-body p{margin-bottom:var(--space-3);line-height:var(--leading-relaxed)}.markdown-body p:last-child{margin-bottom:0}.markdown-body ul,.markdown-body ol{padding-left:var(--space-5);margin-bottom:var(--space-3)}.markdown-body li{margin-bottom:var(--space-1);line-height:var(--leading-relaxed)}.markdown-body blockquote{border-left:3px solid var(--accent-primary);padding-left:var(--space-4);color:var(--text-secondary);margin:var(--space-3) 0}.markdown-body hr{border:none;border-top:1px solid var(--surface-glass-border);margin:var(--space-4) 0}.markdown-body a{color:var(--accent-primary);text-decoration:none}.markdown-body a:hover{text-decoration:underline}.markdown-body strong{font-weight:var(--font-semibold);color:var(--text-primary)}.code-block{position:relative;margin:var(--space-3) 0;border-radius:var(--radius-lg);background:var(--bg-primary);border:1px solid var(--surface-glass-border);overflow:hidden}.code-block pre{padding:var(--space-4);overflow-x:auto;margin:0}.code-block code{font-family:var(--font-mono);font-size:var(--text-sm);line-height:var(--leading-relaxed);color:var(--text-primary)}.code-lang{position:absolute;top:var(--space-2);left:var(--space-3);font-size:var(--text-xs);color:var(--text-muted);font-family:var(--font-mono);text-transform:uppercase}.code-copy-btn{position:absolute;top:var(--space-2);right:var(--space-2);padding:var(--space-1) var(--space-2);border-radius:var(--radius-md);background:var(--surface-glass);border:1px solid var(--surface-glass-border);color:var(--text-muted);font-size:var(--text-xs);cursor:pointer;opacity:0;transition:var(--transition-all)}.code-block:hover .code-copy-btn{opacity:1}.code-copy-btn:hover{background:var(--surface-glass-hover);color:var(--text-primary)}.inline-code{padding:2px 6px;border-radius:var(--radius-sm);background:var(--bg-tertiary);font-family:var(--font-mono);font-size:.9em;color:var(--accent-primary-hover)}.cursor-blink{display:inline-block;width:2px;height:1.1em;background:var(--accent-primary);vertical-align:text-bottom;animation:cursorBlink 1s step-end infinite;margin-left:2px}@keyframes cursorBlink{0%,to{opacity:1}50%{opacity:0}}.streaming-dot{width:8px;height:8px;border-radius:var(--radius-full);background:var(--accent-success);animation:pulse 1.5s ease-in-out infinite}.active-provider{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-xs);color:var(--text-muted);padding-top:var(--space-2)}.provider-dot{width:6px;height:6px;border-radius:var(--radius-full)}.provider-dot.configured{background:var(--accent-success)}.provider-dot.unconfigured{background:var(--accent-warning)}.provider-model-tag{color:var(--text-tertiary);font-family:var(--font-mono);font-size:var(--text-xs)}.provider-select-inline,.model-select-inline{background:transparent;border:none;color:var(--text-muted);font-size:var(--text-xs);font-family:var(--font-mono);cursor:pointer;padding:2px 4px;border-radius:var(--radius-sm);outline:none;appearance:none;-webkit-appearance:none}.provider-select-inline:hover,.model-select-inline:hover{background:var(--bg-tertiary);color:var(--text-secondary)}.provider-select-inline:focus,.model-select-inline:focus{background:var(--bg-tertiary);color:var(--text-primary)}.provider-select-inline option,.model-select-inline option{background:var(--bg-secondary);color:var(--text-primary)}.model-select-inline{max-width:220px}.settings-link-inline{color:var(--accent-primary);text-decoration:none;cursor:pointer}.settings-link-inline:hover{text-decoration:underline}.quick-actions{display:flex;flex-wrap:wrap;gap:var(--space-3);justify-content:center;margin-top:var(--space-4)}.quick-action-btn{padding:var(--space-3) var(--space-4);border-radius:var(--radius-xl);background:var(--surface-glass);border:1px solid var(--surface-glass-border);color:var(--text-secondary);font-size:var(--text-sm);cursor:pointer;transition:var(--transition-all)}.quick-action-btn:hover{background:var(--surface-glass-hover);border-color:var(--accent-primary);color:var(--text-primary);transform:translateY(-1px)}.conversation-delete{opacity:0;padding:var(--space-1);border-radius:var(--radius-md);color:var(--text-muted);transition:var(--transition-all);flex-shrink:0}.conversation-item:hover .conversation-delete{opacity:1}.conversation-delete:hover{color:var(--accent-error);background:#ef44441a}.parallel-response-card{border-radius:var(--radius-xl);background:var(--surface-glass);border:1px solid var(--surface-glass-border);overflow:hidden;animation:fadeInUp var(--duration-slow) var(--ease-out)}.parallel-response-card.streaming{border-color:var(--accent-primary-muted)}.pick-winner-btn{margin-left:auto;padding:var(--space-1) var(--space-2-5);border-radius:var(--radius-full);background:#10b9811a;border:1px solid rgba(16,185,129,.2);color:var(--accent-success);font-size:var(--text-xs);font-weight:var(--font-medium);cursor:pointer;transition:var(--transition-all);opacity:0}.parallel-response-card:hover .pick-winner-btn{opacity:1}.pick-winner-btn:hover{background:#10b98133;border-color:var(--accent-success)}.pick-winner-btn:disabled{opacity:1;background:var(--accent-success);color:#fff}.parallel-actions{display:flex;justify-content:center;padding:var(--space-2) 0}.parallel-action-btn{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2-5) var(--space-4);border-radius:var(--radius-full);background:var(--gradient-brand-subtle);border:1px solid var(--surface-glass-border);color:var(--text-secondary);font-size:var(--text-sm);font-weight:var(--font-medium);cursor:pointer;transition:var(--transition-all)}.parallel-action-btn:hover{background:var(--gradient-brand);color:#fff;border-color:var(--accent-primary);box-shadow:var(--glow-primary)}.parallel-response-header{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--surface-glass-border);display:flex;align-items:center;gap:var(--space-2)}.parallel-response-card .message-body{padding:var(--space-4)}.model-badge{padding:var(--space-1) var(--space-2-5);border-radius:var(--radius-full);background:var(--surface-glass-active);font-size:var(--text-xs);font-weight:var(--font-medium);color:var(--text-secondary)}.model-badge-sm{font-size:var(--text-xs);color:var(--text-muted);font-weight:var(--font-medium)}.error-badge{font-size:var(--text-xs);color:var(--accent-error);font-weight:var(--font-medium)}.stop-btn{background:var(--accent-error)!important}.stop-btn:hover:not(:disabled){background:#dc2626!important;box-shadow:0 0 20px #ef44444d!important}.message.error .message-bubble{border-color:#ef444433;background:#ef44440d}.voice-indicator{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-radius:var(--radius-full);font-size:var(--text-xs);color:var(--text-secondary)}.voice-btn{width:40px;height:40px;border-radius:var(--radius-xl);display:flex;align-items:center;justify-content:center;color:var(--text-muted);transition:var(--transition-all);flex-shrink:0}.voice-btn:hover{color:var(--text-primary);background:var(--surface-glass-hover)}.voice-btn.recording{color:var(--accent-error);background:#ef44441a;animation:pulse 1.5s ease-in-out infinite}.voice-indicator.recording{background:#ef44441a;color:var(--accent-error)}.voice-indicator.recording .voice-dot{background:var(--accent-error);animation:pulse 1s ease-in-out infinite}.voice-dot{width:8px;height:8px;border-radius:var(--radius-full);background:var(--text-muted)}.canvas-container{margin:var(--space-3) 0;border-radius:var(--radius-xl);border:1px solid var(--surface-glass-border);overflow:hidden;background:var(--bg-tertiary)}.canvas-header{padding:var(--space-2-5) var(--space-4);background:var(--bg-secondary);border-bottom:1px solid var(--surface-glass-border);display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.canvas-title{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-secondary);display:flex;align-items:center;gap:var(--space-2)}.canvas-actions{display:flex;gap:var(--space-1)}.canvas-action-btn{padding:var(--space-1) var(--space-2);border-radius:var(--radius-md);font-size:var(--text-xs);color:var(--text-muted);cursor:pointer;transition:var(--transition-colors)}.canvas-action-btn:hover{background:var(--surface-glass-hover);color:var(--text-primary)}.canvas-body{padding:var(--space-4);overflow-x:auto}.canvas-table{width:100%;border-collapse:collapse;font-size:var(--text-sm)}.canvas-table th,.canvas-table td{padding:var(--space-2-5) var(--space-3);text-align:left;border-bottom:1px solid var(--surface-glass-border)}.canvas-table th{font-weight:var(--font-semibold);color:var(--text-secondary);background:var(--bg-secondary)}.canvas-diagram{display:flex;align-items:center;justify-content:center;min-height:200px}.canvas-diagram svg{max-width:100%}.canvas-form{display:flex;flex-direction:column;gap:var(--space-4)}.canvas-form-field label{display:block;font-size:var(--text-sm);color:var(--text-secondary);margin-bottom:var(--space-1)}.canvas-form-field input,.canvas-form-field textarea,.canvas-form-field select{width:100%;padding:var(--space-2-5) var(--space-3);background:var(--bg-primary);border:1px solid var(--surface-glass-border);border-radius:var(--radius-lg);color:var(--text-primary);font-size:var(--text-sm)}.approval-queue{position:fixed;bottom:var(--space-4);right:var(--space-4);z-index:var(--z-toast);display:flex;flex-direction:column;gap:var(--space-2);max-width:400px}.approval-card{padding:var(--space-4);border-radius:var(--radius-xl);background:var(--bg-secondary);border:1px solid var(--surface-glass-border);backdrop-filter:blur(var(--glass-blur));animation:slideInRight var(--duration-normal) var(--ease-spring);box-shadow:var(--shadow-xl)}.approval-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-3)}.approval-tool-name{font-weight:var(--font-semibold);font-size:var(--text-sm)}.approval-risk{font-size:var(--text-xs);padding:var(--space-1) var(--space-2);border-radius:var(--radius-full)}.approval-risk.low{background:#10b98126;color:var(--accent-success)}.approval-risk.medium{background:#f59e0b26;color:var(--accent-warning)}.approval-risk.high{background:#ef444426;color:var(--accent-error)}.approval-params{font-size:var(--text-xs);color:var(--text-muted);font-family:var(--font-mono);margin-bottom:var(--space-3);max-height:80px;overflow-y:auto}.approval-actions{display:flex;gap:var(--space-2)}.approval-btn{flex:1;padding:var(--space-2) var(--space-3);border-radius:var(--radius-lg);font-size:var(--text-sm);font-weight:var(--font-medium);cursor:pointer;transition:var(--transition-colors)}.approval-btn.approve{background:#10b98126;color:var(--accent-success);border:1px solid rgba(16,185,129,.2)}.approval-btn.approve:hover{background:#10b98140}.approval-btn.deny{background:#ef444426;color:var(--accent-error);border:1px solid rgba(239,68,68,.2)}.approval-btn.deny:hover{background:#ef444440}.approval-batch-header{padding:var(--space-3) var(--space-4);background:var(--bg-elevated);border-radius:var(--radius-xl) var(--radius-xl) 0 0;border:1px solid var(--surface-glass-border);border-bottom:none;display:flex;align-items:center;justify-content:space-between}.approval-batch-actions{display:flex;gap:var(--space-2)}kbd{padding:2px 6px;border-radius:var(--radius-sm);background:var(--bg-tertiary);border:1px solid var(--surface-glass-border);font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-muted)}.toast-container{position:fixed;bottom:var(--space-4);left:50%;transform:translate(-50%);z-index:var(--z-toast);display:flex;flex-direction:column;gap:var(--space-2)}.toast{padding:var(--space-3) var(--space-5);border-radius:var(--radius-xl);background:var(--bg-elevated);border:1px solid var(--surface-glass-border);color:var(--text-primary);font-size:var(--text-sm);box-shadow:var(--shadow-xl);animation:fadeInUp var(--duration-normal) var(--ease-spring)}.toast.error{border-color:#ef44444d}.toast.success{border-color:#10b9814d}
