:root,:root[data-theme=dark]{color-scheme:dark;--bg:#16181d;--surface:#23272f;--surface-2:#2b303b;--line:#343a46;--ink:#f6f7f9;--muted:#99a1b3;--what:#ee9d7d;--what-strong:#d97757;--how:#f2c14e;--bad:#ff6b6b;--good:#7ec9a2;--on-fill:#16181d}:root[data-theme=light]{color-scheme:light;--bg:#faf9f7;--surface:#fff;--surface-2:#f1eee9;--line:#e0dad1;--ink:#1d1f24;--muted:#6a7080;--what:#c05a2e;--what-strong:#a8471f;--how:#96690a;--bad:#c62b2b;--good:#1d7a4f;--on-fill:#fff}:root{--font:"Optimistic Display", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--mono:"Source Code Pro", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--rail:15rem}*{box-sizing:border-box;margin:0}html{scroll-behavior:smooth;scroll-padding-top:5rem}body{background:var(--bg);color:var(--ink);font-family:var(--font);-webkit-font-smoothing:antialiased;line-height:1.55}.lp-bar{z-index:20;background:color-mix(in srgb, var(--bg) 88%, transparent);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);align-items:center;gap:1rem;padding:.75rem clamp(1rem,4vw,2.5rem);font-size:.78rem;display:flex;position:sticky;top:0}.lp-bar a{color:var(--muted);text-decoration:none}.lp-bar a:hover{color:var(--what)}.lp-bar .lp-here{color:var(--ink)}.lp-bar .lp-nav{gap:.9rem;margin-left:auto;display:flex}.lp-progress{z-index:30;background:linear-gradient(90deg, var(--what-strong), var(--how));width:0;height:2px;position:fixed;top:0;left:0}.lp{grid-template-columns:var(--rail) minmax(0, 1fr);gap:clamp(1.5rem,4vw,3.5rem);max-width:78rem;margin:0 auto;padding:clamp(1.5rem,5vw,3.5rem) clamp(1rem,4vw,2.5rem) 8rem;display:grid}.lp-rail{font-family:var(--mono);align-self:start;gap:.45rem;font-size:.78rem;display:grid;position:sticky;top:5rem}.lp-rail .lp-rail-label{color:var(--muted);letter-spacing:.18em;text-transform:uppercase;margin-bottom:.3rem}.lp-rail a{color:var(--muted);border-left:2px solid var(--line);gap:.6rem;padding:.2rem 0 .2rem .7rem;line-height:1.35;text-decoration:none;display:flex}.lp-rail a:hover{color:var(--ink)}.lp-rail a.is-current{color:var(--what);border-left-color:var(--what)}.lp-main{gap:clamp(2.5rem,7vh,4.5rem);min-width:0;display:grid}@media (width<=60rem){.lp{grid-template-columns:minmax(0,1fr)}.lp-rail{display:none}}.ch-head{gap:.8rem;padding-bottom:.5rem;display:grid}.eyebrow{font-family:var(--mono);text-transform:uppercase;letter-spacing:.2em;color:var(--what);font-size:.8rem}.ch-head h1{letter-spacing:-.03em;font-size:clamp(2.1rem,6vw,3.4rem);font-weight:800;line-height:1.03}.lede{color:var(--muted);text-wrap:pretty;max-width:54ch;font-size:clamp(1.05rem,2.4vw,1.3rem)}.tags{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;flex-wrap:wrap;gap:.4rem;font-size:.72rem;display:flex}.tag{border:1px solid var(--line);color:var(--muted);border-radius:999px;padding:.25em .7em}.tag--what{border-color:color-mix(in srgb, var(--what) 45%, transparent);color:var(--what)}.sec{gap:1.1rem;scroll-margin-top:5rem;display:grid}.sec-head{border-top:1px solid var(--line);gap:.35rem;padding-top:1.1rem;display:grid}.sec-num{font-family:var(--mono);letter-spacing:.18em;color:var(--what);font-size:.75rem}.sec h2{letter-spacing:-.02em;font-size:clamp(1.5rem,3.6vw,2.1rem);font-weight:800;line-height:1.15}.sec-hook{color:var(--muted);text-wrap:pretty;max-width:62ch}.sec p{text-wrap:pretty;max-width:68ch}.sec strong{color:var(--what);font-weight:700}code:not(pre code){font-family:var(--mono);background:var(--surface-2);border-radius:.3em;padding:.1em .35em;font-size:.88em}.fig{background:color-mix(in srgb, var(--surface) 55%, transparent);border:1px solid var(--line);border-radius:1rem;justify-items:center;gap:.8rem;padding:clamp(1.1rem,3.5vw,2rem);display:grid;overflow-x:auto}.fig>svg{width:100%;max-width:44rem;height:auto;display:block}.fig figcaption{font-family:var(--mono);letter-spacing:.06em;color:var(--muted);text-align:center;max-width:62ch;font-size:.76rem}.d-box{fill:var(--surface);stroke:var(--line);stroke-width:1.5px}.d-box--what{stroke:var(--what)}.d-box--how{stroke:var(--how)}.d-box--bad{stroke:var(--bad)}.d-box--good{stroke:var(--good)}.d-label{fill:var(--ink);font-family:var(--mono);text-anchor:middle;dominant-baseline:central;font-size:13px;font-weight:600}.d-sub{fill:var(--muted);font-family:var(--mono);text-anchor:middle;dominant-baseline:central;font-size:10.5px}.d-note{fill:var(--what);font-family:var(--mono);letter-spacing:.04em;font-size:11px}.d-note--how{fill:var(--how)}.d-note--muted{fill:var(--muted)}.d-edge{stroke:var(--muted);stroke-width:1.6px;fill:none}.d-edge--what{stroke:var(--what)}.d-edge--how{stroke:var(--how)}.d-edge--good{stroke:var(--good)}.d-edge--bad{stroke:var(--bad)}.d-edge--dash{stroke-dasharray:5 4}.flow{flex-wrap:wrap;justify-content:center;align-items:stretch;gap:.7rem;width:100%;display:flex}.flow .step{background:var(--surface);border:1px solid var(--line);border-top:2px solid var(--what);text-align:center;border-radius:.7rem;gap:.2rem;min-width:8.5rem;padding:.8rem 1rem;display:grid}.flow .step b{font-size:.98rem}.flow .step span{font-family:var(--mono);color:var(--muted);font-size:.72rem}.flow .arr{color:var(--what);font-family:var(--mono);align-self:center}.stack{gap:.4rem;width:100%;max-width:44rem;display:grid}.stack .row{background:var(--surface);border:1px solid var(--line);border-left:3px solid var(--line);border-radius:.5rem;grid-template-columns:8.5rem minmax(0,1fr);align-items:baseline;gap:.9rem;padding:.6rem .9rem;display:grid}.stack .row b{font-family:var(--mono);color:var(--ink);font-size:.85rem}.stack .row span{color:var(--muted);font-size:.92rem}.stack .row--key{border-left-color:var(--what)}.stack .row--key b{color:var(--what)}@media (width<=34rem){.stack .row{grid-template-columns:minmax(0,1fr);gap:.15rem}}.cbar{border:1px solid var(--line);width:100%;max-width:44rem;height:2.6rem;font-family:var(--mono);border-radius:.5rem;font-size:.7rem;display:flex;overflow:hidden}.cbar>div{color:var(--on-fill);white-space:nowrap;place-items:center;font-weight:700;display:grid;overflow:hidden}.cbar .seg--sys{background:var(--what-strong)}.cbar .seg--tools{background:var(--how)}.cbar .seg--hist{background:var(--what)}.cbar .seg--free{background:var(--surface-2);color:var(--muted)}.bar-pair{justify-items:start;gap:.35rem;width:100%;display:grid}.bar-label{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-size:.72rem}.bar-label--bad{color:var(--bad)}.bar-label--good{color:var(--good)}.trap{background:var(--surface);border:1px solid var(--line);border-left:3px solid var(--bad);border-radius:0 .8rem .8rem 0;gap:.7rem;padding:1rem 1.2rem;display:grid}.trap .trap-label{font-family:var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--bad);font-size:.72rem}.trap ul{gap:.5rem;padding:0;list-style:none;display:grid}.trap li{padding-left:1.7rem;position:relative}.trap li:before{font-family:var(--mono);font-weight:700;line-height:1.55;position:absolute;top:0;left:0}.trap li.bad:before{content:"✗";color:var(--bad)}.trap li.good:before{content:"✓";color:var(--good)}.trap li.bad{color:var(--muted)}.key{border:1px solid var(--line);border-radius:.8rem;width:100%;overflow-x:auto}.key table{border-collapse:collapse;width:100%;min-width:32rem;font-size:.95rem}.key th,.key td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:.65rem 1rem}.key th{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);background:var(--surface-2);font-size:.72rem}.key tr:last-child td{border-bottom:0}.key td:first-child{font-family:var(--mono);color:var(--what);white-space:nowrap}.cols{grid-template-columns:repeat(auto-fit,minmax(min(18rem,100%),1fr));gap:.9rem;width:100%;display:grid}.card{background:var(--surface);border:1px solid var(--line);border-radius:.8rem;align-content:start;gap:.5rem;padding:1rem 1.2rem;display:grid}.card .card-label{font-family:var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--muted);font-size:.72rem}.card--bad{border-top:2px solid var(--bad)}.card--bad .card-label{color:var(--bad)}.card--good{border-top:2px solid var(--good)}.card--good .card-label{color:var(--good)}.card--what{border-top:2px solid var(--what)}.card--what .card-label{color:var(--what)}.card pre,pre.snippet{font-family:var(--mono);color:var(--ink);background:var(--bg);border:1px solid var(--line);border-radius:.5rem;margin:0;padding:.8rem .9rem;font-size:.82rem;line-height:1.5;overflow-x:auto}.recall{background:linear-gradient(160deg, color-mix(in srgb, var(--what-strong) 12%, var(--surface)), var(--surface));border:1px solid color-mix(in srgb, var(--what) 30%, var(--line));border-radius:1rem;gap:1rem;padding:clamp(1.2rem,4vw,2rem);display:grid}.recall h2{font-size:1.4rem;font-weight:800}.recall ol{gap:.6rem;max-width:70ch;margin:0;padding-left:1.4rem;display:grid}.recall li::marker{font-family:var(--mono);color:var(--what);font-weight:700}.docs{border-top:1px solid var(--line);margin-top:3.5rem;padding-top:1.4rem}.docs h2{font-family:var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin-bottom:.8rem;font-size:.72rem;font-weight:600}.docs ul{flex-wrap:wrap;gap:.5rem;padding:0;list-style:none;display:flex}.docs a{border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:999px;padding:.35rem .8rem;font-size:.85rem;text-decoration:none;display:inline-block}.docs a:hover{border-color:var(--what);color:var(--what)}.docs-mapped{color:var(--what);margin-left:.3em}.docs-note{font-family:var(--mono);letter-spacing:.04em;color:var(--muted);margin-top:.7rem;font-size:.7rem}.pager{font-family:var(--mono);justify-content:space-between;gap:1rem;font-size:.8rem;display:flex}.pager a{color:var(--muted);border:1px solid var(--line);border-radius:.6rem;max-width:22rem;padding:.7rem 1rem;text-decoration:none}.pager a:hover{color:var(--ink);border-color:var(--what-strong)}[data-reveal]{opacity:0;transition:opacity .5s,transform .5s;transform:translateY(12px)}[data-reveal].is-in{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}[data-reveal]{opacity:1;transition:none;transform:none}}.probe{border:1px solid var(--line);border-left:3px solid var(--muted);background:color-mix(in srgb, var(--surface) 50%, transparent);border-radius:0 .8rem .8rem 0;gap:.5rem;padding:1rem 1.2rem;display:grid}.probe .probe-label{font-family:var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--muted);font-size:.7rem}.probe p{color:var(--muted);font-size:.95rem;font-style:italic}.crux{border:1px solid var(--what);background:color-mix(in srgb, var(--what) 8%, transparent);border-radius:.8rem;gap:.4rem;padding:1rem 1.2rem;display:grid}.crux .crux-label{font-family:var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--what);font-size:.7rem}.crux p{font-size:1.02rem;line-height:1.5}.prereq{border-top:1px solid var(--line);gap:.7rem;padding-top:1.4rem;display:grid}.prereq h2{font-family:var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--muted);font-size:.72rem;font-weight:600}.prereq ul{gap:.4rem;padding:0;list-style:none;display:grid}.prereq a{color:var(--ink);border-bottom:1px solid var(--line);padding-bottom:.4rem;font-size:.92rem;text-decoration:none}.prereq a:hover{color:var(--what);border-bottom-color:var(--what)}.opts td:first-child{color:var(--muted)}.opts .is-right{color:var(--good)}.opts .is-wrong{color:var(--bad)}
