:root{--fg:#191c20;--bg:#fff;--mut:#5a6470;--line:#e3e7eb;--acc:#125e7a;--fill:#2f8fb0}
*{box-sizing:border-box}
body{margin:0;font:16px/1.65 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;color:var(--fg);background:var(--bg)}
header.site{padding:1rem 1.25rem;border-bottom:1px solid var(--line);display:flex;gap:1.5rem;align-items:baseline;flex-wrap:wrap}
footer.site{border-top:1px solid var(--line);margin-top:3rem;padding:1.25rem;color:var(--mut);font-size:.8125rem}
.brand{font-weight:700;font-size:1.125rem;color:var(--fg);text-decoration:none}
nav a{margin-right:1rem;color:var(--acc)}
main{max-width:46rem;margin:0 auto;padding:1.5rem 1.25rem}
h1{font-size:1.875rem;line-height:1.2;margin:.5rem 0 .75rem}
h2{font-size:1.125rem;margin:2rem 0 .6rem;padding-bottom:.3rem;border-bottom:1px solid var(--line)}
a{color:var(--acc)}
.lede{font-size:1.125rem;color:var(--mut)}
.code{color:var(--mut);font-size:.875rem;margin:0 0 1rem}
.privacy{background:#f3f8fa;border:1px solid #d5e6ec;border-radius:6px;padding:.6rem .85rem;font-size:.875rem;color:var(--mut)}
.btn{display:inline-block;background:var(--acc);color:#fff;text-decoration:none;padding:.7rem 1.15rem;border-radius:6px;font-weight:600}
.cta{margin:1.75rem 0}
.bars{margin:1rem 0}
.bar{display:grid;grid-template-columns:8.5rem 1fr 2.5rem;gap:.6rem;align-items:center;margin:.3rem 0;font-size:.875rem}
.track{background:var(--line);border-radius:99px;height:.6rem;overflow:hidden}
.track i{display:block;height:100%;background:var(--fill)}
.val{text-align:right;color:var(--mut);font-variant-numeric:tabular-nums}
dl.dims{display:grid;gap:.75rem;margin:0}
dl.dims dt{font-weight:700}
dl.dims dd{margin:0;color:var(--mut)}
ul.all,ul.near{list-style:none;padding:0}
ul.all li,ul.near li{display:flex;justify-content:space-between;gap:1rem;border-bottom:1px solid var(--line);padding:.4rem 0}
ul.all span,ul.near span{color:var(--mut);font-size:.8125rem;font-variant-numeric:tabular-nums}
fieldset{border:1px solid var(--line);border-radius:6px;margin:0 0 .6rem;padding:.7rem .9rem}
legend{font-weight:600;padding:0 .3rem}
.scale{display:flex;gap:.35rem;flex-wrap:wrap}
.scale label{flex:1;min-width:5.5rem;text-align:center;border:1px solid var(--line);border-radius:5px;padding:.35rem;font-size:.8125rem;cursor:pointer}
.scale input{position:absolute;opacity:0;width:0}
.scale input:checked+span{font-weight:700;color:var(--acc)}
.scale label:has(input:checked){border-color:var(--acc);background:#f3f8fa}
.prog{position:sticky;top:0;background:var(--bg);padding:.5rem 0;border-bottom:1px solid var(--line);font-size:.875rem;color:var(--mut);z-index:2}

form.search{display:flex;gap:.5rem;margin:1.25rem 0}
form.search input{flex:1;padding:.7rem .85rem;font-size:1rem;border:1px solid var(--line);border-radius:6px;background:var(--bg);color:var(--fg)}
form.search input:focus{outline:2px solid var(--acc);outline-offset:1px}
.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
@media (prefers-color-scheme:dark){
:root{--fg:#e7eaee;--bg:#13161a;--mut:#98a2ac;--line:#282e34;--acc:#6cb9d6;--fill:#3d8fae}
.privacy,.scale label:has(input:checked){background:#18262c;border-color:#2b4650}
}
