
:root { --paper:#F7F2EA; --oat:#EDE4D6; --ink:#2E2A26; --ink-2:#5A524A; --accent:#A4532F; color-scheme: light dark;
  --serif: ui-serif, "New York", Georgia, serif; --sans: system-ui, -apple-system, sans-serif; }
@media (prefers-color-scheme: dark) { :root { --paper:#1D1B18; --oat:#27241F; --ink:#F4EFE6; --ink-2:#CDC4B6; --accent:#E0A47F; } }
* { box-sizing: border-box; }
body { margin:0; background:var(--paper); color:var(--ink); font:15px/1.5 var(--sans); }
h1, h2 { font-family:var(--serif); font-weight:400; }
h1 { font-size:2rem; margin:0 0 .25em; }
h2 { font-size:1.15rem; margin:0 0 12px; }
a { color:var(--accent); }
main { max-width:1040px; margin:0 auto; padding:16px; }
.narrow { max-width:420px; padding-top:15vh; }
.center { text-align:center; }
.muted { color:var(--ink-2); } .small { font-size:.85rem; }
.error { background:var(--oat); border-left:3px solid var(--accent); padding:10px 12px; text-align:left; }
.button { display:inline-block; background:var(--ink); color:var(--paper); padding:12px 20px; border-radius:999px; text-decoration:none; font-weight:600; }
header.bar { display:flex; align-items:center; gap:12px; padding:14px 16px; max-width:1040px; margin:0 auto; }
header.bar strong { font-family:var(--serif); font-weight:400; font-size:1.2rem; margin-right:auto; }
form { margin:0; }
button.link { background:none; border:0; color:var(--accent); font:inherit; cursor:pointer; padding:0; text-decoration:underline; }
.tabs { display:flex; flex-wrap:wrap; gap:6px; margin:4px 0 16px; }
.tabs a { padding:6px 12px; border-radius:999px; text-decoration:none; color:var(--ink-2); background:var(--oat); }
.tabs a[aria-current] { background:var(--ink); color:var(--paper); }
.tiles { display:grid; grid-template-columns:repeat(auto-fit, minmax(200px, 1fr)); gap:12px; margin-bottom:12px; }
.tile, .panel { background:var(--oat); border-radius:16px; padding:16px; }
.tile .value { font-family:var(--serif); font-size:2.2rem; line-height:1.2; }
.panel { margin-bottom:12px; }
.grid { display:grid; grid-template-columns:repeat(auto-fit, minmax(300px, 1fr)); gap:12px; }
.grid .panel { margin:0; }
.chart { width:100%; height:auto; display:block; }
.chart .bar, .hbars .bar { fill:var(--accent); }
.chart .axis { fill:var(--ink-2); font-size:11px; }
table { width:100%; border-collapse:collapse; }
th, td { text-align:right; padding:6px 8px; border-bottom:1px solid var(--paper); font-variant-numeric:tabular-nums; }
th:first-child, td:first-child { text-align:left; }
th { font-weight:500; color:var(--ink-2); }
.hbars { list-style:none; margin:0; padding:0; }
.hbars li { display:grid; grid-template-columns:minmax(90px, 40%) 1fr 48px; gap:8px; align-items:center; padding:4px 0; }
.hbars .track svg { width:100%; height:8px; display:block; }
.hbars .num { text-align:right; font-variant-numeric:tabular-nums; }
.footnote { margin-top:16px; }
