:root{--bg:#f5f1ec;--bg-elev:#fff;--surface:#ebe7e1;--border:#d3cec6;--border-soft:#e4dfd8;--text:#111;--muted:#626260;--faint:#6f6f6c;--accent:#111;--accent-hover:#000;--accent-soft:#fff;--accent-line:#b9b3aa;--pop:#e04b00;--bad:#c41c1c;--bad-soft:#fbeceb;--ghost:#a39d94;--radius:12px;--radius-sm:8px;--shell:1280px;--toc:210px;--rail:250px;--prose:700px;--sans:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;--serif:var(--sans);--mono:ui-monospace, SFMono-Regular, Consolas, "Liberation Mono", monospace;color-scheme:light}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{background:var(--bg);color:var(--text);font-family:var(--sans);-webkit-font-smoothing:antialiased;overflow-wrap:anywhere;margin:0;font-size:17px;line-height:1.7}.shell{max-width:var(--shell);margin:0 auto;padding:0 24px}.layout{grid-template-columns:minmax(0, var(--prose));justify-content:start;align-items:start;gap:0 48px;display:grid}.layout.wide{grid-template-columns:minmax(0,1fr)}.layout.has-rail{grid-template-columns:var(--toc) minmax(0, var(--prose))}.layout.has-rail.has-right{grid-template-columns:var(--toc) minmax(0, var(--prose)) var(--rail);justify-content:space-between}.rail-sticky{padding-top:40px;position:sticky;top:88px}@media (width<=1220px){.layout.has-rail.has-right{grid-template-columns:var(--toc) minmax(0, var(--prose));justify-content:start}.rail-col{display:none}}@media (width<=960px){.layout.has-rail,.layout.has-rail.has-right{grid-template-columns:minmax(0, var(--prose))}.toc-col{display:none}}.shell.wide{max-width:var(--shell)}@media (width<=640px){.shell{padding:0 18px}}a{color:inherit}.skip{position:absolute;left:-9999px}.skip:focus{background:var(--accent);color:#fff;z-index:20;border-radius:var(--radius-sm);padding:8px 12px;top:8px;left:8px}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:3px}.site-head{border-bottom:1px solid var(--border);background:var(--bg);z-index:10;position:sticky;top:0}.head-inner{flex-wrap:wrap;align-items:center;gap:24px;min-height:64px;display:flex}.brand{align-items:center;gap:10px;margin-right:auto;text-decoration:none;display:flex}.brand-mark{background:var(--text);color:#fff;letter-spacing:0;border-radius:8px;place-items:center;width:30px;height:28px;font-size:10.5px;font-weight:700;display:grid}.brand-text{letter-spacing:-.02em;white-space:nowrap;font-size:18px;font-weight:500}.site-head nav{flex-wrap:wrap;gap:20px;font-size:15px;display:flex}.site-head nav a{color:var(--muted);white-space:nowrap;text-decoration:none}.site-head nav a:hover{color:var(--text)}.site-head nav .nav-sub{color:var(--faint)}@media (width<=640px){.site-head{position:static}.head-inner{gap:10px;min-height:0;padding-top:10px;padding-bottom:10px}.brand{width:100%;margin-right:0}.site-head nav{gap:14px;font-size:14px}.site-head nav .nav-sub{display:none}}main{padding:40px 0 72px}h1,h2,h3{font-family:var(--serif);letter-spacing:-.02em;font-weight:500}h1{letter-spacing:-.03em;text-wrap:balance;margin:0 0 16px;font-size:42px;line-height:1.1}h2{margin:52px 0 16px;font-size:27px;line-height:1.25}h3{letter-spacing:-.01em;margin:34px 0 10px;font-size:20px;font-weight:600;line-height:1.4}.prose :is(h2,h3){scroll-margin-top:88px}p{text-wrap:pretty;margin:0 0 26px}ul,ol{margin:0 0 26px;padding-left:24px}li{margin:10px 0}li>ul,li>ol{margin:8px 0 0}strong{font-weight:700}@media (width<=640px){h1{font-size:31px}h2{margin-top:42px;font-size:23px}h3{font-size:19px}}.prose a,.sources a{color:var(--accent);text-decoration:underline;text-decoration-color:var(--pop);text-underline-offset:3px;text-decoration-thickness:1.5px}.prose a:hover,.sources a:hover{color:var(--accent-hover)}blockquote{border-left:3px solid var(--pop);background:var(--accent-soft);border-radius:0 var(--radius) var(--radius) 0;margin:26px 0;padding:14px 20px}blockquote p:last-child{margin-bottom:0}.table-scroll{-webkit-overflow-scrolling:touch;margin:26px 0;overflow-x:auto}table{border-collapse:collapse;width:100%;margin:26px 0;font-size:15px;line-height:1.55;display:block;overflow-x:auto}.table-scroll table{margin:0;display:table}th,td{border:0;border-bottom:1px solid var(--border);text-align:left;vertical-align:top;padding:10px 14px}th{background:var(--surface);white-space:nowrap;border-bottom:2px solid var(--accent-line);letter-spacing:.01em;font-size:13.5px;font-weight:700}tbody tr:nth-child(2n){background:color-mix(in srgb, var(--surface) 45%, transparent)}.prose dl{background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius);margin:26px 0;padding:4px 20px 18px}.prose dt{letter-spacing:.04em;text-transform:uppercase;color:var(--accent);margin:16px 0 4px;font-size:12.5px;font-weight:700}.prose dd{margin:0;font-size:15.5px;line-height:1.65}.prose dd>p{margin:0}.callout{border:1px solid var(--border);border-left:3px solid var(--muted);border-radius:0 var(--radius) var(--radius) 0;background:var(--bg-elev);margin:30px 0;padding:16px 20px 4px}.callout>.callout-title{letter-spacing:.04em;text-transform:uppercase;color:var(--muted);margin:0 0 8px;font-size:12px;font-weight:700}.callout>:not(.callout-title){font-size:15.5px;line-height:1.65}.callout>p:not(.callout-title),.callout ul,.callout ol{margin:0 0 14px}.callout li{margin:6px 0}.cal-warn{background:color-mix(in srgb, #b4552f 5%, var(--bg-elev));border-left-color:#b4552f}.cal-warn>.callout-title{color:#a04a26}.cal-tip{border-left-color:var(--accent);background:var(--accent-soft)}.cal-tip>.callout-title{color:var(--accent)}.cal-check{border-left-color:var(--accent)}.cal-check>.callout-title{color:var(--accent)}.cal-note{border-left-color:var(--border)}.cal-law{background:var(--surface);font-family:var(--mono);border-left-color:#6b665d}.cal-law>:not(.callout-title){font-size:14px;line-height:1.7}code{background:var(--surface);font-family:var(--mono);border-radius:4px;padding:2px 6px;font-size:.9em}pre{border-radius:var(--radius);background:var(--surface);padding:16px;font-size:14px;line-height:1.6;overflow-x:auto}pre code{background:0 0;padding:0}hr{border:0;border-top:1px solid var(--border);margin:44px 0}img{border-radius:var(--radius);max-width:100%;height:auto}.kicker{letter-spacing:.05em;text-transform:uppercase;color:var(--pop);font-size:12.5px;font-weight:600}.kicker a{color:inherit;text-decoration:none}.lede{color:var(--muted);font-size:19px;line-height:1.6}.site-foot{border-top:1px solid var(--border);background:var(--surface);color:var(--muted);padding:40px 0 52px;font-size:14.5px}.foot-top{flex-wrap:wrap;justify-content:space-between;gap:28px;margin-bottom:22px;display:flex}.foot-name{color:var(--text);margin:0 0 4px;font-size:16px;font-weight:700}.foot-desc{max-width:460px;margin:0;line-height:1.6}.hire-menu{position:relative}.hire-menu>summary{cursor:pointer;color:var(--muted);list-style:none}.hire-menu>summary::-webkit-details-marker{display:none}.hire-menu>summary:after{content:" ▾";font-size:11px}.hire-menu[open]>summary{color:var(--text)}.hire-panel{z-index:30;background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:14px;min-width:260px;padding:16px 18px;display:flex;position:absolute;top:calc(100% + 12px);left:-16px;box-shadow:0 10px 30px #00000014}.hire-col{flex-direction:column;gap:6px;display:flex}.site-head nav .hire-field{letter-spacing:.04em;text-transform:uppercase;color:var(--accent);font-size:12px;font-weight:700}.site-head nav .hire-job{color:var(--text)}.site-head nav .hire-all{color:var(--accent);border-top:1px solid var(--border);padding-top:10px;font-size:13.5px}@media (width<=640px){.hire-panel{min-width:230px;left:0;right:auto}}.foot-jobs{flex-wrap:wrap;gap:28px;margin:0 0 20px;display:flex}.foot-jobs div{flex-direction:column;gap:6px;display:flex}.foot-jobs a{color:var(--muted);font-size:14px;text-decoration:none}.foot-jobs a:hover{color:var(--accent)}.foot-jobs .foot-field{color:var(--text);font-weight:700}.foot-nav{flex-wrap:wrap;align-items:flex-start;gap:16px;display:flex}.foot-nav a{color:var(--muted);text-decoration:none}.foot-nav a:hover{color:var(--accent)}.foot-legal{border-top:1px solid var(--border);color:var(--faint);margin:0 0 14px;padding-top:18px;font-size:13px;line-height:1.65}.foot-copy{color:var(--faint);margin:0;font-size:13px}.fig{background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius);margin:34px 0;padding:18px 20px 14px}.fig-title{font-family:var(--sans);margin:0 0 2px;font-size:15.5px;font-weight:700;line-height:1.4}.fig-sub{color:var(--muted);margin:0 0 14px;font-size:13.5px;line-height:1.5}.fig figcaption{border-top:1px solid var(--border-soft);color:var(--faint);margin-top:12px;padding-top:10px;font-size:12.5px;line-height:1.5}.fig-legend{color:var(--muted);flex-wrap:wrap;gap:6px 16px;margin:0 0 12px;font-size:13px;display:flex}.fig-legend span{align-items:center;gap:6px;display:inline-flex}.key{background:var(--accent);border-radius:3px;width:12px;height:12px;display:inline-block}.key.ghost{background:var(--ghost)}.key.ring{border:2px solid var(--accent);background:0 0;border-radius:50%}.key.dot{border-radius:50%}.fig-cols{grid-template-columns:1fr 1fr;gap:8px 28px;display:grid}@media (width<=560px){.fig-cols{grid-template-columns:1fr}}.fig-h{letter-spacing:.05em;text-transform:uppercase;color:var(--muted);margin:4px 0 8px;font-size:12px;font-weight:700}.bars{grid-template-columns:max-content 1fr max-content;align-items:center;gap:7px 10px;font-size:14px;display:grid}.bars .lab{color:var(--text);white-space:nowrap}@media (width<=560px){.bars .lab{white-space:normal;max-width:13ch;line-height:1.3}}.bars .val{color:var(--muted);font-variant-numeric:tabular-nums;text-align:right;min-width:3ch}.bars .track{gap:2px;display:grid}.bar{height:12px;width:var(--w);background:var(--accent);border-radius:0 4px 4px 0;min-width:3px;display:block}.bar.ghost{background:var(--ghost)}.bar.pair{height:9px}.bars .val.pair{font-size:13px;line-height:1.25}.sgrid{grid-template-columns:repeat(var(--cols), 1fr);gap:4px;display:grid}.sgrid .rowlab{grid-column:1/-1;margin:10px 0 2px;font-size:13.5px;font-weight:600}.sgrid .rowlab:first-of-type{margin-top:0}.sgrid .colhead{color:var(--muted);text-align:center;font-size:12px}.cell{border-radius:var(--radius-sm);place-items:center;height:34px;font-size:13px;font-weight:700;display:grid}.cell.ok{background:var(--accent-soft);color:var(--accent)}.cell.bad{background:var(--bad-soft);color:var(--bad)}.cell.none{background:var(--surface);color:var(--faint);font-weight:400}.cell.alert{background:var(--accent);color:var(--bg-elev)}.sgrid .marker{grid-column:var(--at) / span 1;color:var(--bad);text-align:center;font-size:11.5px;line-height:1.2}.fig svg{width:100%;max-width:520px;height:auto;font-family:var(--sans);margin:0 auto;display:block}.fig svg .box{fill:var(--bg);stroke:var(--border);stroke-width:1.5px}.fig svg .box.acc{fill:var(--accent-soft);stroke:var(--accent-line)}.fig svg .t{fill:var(--text);font-size:16px;font-weight:700}.fig svg .s{fill:var(--muted);font-size:13.5px}.fig svg .a{stroke:var(--muted);stroke-width:2px;fill:none}.fig svg .a.acc{stroke:var(--accent)}.fig svg .a.dash{stroke-dasharray:5 5}.fig svg .al{fill:var(--muted);font-size:13px}.fig svg .al.acc{fill:var(--accent);font-weight:600}.fig svg .head{fill:var(--muted)}.fig svg .head.acc{fill:var(--accent)}.fig svg .x{stroke:var(--bad);stroke-width:2.5px}.pdots{grid-template-columns:max-content 1fr;align-items:center;gap:3px 12px;font-size:13.5px;display:grid}.pdots .nm{color:var(--text);white-space:nowrap;text-overflow:ellipsis;max-width:20ch;overflow:hidden}.pdots .ln{border-left:1px solid var(--border);height:22px;position:relative}.pdots .ln:before{content:"";border-top:1px dotted var(--border);position:absolute;top:50%;left:0;right:0}.pdots .pt{top:50%;left:var(--x);background:var(--accent);width:12px;height:12px;box-shadow:0 0 0 2px var(--bg-elev);border-radius:50%;margin:-6px 0 0 -6px;position:absolute}.pdots .pt.ring{background:var(--bg-elev);border:2px solid var(--accent)}.pdots .pv{top:50%;left:var(--x);color:var(--muted);white-space:nowrap;font-variant-numeric:tabular-nums;font-size:12.5px;position:absolute;transform:translate(10px,-50%)}.pdots .pv.flip{transform:translate(calc(-100% - 10px),-50%)}.pdots .axis{height:18px;color:var(--faint);font-size:11.5px;position:relative}.pdots .axis span{left:var(--x);white-space:nowrap;position:absolute;transform:translate(-50%)}@media (width<=560px){.pdots .axis span.minor{display:none}}.pdots .axis span:first-child{transform:none}.pdots .axis span:last-child{transform:translate(-100%)}.stats{grid-template-columns:repeat(4,1fr);gap:10px;display:grid}@media (width<=560px){.stats{grid-template-columns:1fr 1fr}}.stat{background:var(--surface);border-radius:var(--radius-sm);padding:12px 14px}.stat b{font-family:var(--serif);color:var(--text);font-variant-numeric:tabular-nums;font-size:28px;line-height:1.1;display:block}.stat span{color:var(--muted);margin-top:4px;font-size:13px;line-height:1.35;display:block}.bar.seg{border-radius:0;display:inline-block}.track.stack{gap:2px;display:flex}.track.stack .bar:last-child{border-radius:0 4px 4px 0}.track.stack .bar[style*="--w:0%"]{display:none}.bar.bad{background:var(--bad)}.cards{grid-template-columns:repeat(var(--n,3), 1fr);gap:10px;display:grid}@media (width<=620px){.cards{grid-template-columns:1fr}}.card{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);padding:14px 16px;font-size:14px;line-height:1.5}.card.acc{background:var(--accent-soft);border-color:var(--accent-line)}.card-h{margin:0 0 2px;font-size:15.5px;font-weight:700}.card-k{letter-spacing:.05em;text-transform:uppercase;color:var(--accent);margin:0 0 8px;font-size:12px;font-weight:700}.card p{margin:0}.card ul{margin:6px 0 0;padding:0;list-style:none}.card li{margin:5px 0;padding-left:20px;position:relative}.card li:before{font-weight:700;position:absolute;top:0;left:0}.card li.plus:before{content:"+";color:var(--accent)}.card li.minus:before{content:"−";color:var(--bad)}.card li.fail:before{content:"✗";color:var(--bad)}.card li.ok:before{content:"✓";color:var(--accent)}.badge{background:var(--accent);color:var(--bg-elev);vertical-align:2px;border-radius:99px;margin-left:6px;padding:1px 7px;font-size:11px;font-weight:700;display:inline-block}.steps{counter-reset:st;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px;margin:0;padding:0;list-style:none;display:grid}@media (width<=620px){.steps{grid-template-columns:1fr}}.steps li{counter-increment:st;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--muted);padding:12px 12px 12px 44px;font-size:13.5px;line-height:1.45;position:relative}.steps li:before{content:counter(st);background:var(--accent-soft);width:22px;height:22px;color:var(--accent);border-radius:50%;place-items:center;font-size:12.5px;font-weight:700;display:grid;position:absolute;top:11px;left:12px}.steps li{margin:0}.steps.compact{grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:6px}.steps.compact li{padding:10px;font-size:12.5px}.steps.compact li:before{margin:0 0 6px;display:grid;position:static}.steps.compact li b{font-size:13.5px}@media (width<=620px){.steps.compact{grid-template-columns:1fr 1fr}}.steps li.acc{background:var(--accent-soft);border-color:var(--accent-line)}.steps li.acc:before{background:var(--accent);color:var(--bg-elev)}.steps li b{color:var(--text);font-size:14.5px;display:block}.steps a{color:inherit;text-decoration:none;display:block}.steps a:hover b{color:var(--accent)}.steps a.inline{color:var(--accent);text-underline-offset:2px;text-decoration:underline;display:inline}.fig.bare{background:0 0;border:0;padding:0}.flow{flex-wrap:wrap;align-items:center;gap:6px;margin:0 0 6px;display:flex}.flow .chip{border-radius:var(--radius-sm);background:var(--surface);padding:6px 10px;font-size:13.5px;line-height:1.3}.flow .chip.ok{background:var(--accent-soft);color:var(--accent);font-weight:600}.flow .chip.bad{background:var(--bad-soft);color:var(--bad);font-weight:600}.flow .arr{color:var(--faint);font-size:14px}.split{gap:2px;height:40px;font-size:13px;font-weight:600;display:flex}.split span{white-space:nowrap;align-items:center;padding:0 12px;display:flex;overflow:hidden}.split .a{background:var(--accent-soft);color:var(--accent);border-radius:4px 0 0 4px;flex:80}.split .b{background:var(--bad);color:var(--bg-elev);border-radius:0 4px 4px 0;flex:20}.pdots .pt.bad{background:var(--bad)}details.numbers{margin:18px 0 28px}details.numbers>summary{cursor:pointer;color:var(--accent);font-size:14.5px}.hero-art{margin:22px 0 8px}.hero-art svg{border-radius:var(--radius);width:100%;height:auto;display:block}.ha-bg{fill:var(--surface)}.ha-paper{fill:var(--bg-elev)}.ha-faint{fill:var(--border)}.ha-edge{stroke:var(--border);stroke-width:1.5px}.ha-ink{fill:var(--muted)}.ha-acc{fill:var(--accent)}.ha-soft{fill:var(--accent-soft)}.ha-line2{fill:var(--accent-line)}.ha-red{fill:var(--bad)}.ha-term{fill:#1a1c22}.ha-inks,.ha-accs,.ha-reds,.ha-line2-s,.ha-paper-s{fill:none;stroke-width:3px;stroke-linecap:round;stroke-linejoin:round}.ha-inks{stroke:var(--muted)}.ha-accs{stroke:var(--accent)}.ha-reds{stroke:var(--bad)}.ha-line2-s{stroke:var(--accent-line);stroke-width:6px}.ha-paper-s{stroke:var(--bg-elev);stroke-width:1.2px;opacity:.55}
