:root{--bg:#0b0f14;--panel:#131a22;--line:#26313d;--text:#e8eef4;--muted:#9db0c0;--priority:#ff5d5d;--fleet:#ffb84d;--commercial:#4dc3ff;--residential:#7ee787;--wifionly:#b8c4cf}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}
.top,.panel,footer{max-width:720px;margin:0 auto;padding:14px 16px}
.panel{background:var(--panel);border:1px solid var(--line);border-radius:12px;margin-top:12px}
h1{font-size:1.35rem;margin:.2rem 0}h2{font-size:1rem;letter-spacing:.06em;margin:.2rem 0 .6rem}h3{font-size:.95rem}
.sub,.hint,.empty,.edu-tag{color:var(--muted)}
.fixture-banner{background:#5b4300;color:#ffe9a8;padding:10px 12px;border-radius:8px;font-weight:700;margin:10px 0}
.count-header{font-weight:600;padding:8px 0}
.label-law{font-size:1.05rem;font-weight:800;text-align:center;border:1px dashed var(--muted);padding:8px;border-radius:8px}
.radar-wrap{display:flex;justify-content:center}#radarSvg{width:min(82vw,320px);height:auto}
.ring{stroke:#33424f;stroke-width:1}.ring-label{fill:var(--muted);font-size:10px}
.blip{stroke:#0b0f14;stroke-width:1.5}
.cat-priority{fill:var(--priority);background:var(--priority)}.cat-fleet{fill:var(--fleet);background:var(--fleet)}
.cat-commercial{fill:var(--commercial);background:var(--commercial)}.cat-residential{fill:var(--residential);background:var(--residential)}
.cat-wifionly{fill:var(--wifionly);background:var(--wifionly)}
.legend{display:flex;flex-wrap:wrap;gap:12px;list-style:none;padding:0}.dot{display:inline-block;width:11px;height:11px;border-radius:50%;margin-right:5px}
.sightings{list-style:none;padding:0}.sighting{margin:8px 0}.sighting-btn{width:100%;text-align:left;background:#0e141b;color:var(--text);border:1px solid var(--line);border-radius:8px;padding:10px;font-size:.95rem}
.sighting-meta{color:var(--muted);font-size:.82rem;padding:4px 2px}
.health{line-height:1.6}
.detail{display:grid;grid-template-columns:auto 1fr;gap:4px 14px}.detail dt{color:var(--muted)}.detail dd{margin:0}
.manual{display:grid;gap:8px;margin-top:10px}.manual input,.manual select{width:100%;padding:9px;border-radius:7px;border:1px solid var(--line);background:#0e141b;color:var(--text)}
button,.btn{background:#1f6feb;color:#fff;border:0;border-radius:8px;padding:10px 14px;display:inline-block;cursor:pointer;font-weight:600}
footer{color:var(--muted);font-size:.85rem}
.fence{border-color:#6b4d00}
.registry-block{border:1px solid var(--line);border-radius:8px;padding:10px 12px;margin-top:10px;background:#0e141b}
.registry-block h3{font-size:.92rem;letter-spacing:.04em;margin:.2rem 0 .5rem}
.registry-counties{line-height:1.6;margin:.3rem 0;padding-left:1.2rem}
.registry-label,.registry-source,.registry-crosscheck,.registry-fence{line-height:1.55}
.registry-fence{font-weight:600}
/* Live conditions (v0.1.2): deliberately distinct from the registry panel —
   a teal-edged panel for LIVE service data vs. the registries' static snapshots. */
.live-conditions{border-color:#1f7a6d;border-width:2px;background:#10201d}
.live-kind{border:1px solid #1f7a6d;border-radius:8px;padding:8px 10px;line-height:1.55;background:#0b1512}
.weather-address{display:grid;gap:6px;margin-top:10px;font-weight:600}
.weather-address input{width:100%;padding:9px;border-radius:7px;border:1px solid var(--line);background:#0e141b;color:var(--text)}
#weatherContent{line-height:1.6;margin:10px 0}
#weatherContent ul{margin:.3rem 0;padding-left:1.2rem}
.weather-stale{display:inline-block;background:#5b4300;color:#ffe9a8;font-weight:800;letter-spacing:.05em;padding:6px 10px;border-radius:8px;margin:6px 0}
.weather-unavailable{font-weight:700;color:#ffb4a8}
