:root{color-scheme:light dark;--paper: #f7f4ec;--surface: #fffdf8;--ink: #1d1b16;--muted: #5c574b;--rule: #d8d2c2;--accent: #a23d18;--accent-ink: #fffaf3;--tint: #f0e7d8;--serif: Charter, "Bitstream Charter", "Sitka Text", Cambria, Georgia, serif;--sans: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--mono: ui-monospace, "Cascadia Mono", "SF Mono", Consolas, Menlo, monospace;--measure: 43rem}@media(prefers-color-scheme:dark){:root{--paper: #15140f;--surface: #1e1c16;--ink: #ece7da;--muted: #aaa393;--rule: #3a362c;--accent: #f0935f;--accent-ink: #1b110a;--tint: #2a2319}}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--serif);font-size:1.125rem;line-height:1.65}a{color:var(--accent);text-underline-offset:.18em;text-decoration-thickness:1px}a:hover{text-decoration-thickness:2px}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:2px}.wrap{width:min(100% - 2.5rem,var(--measure));margin-inline:auto}.skip{position:absolute;left:-999rem;top:0;background:var(--ink);color:var(--paper);padding:.5rem 1rem;font-family:var(--sans);z-index:10}.skip:focus{left:0}.site-header{border-bottom:1px solid var(--rule);font-family:var(--sans)}.site-header .wrap{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.25rem 1.5rem;padding-block:1rem .85rem;width:min(100% - 2.5rem,62rem)}.brand{display:inline-flex;align-items:baseline;gap:.6rem;color:var(--ink);text-decoration:none;font-family:var(--serif);font-weight:700;font-size:1.2rem;letter-spacing:-.01em}.brand small{font-family:var(--mono);font-weight:400;font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.site-nav ul{display:flex;flex-wrap:wrap;gap:.1rem 1.15rem;list-style:none;margin:0;padding:0;font-size:.92rem}.site-nav a{display:inline-block;padding-block:.3rem;color:var(--ink);text-decoration:none;border-bottom:2px solid transparent}.site-nav a:hover{border-bottom-color:var(--rule)}.site-nav a[aria-current=page]{border-bottom-color:var(--accent)}.page-head{padding-block:2.75rem .5rem}.crumbs{font-family:var(--sans);font-size:.82rem;color:var(--muted);margin:0 0 1.25rem}.crumbs ol{list-style:none;display:flex;flex-wrap:wrap;gap:.4rem;margin:0;padding:0}.crumbs li+li:before{content:"/";margin-right:.4rem;color:var(--rule)}.crumbs a{color:var(--muted)}.kicker{font-family:var(--mono);font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;color:var(--accent);margin:0 0 .6rem}h1{font-size:clamp(2.2rem,6.2vw,3.4rem);line-height:1.08;letter-spacing:-.022em;margin:0 0 1.1rem;font-weight:700;text-wrap:balance}.lede{font-size:1.28rem;line-height:1.55;margin:0 0 1rem}.byline{font-family:var(--sans);font-size:.82rem;color:var(--muted);margin:0}.code-strip{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .9rem;margin-block:1.6rem 0;padding:.65rem .9rem;border:1px solid var(--rule);border-left:3px solid var(--accent);background:var(--surface);font-family:var(--sans);font-size:.92rem}.code-strip p{margin:0;flex:1 1 14rem}.code-chip{font-family:var(--mono);font-weight:700;letter-spacing:.06em;background:var(--tint);border:1px dashed var(--accent);padding:.08em .45em;border-radius:3px;white-space:nowrap}.strip-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .9rem}.btn,.btn-ghost{display:inline-block;font-family:var(--sans);font-size:.92rem;font-weight:600;line-height:1.2;padding:.55rem .95rem;border-radius:4px;border:1px solid var(--accent);cursor:pointer;text-decoration:none}.btn{background:var(--accent);color:var(--accent-ink)}.btn:hover{filter:brightness(1.08)}.btn-ghost{background:transparent;color:var(--accent);min-width:6.6rem;text-align:center}.btn-ghost:hover{background:var(--tint)}.btn-lg{font-size:1rem;padding:.75rem 1.2rem}.prose{counter-reset:sec;padding-bottom:1rem}.prose section{margin-top:3.2rem;padding-top:1.4rem;border-top:1px solid var(--rule);scroll-margin-top:1rem}.prose h2{counter-increment:sec;font-size:clamp(1.55rem,4vw,1.95rem);line-height:1.2;letter-spacing:-.012em;margin:0 0 1rem;text-wrap:balance}.prose h2:before{content:counter(sec,decimal-leading-zero);content:counter(sec,decimal-leading-zero) / "";display:block;font-family:var(--mono);font-size:.78rem;font-weight:400;letter-spacing:.12em;color:var(--accent);margin-bottom:.45rem}.prose h3{font-size:1.2rem;line-height:1.3;margin:1.9rem 0 .5rem}.prose p{margin:0 0 1.05rem}.prose ul,.prose ol{margin:0 0 1.2rem;padding-left:1.3rem}.prose li{margin-bottom:.45rem}.prose li::marker{color:var(--accent);font-family:var(--mono);font-size:.9em}.more{font-family:var(--sans);font-size:.95rem;font-weight:600}.toc{margin-top:2rem;font-family:var(--sans);font-size:.92rem}.toc h2{font-family:var(--mono);font-size:.74rem;font-weight:400;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin:0 0 .5rem}.toc ol{list-style:none;counter-reset:toc;margin:0;padding:0;columns:2;column-gap:2rem}.toc li{counter-increment:toc;break-inside:avoid;padding-block:.2rem}.toc li:before{content:counter(toc,decimal-leading-zero);font-family:var(--mono);font-size:.78rem;color:var(--accent);margin-right:.6rem}.toc a{color:var(--ink)}@media(max-width:34rem){.toc ol{columns:1}}.table-wrap{overflow-x:auto;margin:0 0 1.3rem;border:1px solid var(--rule);background:var(--surface)}table{width:100%;border-collapse:collapse;font-family:var(--sans);font-size:.93rem;line-height:1.5}caption{caption-side:top;text-align:left;font-family:var(--mono);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);padding:.6rem .85rem .2rem}th,td{text-align:left;vertical-align:top;padding:.6rem .85rem;border-top:1px solid var(--rule)}thead th{border-top:0;font-size:.78rem;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);font-weight:600}tbody th{font-weight:600;width:32%;min-width:8rem}td.num,th.num{text-align:right;font-variant-numeric:tabular-nums}.note{margin:0 0 1.3rem;padding:.85rem 1rem;background:var(--tint);border-left:3px solid var(--accent);font-family:var(--sans);font-size:.95rem;line-height:1.55}.note p:last-child{margin-bottom:0}.note strong:first-child{font-family:var(--mono);font-size:.74rem;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);display:block;margin-bottom:.2rem}.flow{list-style:none;margin:.4rem 0 1.6rem;padding:0;display:grid;grid-template-columns:repeat(5,1fr);border:1px solid var(--rule);background:var(--surface);font-family:var(--sans)}.prose .flow li{position:relative;margin:0;padding:1rem .7rem .95rem;text-align:center;border-left:1px solid var(--rule)}.prose .flow li:first-child{border-left:0}.flow svg{width:2.6rem;height:2.6rem;color:var(--accent);display:block;margin:0 auto .5rem}.flow .n{display:block;font-family:var(--mono);font-size:.7rem;letter-spacing:.1em;color:var(--muted)}.flow b{display:block;font-size:.95rem;line-height:1.25;margin:.15rem 0 .25rem}.flow span.d{display:block;font-size:.78rem;line-height:1.4;color:var(--muted)}@media(max-width:40rem){.flow{grid-template-columns:1fr}.prose .flow li{display:grid;grid-template-columns:2.6rem 1fr;column-gap:.9rem;text-align:left;border-left:0;border-top:1px solid var(--rule);padding:.8rem .9rem}.prose .flow li:first-child{border-top:0}.flow svg{grid-row:1 / span 3;margin:0;align-self:center}}.seeds{display:flex;flex-wrap:wrap;align-items:stretch;gap:.5rem;margin:.4rem 0 1.5rem;font-family:var(--sans);font-size:.85rem;line-height:1.4}.seeds div{flex:1 1 8.5rem;border:1px solid var(--rule);background:var(--surface);padding:.7rem .8rem}.seeds div.out{border-color:var(--accent);background:var(--tint)}.seeds b{display:block;font-family:var(--mono);font-size:.78rem;letter-spacing:.05em;text-transform:uppercase;color:var(--accent);margin-bottom:.2rem}.seeds i{align-self:center;font-style:normal;font-family:var(--mono);color:var(--muted)}.oddsbar{margin:.4rem 0 1.5rem;font-family:var(--sans);font-size:.85rem;color:var(--muted)}.oddsbar svg{display:block;width:100%;height:2.2rem;margin-bottom:.45rem}.oddsbar .a{fill:var(--accent)}.oddsbar .b{fill:var(--rule)}.oddsbar figcaption span{display:inline-block;margin-right:1.2rem}.oddsbar figcaption span:before{content:"";display:inline-block;width:.7em;height:.7em;margin-right:.4em;background:var(--rule)}.oddsbar figcaption span.ka:before{background:var(--accent)}figure{margin-inline:0}.faq h3{margin-top:1.6rem}.glossary dt{font-weight:700;font-size:1.1rem;margin-top:1.3rem;scroll-margin-top:1rem}.glossary dd{margin:.2rem 0 0;padding-left:1rem;border-left:2px solid var(--rule)}.code-card{margin-block:3.5rem 3rem;border:1px solid var(--ink);background:var(--surface);padding:1.6rem 1.5rem 1.4rem;position:relative}.code-card:before{content:"";position:absolute;inset:5px;border:1px dashed var(--rule);pointer-events:none}.code-card>*{position:relative}.code-card h2{font-size:1.55rem;line-height:1.2;margin:0 0 .6rem}.code-card p{margin:0 0 1rem}.code-card ol{margin:0 0 1.2rem;padding-left:1.3rem;font-family:var(--sans);font-size:.95rem}.code-card li{margin-bottom:.3rem}.code-card .actions{display:flex;flex-wrap:wrap;gap:.7rem;align-items:center;margin-bottom:1rem}.fine{font-family:var(--sans);font-size:.8rem;line-height:1.5;color:var(--muted)}.code-card .fine{margin:0}.site-footer{border-top:1px solid var(--rule);font-family:var(--sans);font-size:.86rem;line-height:1.6;color:var(--muted);padding-block:2rem 3rem}.site-footer .wrap{width:min(100% - 2.5rem,62rem)}.site-footer ul{list-style:none;display:flex;flex-wrap:wrap;gap:.3rem 1.2rem;margin:0 0 1.2rem;padding:0}.site-footer a{color:var(--ink)}.site-footer p{margin:0 0 .7rem;max-width:46rem}.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
