:root{
  --ink:#16181d; --muted:#666f7a; --rule:#e2e5ea; --bg:#fff;
  --accent:#1f4d8f;
  --ok-bg:#dff3e0; --ok-fg:#17601f;
  --warn-bg:#fff3d4; --warn-fg:#7a5600;
  --unk-bg:#ecebf6; --unk-fg:#453a79;
  --none-bg:#f0f1f3; --none-fg:#555c66;
}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);
  font:16px/1.6 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;}
a{color:var(--accent)}
.wrap{max-width:62rem;margin:0 auto;padding:1.5rem 1.15rem 3rem}

.site-head{max-width:62rem;margin:0 auto;padding:1.15rem;display:flex;flex-wrap:wrap;
  gap:.6rem 1.4rem;align-items:baseline;border-bottom:1px solid var(--rule)}
.brand{font-weight:700;font-size:1.05rem;text-decoration:none;color:var(--ink)}
.site-head nav{display:flex;gap:1.1rem;font-size:.92rem;margin-left:auto}
.tagline{font-size:.82rem;color:var(--muted)}
@media(max-width:760px){.tagline{display:none}}

h1{font-size:1.9rem;line-height:1.25;margin:.4rem 0 .8rem}
h2{font-size:1.25rem;margin:2rem 0 .6rem}
.lede{font-size:1.06rem}
.muted{color:var(--muted)}
.note{font-size:.9rem;color:var(--muted);border-left:3px solid var(--rule);padding-left:.8rem}
.summary{display:flex;flex-wrap:wrap;gap:.45rem .7rem;align-items:center;font-size:.9rem;margin:1.1rem 0}

.pill{display:inline-block;padding:.14rem .55rem;border-radius:11px;font-size:.78rem;font-weight:600;white-space:nowrap}
.pill-sanctioned{background:var(--ok-bg);color:var(--ok-fg)}
.pill-pilot{background:var(--warn-bg);color:var(--warn-fg)}
.pill-unconfirmed{background:var(--unk-bg);color:var(--unk-fg)}
.pill-none{background:var(--none-bg);color:var(--none-fg)}

table{width:100%;border-collapse:collapse;font-size:.92rem;margin:1rem 0}
.tracker th{text-align:left;padding:.55rem .5rem;border-bottom:2px solid var(--ink);
  cursor:pointer;user-select:none;white-space:nowrap}
.tracker th[data-sort]::after{content:" \2195";opacity:.35;font-weight:400}
.tracker th[aria-sort]::after{opacity:.9}
td{padding:.5rem;border-bottom:1px solid var(--rule);vertical-align:top}
.tracker tbody tr:hover td{background:#fafbfc}

.facts th{text-align:left;width:14rem;font-weight:600;padding:.5rem;
  border-bottom:1px solid var(--rule);color:var(--muted)}
.status-line{font-size:1.02rem}
.verified{font-size:.88rem;color:var(--ok-fg)}
.unverified{font-size:.88rem;color:var(--warn-fg);background:#fffaf0;
  padding:.65rem .8rem;border-radius:5px}

.state-list{list-style:none;padding:0;columns:2;column-gap:2rem}
.state-list li{padding:.18rem 0;break-inside:avoid}

.site-foot{max-width:62rem;margin:0 auto;padding:1.5rem 1.15rem 3rem;
  border-top:1px solid var(--rule);font-size:.86rem;color:var(--muted)}

@media(max-width:640px){
  .state-list{columns:1}
  .tracker th:nth-child(5),.tracker td:nth-child(5){display:none}
  .facts th{width:auto;display:block;border:0;padding-bottom:0}
  .facts td{display:block;padding-top:.15rem}
}

.post-date{color:var(--muted);font-size:.9rem;margin-top:-.4rem}
.post h2{font-size:1.15rem}
.post-list{list-style:none;padding:0}
.post-list li{padding:.7rem 0;border-bottom:1px solid var(--rule)}
.post-list p{margin:.25rem 0 0;font-size:.9rem}
hr{border:0;border-top:1px solid var(--rule);margin:2rem 0}
.site-head nav{flex-wrap:wrap}
@media(max-width:860px){.tagline{display:none}}

.map{margin:1.5rem 0 1rem;padding:0}
.map svg{width:100%;height:auto;max-width:34rem;display:block}
.tile rect{stroke:rgba(0,0,0,.08);stroke-width:1}
.tile text{font:600 13px -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif}
.tile:hover rect{stroke:var(--ink);stroke-width:2}
.tile-sanctioned rect{fill:var(--ok-bg)}   .tile-sanctioned text{fill:var(--ok-fg)}
.tile-pilot rect{fill:var(--warn-bg)}      .tile-pilot text{fill:var(--warn-fg)}
.tile-unconfirmed rect{fill:var(--unk-bg)} .tile-unconfirmed text{fill:var(--unk-fg)}
.tile-none rect{fill:var(--none-bg)}       .tile-none text{fill:var(--none-fg)}
.tick{fill:var(--ok-fg)}
.map figcaption{display:flex;flex-wrap:wrap;gap:.4rem 1rem;font-size:.82rem;
  color:var(--muted);margin-top:.7rem;align-items:center}
.key::before{content:"";display:inline-block;width:.7rem;height:.7rem;border-radius:3px;
  margin-right:.35rem;vertical-align:-1px;border:1px solid rgba(0,0,0,.1)}
.key-sanctioned::before{background:var(--ok-bg)}
.key-pilot::before{background:var(--warn-bg)}
.key-unconfirmed::before{background:var(--unk-bg)}
.key-tick::before{background:var(--ok-fg);border-radius:50%;width:.55rem;height:.55rem}
