:root{--bg:#0b0b0f;--bg-elevated:#16161b;--fg:#f5f5f7;--muted:#a1a1a8;--border:#ffffff17;--surface:#ffffff0b;--glass:#0b0b0fb3;--shadow:0 1px 2px #0006, 0 12px 40px #0006;--shadow-lg:0 2px 6px #00000080, 0 40px 120px #0009;--notice-bg:#ff9f0a24;--notice-fg:#ffc46b;--error:#ff6961;--ink-strength:100%;color-scheme:dark;--accent:#0a84ff;--accent-fg:#fff;--radius:14px;--radius-lg:24px;--w-narrow:760px;--w-wide:1160px}:root[data-theme=light]{--bg:#fbfbfd;--bg-elevated:#fff;--fg:#1d1d1f;--muted:#6e6e73;--border:#00000014;--surface:#00000009;--glass:#fbfbfdb8;--shadow:0 1px 2px #0000000a, 0 12px 40px #00000014;--shadow-lg:0 2px 6px #0000000f, 0 40px 100px #00000029;--notice-bg:#ff9f0a1f;--notice-fg:#a05a00;--error:#d70015;--ink-strength:62%;color-scheme:light}@media (prefers-color-scheme:light){:root[data-theme=auto]{--bg:#fbfbfd;--bg-elevated:#fff;--fg:#1d1d1f;--muted:#6e6e73;--border:#00000014;--surface:#00000009;--glass:#fbfbfdb8;--shadow:0 1px 2px #0000000a, 0 12px 40px #00000014;--shadow-lg:0 2px 6px #0000000f, 0 40px 100px #00000029;--notice-bg:#ff9f0a1f;--notice-fg:#a05a00;--error:#d70015;--ink-strength:62%;color-scheme:light}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{background:var(--bg);min-height:100vh;color:var(--fg);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;flex-direction:column;margin:0;font:17px/1.6 -apple-system,BlinkMacSystemFont,SF Pro Text,Inter,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;display:flex}main{width:100%;max-width:calc(var(--w-narrow) + 32px);flex:1;margin:0 auto;padding:56px 16px 96px}main.wide{max-width:none;padding:0 0 96px}h1,h2,h3{letter-spacing:-.025em;font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,Inter,Segoe UI,Roboto,sans-serif;font-weight:700;line-height:1.1}h1{margin:0 0 .35em;font-size:clamp(2rem,4.5vw,2.6rem)}h2{margin:2em 0 .6em;font-size:clamp(1.4rem,3vw,1.75rem)}h3{letter-spacing:-.01em;margin:1.6em 0 .4em;font-size:1.2rem}a{color:color-mix(in srgb, var(--accent) var(--ink-strength), #000);text-decoration:none}a:hover{text-underline-offset:3px;text-decoration:underline}img{max-width:100%;height:auto}code{font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:.92em}::selection{background:color-mix(in srgb, var(--accent) 35%, transparent)}.button{background:var(--accent);color:var(--accent-fg);cursor:pointer;box-shadow:0 8px 24px color-mix(in srgb, var(--accent) 35%, transparent);border:0;border-radius:999px;align-items:center;gap:8px;padding:12px 24px;font-size:1rem;font-weight:600;text-decoration:none;transition:transform .15s,box-shadow .15s,filter .15s;display:inline-flex}.button:hover{filter:brightness(1.06);box-shadow:0 12px 32px color-mix(in srgb, var(--accent) 45%, transparent);text-decoration:none;transform:translateY(-1px)}.button:active{transform:none}.button:disabled{opacity:.6;cursor:default;transform:none}.button.ghost{background:var(--surface);color:var(--fg);box-shadow:inset 0 0 0 1px var(--border)}.button.ghost:hover{box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--fg) 25%, transparent)}.muted{color:var(--muted)}.notice{border-radius:var(--radius);background:var(--notice-bg);color:var(--notice-fg);align-items:flex-start;gap:10px;padding:10px 16px;font-size:.95rem;font-weight:500;line-height:1.45;display:inline-flex}.prose p,.prose ul,.prose ol{margin:0 0 1em}.prose li{margin-bottom:.35em}.prose h2:first-child{margin-top:0}@keyframes reveal{0%{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}@supports (animation-timeline:view()){@media (prefers-reduced-motion:no-preference){.reveal{animation:linear both reveal view();animation-range:entry entry 35%}}}.skip-link{z-index:100;background:var(--bg-elevated);color:var(--fg);box-shadow:var(--shadow);border-radius:8px;padding:8px 14px;position:absolute;top:-48px;left:12px}.skip-link:focus{top:12px}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}:focus-visible{outline:2px solid color-mix(in srgb, var(--accent) var(--ink-strength), #000);outline-offset:2px}:root[data-theme=dark] .only-light,:root:not([data-theme]) .only-light,:root[data-theme=light] .only-dark{display:none!important}@media (prefers-color-scheme:dark){:root[data-theme=auto] .only-light{display:none!important}}@media (prefers-color-scheme:light){:root[data-theme=auto] .only-dark{display:none!important}}
