:root{--font-scale:1;--bg:#f6f7f9;--bg-elevated:#fff;--bg-sidebar:#11161f;--sidebar-fg:#e7ebf2;--sidebar-muted:#93a0b4;--fg:#1b2230;--fg-muted:#5a6675;--border:#e2e6ec;--accent:#4f46e5;--accent-fg:#fff;--user-bubble:#4f46e5;--user-bubble-fg:#fff;--assistant-bubble:#fff;--assistant-bubble-fg:#1b2230;--danger:#c0392b;--focus-ring:#1d4ed8;--radius:12px;--app-bg-image:none}[data-theme=dark]{--bg:#0d1117;--bg-elevated:#161b22;--bg-sidebar:#0a0d12;--sidebar-fg:#e7ebf2;--sidebar-muted:#8b97a8;--fg:#e6edf3;--fg-muted:#9aa7b4;--border:#232b36;--accent:#7c83ff;--accent-fg:#0d1117;--user-bubble:#3b3f8f;--user-bubble-fg:#fff;--assistant-bubble:#161b22;--assistant-bubble-fg:#e6edf3;--danger:#ff6b5e;--focus-ring:#93b4ff}[data-theme=contrast]{--bg:#000;--bg-elevated:#000;--bg-sidebar:#000;--sidebar-fg:#fff;--sidebar-muted:#ff0;--fg:#fff;--fg-muted:#fff;--border:#fff;--accent:#ff0;--accent-fg:#000;--user-bubble:#000;--user-bubble-fg:#ff0;--assistant-bubble:#000;--assistant-bubble-fg:#fff;--danger:#ff8a80;--focus-ring:#ff0;--app-bg-image:none}*{box-sizing:border-box}body,html{margin:0;padding:0;height:100%}body{background-color:var(--bg);background-image:var(--app-bg-image);background-size:cover;background-attachment:fixed;color:var(--fg);font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;font-size:calc(16px * var(--font-scale));line-height:1.5;-webkit-font-smoothing:antialiased}[data-theme=contrast] button,[data-theme=contrast] input,[data-theme=contrast] select,[data-theme=contrast] textarea{outline:2px solid var(--border)}:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}button{font:inherit;cursor:pointer}input,select,textarea{font:inherit;color:var(--fg);background:var(--bg-elevated);border:1px solid var(--border);border-radius:8px}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}@media (prefers-reduced-motion:reduce){*{animation-duration:.001ms!important;transition-duration:.001ms!important}}