:root{--bg-app:#f7f8fa;--bg-surface:#fff;--bg-surface-2:#f9fafb;--bg-elevated:#fff;--bg-hover:#f3f4f6;--bg-active:#e5e7eb;--border-subtle:#f1f3f5;--border:#e4e7eb;--border-strong:#d1d5db;--text-primary:#111827;--text-secondary:#4b5563;--text-tertiary:#6b7280;--text-muted:#9ca3af;--text-inverse:#fff;--brand-50:#eef2ff;--brand-100:#e0e7ff;--brand-200:#c7d2fe;--brand-300:#a5b4fc;--brand-500:#6366f1;--brand-600:#4f46e5;--brand-700:#4338ca;--brand-800:#3730a3;--brand:var(--brand-600);--brand-text:var(--brand-700);--brand-soft-bg:var(--brand-50);--brand-gradient:linear-gradient(135deg, #6366f1 0%, #8b5cf6 100%);--success:#10b981;--success-text:#047857;--success-bg:#ecfdf5;--success-border:#a7f3d0;--warning:#f59e0b;--warning-text:#b45309;--warning-bg:#fffbeb;--warning-border:#fde68a;--danger:#ef4444;--danger-text:#b91c1c;--danger-bg:#fef2f2;--danger-border:#fecaca;--info:#3b82f6;--info-text:#1d4ed8;--info-bg:#eff6ff;--info-border:#bfdbfe;--violet-text:#6d28d9;--violet-bg:#f5f3ff;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-7:28px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--space-20:80px;--font-sans:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;--font-display:"Inter", system-ui, sans-serif;--font-mono:ui-monospace, "SF Mono", "Cascadia Code", Menlo, Consolas, monospace;--text-xs:11px;--text-sm:12px;--text-base:13px;--text-md:14px;--text-lg:16px;--text-xl:18px;--text-2xl:22px;--text-3xl:28px;--text-4xl:36px;--text-5xl:48px;--text-6xl:64px;--leading-tight:1.2;--leading-snug:1.4;--leading:1.55;--leading-loose:1.7;--radius-xs:4px;--radius-sm:6px;--radius:8px;--radius-md:10px;--radius-lg:14px;--radius-xl:20px;--radius-full:9999px;--shadow-xs:0 1px 2px #0f172a0a;--shadow-sm:0 1px 2px #0f172a0a, 0 1px 3px #0f172a0f;--shadow:0 4px 8px -2px #0f172a0f, 0 2px 4px -2px #0f172a0a;--shadow-md:0 8px 16px -4px #0f172a14, 0 4px 6px -2px #0f172a0a;--shadow-lg:0 16px 32px -8px #0f172a1f, 0 8px 16px -4px #0f172a0f;--shadow-xl:0 24px 48px -12px #0f172a29;--ring-brand:0 0 0 3px #6366f12e;--ring-danger:0 0 0 3px #ef44442e;--ease:cubic-bezier(.4, 0, .2, 1);--transition:.15s var(--ease);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}[data-theme=dark]{--bg-app:#0a0c12;--bg-surface:#11141d;--bg-surface-2:#0d101a;--bg-elevated:#181c27;--bg-hover:#1c2030;--bg-active:#252a38;--border-subtle:#1a1e2a;--border:#252a38;--border-strong:#353b4d;--text-primary:#f1f5f9;--text-secondary:#cbd5e1;--text-tertiary:#94a3b8;--text-muted:#64748b;--text-inverse:#0f172a;--brand-text:#a5b4fc;--brand-soft-bg:#6366f11f;--success-text:#6ee7b7;--success-bg:#10b9811a;--success-border:#10b9814d;--warning-text:#fcd34d;--warning-bg:#f59e0b1a;--warning-border:#f59e0b4d;--danger-text:#fca5a5;--danger-bg:#ef44441a;--danger-border:#ef44444d;--info-text:#93c5fd;--info-bg:#3b82f61a;--info-border:#3b82f64d;--violet-text:#c4b5fd;--violet-bg:#8b5cf61a;--shadow-xs:0 1px 2px #0006;--shadow-sm:0 1px 2px #0006, 0 1px 3px #00000080;--shadow:0 4px 8px #0006, 0 2px 4px #0000004d;--shadow-md:0 8px 16px #00000080, 0 4px 6px #0000004d;--shadow-lg:0 16px 32px #0009, 0 8px 16px #0006;--ring-brand:0 0 0 3px #6366f14d;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box}html,body{font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--leading);color:var(--text-primary);background:var(--bg-app);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;font-feature-settings:"cv11", "ss01";margin:0;padding:0}#root{text-align:left;border:none;width:100%;max-width:none;min-height:100vh;margin:0;display:block}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);color:var(--text-primary);letter-spacing:-.014em;font-weight:600;line-height:var(--leading-tight);margin:0}p{margin:0}a{color:var(--brand-text);text-decoration:none}a:hover{text-decoration:underline}button{font-family:inherit}::selection{background:var(--brand-200);color:var(--brand-800)}[data-theme=dark] ::selection{color:var(--text-primary);background:#6366f159}.btn{justify-content:center;align-items:center;gap:var(--space-2);border-radius:var(--radius);font-family:inherit;font-size:var(--text-base);cursor:pointer;transition:background var(--transition), border-color var(--transition), color var(--transition), box-shadow var(--transition), transform var(--transition);white-space:nowrap;-webkit-user-select:none;user-select:none;border:1px solid #0000;padding:8px 14px;font-weight:500;line-height:1;display:inline-flex}.btn:focus-visible{box-shadow:var(--ring-brand);outline:none}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--brand-600);color:#fff;border-color:var(--brand-600);box-shadow:var(--shadow-sm), inset 0 -1px 0 #0000001f}.btn-primary:hover:not(:disabled){background:var(--brand-700);border-color:var(--brand-700)}.btn-primary:active{transform:translateY(.5px)}.btn-secondary{background:var(--bg-surface);color:var(--text-primary);border-color:var(--border);box-shadow:var(--shadow-xs)}.btn-secondary:hover:not(:disabled){background:var(--bg-hover);border-color:var(--border-strong)}.btn-ghost{color:var(--text-secondary);background:0 0}.btn-ghost:hover:not(:disabled){background:var(--bg-hover);color:var(--text-primary)}.btn-danger{background:var(--danger);color:#fff;border-color:var(--danger)}.btn-danger:hover:not(:disabled){background:#dc2626;border-color:#dc2626}.btn-lg{font-size:var(--text-md);padding:11px 20px}.btn-sm{font-size:var(--text-sm);padding:6px 10px}.btn-xs{font-size:var(--text-xs);padding:4px 8px}.input{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-surface);width:100%;color:var(--text-primary);font-family:inherit;font-size:var(--text-md);transition:border-color var(--transition), box-shadow var(--transition);padding:9px 12px}.input::placeholder{color:var(--text-muted)}.input:focus{border-color:var(--brand-500);box-shadow:var(--ring-brand);outline:none}.card{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-xs)}.chip{align-items:center;gap:var(--space-1);border-radius:var(--radius-full);font-size:var(--text-xs);letter-spacing:.02em;white-space:nowrap;padding:2px 8px;font-weight:600;display:inline-flex}.nav-link{font-size:var(--text-md);color:var(--text-secondary);border-radius:var(--radius-sm);transition:background var(--transition), color var(--transition);align-items:center;gap:10px;padding:8px 6px;font-weight:500;text-decoration:none;display:flex}.nav-link:hover{background:var(--bg-hover);color:var(--text-primary);text-decoration:none}.nav-link.is-active{background:var(--brand-soft-bg);color:var(--brand-text);font-weight:600}.tabular-nums{font-variant-numeric:tabular-nums}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border-strong);border:2px solid var(--bg-app);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}@keyframes spin{to{transform:rotate(360deg)}}@keyframes mic-ring-expand{0%{opacity:.7;transform:scale(1)}to{opacity:0;transform:scale(1.6)}}@keyframes busy-pulse{0%,to{opacity:1}50%{opacity:.3}}.busy-pulse{animation:1.4s ease-in-out infinite busy-pulse}@keyframes breath{0%,to{transform:translateY(0)scaleY(1)}50%{transform:translateY(-2px)scaleY(1.012)}}@keyframes sway{0%,to{transform:translate(-2px)}50%{transform:translate(2px)}}@keyframes scene-fade-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.scene-enter{animation:.6s ease-out scene-fade-in}@keyframes fade-up{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.fade-up{animation:fade-up .5s var(--ease)}@keyframes lic-pulse{0%{background:var(--brand-soft-bg)}to{background:0 0}}@keyframes slide-in{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.shimmer{background:linear-gradient(90deg, var(--bg-surface-2) 0%, var(--bg-hover) 50%, var(--bg-surface-2) 100%);background-size:200% 100%;animation:2s infinite shimmer}@keyframes wave-bar{0%,to{transform:scaleY(.4)}50%{transform:scaleY(1)}}
