:root { --fg:#1d1d1f; --muted:#5b5b63; --bg:#ffffff; --card:#f5f5f7; --accent:#0a66c2; --line:#d9d9de; }
@media (prefers-color-scheme: dark) {
  :root { --fg:#f2f2f4; --muted:#a3a3ab; --bg:#101012; --card:#1b1b1f; --accent:#6cb2ff; --line:#33333a; }
}
* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body { margin:0; background:var(--bg); color:var(--fg); font:16px/1.6 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif; }
header.site, footer.site { max-width:46rem; margin:0 auto; padding:1.25rem 1rem; display:flex; gap:1rem; flex-wrap:wrap; align-items:center; justify-content:space-between; }
header.site a.brand { font-weight:700; font-size:1.15rem; color:var(--fg); text-decoration:none; }
header.site nav a, footer.site a { color:var(--muted); text-decoration:none; margin-left:1rem; font-size:.95rem; }
footer.site { border-top:1px solid var(--line); margin-top:3rem; color:var(--muted); font-size:.9rem; }
footer.site a { margin-left:0; margin-right:1rem; }
main { max-width:46rem; margin:0 auto; padding:0 1rem; }
h1 { font-size:2rem; line-height:1.2; margin:1.5rem 0 .25rem; }
h2 { font-size:1.35rem; margin:2.2rem 0 .5rem; padding-top:.4rem; }
h3 { font-size:1.05rem; margin:1.4rem 0 .3rem; }
p, li { color:var(--fg); }
.meta { color:var(--muted); font-size:.95rem; margin-top:0; }
a { color:var(--accent); }
ul, ol { padding-left:1.4rem; }
li { margin:.25rem 0; }
table { width:100%; border-collapse:collapse; margin:1rem 0; font-size:.95rem; }
th, td { text-align:left; vertical-align:top; padding:.55rem .6rem; border-bottom:1px solid var(--line); }
th { background:var(--card); font-weight:600; }
.card { background:var(--card); border-radius:.75rem; padding:1rem 1.25rem; margin:1rem 0; }
.toc { columns:2; column-gap:2rem; font-size:.95rem; }
.toc li { break-inside:avoid; }
.hero { padding:2rem 0 1rem; }
.hero p { font-size:1.15rem; color:var(--muted); }
@media (max-width:34rem) { .toc { columns:1; } table { font-size:.88rem; } }
