:root{--color-bg-base: #0C0E1A;--color-bg-surface: #131625;--color-bg-elevated: #1A1D2E;--color-bg-overlay: #20243A;--color-bg-hover: #252944;--color-bg-active: #2E3350;--color-border-subtle: #1E2238;--color-border-default:#272B44;--color-border-strong: #353A5A;--color-border-focus: #E8EAEE;--color-primary: #E8EAEE;--color-primary-light: #F5F6F9;--color-primary-dark: #B7BDCC;--color-primary-muted: rgba(232, 234, 238, .15);--color-primary-glow: rgba(232, 234, 238, .38);--color-primary-rgb: 232, 234, 238;--color-on-primary: #1A1510;--color-accent: #E6E6F1;--color-accent-light: #F3F3FA;--color-accent-dark: #B4B6CC;--color-accent-muted: rgba(230, 230, 241, .15);--color-accent-rgb: 230, 230, 241;--color-on-accent: #1A1510;--color-success: #22C55E;--color-success-muted: rgba(34, 197, 94, .15);--color-warning: #F59E0B;--color-warning-muted: rgba(245, 158, 11, .15);--color-error: #EF4444;--color-error-muted: rgba(239, 68, 68, .15);--color-info: #3B82F6;--color-info-muted: rgba(59, 130, 246, .15);--color-orange: #F97316;--color-orange-muted: rgba(249, 115, 22, .15);--color-purple: #A855F7;--color-purple-muted: rgba(168, 85, 247, .15);--color-pink: #EC4899;--color-pink-muted: rgba(236, 72, 153, .15);--color-cyan: #06B6D4;--color-cyan-muted: rgba(6, 182, 212, .15);--color-indigo: #6C63FF;--color-indigo-muted: rgba(108, 99, 255, .15);--color-text-primary: #E8EAF6;--color-text-secondary:#9BA3C4;--color-text-muted: #5C6285;--color-text-disabled: #3A3F60;--color-text-inverse: #0C0E1A;--color-text-link: #BFC6DC;--font-sans: "Plus Jakarta Sans", "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-display: "Outfit", "Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, sans-serif;--font-mono: "JetBrains Mono", "Fira Code", monospace;--text-xs: .6875rem;--text-sm: .75rem;--text-base: .875rem;--text-md: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 1.875rem;--text-4xl: 2.25rem;--text-5xl: 3rem;--text-6xl: 3.75rem;--text-7xl: 4.5rem;--tracking-tight: -.025em;--tracking-snug: -.011em;--tracking-wide: .025em;--tracking-eyebrow: .08em;--font-light: 300;--font-regular: 400;--font-medium: 500;--font-semibold: 600;--font-bold: 700;--font-extrabold:800;--leading-tight: 1.2;--leading-snug: 1.35;--leading-normal: 1.5;--leading-relaxed: 1.65;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--space-20: 5rem;--radius-xs: .25rem;--radius-sm: .375rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--radius-2xl: 1.5rem;--radius-full:9999px;--shadow-xs: 0 1px 2px rgba(0,0,0,.25);--shadow-sm: 0 1px 3px rgba(0,0,0,.4), 0 1px 2px rgba(0,0,0,.3);--shadow-md: 0 4px 12px rgba(0,0,0,.5), 0 2px 6px rgba(0,0,0,.3);--shadow-lg: 0 10px 30px rgba(0,0,0,.6), 0 4px 12px rgba(0,0,0,.4);--shadow-xl: 0 20px 50px rgba(0,0,0,.7), 0 8px 20px rgba(0,0,0,.5);--shadow-2xl: 0 32px 80px rgba(0,0,0,.8), 0 16px 32px rgba(0,0,0,.6);--shadow-glow-primary: 0 0 24px rgba(232, 234, 238, .38), 0 0 8px rgba(232, 234, 238, .2);--shadow-glow-accent: 0 0 24px rgba(230, 230, 241, .38), 0 0 8px rgba(230, 230, 241, .2);--shadow-inset-top: inset 0 1px 0 rgba(255,255,255,.06);--transition-fast: .1s cubic-bezier(.2, 0, 0, 1);--transition-base: .2s cubic-bezier(.2, 0, 0, 1);--transition-slow: .35s cubic-bezier(.2, 0, 0, 1);--transition-spring: .4s cubic-bezier(.34, 1.56, .64, 1);--transition-snap: .18s cubic-bezier(.4, 0, .2, 1);--z-halos: -1;--z-dropdown: 100;--z-sticky: 200;--z-overlay: 300;--z-modal: 400;--z-popover: 500;--z-toast: 600;--z-tooltip: 700;--sidebar-width: 272px;--sidebar-collapsed: 68px;--inspector-width: 320px;--topbar-height: 60px;--content-max-width: 1920px;--composer-max-width:820px;--role-user-bg: var(--color-primary-muted);--role-user-border: color-mix(in srgb, var(--color-primary) 40%, transparent);--role-assistant-bg: var(--color-bg-surface);--role-assistant-border: var(--color-border-subtle);--role-system-bg: var(--color-warning-muted);--role-system-border: color-mix(in srgb, var(--color-warning) 40%, transparent);--route-local: #2DD4BF;--route-local-muted: rgba(45, 212, 191, .15);--route-host: #6C63FF;--route-host-muted: rgba(108, 99, 255, .15);--route-auto: var(--color-warning);--code-bg: #0A0C16;--code-border: var(--color-border-default);--code-text: #DCE3F5;--caret: var(--color-primary)}[data-theme=amoled]{--color-bg-base: #000000;--color-bg-surface: #080808;--color-bg-elevated: #0F0F0F;--color-bg-overlay: #141414;--color-bg-hover: #1A1A1A;--color-bg-active: #202020;--color-border-subtle: #111111;--color-border-default:#1C1C1C;--color-border-strong: #282828;--color-text-primary: #F0F0F0;--color-text-secondary:#A0A0A0;--color-text-muted: #8A8A95;--color-text-disabled: #404040;--color-text-inverse: #000000;--color-text-link: #C9CEDE;--code-bg: #050505;--role-assistant-bg: #0A0A0A}[data-theme=light]{--color-bg-base: #F5F0E6;--color-bg-surface: #FBF8F1;--color-bg-elevated: #FBF8F1;--color-bg-overlay: #F5F0E6;--color-bg-hover: #EDE8DC;--color-bg-active: #E5DFCF;--color-border-subtle: #DDD5C8;--color-border-default:#CFC7B8;--color-border-strong: #BDB4A4;--color-border-focus: #8C8FA0;--color-text-primary: #1A1510;--color-text-secondary:#4A4035;--color-text-muted: #8B8075;--color-text-disabled: #C0B8AC;--color-text-inverse: #FBF8F1;--color-text-link: #5A5E72;--shadow-xs: 0 1px 2px rgba(40, 30, 20, .04);--shadow-sm: 0 1px 3px rgba(40, 30, 20, .07), 0 1px 2px rgba(40, 30, 20, .04);--shadow-md: 0 4px 12px rgba(40, 30, 20, .08), 0 2px 6px rgba(40, 30, 20, .05);--shadow-lg: 0 12px 32px rgba(40, 30, 20, .1), 0 6px 14px rgba(40, 30, 20, .06);--shadow-xl: 0 24px 60px rgba(40, 30, 20, .14), 0 12px 28px rgba(40, 30, 20, .08);--shadow-2xl: 0 32px 80px rgba(40, 30, 20, .18), 0 18px 40px rgba(40, 30, 20, .1);--shadow-inset-top: inset 0 1px 0 rgba(255,255,255,.5);--code-bg: #1A1812;--code-text: #E8E3D6;--role-assistant-bg: #FBF8F1}[data-density=compact]{--space-3: .5rem;--space-4: .75rem;--space-6: 1rem;--space-8: 1.5rem;--text-base: .8125rem;--topbar-height: 52px}[data-density=comfortable]{--space-3: 1rem;--space-4: 1.25rem;--space-6: 2rem;--space-8: 2.5rem;--text-base: .9375rem;--topbar-height: 68px}html[data-frosted=true] body{background:var(--color-bg-base)}.gemini-halos{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-halos);pointer-events:none;overflow:hidden}.gemini-halo{position:absolute;border-radius:50%;filter:blur(90px) saturate(140%);opacity:.55;will-change:transform}.gemini-halo--1{width:60vw;height:60vw;max-width:700px;max-height:700px;top:-15%;left:-10%;background:radial-gradient(circle at center,var(--color-accent) 0%,transparent 65%);animation:gemini-drift-1 32s ease-in-out infinite}.gemini-halo--2{width:65vw;height:65vw;max-width:800px;max-height:800px;bottom:-20%;right:-15%;background:radial-gradient(circle at center,var(--color-primary) 0%,transparent 65%);animation:gemini-drift-2 40s ease-in-out infinite}.gemini-halo--3{width:45vw;height:45vw;max-width:550px;max-height:550px;top:30%;right:10%;background:radial-gradient(circle at center,var(--color-accent-light, var(--color-accent)) 0%,transparent 65%);opacity:.38;animation:gemini-drift-3 48s ease-in-out infinite}.gemini-halo--4{width:30vw;height:30vw;max-width:400px;max-height:400px;top:50%;left:30%;background:radial-gradient(circle at center,var(--color-primary-light, var(--color-primary)) 0%,transparent 70%);opacity:.32;animation:gemini-drift-4 56s ease-in-out infinite}html[data-theme=light] .gemini-halo{opacity:.42;filter:blur(100px) saturate(120%)}html[data-theme=light] .gemini-halo--3,html[data-theme=light] .gemini-halo--4{opacity:.28}html[data-theme=amoled] .gemini-halo{opacity:.5;filter:blur(110px) saturate(130%)}html[data-theme=amoled] .gemini-halo--3,html[data-theme=amoled] .gemini-halo--4{opacity:.3}@keyframes gemini-drift-1{0%,to{transform:translate(0) scale(1)}25%{transform:translate(8vw,5vh) scale(1.08)}50%{transform:translate(-3vw,10vh) scale(.92)}75%{transform:translate(5vw,-2vh) scale(1.04)}}@keyframes gemini-drift-2{0%,to{transform:translate(0) scale(1)}30%{transform:translate(-6vw,-8vh) scale(1.05)}60%{transform:translate(4vw,5vh) scale(.95)}}@keyframes gemini-drift-3{0%,to{transform:translate(0) scale(1)}33%{transform:translate(-10vw,6vh) scale(1.1)}66%{transform:translate(6vw,-8vh) scale(.9)}}@keyframes gemini-drift-4{0%,to{transform:translate(0) scale(.9)}40%{transform:translate(20vw,-10vh) scale(1.1)}70%{transform:translate(-15vw,8vh) scale(1)}}@media (prefers-reduced-motion: reduce){.gemini-halo{animation:none!important}}html[data-frosted=false] .gemini-halos{display:none}html[data-frosted=true] .sidebar,html[data-frosted=true] .panel,html[data-frosted=true] .inspector{background:color-mix(in srgb,var(--color-bg-surface) 65%,transparent);backdrop-filter:blur(24px) saturate(180%);-webkit-backdrop-filter:blur(24px) saturate(180%);box-shadow:inset 1px 0 color-mix(in srgb,white 6%,transparent),var(--shadow-lg)}html[data-theme=light][data-frosted=true] .sidebar,html[data-theme=light][data-frosted=true] .panel,html[data-theme=light][data-frosted=true] .inspector{background:color-mix(in srgb,var(--color-bg-surface) 70%,transparent);box-shadow:inset 1px 0 color-mix(in srgb,white 50%,transparent),var(--shadow-md)}html[data-frosted=true] .topbar,html[data-frosted=true] .composer-bar{background:color-mix(in srgb,var(--color-bg-surface) 60%,transparent);backdrop-filter:blur(24px) saturate(180%);-webkit-backdrop-filter:blur(24px) saturate(180%);box-shadow:inset 0 1px color-mix(in srgb,white 6%,transparent),0 4px 24px -8px color-mix(in srgb,black 30%,transparent)}html[data-theme=light][data-frosted=true] .topbar,html[data-theme=light][data-frosted=true] .composer-bar{background:color-mix(in srgb,var(--color-bg-surface) 70%,transparent);box-shadow:inset 0 1px color-mix(in srgb,white 60%,transparent),0 4px 20px -8px color-mix(in srgb,black 8%,transparent)}html[data-frosted=true] .card{background:color-mix(in srgb,var(--color-bg-surface) 70%,transparent);backdrop-filter:blur(20px) saturate(170%);-webkit-backdrop-filter:blur(20px) saturate(170%);border:1px solid color-mix(in srgb,var(--color-border-default) 30%,transparent);box-shadow:var(--shadow-inset-top),var(--shadow-md);transition:border-color var(--transition-snap),box-shadow var(--transition-snap),transform var(--transition-snap),background var(--transition-snap),backdrop-filter var(--transition-snap)}html[data-frosted=true] .card:hover{background:var(--color-bg-elevated);backdrop-filter:none;-webkit-backdrop-filter:none;border-color:var(--color-border-strong)}html[data-frosted=true] .modal,html[data-frosted=true] .dropdown-menu,html[data-frosted=true] .command-palette-panel{background:color-mix(in srgb,var(--color-bg-elevated) 97%,transparent);backdrop-filter:blur(28px) saturate(180%);-webkit-backdrop-filter:blur(28px) saturate(180%);border:1px solid var(--color-border-default);box-shadow:var(--shadow-xl)}@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))){html[data-frosted=true] .sidebar,html[data-frosted=true] .topbar,html[data-frosted=true] .composer-bar,html[data-frosted=true] .card,html[data-frosted=true] .panel,html[data-frosted=true] .inspector,html[data-frosted=true] .modal{background:var(--color-bg-surface)}}@media (prefers-reduced-transparency: reduce){html[data-frosted=true] .sidebar,html[data-frosted=true] .topbar,html[data-frosted=true] .composer-bar,html[data-frosted=true] .card,html[data-frosted=true] .panel,html[data-frosted=true] .inspector,html[data-frosted=true] .modal{background:var(--color-bg-surface);backdrop-filter:none;-webkit-backdrop-filter:none}}.reading-surface{position:relative;background:color-mix(in srgb,var(--color-bg-base) 92%,transparent)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);height:36px;padding:0 var(--space-4);border-radius:var(--radius-md);font-family:var(--font-sans);font-size:var(--text-base);font-weight:var(--font-semibold);background:var(--color-bg-elevated);color:var(--color-text-primary);border:1px solid var(--color-border-default);cursor:pointer;transition:var(--transition-snap)}.btn:hover{background:var(--color-bg-hover);border-color:var(--color-border-strong)}.btn:disabled{color:var(--color-text-disabled);cursor:not-allowed;opacity:.6}.btn--primary{background:var(--color-primary);color:var(--color-on-primary);border-color:var(--color-primary)}.btn--primary:hover{background:var(--color-primary-light);border-color:var(--color-primary-light)}.btn--ghost{background:transparent;color:var(--color-text-secondary);border-color:transparent}.btn--ghost:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}.btn.active{background:var(--color-primary-muted);color:var(--color-text-primary);border-color:color-mix(in srgb,var(--color-primary) 40%,transparent)}.btn--danger{background:var(--color-error-muted);color:var(--color-error);border-color:color-mix(in srgb,var(--color-error) 40%,transparent)}.btn--danger:hover{background:color-mix(in srgb,var(--color-error) 22%,var(--color-bg-elevated))}.btn--sm{height:28px;padding:0 var(--space-3);font-size:var(--text-sm)}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;border-radius:var(--radius-md);background:transparent;color:var(--color-text-secondary);border:1px solid transparent;cursor:pointer;transition:var(--transition-snap)}.icon-btn:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}.icon-btn:disabled{opacity:.4;cursor:not-allowed}.icon-btn.active{color:var(--color-on-primary);background:var(--color-primary);border-color:transparent}.icon-btn--sm{width:28px;height:28px}.field{width:100%;background:var(--color-bg-base);color:var(--color-text-primary);border:1px solid var(--color-border-default);border-radius:var(--radius-md);padding:var(--space-2) var(--space-3);font-family:var(--font-sans);font-size:var(--text-base);transition:var(--transition-snap)}.field::placeholder{color:var(--color-text-muted)}.field:focus-visible{outline:none;border-color:var(--color-border-focus);box-shadow:0 0 0 3px var(--color-primary-muted)}textarea.field{resize:vertical;min-height:72px;line-height:var(--leading-relaxed)}.select{width:100%;background:var(--color-bg-base);color:var(--color-text-primary);border:1px solid var(--color-border-default);border-radius:var(--radius-md);padding:var(--space-2) var(--space-3);font-family:var(--font-sans);font-size:var(--text-base);cursor:pointer;transition:var(--transition-snap)}.select:focus-visible{outline:none;border-color:var(--color-border-focus);box-shadow:0 0 0 3px var(--color-primary-muted)}.swatch-row{display:flex;flex-wrap:wrap;gap:var(--space-2)}.swatch{width:28px;height:28px;border-radius:var(--radius-full);background:var(--swatch-color, var(--color-primary));border:2px solid var(--color-border-default);cursor:pointer;transition:var(--transition-snap)}.swatch:hover{transform:scale(1.08);border-color:var(--color-border-strong)}.swatch.active,.swatch[data-selected=true]{border-color:var(--color-text-primary);box-shadow:0 0 0 2px var(--color-bg-base),0 0 0 4px var(--swatch-color, var(--color-primary))}.toggle-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-2) 0}.toggle-row>.label{color:var(--color-text-secondary);font-size:var(--text-base)}.toggle{position:relative;width:40px;height:22px;flex:none;border-radius:var(--radius-full);background:var(--color-bg-active);border:1px solid var(--color-border-default);cursor:pointer;transition:var(--transition-snap)}.toggle:after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:var(--radius-full);background:var(--color-text-secondary);transition:var(--transition-snap)}.toggle[data-on=true]{background:var(--color-primary);border-color:var(--color-primary)}.toggle[data-on=true]:after{transform:translate(18px);background:var(--color-on-primary)}.segmented{display:inline-flex;padding:2px;gap:2px;background:var(--color-bg-base);border:1px solid var(--color-border-default);border-radius:var(--radius-md)}.segmented button{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-3);border:none;background:transparent;cursor:pointer;border-radius:var(--radius-sm);font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--color-text-secondary);transition:var(--transition-snap)}.segmented button:hover{color:var(--color-text-primary)}.segmented button[data-active=true]{background:var(--color-bg-elevated);color:var(--color-text-primary);box-shadow:var(--shadow-xs)}.segmented button[data-active=true][data-tier=local]{color:var(--route-local)}.segmented button[data-active=true][data-tier=host]{color:var(--route-host)}.segmented button[data-active=true][data-tier=auto]{color:var(--route-auto)}.route-badge{display:inline-flex;align-items:center;gap:var(--space-1);height:20px;padding:0 var(--space-2);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:var(--font-bold);letter-spacing:var(--tracking-wide);border:1px solid transparent}.route-badge[data-tier=local]{color:var(--route-local);background:var(--route-local-muted);border-color:color-mix(in srgb,var(--route-local) 45%,transparent)}.route-badge[data-tier=host]{color:var(--route-host);background:var(--route-host-muted);border-color:color-mix(in srgb,var(--route-host) 45%,transparent)}.route-badge[data-tier=pending],.route-badge[data-tier=error]{color:var(--color-text-muted);background:var(--color-bg-elevated);border-color:var(--color-border-default)}.status-dot{width:8px;height:8px;border-radius:var(--radius-full);flex:none;background:var(--color-text-muted)}.status-dot[data-state=ready]{background:var(--color-success);box-shadow:0 0 8px color-mix(in srgb,var(--color-success) 60%,transparent)}.status-dot[data-state=down]{background:var(--color-text-disabled)}.status-dot[data-state=loading]{background:var(--color-warning);animation:afi-pulse 1.2s ease-in-out infinite}@keyframes afi-pulse{0%,to{opacity:1}50%{opacity:.35}}.message{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-4) 0;border-bottom:1px solid var(--color-border-subtle)}.message-head{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm)}.message-author{font-weight:var(--font-bold);color:var(--color-text-primary);display:inline-flex;align-items:center;gap:var(--space-2)}.message-bubble{border-radius:var(--radius-lg);padding:var(--space-3) var(--space-4);font-size:var(--text-md);line-height:var(--leading-relaxed);color:var(--color-text-primary);border:1px solid var(--role-assistant-border);background:var(--role-assistant-bg);overflow-wrap:anywhere}.message[data-role=user] .message-bubble{background:var(--role-user-bg);border-color:var(--role-user-border)}.message[data-role=system] .message-bubble{background:var(--role-system-bg);border-color:var(--role-system-border);font-size:var(--text-base)}.message[data-error=true] .message-bubble{border-color:color-mix(in srgb,var(--color-error) 50%,transparent);background:var(--color-error-muted)}.message-error-text{display:flex;align-items:flex-start;gap:var(--space-2);color:var(--color-error);font-size:var(--text-base);font-weight:var(--font-medium);line-height:var(--leading-snug)}.message-error-text>svg{flex:none;margin-top:1px}.message-actions{display:flex;align-items:center;gap:var(--space-1);opacity:0;transition:opacity var(--transition-snap)}.message:hover .message-actions,.message:focus-within .message-actions{opacity:1}.stream-caret{display:inline-block;width:.5ch;height:1.05em;background:var(--caret);margin-left:1px;vertical-align:text-bottom;border-radius:1px;animation:afi-caret 1s steps(1) infinite}@keyframes afi-caret{0%,50%{opacity:1}50.01%,to{opacity:0}}.composer{border-radius:var(--radius-xl);border:1px solid var(--color-border-default);background:var(--color-bg-surface);padding:var(--space-3);display:flex;flex-direction:column;gap:var(--space-2);box-shadow:var(--shadow-md);transition:border-color var(--transition-snap),box-shadow var(--transition-snap)}.composer:focus-within{border-color:var(--color-border-focus);box-shadow:0 0 0 3px var(--color-primary-muted),var(--shadow-md)}.composer-input{width:100%;resize:none;border:none;outline:none;background:transparent;color:var(--color-text-primary);font-family:var(--font-sans);font-size:var(--text-md);line-height:var(--leading-normal);max-height:320px;min-height:24px}.composer-input::placeholder{color:var(--color-text-muted)}.composer-row{display:flex;align-items:center;gap:var(--space-2)}.composer-send{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);height:36px;min-width:36px;padding:0 var(--space-3);border-radius:var(--radius-md);cursor:pointer;background:var(--color-primary);color:var(--color-on-primary);border:1px solid var(--color-primary);font-weight:var(--font-semibold);transition:var(--transition-snap)}.composer-send:hover{background:var(--color-primary-light)}.composer-send:disabled{opacity:.5;cursor:not-allowed}.composer-send[data-stop=true]{background:var(--color-bg-elevated);border-color:var(--color-border-default);color:var(--color-error)}.composer-send[data-stop=true]:hover{background:var(--color-error-muted);border-color:color-mix(in srgb,var(--color-error) 45%,transparent)}.code-block{position:relative;background:var(--code-bg);border:1px solid var(--code-border);border-radius:var(--radius-md);margin:var(--space-3) 0;overflow:hidden}.code-block pre{margin:0;padding:var(--space-3) var(--space-4);overflow-x:auto;font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--leading-normal);color:var(--code-text)}.code-block code{font-family:var(--font-sans)}.code-copy{position:absolute;top:var(--space-2);right:var(--space-2);height:26px;padding:0 var(--space-2);display:inline-flex;align-items:center;gap:var(--space-1);font-size:var(--text-xs);font-weight:var(--font-semibold);color:var(--color-text-secondary);background:color-mix(in srgb,var(--color-bg-elevated) 80%,transparent);border:1px solid var(--color-border-default);border-radius:var(--radius-sm);cursor:pointer;opacity:0;transition:var(--transition-snap)}.code-block:hover .code-copy{opacity:1}.code-copy:hover{color:var(--color-text-primary);border-color:var(--color-border-strong)}:where(.markdown) code:not(pre code){font-family:var(--font-sans);font-size:.9em;background:var(--color-bg-elevated);border:1px solid var(--color-border-subtle);border-radius:var(--radius-xs);padding:.1em .35em}.markdown{color:var(--color-text-primary)}.markdown>*:first-child{margin-top:0}.markdown>*:last-child{margin-bottom:0}.markdown p{margin:var(--space-2) 0;line-height:var(--leading-relaxed)}.markdown h1,.markdown h2,.markdown h3{font-family:var(--font-display);font-weight:var(--font-bold);letter-spacing:var(--tracking-tight);margin:var(--space-4) 0 var(--space-2)}.markdown h1{font-size:var(--text-xl)}.markdown h2{font-size:var(--text-lg)}.markdown h3{font-size:var(--text-md)}.markdown ul,.markdown ol{margin:var(--space-2) 0;padding-left:var(--space-6)}.markdown li{margin:var(--space-1) 0;line-height:var(--leading-relaxed)}.markdown a{color:var(--color-text-link);text-decoration:underline;text-underline-offset:2px}.markdown blockquote{margin:var(--space-3) 0;padding:var(--space-1) var(--space-4);border-left:3px solid var(--color-border-strong);color:var(--color-text-secondary)}.markdown table{border-collapse:collapse;margin:var(--space-3) 0;font-size:var(--text-base)}.markdown th,.markdown td{border:1px solid var(--color-border-default);padding:var(--space-1) var(--space-3);text-align:left}.markdown hr{border:none;border-top:1px solid var(--color-border-subtle);margin:var(--space-4) 0}.kbd{font-family:var(--font-sans);font-size:var(--text-xs);padding:1px var(--space-2);border-radius:var(--radius-xs);background:var(--color-bg-elevated);border:1px solid var(--color-border-default);color:var(--color-text-secondary)}.chip{display:inline-flex;align-items:center;gap:var(--space-2);padding:2px var(--space-2);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:var(--font-semibold);color:var(--chip, var(--color-text-secondary));background:color-mix(in srgb,var(--chip, var(--color-text-secondary)) 16%,transparent);border:1px solid color-mix(in srgb,var(--chip, var(--color-text-secondary)) 36%,transparent)}.tag{font-size:var(--text-xs);color:var(--color-text-secondary);background:var(--color-bg-elevated);border:1px solid var(--color-border-default);border-radius:var(--radius-full);padding:1px var(--space-2)}:where(button,a,input,select,textarea,[tabindex]):focus-visible{outline:2px solid var(--color-border-focus);outline-offset:2px}html,body,#root{height:100%}body{margin:0;font-family:var(--font-sans);color:var(--color-text-primary);background:var(--color-bg-base)}*{box-sizing:border-box}.app-shell{position:relative;display:flex;flex-direction:column;height:100vh;overflow:hidden}.row{display:flex;align-items:center;gap:var(--space-3)}.col{display:flex;flex-direction:column;gap:var(--space-3)}.wrap{flex-wrap:wrap}.between{justify-content:space-between}.grow{flex:1 1 auto}.muted{color:var(--color-text-muted);font-size:var(--text-sm)}.spacer{flex:1 1 auto}.form-field{display:flex;flex-direction:column;gap:var(--space-1)}.form-field>label{font-size:var(--text-xs);font-weight:var(--font-semibold);letter-spacing:var(--tracking-wide);color:var(--color-text-secondary);text-transform:uppercase;display:flex;align-items:center;gap:var(--space-1)}.inspector-title{font-family:var(--font-display);font-weight:var(--font-bold);font-size:var(--text-lg);color:var(--color-text-primary);display:flex;align-items:center;gap:var(--space-2)}.sidebar-label{font-size:var(--text-xs);font-weight:var(--font-bold);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:var(--color-text-muted);padding:var(--space-2) var(--space-3) var(--space-1)}.note-banner{font-size:var(--text-sm);color:var(--color-warning);background:var(--color-warning-muted);border:1px solid color-mix(in srgb,var(--color-warning) 40%,transparent);border-radius:var(--radius-md);padding:var(--space-2) var(--space-3)}.empty-state{display:flex;flex-direction:column;gap:var(--space-5);padding:var(--space-8) var(--space-4);text-align:center;color:var(--color-text-muted)}.empty-hero{display:flex;flex-direction:column;gap:var(--space-2)}.empty-title{font-family:var(--font-display);font-weight:var(--font-bold);font-size:var(--text-2xl);letter-spacing:var(--tracking-tight);color:var(--color-text-primary)}.empty-sub{color:var(--color-text-muted);font-size:var(--text-sm)}.prompt-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--space-3);max-width:720px;margin:0 auto;width:100%}.prompt-card{display:flex;align-items:flex-start;gap:var(--space-3);text-align:left;padding:var(--space-3) var(--space-4);cursor:pointer;background:var(--color-bg-surface);border:1px solid var(--color-border-subtle);border-radius:var(--radius-lg);color:var(--color-text-secondary);transition:var(--transition-snap)}.prompt-card:hover:not(:disabled){color:var(--color-text-primary);border-color:color-mix(in srgb,var(--color-primary) 45%,transparent);box-shadow:0 0 14px color-mix(in srgb,var(--color-primary) 14%,transparent);transform:translateY(-1px)}.prompt-card:disabled{opacity:.55;cursor:default}.prompt-card-icon{flex:none;width:30px;height:30px;display:grid;place-items:center;border-radius:var(--radius-full);color:var(--color-primary-dark);background:var(--color-primary-muted)}.prompt-card-body{display:flex;flex-direction:column;gap:2px;min-width:0}.prompt-card-label{font-size:var(--text-xs);font-weight:var(--font-bold);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:var(--color-text-muted)}.prompt-card-text{font-size:var(--text-sm);line-height:var(--leading-snug)}.card,.panel{background:var(--color-bg-surface);border:1px solid var(--color-border-subtle);border-radius:var(--radius-lg);padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-3)}.topbar{display:flex;align-items:center;gap:var(--space-3);height:var(--topbar-height);padding:0 var(--space-4);flex:0 0 auto;z-index:var(--z-sticky);border-bottom:1px solid var(--color-border-subtle)}html.afi-native .topbar{padding-left:84px}.brand{display:flex;align-items:center;gap:var(--space-2)}.brand-logo{border-radius:var(--radius-sm);filter:drop-shadow(0 0 6px var(--color-primary-glow))}.brand-name{font-family:var(--font-display);font-weight:var(--font-extrabold);font-size:var(--text-xl);letter-spacing:var(--tracking-tight);color:var(--color-text-primary)}.brand small{font-family:var(--font-sans);font-weight:var(--font-medium);font-size:var(--text-xs);color:var(--color-text-muted);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;margin-left:var(--space-1)}.engine-pill{display:inline-flex;align-items:center;gap:var(--space-1);height:30px;padding:0 var(--space-3);border-radius:var(--radius-full);background:var(--color-bg-elevated);color:var(--color-text-secondary);border:1px solid var(--color-border-default);cursor:pointer;transition:var(--transition-snap)}.engine-pill:hover{border-color:var(--color-border-strong);color:var(--color-text-primary)}.app-body{flex:1 1 auto;display:flex;min-height:0}.sidebar{width:var(--sidebar-width);flex:0 0 auto;display:flex;flex-direction:column;min-height:0;border-right:1px solid var(--color-border-subtle)}.sidebar-actions{display:flex;gap:var(--space-2);padding:var(--space-3);padding-bottom:var(--space-2)}.sidebar-search{display:flex;align-items:center;gap:var(--space-2);margin:0 var(--space-3) var(--space-2);padding:0 var(--space-2);height:34px;background:var(--color-bg-base);border:1px solid var(--color-border-default);border-radius:var(--radius-md);color:var(--color-text-muted)}.sidebar-search:focus-within{border-color:var(--color-border-focus)}.sidebar-search-input{flex:1;border:none;outline:none;background:transparent;color:var(--color-text-primary);font-family:var(--font-sans);font-size:var(--text-base)}.sidebar-search-input::placeholder{color:var(--color-text-muted)}.sidebar-scroll{flex:1 1 auto;overflow-y:auto;padding:0 var(--space-2) var(--space-4)}.project-group{display:flex;flex-direction:column}.project-head{display:flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-1) var(--space-1) var(--space-2);border-left:2px solid var(--row-accent, transparent)}.project-head .icon-btn{opacity:0}.project-head:hover .icon-btn{opacity:1}.project-toggle{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border:none;background:transparent;color:var(--color-text-muted);cursor:pointer;border-radius:var(--radius-sm)}.project-toggle:hover{color:var(--color-text-primary)}.project-name{flex:1;display:flex;align-items:center;gap:var(--space-2);border:none;background:transparent;cursor:pointer;text-align:left;color:var(--color-text-primary);font-weight:var(--font-semibold);font-size:var(--text-base);padding:var(--space-1) 0;min-width:0}.project-name>span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-count{margin-left:auto;font-size:var(--text-xs);color:var(--color-text-muted);background:var(--color-bg-elevated);border-radius:var(--radius-full);padding:0 var(--space-2);font-weight:var(--font-bold)}.chat-list{display:flex;flex-direction:column;gap:1px;padding-left:var(--space-2)}.chat-row{display:flex;align-items:center;gap:var(--space-1);border-radius:var(--radius-md);padding-right:var(--space-1);transition:background var(--transition-snap)}.chat-row:hover{background:var(--color-bg-hover)}.chat-row.active{background:var(--color-primary-muted)}.chat-row.active .chat-row-title{color:var(--color-text-primary)}.chat-row-main{flex:1;display:flex;align-items:center;gap:var(--space-2);min-width:0;border:none;background:transparent;cursor:pointer;text-align:left;color:var(--color-text-secondary);font-size:var(--text-base);padding:var(--space-2) var(--space-2)}.chat-row-main:hover{color:var(--color-text-primary)}.chat-row-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-row-edit{height:30px;padding:0 var(--space-2);font-size:var(--text-base)}.chat-row .chat-row-menu-btn{opacity:0}.chat-row:hover .chat-row-menu-btn,.chat-row.active .chat-row-menu-btn{opacity:1}.menu-scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:calc(var(--z-popover) - 1)}.dropdown-menu{gap:var(--space-1);padding:var(--space-2)}.menu-item{display:flex;align-items:center;gap:var(--space-2);width:100%;padding:var(--space-2) var(--space-3);border:none;background:transparent;cursor:pointer;text-align:left;border-radius:var(--radius-sm);color:var(--color-text-primary);font-size:var(--text-base)}.menu-item:hover{background:var(--color-bg-hover)}.menu-item--danger{color:var(--color-error)}.menu-field{display:flex;flex-direction:column;gap:var(--space-1);padding:var(--space-1) var(--space-2)}.menu-field-label{display:flex;align-items:center;gap:var(--space-1);font-size:var(--text-xs);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:var(--tracking-wide)}.workspace{flex:1 1 auto;display:flex;flex-direction:column;min-width:0;min-height:0}.chat-view{flex:1 1 auto;display:flex;flex-direction:column;min-height:0;position:relative}.chat-header{display:flex;align-items:center;gap:var(--space-3);flex:0 0 auto;padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border-subtle)}.chat-title-input{flex:0 1 auto;min-width:0;max-width:520px;border:1px solid transparent;background:transparent;color:var(--color-text-primary);font-family:var(--font-display);font-weight:var(--font-bold);font-size:var(--text-lg);letter-spacing:var(--tracking-tight);border-radius:var(--radius-md);padding:var(--space-1) var(--space-2)}.chat-title-input:hover{background:var(--color-bg-hover)}.chat-title-input:focus-visible{outline:none;border-color:var(--color-border-focus);background:var(--color-bg-base)}.transcript{flex:1 1 auto;overflow-y:auto;min-height:0;padding:0 var(--space-4)}.transcript-inner{max-width:var(--composer-max-width);margin:0 auto;padding:var(--space-4) 0 var(--space-8)}.composer-bar{flex:0 0 auto;padding:var(--space-3) var(--space-4) var(--space-4)}.composer-host{max-width:var(--composer-max-width);margin:0 auto}.call-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:60;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-6);background:radial-gradient(130% 120% at 50% 38%,color-mix(in srgb,var(--color-primary) 9%,var(--color-bg)) 0%,var(--color-bg) 72%);backdrop-filter:blur(24px) saturate(130%);-webkit-backdrop-filter:blur(24px) saturate(130%);animation:afi-fade-in .32s var(--ease-out, ease) both}.call-stage{width:min(62vmin,440px);height:min(62vmin,440px)}.call-canvas{width:100%;height:100%;display:block}.call-caption{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);max-width:min(680px,86vw);text-align:center;padding:0 var(--space-4)}.call-transcript{margin:0;font-size:var(--text-xl, 1.25rem);line-height:1.5;color:var(--color-text-primary);font-weight:var(--font-medium);text-wrap:balance}.call-phase{font-size:var(--text-sm);font-weight:var(--font-semibold);letter-spacing:.14em;text-transform:uppercase;color:var(--color-text-secondary);display:inline-flex;align-items:center;gap:var(--space-2)}.call-phase:before{content:"";width:8px;height:8px;border-radius:var(--radius-full);background:var(--color-primary);box-shadow:0 0 12px var(--color-primary);animation:afi-pulse 1.2s ease-in-out infinite}.call-phase[data-phase=thinking]:before{background:var(--color-warning);box-shadow:0 0 12px var(--color-warning)}.call-hangup{position:absolute;bottom:clamp(28px,7vh,64px);left:50%;transform:translate(-50%);width:62px;height:62px;border-radius:var(--radius-full);display:grid;place-items:center;cursor:pointer;color:#fff;background:var(--color-danger, #E5484D);border:1px solid color-mix(in srgb,var(--color-danger, #E5484D) 70%,#000);box-shadow:0 10px 34px color-mix(in srgb,var(--color-danger, #E5484D) 50%,transparent);transition:transform .12s var(--ease-out, ease),filter .12s ease}.call-hangup:hover{transform:translate(-50%) scale(1.07);filter:brightness(1.1)}@keyframes afi-fade-in{0%{opacity:0}to{opacity:1}}.call-voice-cta{margin-top:var(--space-2);display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);border-radius:var(--radius-full);cursor:pointer;font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--color-text-primary);background:color-mix(in srgb,var(--color-primary) 16%,transparent);border:1px solid color-mix(in srgb,var(--color-primary) 45%,transparent);transition:background .14s ease,transform .14s ease}.call-voice-cta:hover{background:color-mix(in srgb,var(--color-primary) 26%,transparent);transform:translateY(-1px)}.vr-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;display:grid;place-items:center;padding:var(--space-4);background:color-mix(in srgb,#05060B 62%,transparent);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);animation:afi-fade-in .2s var(--ease-out, ease) both}.vr-card{position:relative;width:min(560px,94vw);padding:var(--space-6);display:flex;flex-direction:column;gap:var(--space-4);border-radius:var(--radius-xl, 20px);background:var(--color-surface);border:1px solid var(--color-border);box-shadow:var(--shadow-xl, 0 24px 80px rgba(0,0,0,.4))}.vr-close{position:absolute;top:var(--space-3);right:var(--space-3)}.vr-title{margin:0;display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-xl);color:var(--color-text-primary)}.vr-sub{margin:0;color:var(--color-text-secondary);font-size:var(--text-sm);line-height:1.55}.vr-progress{display:flex;gap:var(--space-2);justify-content:center}.vr-dot{width:9px;height:9px;border-radius:var(--radius-full);background:var(--color-border)}.vr-dot[data-on]{background:var(--color-primary)}.vr-dot[data-cur]{outline:2px solid color-mix(in srgb,var(--color-primary) 50%,transparent);outline-offset:2px}.vr-prompt{text-align:center}.vr-step{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.1em;color:var(--color-text-secondary)}.vr-line{margin:var(--space-2) 0 0;font-size:var(--text-lg);color:var(--color-text-primary);line-height:1.4}.vr-rec{display:flex;flex-direction:column;align-items:center;gap:var(--space-2)}.vr-mic{width:76px;height:76px;border-radius:var(--radius-full);display:grid;place-items:center;cursor:pointer;color:var(--color-on-primary, #1A1510);background:var(--color-primary);border:none;box-shadow:0 8px 30px color-mix(in srgb,var(--color-primary) 45%,transparent);transition:transform .12s ease}.vr-mic:hover{transform:scale(1.05)}.vr-mic.rec{background:var(--color-danger, #E5484D);color:#fff;animation:afi-pulse 1.1s ease-in-out infinite}.vr-rec-label{font-size:var(--text-sm);color:var(--color-text-secondary)}.vr-nav{display:flex;justify-content:center;gap:var(--space-3)}.vr-disclosure{margin:0;font-size:var(--text-sm);color:var(--color-text-secondary);line-height:1.5;text-align:center}.vr-error{margin:0;color:var(--color-danger, #E5484D);font-size:var(--text-sm)}.vr-actions{display:flex;justify-content:flex-end;gap:var(--space-3)}.vr-foot{margin:0;text-align:center;font-size:var(--text-xs)}.correct-box{margin-top:var(--space-2);display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-3);border-radius:var(--radius-lg, 14px);background:color-mix(in srgb,var(--color-primary) 7%,var(--color-surface));border:1px solid color-mix(in srgb,var(--color-primary) 30%,transparent)}.correct-label{display:inline-flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--color-text-primary)}.correct-input{display:flex;gap:var(--space-2);align-items:flex-start}.correct-input .field{flex:1}.taught-note{margin-top:var(--space-2);display:inline-flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--color-success, #30A46C);font-weight:var(--font-medium)}.usage-bar{height:7px;border-radius:var(--radius-full);background:var(--color-border);overflow:hidden}.usage-bar>span{display:block;height:100%;border-radius:var(--radius-full);transition:width .3s var(--ease-out, ease)}.inspector{width:var(--inspector-width);flex:0 0 auto;overflow-y:auto;padding:var(--space-4);border-left:1px solid var(--color-border-subtle);display:flex;flex-direction:column;gap:var(--space-3)}.kv{display:grid;grid-template-columns:auto 1fr;gap:var(--space-1) var(--space-3);font-size:var(--text-sm)}.kv-k{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:var(--tracking-wide);font-size:var(--text-xs);align-self:center}.kv-v{color:var(--color-text-primary);font-family:var(--font-sans);overflow-wrap:anywhere}.palette-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-modal);display:flex;align-items:flex-start;justify-content:center;padding-top:12vh;background:color-mix(in srgb,var(--color-bg-base) 55%,transparent)}.command-palette-panel{width:min(560px,92vw);max-height:60vh;display:flex;flex-direction:column;border-radius:var(--radius-xl);overflow:hidden}.palette-search{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border-subtle);color:var(--color-text-muted)}.palette-input{flex:1;border:none;outline:none;background:transparent;color:var(--color-text-primary);font-family:var(--font-sans);font-size:var(--text-md)}.palette-list{overflow-y:auto;padding:var(--space-2);display:flex;flex-direction:column;gap:1px}.palette-item{display:flex;align-items:center;gap:var(--space-2);width:100%;padding:var(--space-2) var(--space-3);border:none;background:transparent;cursor:pointer;text-align:left;border-radius:var(--radius-md);color:var(--color-text-secondary);font-size:var(--text-base)}.palette-item.active{background:var(--color-primary-muted);color:var(--color-text-primary)}.palette-item-label{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.welcome{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-3);text-align:center}.welcome img{filter:drop-shadow(0 0 24px var(--color-primary-glow))}.welcome-title{font-family:var(--font-display);font-weight:var(--font-extrabold);font-size:var(--text-3xl);letter-spacing:var(--tracking-tight);margin:0}@media (max-width: 1100px){.inspector{display:none}}@media (max-width: 760px){.sidebar{position:absolute;z-index:var(--z-overlay);height:100%;box-shadow:var(--shadow-xl)}}.reading-surface{background:color-mix(in srgb,var(--color-bg-base) 64%,transparent)}.sidebar,.inspector{background:color-mix(in srgb,var(--color-bg-surface) 58%,transparent);backdrop-filter:blur(26px) saturate(150%);-webkit-backdrop-filter:blur(26px) saturate(150%)}.composer{background:color-mix(in srgb,var(--color-bg-surface) 60%,transparent);backdrop-filter:blur(22px) saturate(150%);-webkit-backdrop-filter:blur(22px) saturate(150%);box-shadow:none}.composer:focus-within{box-shadow:0 0 0 2px var(--color-primary-muted)}.composer-input,.composer-input:focus,.composer-input:focus-visible{outline:none!important;border:none;box-shadow:none;background:transparent}.composer .segmented{background:color-mix(in srgb,var(--color-bg-elevated) 45%,transparent);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.message-bubble{background:color-mix(in srgb,var(--color-bg-surface) 70%,transparent);backdrop-filter:blur(14px) saturate(140%);-webkit-backdrop-filter:blur(14px) saturate(140%)}.message-usage{margin-top:var(--space-1);font-size:var(--text-xs);font-family:var(--font-sans);color:var(--color-text-muted);letter-spacing:.02em}.message-usage .usage-cost{color:var(--color-text-secondary);font-weight:600}html[data-frosted=false] .sidebar,html[data-frosted=false] .inspector,html[data-frosted=false] .composer,html[data-frosted=false] .message-bubble{backdrop-filter:none;-webkit-backdrop-filter:none}html[data-frosted=false] .reading-surface{background:var(--color-bg-base)}.auth-gate{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-modal, 1000);display:grid;place-items:center;padding:var(--space-4)}.auth-card{width:min(380px,92vw);padding:var(--space-6);display:flex;flex-direction:column;gap:var(--space-3);align-items:stretch;text-align:center;border-radius:var(--radius-xl, 20px);background:color-mix(in srgb,var(--color-bg-surface) 70%,transparent);border:1px solid var(--color-border);backdrop-filter:blur(28px) saturate(150%);-webkit-backdrop-filter:blur(28px) saturate(150%);box-shadow:var(--shadow-xl, 0 24px 80px rgba(0,0,0,.45))}.auth-card .brand-logo{margin:0 auto}.auth-title{margin:0;font-family:var(--font-display);font-weight:var(--font-extrabold);font-size:var(--text-2xl, 1.6rem);color:var(--color-text-primary)}.auth-sub{margin:0;color:var(--color-text-secondary);font-size:var(--text-sm)}.auth-err{margin:0;color:var(--color-danger, #E5484D);font-size:var(--text-sm)}.speech-stop{position:fixed;left:50%;transform:translate(-50%);bottom:96px;z-index:var(--z-popover, 900);display:inline-flex;align-items:center;gap:var(--space-2);height:38px;padding:0 var(--space-4);border-radius:var(--radius-full);background:color-mix(in srgb,var(--color-bg-surface) 78%,transparent);backdrop-filter:blur(20px) saturate(150%);-webkit-backdrop-filter:blur(20px) saturate(150%);border:1px solid color-mix(in srgb,var(--color-primary) 55%,transparent);color:var(--color-text-primary);font-weight:var(--font-semibold);font-size:var(--text-sm);cursor:pointer;box-shadow:var(--shadow-lg, 0 12px 40px rgba(0,0,0,.4));transition:var(--transition-snap)}.speech-stop:hover{border-color:var(--color-primary);background:color-mix(in srgb,var(--color-primary-muted) 60%,var(--color-bg-surface))}.speech-stop svg{color:var(--color-error, #E5484D)}.md-table-wrap{overflow-x:auto;margin:var(--space-3) 0;border:1px solid var(--color-border-default);border-radius:var(--radius-md);background:color-mix(in srgb,var(--color-bg-surface) 60%,transparent)}.md-table-wrap table{margin:0;width:100%;min-width:max-content}.md-table-wrap th,.md-table-wrap td{border:none;border-bottom:1px solid var(--color-border-subtle)}.md-table-wrap th{background:color-mix(in srgb,var(--color-bg-elevated) 80%,transparent);font-weight:var(--font-semibold);white-space:nowrap}.md-table-wrap tbody tr:last-child td{border-bottom:none}.md-table-wrap tbody tr:hover td{background:var(--color-bg-hover)}.md-img-link{display:inline-block;max-width:100%;line-height:0}.md-img{max-width:100%;max-height:380px;height:auto;border-radius:var(--radius-md);border:1px solid var(--color-border-subtle);display:block;cursor:zoom-in}.code-block .tok-kw{color:var(--color-indigo);font-weight:var(--font-medium)}.code-block .tok-str{color:var(--color-success)}.code-block .tok-com{color:var(--color-text-muted);font-style:italic}.code-block .tok-num{color:var(--color-orange)}.mermaid-block{margin:var(--space-3) 0;padding:var(--space-3);background:color-mix(in srgb,var(--color-bg-surface) 70%,transparent);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);overflow-x:auto;text-align:center}.mermaid-block svg{max-width:100%;height:auto}.mermaid-loading{color:var(--color-text-muted);font-size:var(--text-sm);text-align:left}.chart-block{margin:var(--space-3) 0;padding:var(--space-3) var(--space-4);background:color-mix(in srgb,var(--color-bg-surface) 70%,transparent);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);display:flex;flex-direction:column;gap:var(--space-2)}.chart-title{font-family:var(--font-display);font-weight:var(--font-semibold);font-size:var(--text-sm);color:var(--color-text-primary)}.chart-svg{width:100%;height:auto;display:block}.chart-svg .chart-grid{stroke:var(--color-border-subtle);stroke-width:1}.chart-svg .chart-axis{stroke:var(--color-border-strong);stroke-width:1}.chart-svg .chart-text{fill:var(--color-text-muted);font-family:var(--font-sans);font-size:10px}.chart-legend{display:flex;flex-wrap:wrap;gap:var(--space-1) var(--space-3);font-size:var(--text-xs);color:var(--color-text-secondary)}.chart-legend-item{display:inline-flex;align-items:center;gap:var(--space-1)}.chart-legend-swatch{width:10px;height:10px;border-radius:3px;flex:none}.source-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:var(--space-2);margin-top:var(--space-3)}.source-card{position:relative;display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2);min-width:0;border-radius:var(--radius-md);text-decoration:none;background:color-mix(in srgb,var(--color-bg-elevated) 55%,transparent);border:1px solid var(--color-border-subtle);transition:var(--transition-snap)}.source-card-num{position:absolute;top:3px;left:3px;z-index:1;min-width:15px;height:15px;padding:0 4px;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-full);font-size:9.5px;font-weight:var(--font-semibold);line-height:1;color:var(--color-text-primary);background:color-mix(in srgb,var(--color-bg-base) 78%,transparent);border:1px solid var(--color-border-subtle);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.source-card:hover{border-color:color-mix(in srgb,var(--color-primary) 45%,transparent);background:var(--color-bg-hover);box-shadow:0 0 14px color-mix(in srgb,var(--color-primary) 14%,transparent)}.source-card--dead{opacity:.6;cursor:default}.source-card--dead:hover{border-color:var(--color-border-subtle);background:color-mix(in srgb,var(--color-bg-elevated) 55%,transparent);box-shadow:none}.source-card-thumb{width:42px;height:42px;flex:none;border-radius:var(--radius-sm);object-fit:cover;background:var(--color-bg-elevated)}.source-card-thumb--empty{display:grid;place-items:center;color:var(--color-text-muted)}.source-card-body{display:flex;flex-direction:column;gap:2px;min-width:0}.source-card-title{font-size:var(--text-sm);color:var(--color-text-primary);line-height:var(--leading-snug);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.source-card-domain{font-size:var(--text-xs);color:var(--color-text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.markdown .md-cite{display:inline-flex;align-items:center;justify-content:center;min-width:14px;height:14px;padding:0 3px;margin:0 1px;vertical-align:super;border-radius:var(--radius-full);font-size:10px;font-weight:var(--font-semibold);line-height:1;text-decoration:none;color:var(--color-primary-dark);background:var(--color-primary-muted);border:1px solid color-mix(in srgb,var(--color-primary) 30%,transparent);transition:var(--transition-snap)}.markdown .md-cite:hover{color:var(--color-text-primary);border-color:color-mix(in srgb,var(--color-primary) 55%,transparent);box-shadow:0 0 10px color-mix(in srgb,var(--color-primary) 18%,transparent)}.profile-chips{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-3)}.profile-chip{display:inline-flex;align-items:center;gap:var(--space-1);padding:3px var(--space-2) 3px 3px;border-radius:var(--radius-full);text-decoration:none;font-size:var(--text-xs);font-weight:var(--font-semibold);color:var(--color-text-secondary);background:color-mix(in srgb,var(--color-bg-elevated) 55%,transparent);border:1px solid var(--color-border-subtle);transition:var(--transition-snap)}.profile-chip:hover{color:var(--color-text-primary);border-color:color-mix(in srgb,var(--color-primary) 45%,transparent);box-shadow:0 0 12px color-mix(in srgb,var(--color-primary) 14%,transparent)}.profile-chip svg{color:var(--color-text-muted);flex:none}.profile-chip-mono{width:18px;height:18px;display:grid;place-items:center;flex:none;border-radius:var(--radius-full);font-size:9px;font-weight:var(--font-bold);letter-spacing:.02em;color:var(--color-primary-dark);background:var(--color-primary-muted)}.profile-chip-label{white-space:nowrap}.image-strip{display:flex;gap:var(--space-2);overflow-x:auto;margin-top:var(--space-3);padding-bottom:var(--space-1)}.image-strip-thumb{flex:none;padding:0;cursor:zoom-in;overflow:hidden;border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);background:var(--color-bg-elevated);transition:var(--transition-snap)}.image-strip-thumb img{display:block;height:96px;min-width:72px;max-width:180px;width:auto;object-fit:cover}.image-strip-thumb:hover{border-color:color-mix(in srgb,var(--color-primary) 55%,transparent);box-shadow:0 0 14px var(--color-primary-glow)}.lightbox-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-modal);display:grid;place-items:center;padding:var(--space-6);background:color-mix(in srgb,#05060B 80%,transparent);backdrop-filter:blur(14px) saturate(120%);-webkit-backdrop-filter:blur(14px) saturate(120%);animation:afi-fade-in .18s var(--ease-out, ease) both;cursor:zoom-out}.lightbox-content{margin:0;display:flex;flex-direction:column;gap:var(--space-2);max-width:min(1100px,94vw);cursor:default}.lightbox-img{max-width:100%;max-height:76vh;object-fit:contain;border-radius:var(--radius-lg);box-shadow:var(--shadow-2xl)}.lightbox-meta{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);color:#e9ecf6;font-size:var(--text-sm)}.lightbox-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-weight:var(--font-medium)}.lightbox-origin{display:inline-flex;align-items:center;gap:var(--space-1);flex:none;color:#c4cbe4;text-decoration:underline;text-underline-offset:2px}.lightbox-origin:hover{color:#fff}.lightbox-close{position:absolute;top:var(--space-4);right:var(--space-4);width:40px;height:40px;display:grid;place-items:center;border-radius:var(--radius-full);cursor:pointer;color:#e9ecf6;background:color-mix(in srgb,#FFFFFF 10%,transparent);border:1px solid color-mix(in srgb,#FFFFFF 22%,transparent);transition:var(--transition-snap)}.lightbox-close:hover{background:color-mix(in srgb,#FFFFFF 20%,transparent)}.places-map{margin-top:var(--space-3);overflow:hidden;border:1px solid var(--color-border-subtle);border-radius:var(--radius-lg);background:color-mix(in srgb,var(--color-bg-elevated) 55%,transparent)}.places-map-head{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--color-text-primary)}.places-map-head svg{color:var(--color-primary-dark);flex:none}.places-map-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.places-map-directions{margin-left:auto;flex:none;display:inline-flex;align-items:center;gap:var(--space-1);padding:2px var(--space-2);border-radius:var(--radius-full);text-decoration:none;font-size:var(--text-xs);font-weight:var(--font-semibold);color:var(--color-text-secondary);background:var(--color-bg-elevated);border:1px solid var(--color-border-default);transition:var(--transition-snap)}.places-map-directions:hover{color:var(--color-text-primary);border-color:color-mix(in srgb,var(--color-primary) 45%,transparent);box-shadow:0 0 10px color-mix(in srgb,var(--color-primary) 14%,transparent)}.places-map-directions svg{color:var(--color-text-muted)}.place-chips{display:flex;flex-wrap:wrap;gap:var(--space-1);padding:0 var(--space-3) var(--space-2)}.place-chip{padding:2px var(--space-2);cursor:pointer;border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:var(--font-semibold);color:var(--color-text-secondary);background:var(--color-bg-elevated);border:1px solid var(--color-border-default);transition:var(--transition-snap)}.place-chip:hover{color:var(--color-text-primary);border-color:var(--color-border-strong)}.place-chip[data-active]{color:var(--color-text-primary);background:var(--color-primary-muted);border-color:color-mix(in srgb,var(--color-primary) 45%,transparent)}.places-map-frame{width:100%;height:260px;border:none;display:block}.search-phase{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--color-text-muted);animation:afi-fade-in .16s ease}.search-phase-spinner{animation:afi-spin .9s linear infinite;flex:none}@keyframes afi-spin{to{transform:rotate(360deg)}}.followup-chips{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-3)}.followup-chip{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-3);cursor:pointer;border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:var(--font-semibold);text-align:left;color:var(--color-text-secondary);background:color-mix(in srgb,var(--color-bg-elevated) 55%,transparent);border:1px solid var(--color-border-subtle);transition:var(--transition-snap)}.followup-chip:hover{color:var(--color-text-primary);border-color:color-mix(in srgb,var(--color-primary) 45%,transparent);box-shadow:0 0 12px color-mix(in srgb,var(--color-primary) 14%,transparent)}.followup-chip svg{color:var(--color-primary-dark);flex:none}.doc-chip{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-2);border-radius:var(--radius-md);font-size:var(--text-xs);font-weight:var(--font-semibold);color:var(--color-text-secondary);background:var(--color-bg-elevated);border:1px solid var(--color-border-subtle);max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.doc-chip svg{color:var(--color-text-muted);flex:none}.message-bubble .doc-chip{margin-bottom:var(--space-2)}.doc-attach-error{display:inline-flex;align-items:center;gap:var(--space-1);font-size:var(--text-xs);color:var(--color-danger, #E5484D)}
