@import url("https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=JetBrains+Mono:wght@400;500;600&display=swap");:root{--bg:#f8fafc;--bg-surface:#fff;--bg-muted:#eff6ff;--fg:#0f172a;--fg-muted:#64748b;--fg-subtle:#94a3b8;--accent:#2563eb;--accent-hover:#1d4ed8;--accent-soft:rgba(37,99,235,.08);--border:#e2e8f0;--border-strong:#cbd5e1;--ring:#2563eb;--destructive:#dc2626;--shadow-sm:0 1px 2px rgba(15,23,42,.04);--shadow-md:0 4px 16px rgba(15,23,42,.06);--shadow-lg:0 12px 40px rgba(15,23,42,.08);--radius:8px;--font-body:"Inter",-apple-system,BlinkMacSystemFont,sans-serif;--font-mono:"JetBrains Mono","Fira Code","Cascadia Code",monospace;--transition:200ms ease}[data-theme=dark]{--bg:#0f172a;--bg-surface:#1e293b;--bg-muted:#334155;--fg:#f1f5f9;--fg-muted:#94a3b8;--fg-subtle:#64748b;--accent:#3b82f6;--accent-hover:#60a5fa;--accent-soft:rgba(59,130,246,.15);--border:#334155;--border-strong:#475569;--ring:#3b82f6;--destructive:#ef4444;--shadow-sm:0 1px 2px rgba(0,0,0,.3);--shadow-md:0 4px 16px rgba(0,0,0,.35);--shadow-lg:0 12px 40px rgba(0,0,0,.4)}*{box-sizing:border-box;padding:0;margin:0}body,html{max-width:100vw;overflow-x:hidden;height:100vh;height:100dvh}body{font-family:var(--font-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--bg);color:var(--fg);transition:background var(--transition),color var(--transition)}code{font-family:var(--font-mono)}a{color:inherit;text-decoration:none}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--fg-subtle)}:focus-visible{outline:2px solid var(--ring);outline-offset:2px}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}