*,*::before,*::after{border-radius:0 !important}   /* flat: no rounded corners anywhere */
:root{
  --ink:#1a1d21;--line:#e3e6ea;--accent:#1c6cb4;--muted:#6b7178;
}
*{box-sizing:border-box}
html,body{margin:0;height:100%;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;color:var(--ink)}
body{display:flex;flex-direction:column;overflow:hidden;background:#fff}

.ebar{flex:0 0 44px;display:flex;align-items:center;gap:10px;padding:0 12px;background:linear-gradient(135deg,#2a2f3d,#1f2330 55%,#181b25);color:#fff;font-size:0.8125rem}
.ebar .elogo{height:22px;width:auto;display:block;flex:0 0 auto}
.ebar .etitle{font-weight:700;letter-spacing:.02em}
.ebar .ecount{color:#c8ccd1}
.ebar .ecount strong{color:#fff}
.ebar .efilt{margin-left:auto;background:var(--accent);color:#fff;border:0;border-radius:6px;padding:6px 11px;font-weight:600;font-size:0.78125rem;cursor:pointer}

.estage{position:relative;flex:1;min-height:0}
#map{position:absolute;inset:0}

.epanel{position:absolute;top:10px;left:10px;z-index:5;width:230px;max-height:calc(100% - 20px);overflow-y:auto;background:rgba(255,255,255,.97);border:1px solid var(--line);border-radius:10px;box-shadow:0 6px 24px rgba(0,0,0,.14);padding:12px;display:none}
.epanel.open{display:block}
.epanel h4{margin:10px 0 7px;font-size:0.6875rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}
.epanel h4:first-child{margin-top:0}
.epanel label{display:flex;align-items:center;gap:8px;font-size:0.8125rem;padding:2px 0;cursor:pointer}
.epanel label .sw{width:11px;height:11px;border-radius:3px;flex:0 0 11px}
.epanel label .c{margin-left:auto;color:var(--muted);font-size:0.75rem;font-variant-numeric:tabular-nums}
.epanel .yr input{width:100%}
.epanel .yrl{display:flex;justify-content:space-between;font-size:0.75rem;color:var(--muted)}
.epanel .ereset{margin-top:10px;width:100%;border:1px solid var(--line);background:#fff;border-radius:7px;padding:7px;font-weight:600;font-size:0.78125rem;cursor:pointer}

.ebrand{position:absolute;right:10px;bottom:10px;z-index:5;background:rgba(255,255,255,.95);border:1px solid var(--line);border-radius:20px;padding:6px 12px;font-size:0.75rem;font-weight:600;color:var(--ink);text-decoration:none;box-shadow:0 2px 8px rgba(0,0,0,.1)}
.ebrand:hover{color:#1c6cb4}
.elegend{position:absolute;left:10px;bottom:10px;z-index:4;display:flex;flex-wrap:wrap;gap:5px 10px;background:rgba(255,255,255,.92);border:1px solid var(--line);border-radius:8px;padding:6px 9px;font-size:0.6875rem;max-width:62%}
.elegend .li{display:flex;align-items:center;gap:5px}
.elegend .sw{width:9px;height:9px;border-radius:2px}
.maplibregl-popup-content{font-family:inherit;border-radius:9px;padding:10px 12px}
.pop h4{margin:0 0 3px;font-size:0.8125rem}.pop .chip{display:inline-block;font-size:0.625rem;padding:2px 7px;border-radius:20px;color:#fff;margin-bottom:5px}
.pop .meta{font-size:0.75rem;color:#2b2f33}.pop .anon{font-size:0.65625rem;color:var(--muted);margin-top:5px}
