:root{--t1:#0e7a48;--t1-ink:#ffffff;--t1-edge:#0e7a48;--t2:#7fcfa0;--t2-ink:#0a0c0b;--t2-edge:#3d9e6a;--t3:#dcefe3;--t3-ink:#0a3d24;--t3-edge:#3d9e6a}
@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--t1:#7df2a8;--t1-ink:#0a0c0b;--t1-edge:#7df2a8;--t2:#1f6b44;--t2-ink:#ffffff;--t2-edge:#4fb37f;--t3:#173523;--t3-ink:#cfeedd;--t3-edge:#3d9e6a}}
:root[data-theme=dark]{--t1:#7df2a8;--t1-ink:#0a0c0b;--t1-edge:#7df2a8;--t2:#1f6b44;--t2-ink:#ffffff;--t2-edge:#4fb37f;--t3:#173523;--t3-ink:#cfeedd;--t3-edge:#3d9e6a}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.skip{position:absolute;left:16px;top:-48px;background:var(--panel);color:var(--ink);padding:8px 12px;border-radius:8px;border:1px solid var(--edge);z-index:10}
.skip:focus{top:8px}
button:focus-visible,textarea:focus-visible{outline:2px solid var(--focus);outline-offset:2px}
h2{font-size:20px;line-height:1.3;margin:0 0 8px}
h3{font-size:15px;margin:0 0 8px}
.small{font-size:13px}
.stats{list-style:none;display:flex;flex-wrap:wrap;gap:8px;padding:0;margin:16px 0 0}
.section{margin-top:24px}
.filters{display:grid;gap:12px;grid-template-columns:1fr}
.field{display:flex;flex-direction:column;gap:6px;min-width:0}
.bar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:16px 0 12px}
.bar p{margin:0}
.views{display:flex;gap:6px}
.views .btn[aria-pressed=true]{background:var(--ink);color:var(--bg);border-color:var(--ink)}
.explore{display:grid;gap:16px;grid-template-columns:minmax(0,1fr)}
.legend{display:flex;flex-wrap:wrap;gap:12px;font-size:13px;color:var(--muted)}
.legend span{display:inline-flex;align-items:center;gap:6px}
.sw{display:inline-block;width:14px;height:14px;border-radius:4px;border:1px solid}
.sw.t1{background:var(--t1);border-color:var(--t1-edge)}
.sw.t2{background:var(--t2);border-color:var(--t2-edge)}
.sw.t3{background:var(--t3);border-color:var(--t3-edge)}
.sw.off{background:transparent;border:1px dashed var(--muted)}
.map>p{margin:8px 0 16px}
.region+.region{margin-top:18px}
.region h3 span:first-child{margin-right:4px}
.region h3 .small{font-weight:400}
.tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(42px,1fr));gap:6px}
.tile{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:44px;padding:4px 2px;border-radius:8px;border:1px solid;font:600 14px/1.1 var(--font);cursor:pointer}
.tile b{font-weight:700;letter-spacing:.02em}
.tile span{font-size:12px;font-weight:600;opacity:1}
.tile.t1{background:var(--t1);color:var(--t1-ink);border-color:var(--t1-edge)}
.tile.t2{background:var(--t2);color:var(--t2-ink);border-color:var(--t2-edge)}
.tile.t3{background:var(--t3);color:var(--t3-ink);border-color:var(--t3-edge)}
.tile.off{background:transparent;color:var(--muted);border:1px dashed var(--edge)}
.tile[aria-pressed=true]{box-shadow:0 0 0 2px var(--panel),0 0 0 4px var(--ink)}
.detail h2{margin:2px 0 2px;font-size:24px}
.detail .eyebrow{margin:0;text-transform:uppercase;letter-spacing:.06em;font-weight:600}
.detail p{margin:4px 0}
.detail dl{display:grid;grid-template-columns:auto 1fr;gap:6px 12px;margin:14px 0 0;font-size:14px}
.detail dt{color:var(--muted)}
.detail dd{margin:0;font-weight:600;overflow-wrap:anywhere}
.badge{display:inline-block;padding:2px 10px;border-radius:999px;border:1px solid;font-size:13px;font-weight:700}
.badge.t1{background:var(--t1);color:var(--t1-ink);border-color:var(--t1-edge)}
.badge.t2{background:var(--t2);color:var(--t2-ink);border-color:var(--t2-edge)}
.badge.t3{background:var(--t3);color:var(--t3-ink);border-color:var(--t3-edge)}
.scroll{overflow-x:auto;margin:-4px}
.scroll table{min-width:640px;font-size:14px}
th{padding:0}
th button{all:unset;display:block;box-sizing:border-box;width:100%;padding:8px 10px;cursor:pointer;font:600 13px/1.3 var(--font);color:var(--muted)}
th button:focus-visible{outline:2px solid var(--focus);outline-offset:-2px}
th[aria-sort=ascending] button::after{content:" \2191"}
th[aria-sort=descending] button::after{content:" \2193"}
th[aria-sort=ascending] button,th[aria-sort=descending] button{color:var(--ink)}
tr.sel td{background:var(--bg2)}
.link{all:unset;color:var(--brand);text-decoration:underline;cursor:pointer;text-underline-offset:2px}
.link:focus-visible{outline:2px solid var(--focus);outline-offset:2px}
.builder{display:grid;gap:14px;grid-template-columns:1fr;margin-top:12px}
fieldset{border:0;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px 16px;min-width:0}
legend{font-weight:600;font-size:14px;padding:0;margin-bottom:6px;width:100%}
.check{display:inline-flex;align-items:center;gap:8px;font-weight:500;min-height:32px;cursor:pointer}
.check input{width:18px;height:18px;min-height:0;margin:0;accent-color:var(--brand)}
textarea{font:13px/1.5 var(--mono);color:var(--ink);background:var(--bg2);border:1px solid var(--edge);border-radius:10px;padding:10px 12px;width:100%;resize:vertical;overflow-wrap:anywhere}
textarea[aria-invalid=true]{color:var(--bad);border-color:var(--bad)}
.actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.btn:disabled{opacity:1;background:var(--bg2);border-color:var(--edge);color:var(--muted);cursor:not-allowed}
.two{display:grid;gap:16px;grid-template-columns:minmax(0,1fr)}
.files,.sources{margin:8px 0 12px;padding-left:18px}
.files li,.sources li{margin:6px 0;overflow-wrap:anywhere}
@media (min-width:640px){
  .filters{grid-template-columns:repeat(3,minmax(0,1fr))}
  .filters .grow{grid-column:1/-1}
  .builder{grid-template-columns:repeat(2,minmax(0,1fr))}
  .builder>fieldset:first-child,.builder .full{grid-column:1/-1}
}
@media (min-width:900px){
  .filters{grid-template-columns:2fr 1fr 1fr 1fr}
  .filters .grow{grid-column:auto}
  .explore{grid-template-columns:minmax(0,1fr) 300px}
  .detail{grid-column:2;grid-row:1;align-self:start;position:sticky;top:16px}
  .map,.table-view{grid-column:1;grid-row:1}
  .builder{grid-template-columns:repeat(3,minmax(0,1fr))}
  .two{grid-template-columns:repeat(2,minmax(0,1fr))}
}
input::placeholder{color:var(--muted);opacity:1}
