:root{color-scheme:light dark;--fg:#1a1a1a;--fg-muted:#555;--bg:#ffffff;--rule:#e4e4e7;--code-bg:#f4f4f5;--pre-bg:#18181b;--pre-fg:#e4e4e7;--accent:#2563eb;--quote-bg:#fef3c7;--quote-bd:#f59e0b}@media (prefers-color-scheme:dark){:root{--fg:#e4e4e7;--fg-muted:#a1a1aa;--bg:#0a0a0b;--rule:#27272a;--code-bg:#1f1f23;--pre-bg:#0f0f10;--pre-fg:#e4e4e7;--accent:#60a5fa;--quote-bg:#2a210b;--quote-bd:#d4a017}}body,html{margin:0;padding:0;background:var(--bg);color:var(--fg);font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,sans-serif;font-size:16px;line-height:1.6;-webkit-text-size-adjust:100%}main{max-width:52rem;margin:3rem auto 6rem;padding:0 1.25rem}.lede h1{margin-bottom:.25rem}.lede p{color:var(--fg-muted);margin:.5rem 0}.lede .note{font-size:.95rem;padding:.6rem .9rem;border-left:3px solid var(--accent);margin-top:1rem}.lede .note,.toc{background:var(--code-bg)}.toc{margin:2rem 0;padding:1rem 1.25rem;border:1px solid var(--rule);border-radius:6px}.toc strong{display:block;margin-bottom:.5rem}.toc ol{margin:0;padding-left:1.25rem}.toc a{color:var(--accent);text-decoration:none}.toc a:hover{text-decoration:underline}section{margin-top:2.5rem;scroll-margin-top:1rem}h1{font-size:2rem;line-height:1.2;margin-top:0}h2{font-size:1.5rem;line-height:1.25;margin-top:2.5rem;padding-bottom:.4rem;border-bottom:1px solid var(--rule)}h3{font-size:1.15rem;margin-top:2rem}h3,h4{line-height:1.3}h4{font-size:1rem;margin-top:1.5rem}ol,p,ul{margin:.8rem 0}ol,ul{padding-left:1.4rem}li,li>ol,li>ul{margin:.2rem 0}a{color:var(--accent)}code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.92em;background:var(--code-bg);padding:.1em .35em;border-radius:3px}h2 code,h3 code,h4 code{background:transparent;padding:0}pre{background:var(--pre-bg);color:var(--pre-fg);padding:.9rem 1rem;border-radius:6px;overflow-x:auto;font-size:.88em;line-height:1.5}pre code{background:transparent;padding:0;font-size:inherit;color:inherit}blockquote{margin:1rem 0;padding:.6rem 1rem;border-left:3px solid var(--quote-bd);background:var(--quote-bg);border-radius:0 4px 4px 0}blockquote p{margin:.4rem 0}table{width:100%;border-collapse:collapse;font-size:.92rem;margin:1rem 0}td,th{text-align:left;vertical-align:top;padding:.5rem .6rem;border-bottom:1px solid var(--rule)}th{font-weight:600;background:var(--code-bg)}