:root{
  --ink:#121416; --paper:#F4F4F1; --stone:#DEDDD7; --granite:#5C6166; --glacier:#1F5C8B;
  --bg:var(--paper); --fg:var(--ink); --muted:#50555A; --line:#CFCEC7; --panel:#EAEAE5; --accent:var(--glacier);
  --inv-bg:var(--ink); --inv-fg:var(--paper);
  --red:#B8322A; --amber:#C98300; --green:#2C7A4B; --unknown:#8A8F94;
  --display:"Bricolage Grotesque", "Arial Narrow", Arial, sans-serif;
  --serif:"Source Serif 4", Georgia, "Times New Roman", serif;
  --mono:"IBM Plex Mono", ui-monospace, Menlo, Consolas, monospace;
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    color-scheme:dark;
    --bg:#101214; --fg:#ECECE7; --muted:#A3A8AD; --line:#2C3034; --panel:#181B1E; --accent:#6FA6D6;
    --inv-bg:#ECECE7; --inv-fg:#101214;
  }
}
:root[data-theme="dark"]{
  color-scheme:dark;
  --bg:#101214; --fg:#ECECE7; --muted:#A3A8AD; --line:#2C3034; --panel:#181B1E; --accent:#6FA6D6;
  --inv-bg:#ECECE7; --inv-fg:#101214;
}
*{box-sizing:border-box}
html{color-scheme:light}
body{margin:0;background:var(--bg);color:var(--fg);font-family:var(--serif);font-size:18px;line-height:1.6;padding-inline:20px}
.wrap{max-width:1100px;margin:0 auto}
h1,h2,h3,h4{font-family:var(--display);line-height:1.05;margin:0;text-wrap:balance;letter-spacing:-0.01em}
h1{font-size:clamp(42px,8vw,88px);font-weight:800;letter-spacing:-0.035em;line-height:.92}
h2{font-size:clamp(28px,4vw,44px);font-weight:800}
h3{font-size:22px;font-weight:800}
h4{font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}
p{margin:0;max-width:65ch}
.eyebrow,.mono,code{font-family:var(--mono)}
.eyebrow{font-size:12px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted)}
a{color:var(--accent)}
a:focus-visible,button:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
img{max-width:100%}

.bar{display:flex;justify-content:space-between;align-items:center;gap:16px;padding-block:18px;border-bottom:2px solid var(--fg);flex-wrap:wrap}
.wordmark{font-family:var(--display);font-weight:800;font-size:22px;letter-spacing:-0.03em;line-height:1;color:var(--fg);text-decoration:none}
.wordmark .short{font-weight:400;letter-spacing:0;opacity:.7;font-size:.75em;margin-left:.35em}
.bar nav{display:flex;gap:14px;flex-wrap:wrap;font-family:var(--display);font-weight:600;font-size:14px}
.bar nav a{color:var(--fg);text-decoration:none}
.bar nav a:hover,.bar nav a[aria-current="page"]{text-decoration:underline;text-underline-offset:4px}

.hero{padding-block:48px 36px;display:grid;gap:22px}
.hero .lede{font-size:clamp(18px,2.2vw,24px);max-width:36ch}
.hero-meta{display:flex;gap:24px;flex-wrap:wrap;font-family:var(--mono);font-size:13px;color:var(--muted)}

section{padding-block:48px;border-top:1px solid var(--line);display:grid;gap:22px}
section.part{border-top:2px solid var(--fg)}
.part-label{font-family:var(--display);font-weight:800;font-size:14px;text-transform:uppercase;letter-spacing:.14em;color:var(--accent)}
.cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px}
.stack{display:grid;gap:10px}
.card{border:1px solid var(--line);padding:20px;display:grid;gap:10px;background:var(--panel);text-decoration:none;color:inherit}
.card:hover{border-color:var(--fg)}
.card .n{font-family:var(--display);font-weight:800;font-size:36px;line-height:1;font-variant-numeric:tabular-nums}
.card .l{font-family:var(--display);font-weight:600;font-size:16px}
.card .meta{font-family:var(--mono);font-size:12px;color:var(--muted)}

.toolbar{display:flex;gap:12px;flex-wrap:wrap;align-items:center;justify-content:space-between}
.filters{display:flex;gap:8px;flex-wrap:wrap}
input[type="search"],select{
  font-family:var(--mono);font-size:13px;padding:8px 12px;border:1.5px solid var(--line);
  background:var(--bg);color:var(--fg);border-radius:0;min-width:180px
}
button.ghost{
  font-family:var(--display);font-weight:600;font-size:14px;padding:8px 14px;
  border:1.5px solid var(--fg);background:transparent;color:var(--fg);cursor:pointer
}
button.ghost:hover{background:var(--fg);color:var(--bg)}

.tbl{overflow-x:auto;border-top:2px solid var(--fg)}
table{border-collapse:collapse;width:100%;font-size:15px;min-width:720px}
th,td{text-align:left;vertical-align:top;padding:12px 14px 12px 0;border-bottom:1px solid var(--line)}
th{font-family:var(--display);font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}
td.title{font-family:var(--display);font-weight:600}
td.title a{color:inherit;text-decoration:none}
td.title a:hover{color:var(--accent);text-decoration:underline;text-underline-offset:3px}
td.mono,th.num{font-family:var(--mono);font-size:12px}
.summary{font-size:14px;color:var(--muted);max-width:42ch}
.tags{display:flex;gap:6px;flex-wrap:wrap}
.tag{font-family:var(--mono);font-size:11px;padding:2px 8px;border:1px solid var(--line);letter-spacing:.04em}

.pill{font-family:var(--mono);font-size:11px;font-weight:500;padding:4px 10px;border-radius:999px;color:#fff;letter-spacing:.06em;text-transform:uppercase;display:inline-block}
.pill.r,.pill.disaster,.pill.negative{background:var(--red)}
.pill.a,.pill.unknown{background:var(--amber);color:#121416}
.pill.g,.pill.positive{background:var(--green)}
.pill.u{background:transparent;color:var(--fg);border:1.5px dashed var(--unknown)}

.empty{padding:28px 0;color:var(--muted);font-family:var(--mono);font-size:14px}
.note{font-size:14px;color:var(--muted);max-width:70ch}
footer{padding-block:36px;border-top:2px solid var(--fg);font-size:14px;color:var(--muted);display:grid;gap:6px}
footer a{color:inherit}

@media (max-width:640px){
  .bar nav{font-size:13px;gap:10px}
  table{min-width:560px}
}
