
:root { --bg:#fbfaf7; --fg:#1d1d1b; --muted:#66655f; --line:#e2dfd6; --card:#ffffff; --accent:#2c4f7c; --warn:#8a5a00; }
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) { --bg:#151513; --fg:#ecebe6; --muted:#a3a19a; --line:#33322e; --card:#1d1d1a; --accent:#8fb1de; --warn:#e0b45c; } }
:root[data-theme="dark"] { --bg:#151513; --fg:#ecebe6; --muted:#a3a19a; --line:#33322e; --card:#1d1d1a; --accent:#8fb1de; --warn:#e0b45c; }
* { box-sizing: border-box; }
body { margin:0; background:var(--bg); color:var(--fg); font:16px/1.55 -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif; }
a { color: var(--accent); }
header.site { border-bottom:1px solid var(--line); }
header.site .in, main, footer.site .in { max-width:1100px; margin:0 auto; padding:0 16px; }
header.site .in { display:flex; gap:20px; align-items:center; flex-wrap:wrap; padding-top:14px; padding-bottom:14px; }
header.site .brand { font-weight:700; text-decoration:none; color:var(--fg); }
header.site nav a { margin-right:14px; text-decoration:none; }
main { padding-top:24px; padding-bottom:40px; }
h1 { font-size:28px; line-height:1.2; margin:0 0 8px; } h2 { font-size:20px; margin:28px 0 8px; }
.lede { color:var(--muted); max-width:760px; }
.banner { border:1px solid var(--line); border-left:4px solid var(--warn); background:var(--card); padding:10px 14px; border-radius:6px; margin:16px 0; }
.cards { display:grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap:14px; margin:18px 0; }
.card { background:var(--card); border:1px solid var(--line); border-radius:8px; padding:16px; }
.card .num { font-size:30px; font-weight:700; }
.muted { color:var(--muted); }
.filters { display:flex; flex-wrap:wrap; gap:10px; margin:14px 0; }
.filters label { font-size:14px; color:var(--muted); display:flex; flex-direction:column; gap:3px; }
.filters label { max-width:100%; }
select { max-width:100%; padding:6px 8px; border:1px solid var(--line); border-radius:6px; background:var(--card); color:var(--fg); font:inherit; }
.tablewrap { overflow-x:auto; border:1px solid var(--line); border-radius:8px; background:var(--card); }
table { border-collapse:collapse; width:100%; font-size:14px; }
th, td { text-align:left; vertical-align:top; padding:8px 10px; border-bottom:1px solid var(--line); }
th { position:sticky; top:0; background:var(--card); font-weight:600; }
td.small { font-size:13px; color:var(--muted); }
.pill { display:inline-block; padding:1px 8px; border-radius:10px; border:1px solid var(--line); font-size:12px; white-space:nowrap; }
footer.site { border-top:1px solid var(--line); color:var(--muted); font-size:14px; }
footer.site .in { padding-top:16px; padding-bottom:24px; }
