:root{
  color-scheme:light;
  --bg:#EEF2F5; --surface:#FFFFFF; --line:#D8DFE6;
  --ink:#15202B; --muted:#5B6877; --faint:#8A96A3;
  --gold:#B87308; --gold-soft:#F6E3BF; --mist:#5E82A8; --focus:#2F6FB3;
  --display:"Bricolage Grotesque","Avenir Next",system-ui,sans-serif;
  --body:"Source Sans 3","Segoe UI",system-ui,sans-serif;
}
@media (prefers-color-scheme: dark){
  :root{color-scheme:dark;--bg:#0D141D;--surface:#141E2A;--line:#26374A;--ink:#E4EBF2;--muted:#9AA9B8;--faint:#6B7B8C;--gold:#F0B545;--gold-soft:#3D2E12;--mist:#8FB0D2;--focus:#7FB0E8}
}
*{box-sizing:border-box}
[hidden]{display:none!important}
html,body{margin:0}
body{background:var(--bg);color:var(--ink);font:17px/1.6 var(--body);padding:0 16px;padding-block:env(safe-area-inset-top,0px) 56px}
.wrap{max-width:720px;margin:0 auto}
a{color:var(--mist)}
:focus-visible{outline:2px solid var(--focus);outline-offset:2px}
.topbar{display:flex;justify-content:space-between;align-items:center;gap:12px;padding-block:22px 10px}
.brand{display:flex;align-items:center;gap:10px;font-family:var(--display);font-weight:700;font-size:1.25rem;color:var(--ink);text-decoration:none}
.brand img{width:34px;height:34px;border-radius:8px}
.topbar .open{border:1px solid var(--line);background:var(--surface);border-radius:8px;padding:6px 14px;text-decoration:none;color:var(--ink);font-size:.95rem}
h1,h2{font-family:var(--display);letter-spacing:-.01em;text-wrap:balance;line-height:1.15}
h1{font-size:clamp(1.9rem,5vw,2.6rem);margin:24px 0 8px}
h2{font-size:1.3rem;margin:34px 0 8px}
.lede{font-size:1.1rem;color:var(--muted);margin-top:0}
.card{background:var(--surface);border-radius:14px;padding:16px 20px;margin:14px 0}
.card h3{margin:0 0 4px;font-size:1rem}
.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}
.steps .card{margin:0}
.scale{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0}
.scale span{padding:3px 10px;border-radius:999px;font-size:.88rem;background:var(--line)}
.scale .l{background:var(--gold-soft);color:var(--gold);font-weight:600}
.scale .p{color:var(--mist);font-weight:600}
ul{padding-left:1.2em}
li{margin:4px 0}
.muted{color:var(--muted)}
footer{margin-top:44px;padding-top:16px;border-top:1px solid var(--line);display:flex;flex-wrap:wrap;gap:8px 18px;font-size:.85rem;color:var(--muted)}
footer a{color:var(--muted)}
