:root{--paper:#eef1ec;--surface:#f9faf7;--sunk:#e4e8e2;--ink:#191f22;--ink2:#5a666a;--ink3:#8a9599;--rule:#ccd4ce;--rule2:#dde3dc;--accent:#0b6e77;--accent-ink:#075159;--accent-wash:#0b6e7717;--dim:#96620f;--dim-wash:#96620f1a;--alert:#a33a2a;--alert-wash:#a33a2a1a;--ok:#3c6e3f;--shadow:0 1px 2px #14201e0f, 0 8px 24px -12px #14201e2e;--f-disp:"Archivo","Helvetica Neue",Arial,sans-serif;--f-body:"IBM Plex Sans",-apple-system,Segoe UI,Roboto,sans-serif;--f-mono:"IBM Plex Mono",ui-monospace,SFMono-Regular,Menlo,monospace}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--paper:#0e1416;--surface:#151d20;--sunk:#101819;--ink:#e5ece9;--ink2:#93a2a4;--ink3:#6b797b;--rule:#283336;--rule2:#1e282a;--accent:#41c8cf;--accent-ink:#8fe3e7;--accent-wash:#41c8cf1c;--dim:#e1aa4e;--dim-wash:#e1aa4e1f;--alert:#e57660;--alert-wash:#e5766021;--ok:#77be7c;--shadow:0 1px 2px #0006, 0 10px 30px -14px #000000b3}}:root[data-theme=dark]{--paper:#0e1416;--surface:#151d20;--sunk:#101819;--ink:#e5ece9;--ink2:#93a2a4;--ink3:#6b797b;--rule:#283336;--rule2:#1e282a;--accent:#41c8cf;--accent-ink:#8fe3e7;--accent-wash:#41c8cf1c;--dim:#e1aa4e;--dim-wash:#e1aa4e1f;--alert:#e57660;--alert-wash:#e5766021;--ok:#77be7c;--shadow:0 1px 2px #0006, 0 10px 30px -14px #000000b3}*{box-sizing:border-box}body{background:var(--paper);color:var(--ink);font-family:var(--f-body);-webkit-font-smoothing:antialiased;margin:0;font-size:15px;line-height:1.55}.wrap{max-width:1260px;margin:0 auto;padding:0 24px 96px}.mast{border-bottom:1px solid var(--rule);flex-wrap:wrap;align-items:flex-end;gap:32px;margin-bottom:32px;padding:40px 0 26px;display:flex}.mast h1{font-family:var(--f-disp);letter-spacing:-.025em;text-wrap:balance;margin:0;font-size:clamp(30px,4.4vw,50px);font-weight:700;line-height:.96}.mast h1 em{color:var(--accent);font-style:normal}.mast p{max-width:56ch;color:var(--ink2);margin:10px 0 0;font-size:15.5px}.mast .lede{flex:420px}.stamp{font-family:var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink3);border:1px solid var(--rule);border-radius:2px;flex-direction:column;gap:3px;padding:8px 12px;font-size:11px;line-height:1.4;display:flex}.stamp b{color:var(--ink2);font-weight:500}.layout{grid-template-columns:322px minmax(0,1fr);align-items:start;gap:34px;display:grid}@media (max-width:980px){.layout{grid-template-columns:1fr}}.panel{background:var(--surface);border:1px solid var(--rule);box-shadow:var(--shadow);border-radius:3px}aside.panel{padding:18px 18px 22px;position:sticky;top:20px}@media (max-width:980px){aside.panel{position:static}}.panel-head{font-family:var(--f-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink3);border-bottom:1px solid var(--rule2);justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:9px;font-size:10.5px;display:flex}.fieldset{flex-direction:column;gap:13px;display:flex}.fieldset+.fieldset{border-top:1px dashed var(--rule);margin-top:17px;padding-top:16px}.field{flex-direction:column;gap:5px;display:flex}.field>label,.grp-label{font-family:var(--f-mono);letter-spacing:.09em;text-transform:uppercase;color:var(--ink2);justify-content:space-between;align-items:baseline;gap:8px;font-size:10.5px;display:flex}.field .hint{color:var(--ink3);letter-spacing:0;text-transform:none;font-size:10.5px}.row2{grid-template-columns:1fr 1fr;gap:11px;display:grid}.row-x{grid-template-columns:1fr 12px 1fr;align-items:center;gap:6px;display:grid}.row-x span{text-align:center;color:var(--ink3);font-family:var(--f-mono);font-size:12px}input[type=number],input[type=text],select{width:100%;font-family:var(--f-mono);color:var(--ink);background:var(--paper);border:1px solid var(--rule);appearance:none;border-radius:2px;padding:7px 9px;font-size:14px;font-weight:500}select{background-image:linear-gradient(45deg,transparent 50%,var(--ink3) 50%), linear-gradient(135deg,var(--ink3) 50%,transparent 50%);font-family:var(--f-body);background-position:calc(100% - 15px) 15px,calc(100% - 10px) 15px;background-repeat:no-repeat;background-size:5px 5px,5px 5px;padding-right:28px;font-size:13.5px}input:focus-visible,select:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:1px}input[type=range]{width:100%;accent-color:var(--accent);margin:2px 0}.combo{position:relative}.combo input[type=text]{font-family:var(--f-body);font-size:13.5px}.options{z-index:40;background:var(--surface);border:1px solid var(--rule);border-radius:3px;max-height:328px;margin:3px 0 0;padding:4px;list-style:none;position:absolute;top:100%;left:0;right:0;overflow-y:auto;box-shadow:0 12px 32px -10px #14201e57}:root[data-theme=dark] .options,:root:not([data-theme=light]) .options{box-shadow:0 14px 36px -10px #000c}.options li{padding:0}.options .grp{font-family:var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink3);background:var(--surface);padding:9px 8px 4px;font-size:9.5px;position:sticky;top:-4px}.options .opt{cursor:pointer;border-radius:2px;justify-content:space-between;align-items:baseline;gap:10px;padding:6px 8px;display:flex}.options .opt[aria-selected=true],.options .opt:hover{background:var(--accent-wash)}.options .opt .nm{color:var(--ink);white-space:nowrap;text-overflow:ellipsis;min-width:0;font-size:13px;overflow:hidden}.options .opt .sp{font-family:var(--f-mono);color:var(--ink3);white-space:nowrap;flex:none;font-size:10.5px}.options .none{color:var(--ink3);padding:10px 8px;font-size:12.5px}.seg{border:1px solid var(--rule);border-radius:2px;display:flex;overflow:hidden}.seg button{background:var(--paper);color:var(--ink2);cursor:pointer;font-family:var(--f-mono);letter-spacing:.07em;text-transform:uppercase;border:0;flex:1;padding:7px 4px;font-size:11px}.seg button+button{border-left:1px solid var(--rule)}.seg button[aria-pressed=true]{background:var(--accent);color:var(--surface)}:root[data-theme=dark] .seg button[aria-pressed=true],:root:not([data-theme=light]) .seg button[aria-pressed=true]{color:#08181a}.check{cursor:pointer;color:var(--ink2);align-items:flex-start;gap:9px;font-size:12.5px;line-height:1.4;display:flex}.check input{accent-color:var(--accent);flex:none;margin:2px 0 0}.ghost{border:1px solid var(--rule);color:var(--accent);font-family:var(--f-mono);letter-spacing:.07em;text-transform:uppercase;cursor:pointer;background:0 0;border-radius:2px;padding:4px 8px;font-size:10.5px}.ghost:hover{background:var(--accent-wash)}.ghost[disabled]{opacity:.35;cursor:default}.plan{padding:0;overflow:hidden}.plan svg{background:var(--sunk);width:100%;height:auto;display:block}.plan-foot{border-top:1px solid var(--rule2);font-family:var(--f-mono);color:var(--ink3);flex-wrap:wrap;gap:6px 20px;padding:11px 16px;font-size:11px;display:flex}.plan-foot span{align-items:center;gap:6px;display:flex}.swatch{border-top-style:solid;border-top-width:2.5px;flex:none;width:16px;height:0}.readouts{background:var(--rule);border:1px solid var(--rule);border-radius:3px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1px;margin-top:22px;display:grid;overflow:hidden}.ro{background:var(--surface);padding:14px 16px 15px}.ro .k{font-family:var(--f-mono);letter-spacing:.11em;text-transform:uppercase;color:var(--ink3);margin-bottom:4px;font-size:10px;display:block}.ro .v{font-family:var(--f-disp);letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:29px;font-weight:600;line-height:1}.ro .v small{color:var(--ink2);letter-spacing:0;font-size:14px;font-weight:500}.ro .sub{color:var(--ink3);margin-top:5px;font-size:11.5px;line-height:1.35}.ro.hero .v{color:var(--accent)}.helper{margin-top:22px;padding:18px 20px 20px}.helper-head{border-bottom:1px solid var(--rule2);flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:22px;padding-bottom:14px;display:flex}.helper-title{font-family:var(--f-disp);letter-spacing:-.015em;margin:0;font-size:19px;font-weight:600}.helper-lede{color:var(--ink2);max-width:52ch;margin:4px 0 0;font-size:13.5px}.helper .seg{flex:none;max-width:100%}.helper .seg button{white-space:nowrap;padding:7px 11px}.helper-key{color:var(--ink2);border-left:2px solid var(--accent);max-width:74ch;margin:14px 0 0;padding-left:13px;font-size:13.5px;line-height:1.55}.hbody{grid-template-columns:minmax(0,1fr) minmax(0,300px);gap:26px;margin-top:18px;display:grid}@media (max-width:820px){.hbody{grid-template-columns:1fr}}.steps{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.steps li{color:var(--ink2);grid-template-columns:22px minmax(0,1fr);gap:11px;font-size:13.5px;line-height:1.5;display:grid}.steps b{font-family:var(--f-mono);color:var(--accent);border:1px solid var(--accent);border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;margin-top:1px;font-size:11px;font-weight:500;display:flex}.steps strong{color:var(--ink);font-weight:600}.build-wrap{overflow-x:auto}.build{border-collapse:collapse;width:100%;min-width:270px;font-size:13px}.build th,.build td{text-align:right;border-bottom:1px solid var(--rule2);padding:8px 10px}.build th:first-child,.build td:first-child{text-align:left;color:var(--ink2);font-weight:400}.build thead th{font-family:var(--f-mono);letter-spacing:.09em;text-transform:uppercase;color:var(--ink3);border-bottom:1px solid var(--rule);font-size:10px;font-weight:500}.build td.num{font-family:var(--f-mono);font-variant-numeric:tabular-nums;font-weight:600}.build td.aim{color:var(--accent)}.build td.off{color:var(--dim)}.build caption{caption-side:bottom;text-align:left;color:var(--ink3);padding-top:9px;font-size:12px;line-height:1.45}.solveBox{border:1px dashed var(--rule);border-radius:3px;flex-direction:column;gap:11px;padding:14px 15px;display:flex}.solveBox .out{font-family:var(--f-disp);color:var(--accent);font-variant-numeric:tabular-nums;font-size:34px;font-weight:600;line-height:1}.solveBox .outk{font-family:var(--f-mono);letter-spacing:.11em;text-transform:uppercase;color:var(--ink3);font-size:10px}.solveBox .note{color:var(--ink3);font-size:12px;line-height:1.45}.linkish{color:var(--accent);cursor:pointer;font-family:var(--f-mono);letter-spacing:.06em;text-transform:uppercase;text-underline-offset:2px;background:0 0;border:0;padding:0;font-size:10px;text-decoration:underline}@media (max-width:620px){.helper .seg{width:100%;display:block}.helper .seg button{white-space:normal;border-left:0;width:100%}.helper .seg button+button{border-top:1px solid var(--rule)}}h2{font-family:var(--f-disp);letter-spacing:-.015em;margin:44px 0 0;font-size:20px;font-weight:600}.sec-note{color:var(--ink2);max-width:70ch;margin:6px 0 0;font-size:13.5px}.sec-rule{background:var(--rule);height:1px;margin:14px 0 20px}.cards{grid-template-columns:repeat(auto-fill,minmax(305px,1fr));gap:14px;display:grid}.card{background:var(--surface);border:1px solid var(--rule);border-radius:3px;flex-direction:column;gap:11px;padding:15px 16px 16px;display:flex}.card.mute{background:0 0;border-style:dashed}.card-top{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.card h3{font-family:var(--f-disp);letter-spacing:-.005em;margin:0;font-size:15.5px;font-weight:600;line-height:1.2}.tag{font-family:var(--f-mono);letter-spacing:.09em;text-transform:uppercase;white-space:nowrap;border:1px solid;border-radius:2px;flex:none;margin-top:1px;padding:2px 6px;font-size:9.5px}.tag.verified{color:var(--ok)}.tag.community{color:var(--ink3)}.tag.unverified{color:var(--dim)}.vals{border-top:1px solid var(--rule2);flex-direction:column;gap:0;margin:0;display:flex}.vals div{border-bottom:1px solid var(--rule2);justify-content:space-between;align-items:baseline;gap:12px;padding:6px 0;display:flex}.vals dt{color:var(--ink2);min-width:0;font-size:12.5px}.vals dd{font-family:var(--f-mono);color:var(--ink);font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap;margin:0;font-size:13.5px;font-weight:600}.vals dd.wide{white-space:normal;text-align:right;font-size:11.5px;font-weight:500}.where{color:var(--ink2);font-size:12px;line-height:1.45}.where code{font-family:var(--f-mono);background:var(--sunk);color:var(--ink);border-radius:2px;padding:1px 4px;font-size:11.5px}.warn{color:var(--dim);border-left:2px solid var(--dim);padding-left:9px;font-size:11.5px;line-height:1.45}.warn.stop{color:var(--alert);border-color:var(--alert)}.slab{border:1px dashed var(--rule);border-radius:3px;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px 18px;padding:15px 17px;display:grid}.slab div{font-size:13px}.slab b{font-family:var(--f-disp);font-size:14px;font-weight:600;display:block}.slab span{color:var(--ink3);font-size:12px}.method{border-top:1px solid var(--rule);grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:26px 34px;margin-top:46px;padding-top:22px;display:grid}.method h3{font-family:var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink3);margin:0 0 8px;font-size:10.5px;font-weight:500}.method p{color:var(--ink2);max-width:62ch;margin:0 0 9px;font-size:13.5px}.method code{font-family:var(--f-mono);color:var(--ink);font-size:12px}.method a{color:var(--accent)}footer{border-top:1px solid var(--rule2);font-family:var(--f-mono);color:var(--ink3);flex-wrap:wrap;justify-content:space-between;gap:16px;margin-top:34px;padding-top:16px;font-size:11px;display:flex}@media (prefers-reduced-motion:no-preference){.ro .v,.vals dd{transition:color .18s}}.crumb{font-family:var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink3);margin-top:28px;font-size:11px;text-decoration:none;display:inline-block}.crumb:hover{color:var(--accent)}.crumb+.mast{padding-top:18px}.doc{max-width:82ch}.doc p{color:var(--ink2);max-width:74ch;margin:0 0 13px;font-size:14.5px}.doc p strong{color:var(--ink);font-weight:600}.doc h3{font-family:var(--f-disp);letter-spacing:-.012em;color:var(--ink);margin:30px 0 9px;font-size:16.5px;font-weight:600}.doc h2,.doc h3{scroll-margin-top:22px}.doc ul{margin:0 0 13px;padding-left:1.15em}.doc ul li{color:var(--ink2);max-width:74ch;margin:0 0 8px;font-size:14px}.doc .slab{margin:0 0 14px}.doc .warn{max-width:74ch;margin:0 0 14px;font-size:12.5px}.doc .build-wrap,.doc .steps{margin:0 0 15px}.doc .sec-note{margin-bottom:12px}.where a,.doc a,.build caption a{color:var(--accent);text-underline-offset:2px;text-decoration:underline}.doc code,.where code{font-family:var(--f-mono);background:var(--sunk);color:var(--ink);border-radius:2px;padding:1px 4px;font-size:11.5px}.build.text th,.build.text td{text-align:left;vertical-align:top}.build.text td:first-child{color:var(--ink);white-space:nowrap;font-weight:500}.build.text td:nth-child(2){color:var(--ink2);white-space:nowrap}.build.text{min-width:520px}.steps.auto{counter-reset:step}.steps.auto li{counter-increment:step}.steps.auto li:before{content:counter(step);font-family:var(--f-mono);color:var(--accent);border:1px solid var(--accent);border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;margin-top:1px;font-size:11px;font-weight:500;display:flex}.doc-toc{border:1px dashed var(--rule);border-radius:3px;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:6px 18px;margin-top:22px;padding:14px 17px;display:grid}.doc-toc span{font-family:var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink3);grid-column:1/-1;margin-bottom:2px;font-size:10px}.doc-toc a{color:var(--ink2);font-size:13px;text-decoration:none}.doc-toc a:hover{color:var(--accent);text-underline-offset:2px;text-decoration:underline}.doc footer a{color:var(--ink3);text-decoration:none}.doc footer a:hover{color:var(--accent)}.stamp a{color:var(--accent);text-decoration:none}.stamp a:hover{text-underline-offset:2px;text-decoration:underline}.measfig{grid-column:1/-1;margin:6px 0 0}.measfig svg{border:1px solid var(--rule2);background:var(--sunk);border-radius:3px;width:100%;height:auto;display:block}.measfig figcaption{color:var(--ink3);max-width:74ch;margin-top:9px;font-size:12px;line-height:1.45}
