:root{--bg:#f3f7ff;--surface:#fff;--ink:#0b1633;--muted:#4a5a85;--line:#c9d6f2;--accent:#1f6bff;--warn-bg:#fff3bf;--warn-ink:#5c4400;color-scheme:light dark}
@media (prefers-color-scheme:dark){:root{--bg:#04070f;--surface:#0b1328;--ink:#eef3ff;--muted:#93a4cc;--line:#1b2c57;--accent:#2d8bff;--warn-bg:#4a3b00;--warn-ink:#ffe28a}}
*{box-sizing:border-box}
html{scroll-padding-top:env(safe-area-inset-top,0px)}
body{margin:0;background:var(--bg);color:var(--ink);font:400 16px/1.7 "DM Sans",system-ui,sans-serif;padding:env(safe-area-inset-top,0px) 0 env(safe-area-inset-bottom,0px)}
header,main,footer{max-width:720px;margin:0 auto;padding:0 20px}
header{display:flex;flex-wrap:wrap;gap:8px 20px;align-items:center;justify-content:space-between;padding-top:20px;padding-bottom:16px;border-bottom:1px solid var(--line)}
.brand{font:800 20px "Bricolage Grotesque",sans-serif;color:var(--ink);text-decoration:none}
nav{display:flex;flex-wrap:wrap;gap:4px 16px;font-size:14px}
nav a{color:var(--muted)}nav a[aria-current]{color:var(--ink);font-weight:700;text-decoration:none}
h1,h2{font-family:"Bricolage Grotesque","DM Sans",sans-serif;line-height:1.15}
h1{font-size:clamp(28px,6vw,40px);margin:32px 0 6px}
h2{font-size:20px;margin:32px 0 8px}
.upd{color:var(--muted);font-size:14px;margin:0 0 24px}
p,li{max-width:68ch}li{margin:4px 0}
a{color:var(--accent)}
a:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
mark{background:var(--warn-bg);color:var(--warn-ink);padding:0 4px;border-radius:3px}
details{border-top:1px solid var(--line);padding:12px 0}details:last-of-type{border-bottom:1px solid var(--line)}
summary{cursor:pointer;font-weight:700}details p{margin:8px 0 0}
footer{color:var(--muted);font-size:14px;padding-top:32px;padding-bottom:40px}
