:root { --bg:#0d0d0d; --card:#161616; --fg:#fff; --soft:rgba(255,255,255,.66); --faint:rgba(255,255,255,.45); --line:rgba(255,255,255,.08); --orange:#ff8a00; }
@media (prefers-color-scheme: light) {
  :root { --bg:#fafafa; --card:#fff; --fg:#111; --soft:rgba(0,0,0,.66); --faint:rgba(0,0,0,.45); --line:rgba(0,0,0,.08); }
}
* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body { margin:0; background:var(--bg); color:var(--fg); font:16px/1.6 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif; }
main { max-width:720px; margin:0 auto; padding:28px 16px 64px; }
.brand { display:flex; align-items:center; gap:12px; text-decoration:none; margin-bottom:28px; }
.brand > img { width:40px; height:40px; }
.wordmark img { display:block; height:26px; width:auto; }
h1 { font-size:30px; line-height:1.2; font-weight:600; margin:0 0 6px; }
.meta { color:var(--faint); font-size:14px; margin-bottom:24px; }
.summary { background:var(--card); border:1px solid var(--line); border-radius:16px; padding:16px 18px; margin:0 0 28px; }
.summary b { color:var(--orange); }
.summary ul { margin:8px 0 0; padding-left:20px; }
h2 { font-size:20px; font-weight:600; margin:32px 0 8px; }
h3 { font-size:16px; font-weight:600; margin:20px 0 4px; }
p, li { color:var(--soft); }
ul { padding-left:22px; }
li { margin:4px 0; }
a { color:var(--orange); text-underline-offset:3px; }
strong { color:var(--fg); font-weight:600; }
table { width:100%; border-collapse:collapse; margin:12px 0; font-size:14.5px; }
th, td { text-align:left; vertical-align:top; padding:10px 10px; border-bottom:1px solid var(--line); color:var(--soft); }
th { color:var(--fg); font-weight:600; }
.table-wrap { overflow-x:auto; border:1px solid var(--line); border-radius:12px; }
.table-wrap table { margin:0; }
nav.toc { display:flex; flex-wrap:wrap; gap:8px; margin:0 0 8px; }
nav.toc a { font-size:13px; padding:6px 12px; border-radius:999px; border:1px solid var(--line); color:var(--fg); text-decoration:none; }
footer { margin-top:48px; padding-top:20px; border-top:1px solid var(--line); color:var(--faint); font-size:13px; display:flex; flex-wrap:wrap; gap:16px; justify-content:space-between; }
footer a { color:var(--faint); }
