:root { --bg:#fbfaf7; --fg:#1c1b19; --muted:#6b675f; --line:#e4e0d6; --accent:#c4552d; --card:#fff; }
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) { --bg:#161513; --fg:#ece8df; --muted:#a39d91; --line:#2f2c27; --accent:#e27a52; --card:#1f1d1a; }
}
:root[data-theme="dark"] { --bg:#161513; --fg:#ece8df; --muted:#a39d91; --line:#2f2c27; --accent:#e27a52; --card:#1f1d1a; }
* { box-sizing: border-box; }
body { background:var(--bg); color:var(--fg); font:17px/1.6 Georgia, "Iowan Old Style", serif; max-width:760px; margin:0 auto; padding:40px 16px 64px; }
h1,h2,h3,.kicker,.stat,.card,nav,table { font-family: system-ui, -apple-system, "Segoe UI", sans-serif; }
h1 { font-size:2.3rem; line-height:1.15; margin:.2em 0 .4em; }
h2 { font-size:1.25rem; margin-top:2.2em; }
a { color:var(--accent); }
.kicker { color:var(--accent); text-transform:uppercase; letter-spacing:.08em; font-size:.8rem; margin:0; }
.lede { font-size:1.12rem; }
.status { display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:12px; margin-top:28px; }
.stat { background:var(--card); border:1px solid var(--line); border-radius:10px; padding:12px 14px; }
.label { display:block; font-size:.75rem; color:var(--muted); }
.value { font-size:1.5rem; font-weight:650; font-variant-numeric:tabular-nums; }
.value.small { font-size:1rem; }
.bar { height:8px; background:var(--line); border-radius:4px; margin:14px 0 0; overflow:hidden; }
.bar > div { height:100%; background:var(--accent); }
.cards { display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:12px; }
.card { display:block; background:var(--card); border:1px solid var(--line); border-radius:10px; padding:14px 16px; color:inherit; text-decoration:none; }
.card:hover { border-color:var(--accent); }
.card h3 { margin:0 0 .3em; font-size:1rem; color:var(--accent); }
.card p { margin:0; font-size:.92rem; color:var(--muted); font-family: system-ui, sans-serif; }
footer { margin-top:3em; padding-top:1em; border-top:1px solid var(--line); font-size:.85rem; color:var(--muted); }
nav { font-size:.9rem; margin-bottom:1.5em; }
.doc table { border-collapse:collapse; width:100%; font-size:.85rem; display:block; overflow-x:auto; }
.doc th, .doc td { border-bottom:1px solid var(--line); padding:5px 8px; text-align:left; vertical-align:top; }
.doc code { font-size:.9em; background:var(--line); padding:0 4px; border-radius:3px; }
.doc pre { overflow-x:auto; background:var(--card); border:1px solid var(--line); padding:10px; }
