@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap";
:root,[data-theme=dark]{--bg-primary:#09111f;--bg-secondary:#0f1a2e;--bg-tertiary:#162037;--bg-elevated:#1c2a45;--bg-input:#162037;--border:#1e3355;--border-subtle:#152240;--text-primary:#edf2f7;--text-secondary:#8b9cc0;--text-muted:#5a6d8f;--accent:#4f7df5;--accent-hover:#3a66d4;--accent-muted:#4f7df51a;--accent-glow:#4f7df533;--success:#34c76e;--success-muted:#34c76e1a;--warning:#e8a030;--warning-muted:#e8a0301a;--error:#e54d4d;--error-muted:#e54d4d14;--shadow:0 2px 12px #0000004d;--font-sans:"Inter", system-ui, -apple-system, sans-serif;--font-mono:"JetBrains Mono", monospace;--radius:8px;--radius-lg:12px}[data-theme=light]{--bg-primary:#f5f7fa;--bg-secondary:#fff;--bg-tertiary:#eef1f6;--bg-elevated:#fff;--bg-input:#fff;--border:#d8dfe9;--border-subtle:#e5eaf1;--text-primary:#1a2236;--text-secondary:#556380;--text-muted:#8492a8;--accent:#3b6ff0;--accent-hover:#2d5cd6;--accent-muted:#3b6ff014;--accent-glow:#3b6ff026;--success:#1fa855;--success-muted:#1fa85514;--warning:#d4910e;--warning-muted:#d4910e14;--error:#d63939;--error-muted:#d639390f;--shadow:0 2px 12px #0000000f}*{box-sizing:border-box;margin:0;padding:0}html,body{max-width:100vw;font-family:var(--font-sans);background:var(--bg-primary);color:var(--text-primary);-webkit-font-smoothing:antialiased;line-height:1.6;transition:background .2s,color .2s;overflow-x:hidden}button{cursor:pointer;font-family:inherit}input,select,textarea{outline:none;font-family:inherit}input:focus,select:focus,textarea:focus{box-shadow:0 0 0 3px var(--accent-muted);border-color:var(--accent)!important}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}::selection{background:var(--accent-muted);color:var(--text-primary)}@keyframes pulse-ring{0%{opacity:.6;transform:scale(1)}to{opacity:0;transform:scale(1.5)}}@keyframes fade-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:.25s ease-out fade-in}
