:root{--bg:#fbfbfa;--ink:#17181b;--muted:#5d616b;--line:#e3e3df;--accent:#1f4fd8;--card:#ffffff;--code:#f1f1ee;
--serif:"Source Serif 4",Georgia,"Times New Roman",serif;--sans:"Inter",system-ui,-apple-system,"Segoe UI",Arial,sans-serif}
@media (prefers-color-scheme:dark){:root{--bg:#121316;--ink:#e9e9ea;--muted:#a3a6ae;--line:#2a2c31;--accent:#8aa8ff;--card:#17181c;--code:#1f2126}}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font:16.5px/1.7 var(--sans)}
a{color:var(--accent)}a:hover{text-decoration-thickness:2px}
.wrap{max-width:780px;margin:0 auto;padding-inline:20px}
header.top{border-bottom:1px solid var(--line);background:var(--card)}
header.top .wrap{display:flex;flex-wrap:wrap;gap:8px 20px;align-items:center;justify-content:space-between;padding-block:14px}
.brand{font-weight:700;letter-spacing:.01em;text-decoration:none;color:var(--ink)}
nav.legal{display:flex;flex-wrap:wrap;gap:4px 16px;font-size:14px}
nav.legal a{color:var(--muted);text-decoration:none}nav.legal a[aria-current=page]{color:var(--ink);font-weight:600}
main{padding-block:44px 64px}
h1{font:600 2.1rem/1.2 var(--serif);margin:0 0 6px;letter-spacing:-.01em}
.meta{color:var(--muted);font-size:14px;margin:0 0 28px}
h2{font:600 1.25rem/1.35 var(--serif);margin:40px 0 10px;scroll-margin-top:16px}
h3{font-size:1rem;margin:22px 0 6px}
p,li{max-width:70ch}ul{padding-left:1.2em}li{margin:4px 0}
.summary{background:var(--card);border:1px solid var(--line);border-radius:8px;padding:16px 20px;margin:0 0 28px}
.summary p{margin:0}
.toc{border-left:3px solid var(--line);padding-left:16px;margin:0 0 8px}
.toc ol{margin:6px 0;padding-left:1.3em;font-size:15px}
.caps{text-transform:uppercase;font-size:14.5px;letter-spacing:.01em}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin-top:24px}
.cards a{display:block;background:var(--card);border:1px solid var(--line);border-radius:8px;padding:16px;text-decoration:none;color:var(--ink)}
.cards a span{display:block;color:var(--muted);font-size:14px;margin-top:4px}
footer{border-top:1px solid var(--line);color:var(--muted);font-size:14px}
footer .wrap{padding-block:22px;display:flex;flex-wrap:wrap;gap:6px 18px;justify-content:space-between}
@media print{header.top,footer,.toc{display:none}body{background:#fff;color:#000}}
