@font-face{font-family:inter variable;font-style:normal;font-weight:300 700;font-display:swap;src:url(/assets/fonts/InterVariable.woff2)format("woff2-variations"),url(/assets/fonts/InterVariable.woff2)format("woff2")}@font-face{font-family:inter variable;font-style:italic;font-weight:300 700;font-display:swap;src:url(/assets/fonts/InterVariable-Italic.woff2)format("woff2-variations"),url(/assets/fonts/InterVariable-Italic.woff2)format("woff2")}@font-face{font-family:inter fallback;src:local("Arial");ascent-override:90.2%;descent-override:22.48%;line-gap-override:0%;size-adjust:107.4%}:root{--space-1:0.25rem;--space-2:0.5rem;--space-3:0.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--space-7:3rem;--r-sm:4px;--r-md:8px;--r-lg:12px;--r-pill:999px;--font-sans:"Inter Variable", "Inter Fallback", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono:ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;--bp-sm:640px;--bp-md:768px;--bp-lg:1024px;--ease-out:cubic-bezier(0.22, 0.61, 0.36, 1);--ease-in-out:cubic-bezier(0.65, 0, 0.35, 1);--dur-fast:150ms;--dur-base:250ms;--dur-slow:400ms}:root,:root[data-theme=light]{--bg:#f8fafc;--bg-elev:#ffffff;--surface:#ffffff;--surface-soft:#f1f5f9;--surface-glass:rgba(255, 255, 255, 0.72);--ink:#0f172a;--ink-soft:#475569;--ink-muted:#94a3b8;--ink-on-accent:#ffffff;--accent:#0ea5e9;--accent-strong:#075985;--accent-soft:#e0f2fe;--accent-glow:rgba(14, 165, 233, 0.32);--ok:#10b981;--ok-soft:#d1fae5;--warn:#f59e0b;--warn-soft:#fef3c7;--danger:#ef4444;--danger-soft:#fee2e2;--info:#6366f1;--info-soft:#e0e7ff;--border:#e2e8f0;--border-strong:#cbd5e1;--shadow-1:0 1px 2px rgba(15, 23, 42, 0.04), 0 1px 3px rgba(15, 23, 42, 0.06);--shadow-2:0 4px 6px -1px rgba(15, 23, 42, 0.06), 0 2px 4px -2px rgba(15, 23, 42, 0.04);--shadow-3:0 14px 28px -8px rgba(15, 23, 42, 0.16), 0 6px 10px -6px rgba(15, 23, 42, 0.08);--mesh-1:rgba(30, 41, 59, 0.65);--mesh-2:rgba(15, 23, 42, 0.55);--mesh-3:rgba(51, 65, 85, 0.45);--hex-stroke:rgba(15, 23, 42, 0.22);color-scheme:light}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#0b1220;--bg-elev:#111827;--surface:#111827;--surface-soft:#1e293b;--surface-glass:rgba(17, 24, 39, 0.72);--ink:#e2e8f0;--ink-soft:#94a3b8;--ink-muted:#64748b;--ink-on-accent:#0b1220;--accent:#38bdf8;--accent-strong:#7dd3fc;--accent-soft:rgba(56, 189, 248, 0.18);--accent-glow:rgba(56, 189, 248, 0.40);--ok:#34d399;--ok-soft:rgba(52, 211, 153, 0.16);--warn:#fbbf24;--warn-soft:rgba(251, 191, 36, 0.16);--danger:#f87171;--danger-soft:rgba(248, 113, 113, 0.18);--info:#818cf8;--info-soft:rgba(129, 140, 248, 0.18);--border:#1f2937;--border-strong:#334155;--shadow-1:0 1px 2px rgba(0, 0, 0, 0.30), 0 1px 3px rgba(0, 0, 0, 0.40);--shadow-2:0 4px 6px -1px rgba(0, 0, 0, 0.40), 0 2px 4px -2px rgba(0, 0, 0, 0.30);--shadow-3:0 14px 28px -8px rgba(0, 0, 0, 0.55), 0 6px 10px -6px rgba(0, 0, 0, 0.35);--mesh-1:rgba(56, 189, 248, 0.22);--mesh-2:rgba(52, 211, 153, 0.18);--mesh-3:rgba(129, 140, 248, 0.16);--hex-stroke:rgba(226, 232, 240, 0.10);color-scheme:dark}}:root[data-theme=dark]{--bg:#0b1220;--bg-elev:#111827;--surface:#111827;--surface-soft:#1e293b;--surface-glass:rgba(17, 24, 39, 0.72);--ink:#e2e8f0;--ink-soft:#94a3b8;--ink-muted:#64748b;--ink-on-accent:#0b1220;--accent:#38bdf8;--accent-strong:#7dd3fc;--accent-soft:rgba(56, 189, 248, 0.18);--accent-glow:rgba(56, 189, 248, 0.40);--ok:#34d399;--ok-soft:rgba(52, 211, 153, 0.16);--warn:#fbbf24;--warn-soft:rgba(251, 191, 36, 0.16);--danger:#f87171;--danger-soft:rgba(248, 113, 113, 0.18);--info:#818cf8;--info-soft:rgba(129, 140, 248, 0.18);--border:#1f2937;--border-strong:#334155;--shadow-1:0 1px 2px rgba(0, 0, 0, 0.30), 0 1px 3px rgba(0, 0, 0, 0.40);--shadow-2:0 4px 6px -1px rgba(0, 0, 0, 0.40), 0 2px 4px -2px rgba(0, 0, 0, 0.30);--shadow-3:0 14px 28px -8px rgba(0, 0, 0, 0.55), 0 6px 10px -6px rgba(0, 0, 0, 0.35);--mesh-1:rgba(56, 189, 248, 0.22);--mesh-2:rgba(52, 211, 153, 0.18);--mesh-3:rgba(129, 140, 248, 0.16);--hex-stroke:rgba(226, 232, 240, 0.10);color-scheme:dark}*{box-sizing:border-box}html{scroll-behavior:smooth;overflow-x:clip}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}html,body{margin:0;padding:0;font-family:var(--font-sans);font-feature-settings:"cv11","ss01","ss03";font-size:15px;line-height:1.55;color:var(--ink);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:color var(--dur-base)var(--ease-out)}html{background:var(--bg);transition:background var(--dur-base)var(--ease-out)}body{background:0 0}body.no-scroll{overflow:hidden}a{color:var(--accent-strong);text-decoration:none}a:hover{text-decoration:underline}code,pre{font-family:var(--font-mono);font-size:.9em}.btn{display:inline-flex;align-items:center;gap:var(--space-2);padding:.5rem .95rem;font-size:.9rem;font-weight:500;border-radius:var(--r-sm);border:1px solid transparent;cursor:pointer;background:var(--surface-soft);color:var(--ink);text-decoration:none;transition:background 120ms ease,color 120ms ease,border-color 120ms ease}.btn:hover{background:var(--border);text-decoration:none}.btn-primary{background:var(--accent-strong);color:var(--ink-on-accent);border-color:var(--accent-strong)}.btn-primary:hover{background:color-mix(in srgb,var(--accent-strong) 75%,black);border-color:color-mix(in srgb,var(--accent-strong) 75%,black);color:var(--ink-on-accent)}.btn-ghost{background:0 0;color:var(--ink-soft);border-color:var(--border)}.btn-ghost:hover{background:var(--surface-soft);color:var(--ink)}.btn-danger{background:var(--surface);color:var(--danger);border-color:var(--danger-soft)}.btn-danger:hover{background:var(--danger-soft);color:var(--danger)}.btn-sm{padding:.3rem .6rem;font-size:.82rem}.pill{display:inline-block;padding:.18rem .6rem;border-radius:999px;font-size:.72rem;font-weight:500;letter-spacing:.02em;background:var(--surface-soft);color:var(--ink-soft);border:1px solid var(--border)}.pill-success{background:var(--ok-soft);color:#047857;border-color:transparent}.pill-warn{background:var(--warn-soft);color:#92400e;border-color:transparent}.pill-danger{background:var(--danger-soft);color:#b91c1c;border-color:transparent}.pill-info{background:var(--info-soft);color:#4338ca;border-color:transparent}.pill-neutral{background:var(--surface-soft);color:var(--ink-soft)}:where(a,button,input,textarea,select,summary,.icon-btn):focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:var(--r-sm)}