
:root{--paper:#eeece2;--paper-raised:#f8f7f1;--ink:#1e2620;--ink-muted:#5a6559;--rule:#cfcdbf;--contour:#dcd9cb;
  --timber:#2f4a37;--on-timber:#f8f7f1;--blaze:#c94a16;--on-blaze:#fff;--blaze-ink:#a33c10;--signal-good:#2e6b3c;--signal-warn:#8a5a00;--signal-bad:#a1301f;
  --font-display:"Bitter","Rockwell",Georgia,serif;--font-sans:"Source Sans 3","Segoe UI",system-ui,sans-serif;--font-mono:"IBM Plex Mono",ui-monospace,Menlo,Consolas,monospace;color-scheme:light}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){--paper:#141a16;--paper-raised:#1c241f;--ink:#e9e7dc;--ink-muted:#a3ab9f;--rule:#2e3a32;--contour:#222b25;
  --timber:#8fb39a;--on-timber:#141a16;--blaze:#f0763a;--on-blaze:#141a16;--blaze-ink:#f28a55;--signal-good:#7fc28f;--signal-warn:#e0b04a;--signal-bad:#f08a7a;color-scheme:dark}}
:root[data-theme="dark"]{--paper:#141a16;--paper-raised:#1c241f;--ink:#e9e7dc;--ink-muted:#a3ab9f;--rule:#2e3a32;--contour:#222b25;
  --timber:#8fb39a;--on-timber:#141a16;--blaze:#f0763a;--on-blaze:#141a16;--blaze-ink:#f28a55;--signal-good:#7fc28f;--signal-warn:#e0b04a;--signal-bad:#f08a7a;color-scheme:dark}
*{box-sizing:border-box}[hidden]{display:none!important}
body{margin:0;background:var(--paper);color:var(--ink);font:400 17px/1.6 var(--font-sans)}
a{color:var(--timber);text-underline-offset:2px}
:focus-visible{outline:2px solid var(--timber);outline-offset:2px}
.wrap{max-width:860px;margin:0 auto;padding-inline:16px}
header{border-bottom:1px solid var(--rule)}
.hrow{display:flex;align-items:center;justify-content:space-between;gap:10px 20px;flex-wrap:wrap;padding-block:12px}
.brand{display:inline-flex;align-items:center;gap:10px;color:var(--ink);text-decoration:none}
.brand img{width:40px;height:40px;display:block}.brand .dk{display:none}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .brand .lt{display:none}:root:not([data-theme="light"]) .brand .dk{display:block}}
:root[data-theme="dark"] .brand .lt{display:none}:root[data-theme="dark"] .brand .dk{display:block}
.brand span{font:700 22px/26px var(--font-display)}
nav{display:flex;align-items:center;gap:4px 18px;flex-wrap:wrap}
nav a{font:600 15px/20px var(--font-sans);color:var(--ink-muted);text-decoration:none;padding:6px 0}
nav a:hover,nav a[aria-current]{color:var(--ink)}
.themebtn{cursor:pointer;font:600 14px/18px var(--font-sans);color:var(--ink);padding:6px 12px;border-radius:6px;border:1px solid var(--ink-muted);background:var(--paper-raised)}
.themebtn:hover{background:var(--paper)}
main{padding-block:32px 56px}
.label{font:600 12px/16px var(--font-sans);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-muted)}
h1{font:700 clamp(30px,5vw,42px)/1.1 var(--font-display);margin:8px 0 12px;text-wrap:balance}
h2{font:700 24px/1.25 var(--font-display);margin:36px 0 10px}
h3{font:700 18px/1.3 var(--font-display);margin:20px 0 6px}
p{margin:0 0 14px}
.lede{font-size:19px;color:var(--ink-muted);max-width:40em}
.type{display:inline-block;font:600 11px/14px var(--font-sans);letter-spacing:.08em;text-transform:uppercase;padding:2px 7px;border-radius:2px;border:1px solid var(--timber);color:var(--timber)}
.card{background:var(--paper-raised);border:1px solid var(--rule);border-radius:6px;padding:20px}
ol.steps{list-style:none;counter-reset:s;margin:0;padding:0;border-top:1px solid var(--rule)}
ol.steps li{counter-increment:s;display:grid;grid-template-columns:36px 1fr;gap:4px 12px;padding:14px 0;border-bottom:1px solid var(--rule)}
ol.steps li::before{content:counter(s);font:700 20px/28px var(--font-display);color:var(--timber)}
ol.steps b{font:700 17px/1.4 var(--font-sans)}
ol.steps .d{grid-column:2;color:var(--ink-muted)}
ol.steps.locked .d{filter:blur(5px);user-select:none}
.gate{margin-top:18px;border:1px solid var(--timber);background:var(--paper-raised);border-radius:6px;padding:20px}
.gate h3{margin-top:0}
.btn{display:inline-block;font:600 15px/20px var(--font-sans);padding:10px 18px;border-radius:6px;border:1px solid var(--timber);background:var(--timber);color:var(--on-timber);text-decoration:none;margin:4px 8px 0 0}
.btn.sec{background:var(--paper-raised);color:var(--ink);border-color:var(--ink-muted)}
table{width:100%;border-collapse:collapse;font-size:15px}
th{font:600 11px/14px var(--font-sans);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-muted);text-align:left;padding:8px 8px;border-bottom:1px solid var(--ink-muted)}
td{padding:9px 8px;border-bottom:1px solid var(--rule);vertical-align:top}
td.n{font:500 14px/20px var(--font-mono);min-width:7ch;overflow-wrap:anywhere}
.tw{overflow-x:auto}
ul.plain{padding-left:20px;margin:0 0 14px}ul.plain li{margin:4px 0}
nav a.navjoin{color:var(--on-timber);background:var(--timber);border:1px solid var(--timber);padding:6px 14px;border-radius:6px}
nav a.navjoin:hover,nav a.navjoin[aria-current]{color:var(--on-timber);filter:brightness(1.08)}
.note{font-size:14px;color:var(--ink-muted)}
.verify{border-left:3px solid var(--signal-warn);padding:10px 14px;background:var(--paper-raised)}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px}
.grid a.card{display:flex;flex-direction:column;gap:6px;text-decoration:none;color:var(--ink)}
.grid a.card:hover{border-color:var(--timber)}
.grid .nm{font:700 20px/1.2 var(--font-display)}
.grid p{color:var(--ink-muted);font-size:15px;margin:0}
footer{border-top:1px solid var(--rule);padding-block:20px 36px;color:var(--ink-muted);font-size:14px}

.crumbs{font-size:14px;color:var(--ink-muted);margin-top:4px}.crumbs a{color:var(--ink-muted)}
.hcode{font-family:var(--font-mono);font-size:.8em;color:var(--ink-muted);margin-right:10px}
.sub{color:var(--ink-muted);margin:-6px 0 14px}
.flags{display:flex;gap:6px;flex-wrap:wrap;margin:6px 0 10px}
.fl{font:600 11px/16px var(--font-sans);letter-spacing:.08em;text-transform:uppercase;padding:1px 7px;border:1px solid currentColor;border-radius:3px;color:var(--ink-muted)}
.fl.warn{color:var(--signal-warn)}.fl.good{color:var(--signal-good)}.fl.tim{color:var(--timber)}
.pool{margin:22px 0 6px}
.facts{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;margin:10px 0}
.fact{background:var(--paper-raised);border:1px solid var(--rule);border-radius:6px;padding:10px 12px}
.fact b{display:block;font:600 22px/1.2 var(--font-mono)}.fact span{font-size:13px;color:var(--ink-muted)}
table.curve td,table.curve th{padding:4px 8px}table.curve td{font-family:var(--font-mono);font-size:14px}
.bar{display:inline-block;height:8px;background:var(--timber);border-radius:2px;vertical-align:middle;margin-right:6px}
.inf{color:var(--ink-muted)}
.acts{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0}
.cols{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:28px}
@media(max-width:860px){.cols{grid-template-columns:1fr}}
.side h3{margin-top:0}.side ul{padding-left:18px;margin:6px 0}
.dlitem{margin:0 0 10px}.dlitem b{font-family:var(--font-mono);font-size:14px}
.talkwrap{margin-top:30px;padding-top:6px;border-top:1px solid var(--rule)}
.hl{columns:2 320px;column-gap:28px;padding:0;list-style:none}.hl li{break-inside:avoid;padding:3px 0}
.c{font-family:var(--font-mono);font-size:14px;color:var(--ink-muted);margin-right:8px}
