:root { --bg:#ffffff; --fg:#16181d; --muted:#5b616e; --line:#e3e6ec; --accent:#2f6fe0; --card:#f5f7fa; }
@media (prefers-color-scheme: dark) {
  :root { --bg:#0d0e11; --fg:#ececf0; --muted:#9aa0ad; --line:#24262c; --accent:#6fa8ff; --card:#16181d; }
}
* { box-sizing:border-box; }
body { margin:0; background:var(--bg); color:var(--fg);
  font:16px/1.65 -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  -webkit-text-size-adjust:100%; }
main { max-width:720px; margin:0 auto; padding:40px 16px 80px; }
h1 { font-size:2rem; line-height:1.2; margin:0 0 4px; }
h2 { font-size:1.2rem; margin:36px 0 8px; padding-top:20px; border-top:1px solid var(--line); }
h3 { font-size:1rem; margin:20px 0 4px; }
.meta { color:var(--muted); margin:0 0 24px; }
ul { padding-left:22px; }
li { margin:4px 0; }
a { color:var(--accent); overflow-wrap:anywhere; }
.table-wrap { overflow-x:auto; margin:12px 0; }
table { border-collapse:collapse; width:100%; font-size:.95rem; }
th, td { text-align:left; padding:8px 10px; border-bottom:1px solid var(--line); vertical-align:top; }
th { color:var(--muted); font-weight:600; }
.callout { background:var(--card); border:1px solid var(--line); border-radius:12px; padding:14px 16px; margin:16px 0; }
.caps { text-transform:uppercase; font-size:.92rem; }
header.site { border-bottom:1px solid var(--line); }
header.site .bar { max-width:720px; margin:0 auto; padding:14px 16px; display:flex; align-items:center; gap:12px; }
header.site img { width:36px; height:36px; border-radius:9px; }
header.site .name { font-weight:700; font-size:1.1rem; letter-spacing:.2px; color:var(--fg); text-decoration:none; }
header.site nav { margin-left:auto; display:flex; gap:14px; font-size:.9rem; flex-wrap:wrap; justify-content:flex-end; }
header.site nav a { color:var(--muted); text-decoration:none; }
header.site nav a[aria-current="page"] { color:var(--fg); font-weight:600; }
footer { max-width:720px; margin:0 auto; padding:0 16px 40px; color:var(--muted); font-size:.9rem; }
@media (max-width: 560px) {
  table, tbody, tr, td { display:block; width:100%; }
  tr:first-child { display:none; }
  tr { border-bottom:1px solid var(--line); padding:8px 0; }
  td { border:0; padding:2px 0; }
  td:first-child { font-weight:700; }
}
@media (max-width: 560px) {
  td[data-label]:not(:first-child)::before { content: attr(data-label) ": "; color:var(--muted); font-weight:600; }
}
