@import url("https://fonts.googleapis.com/css2?family=Inter:ital,wght@0,300;0,400;0,500;0,600;0,700;1,400&family=JetBrains+Mono:wght@400;500&display=swap");:root{--bg:#0a0a0a;--bg-subtle:#111;--bg-surface:#161616;--bg-elevated:#1c1c1c;--bg-overlay:#222;--border:hsla(0,0%,100%,.08);--border-strong:hsla(0,0%,100%,.14);--border-focus:rgba(124,58,237,.6);--accent:#7c3aed;--accent-2:#6d28d9;--accent-3:#a78bfa;--accent-dim:rgba(124,58,237,.1);--accent-glow:rgba(124,58,237,.2);--success:#22c55e;--success-dim:rgba(34,197,94,.1);--error:#ef4444;--error-dim:rgba(239,68,68,.1);--warning:#f59e0b;--warning-dim:rgba(245,158,11,.1);--info:#3b82f6;--text:#ededed;--text-2:#a1a1a1;--text-3:#6b6b6b;--text-4:#3d3d3d;--text-inverse:#0a0a0a;--s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-5:20px;--s-6:24px;--s-8:32px;--s-10:40px;--s-12:48px;--s-16:64px;--s-20:80px;--s-24:96px;--r-sm:6px;--r-md:8px;--r-lg:12px;--r-xl:16px;--r-2xl:20px;--r-full:9999px;--shadow-sm:0 1px 2px rgba(0,0,0,.5);--shadow-md:0 4px 8px rgba(0,0,0,.4),0 1px 2px rgba(0,0,0,.3);--shadow-lg:0 8px 24px rgba(0,0,0,.5);--shadow-xl:0 16px 40px rgba(0,0,0,.6);--shadow-accent:0 4px 16px rgba(124,58,237,.3);--font:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--font-mono:"JetBrains Mono","Fira Code","Cascadia Code",monospace;--t-fast:120ms ease;--t-base:200ms ease;--t-slow:300ms cubic-bezier(0.22,1,0.36,1)}*,:after,:before{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth;font-size:16px;-webkit-text-size-adjust:100%}body{font-family:var(--font);font-size:.9375rem;line-height:1.6;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden;max-width:100vw}*{-webkit-tap-highlight-color:transparent}html{-webkit-overflow-scrolling:touch}[role=button],button{touch-action:manipulation;cursor:pointer}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:1.2;letter-spacing:-.02em;color:var(--text)}h1{font-size:clamp(2rem,5vw,3.25rem);font-weight:700}h2{font-size:clamp(1.5rem,3vw,2rem)}h3{font-size:1.125rem}p{color:var(--text-2);line-height:1.7}a{color:var(--accent-3);text-decoration:none;transition:color var(--t-fast)}a:hover{color:var(--text)}code{font-family:var(--font-mono);font-size:.8125em;background:var(--bg-overlay);border:1px solid var(--border);color:var(--accent-3);padding:2px 6px;border-radius:var(--r-sm)}button,input,select,textarea{font-family:var(--font);font-size:inherit}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes slide-up{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes slide-down{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{to{transform:rotate(1turn)}}@keyframes progress-shine{0%{transform:translateX(-100%)}to{transform:translateX(400%)}}@keyframes pulse-soft{0%,to{opacity:1}50%{opacity:.4}}@keyframes dot-bounce{0%,80%,to{transform:translateY(0);opacity:.4}40%{transform:translateY(-5px);opacity:1}}@keyframes confetti-drop{0%{transform:translateY(-20px) rotate(0deg);opacity:1}to{transform:translateY(300px) rotate(540deg);opacity:0}}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--bg-elevated);border-radius:var(--r-full)}::-webkit-scrollbar-thumb:hover{background:var(--bg-overlay)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}::selection{background:rgba(124,58,237,.25);color:var(--text)}