*{box-sizing:border-box}html,body{height:100%}body{margin:0;font:14px/1.4 system-ui,-apple-system,Segoe UI,sans-serif;background:#0f1216;color:#e8eaed;display:flex;flex-direction:column;height:100dvh}
:focus-visible{outline:2px solid #8ec5ff;outline-offset:2px}
header{display:flex;gap:8px 12px;align-items:center;padding:8px 12px;background:#161b22;border-bottom:1px solid #2a313c;flex-wrap:wrap}
.brand{font-weight:700;font-size:18px;display:flex;align-items:center;gap:6px;color:#fff;text-decoration:none}.dot{width:10px;height:10px;border-radius:50%;background:#ff3b30;animation:p 1.6s infinite}@keyframes p{50%{opacity:.3}}
.hactions{display:flex;gap:6px;align-items:center;margin-left:auto;flex-wrap:wrap}
input,select,textarea,button{font:inherit;background:#0f1216;color:#e8eaed;border:1px solid #4a5568;border-radius:8px;padding:7px 10px;min-height:36px}
button{cursor:pointer}button:hover{border-color:#8ec5ff}
button.primary{background:#e11d48;border-color:#e11d48;color:#fff;font-weight:600}button.primary:hover{background:#be123c;border-color:#be123c}
button.accent{background:#1d4ed8;border-color:#1d4ed8;color:#fff;font-weight:600}button.accent:hover{background:#1e40af;border-color:#1e40af}
button.ghost{background:transparent}
#city{width:170px}
.ticker{display:flex;gap:4px 10px;align-items:center;font-size:13px;color:#cbd5e1;overflow-x:auto;white-space:nowrap;max-width:100%;scrollbar-width:none}.ticker::-webkit-scrollbar{display:none}
.ticker .tl{color:#94a3b8;font-size:11px;text-transform:uppercase;letter-spacing:.04em}.ticker a{color:#f1f5f9;text-decoration:none;padding:2px 8px;border-radius:12px;background:#222a35;border:1px solid #334155;cursor:pointer}.ticker a:hover{border-color:#8ec5ff}.ticker b{color:#ff6b6b;font-variant-numeric:tabular-nums}
.filters{display:flex;gap:8px 14px;align-items:center;flex-wrap:wrap;padding:6px 12px;background:#12161c;border-bottom:1px solid #2a313c}
.chips{display:flex;gap:6px;flex-wrap:wrap}.chip{display:inline-flex;align-items:center;gap:6px;border-radius:16px;padding:4px 10px;min-height:30px;background:#1a212b;border:1px solid #3a4351;color:#e8eaed;font-size:13px}.chip i{width:10px;height:10px;border-radius:50%;background:var(--c)}.chip[aria-pressed=false]{opacity:.5;text-decoration:line-through}.chip small{color:#9aa4b2}
.seg{display:inline-flex;border:1px solid #3a4351;border-radius:8px;overflow:hidden}.seg button{border:0;border-radius:0;min-height:30px;padding:4px 10px;background:#1a212b;font-size:13px}.seg button[aria-pressed=true]{background:#334155;color:#fff;font-weight:600}
.badge{margin-left:auto;font-size:12px;color:#9aa4b2}
main{flex:1;display:flex;min-height:0;position:relative}#side{width:360px;overflow:auto;padding:10px;background:#12161c;border-right:1px solid #2a313c;flex:none}#mapwrap{flex:1;position:relative;min-width:0}#map{position:absolute;inset:0;background:#222}
.ssr{display:none}
.card{display:flex;gap:10px;padding:8px;border:1px solid #2a313c;border-left-width:4px;border-radius:8px;margin-bottom:8px;cursor:pointer;background:#161b22}.card:hover,.card.sel{background:#1c2430;border-color:#475569}.card .cb{flex:1;min-width:0}.card h4{margin:0 0 2px;font-size:14px}.card .ot{font-size:12px;color:#aab4c2;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.card img{width:64px;height:64px;object-fit:cover;border-radius:6px;flex:none;background:#222}
.meta{font-size:12px;color:#aab4c2}.st-verified{color:#4ade80;font-weight:600}.st-unverified{color:#fcd34d;font-weight:600}
.empty{padding:18px 8px;text-align:center;color:#aab4c2}.empty b{display:block;color:#e8eaed;margin-bottom:4px}
.disc{font-size:11px;color:#8b95a3}footer{padding:6px 12px;font-size:11px;background:#161b22;max-height:46px;overflow:auto}footer a{color:#7d8794;text-decoration:none}
/* confirm button: explicit colours for every state */
.btn-confirm{background:#1d4ed8;color:#fff;border:1px solid #60a5fa;font-weight:600;padding:8px 14px;border-radius:8px}
.btn-confirm:hover{background:#2563eb;color:#fff;border-color:#bfdbfe}
.btn-confirm:active{background:#1e3a8a;color:#fff}
.btn-confirm:disabled,.btn-confirm[aria-disabled=true]{background:#475569;color:#f1f5f9;border-color:#94a3b8;cursor:not-allowed}
.btn-confirm.is-done{background:#15803d;color:#fff;border-color:#86efac}
/* pulse markers */
.pr{position:relative;width:56px;height:56px}.pr i{position:absolute;inset:0;border-radius:50%;border:2px solid var(--c);background:color-mix(in srgb,var(--c) 18%,transparent);animation:pulse var(--d,2s) cubic-bezier(.2,.6,.3,1) infinite;opacity:0}
.pr i:nth-child(2){animation-delay:calc(var(--d,2s)/3)}.pr i:nth-child(3){animation-delay:calc(var(--d,2s)*2/3)}
.pr b{position:absolute;left:50%;top:50%;width:16px;height:16px;margin:-8px;border-radius:50%;background:var(--c);border:2px solid #fff;box-shadow:0 0 0 2px rgba(0,0,0,.35)}
.pr.un b{border-style:dashed;opacity:.8}.pr.sel b{width:22px;height:22px;margin:-11px}
@keyframes pulse{0%{transform:scale(.2);opacity:.85}100%{transform:scale(1);opacity:0}}
@media (prefers-reduced-motion:reduce){.pr i{animation:none;opacity:.45;transform:scale(.62)}.pr i:nth-child(n+2){display:none}.dot{animation:none}}
.leaflet-container{font:inherit}
.toast{position:absolute;left:50%;transform:translateX(-50%);bottom:18px;z-index:1000;background:#0b1220ee;color:#fff;border:1px solid #475569;border-radius:10px;padding:8px 14px;max-width:90%;font-size:13px;text-align:center}
/* detail panel */
#panel{position:absolute;top:0;left:0;bottom:0;width:400px;max-width:100%;overflow:auto;background:#12161c;border-right:1px solid #2a313c;z-index:1100;padding:12px 14px 24px}
#panel h2{margin:6px 0 2px;font-size:20px}#panel h3{margin:16px 0 6px;font-size:14px;text-transform:uppercase;letter-spacing:.04em;color:#aab4c2}
.pback{display:flex;justify-content:space-between;align-items:center}.otitle{color:#cbd5e1;font-size:13px;margin:2px 0 8px}.otitle small{color:#8b95a3;display:block}
.badges{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center;margin:6px 0 10px}
.gal{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.gal figure{margin:0;min-width:0}.gal img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:8px;background:#222;display:block}.gal figcaption{font-size:11px;color:#9aa4b2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gal a{color:#8ec5ff}
.vid{position:relative;display:block;width:100%;aspect-ratio:16/9;border-radius:8px;overflow:hidden;background:#000;margin-bottom:6px;padding:0;border:0}.vid img{width:100%;height:100%;object-fit:cover;opacity:.85}.vid span{position:absolute;inset:0;display:grid;place-items:center;font-size:44px;color:#fff;text-shadow:0 2px 8px #000}.vid iframe{width:100%;height:100%;border:0}
.item{padding:8px 0;border-bottom:1px solid #222a35}.item a{color:#8ec5ff;text-decoration:none}.item a:hover{text-decoration:underline}.item .it{display:block;color:#e8eaed;margin-bottom:2px}
.tl{list-style:none;margin:0;padding:0 0 0 14px;border-left:2px solid #334155}.tl li{position:relative;padding:0 0 12px 10px}.tl li::before{content:"";position:absolute;left:-21px;top:5px;width:10px;height:10px;border-radius:50%;background:var(--c,#64748b);border:2px solid #12161c}.tl img{width:120px;height:68px;object-fit:cover;border-radius:6px;display:block;margin-top:4px}
.tl time{font-size:12px;color:#aab4c2}.tl a{color:#e8eaed;text-decoration:none}.tl a:hover{text-decoration:underline}.tl .src{font-size:12px;color:#8ec5ff}
.morebtn{background:transparent;border-color:#475569;font-size:13px;margin-top:6px}
/* dialogs */
dialog{background:#161b22;color:#e8eaed;border:1px solid #475569;border-radius:12px;width:min(480px,94vw);max-height:92dvh;padding:16px}dialog::backdrop{background:#000a}
dialog label{display:block;margin:8px 0}dialog label span{display:block;font-size:12px;color:#aab4c2}dialog input,dialog select,dialog textarea{width:100%}
.row{display:flex;gap:8px;justify-content:flex-end;margin-top:10px}.hint{font-size:12px;color:#9aa4b2;margin:4px 0}.hp{position:absolute;left:-9999px}
.wh{display:flex;justify-content:space-between;align-items:center}.wh h3{margin:0}.x{padding:2px 10px}
.steps{display:flex;gap:6px;list-style:none;padding:0;margin:10px 0}.steps li{flex:1;height:5px;border-radius:3px;background:#334155}.steps li.on{background:#3b82f6}
.opts{display:flex;gap:8px;flex-wrap:wrap}.opts.col{flex-direction:column}.opt{flex:1;min-width:110px;display:flex;align-items:center;gap:8px;padding:10px;border:1px solid #4a5568;border-radius:10px;background:#0f1216;cursor:pointer;margin:0}.opt input{width:auto;min-height:0}.opt:has(input:checked){border-color:#60a5fa;background:#13203a}.opt span{display:inline;color:#e8eaed;font-size:14px}
.wlist{max-height:38dvh;overflow:auto;border:1px solid #334155;border-radius:8px;margin-top:6px}.wlist h5{margin:0;padding:6px 10px;background:#1a212b;color:#aab4c2;font-size:12px;position:sticky;top:0}.wlist label{display:flex;gap:8px;align-items:center;margin:0;padding:6px 10px;border-bottom:1px solid #222a35;cursor:pointer}.wlist input{width:auto;min-height:0}.wlist label span{display:inline;color:#e8eaed;font-size:14px}
.chk{display:flex!important;gap:8px;align-items:flex-start}.chk input{width:auto;margin-top:3px;min-height:0}.chk span{display:inline!important;color:#e8eaed!important;font-size:13px!important}
.notice{background:#3b2f06;border:1px solid #a16207;color:#fde68a;border-radius:8px;padding:8px 10px;font-size:12px}#wmsg,#rmsg{min-height:1.2em;font-size:13px;color:#fca5a5}#wmsg.ok{color:#86efac}
@media(max-width:800px){
  header{padding:6px 8px}.hactions{margin-left:0;width:100%}#city{flex:1;min-width:110px;width:auto}
  main{flex-direction:column-reverse}#side{width:100%;height:38%;border-right:0;border-top:1px solid #2a313c}
  #panel{position:fixed;top:auto;left:0;right:0;bottom:0;width:100%;height:72dvh;border-radius:14px 14px 0 0;border:1px solid #475569;box-shadow:0 -8px 30px #000a}
  .badge{display:none}footer{display:none}
}
@media(max-width:800px){.hactions{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}.hactions>*{flex:none}#city{flex:1 0 110px}.filters{padding:4px 8px;flex-wrap:nowrap;overflow-x:auto}.chips{flex-wrap:nowrap}.chip,.seg{flex:none}.ticker .tl{display:none}}
.gal a{display:block}.gal figure>a:first-child img{height:auto}

.tog,.nt{font:inherit;font-size:11px;color:#8fb4ff;background:none;border:0;padding:0 2px;cursor:pointer;text-decoration:underline;opacity:.9}.nt{color:#9aa4b2;text-decoration:none;cursor:default}
.ot .tog,.otitle .tog{display:inline-block;margin-left:2px}
@media(max-width:800px){
  header{flex-wrap:wrap}.brand{flex:none}.ticker{flex:1 1 100%;order:3;min-width:0;overflow:hidden}
  .hactions{flex-wrap:wrap!important;overflow:visible!important;width:100%;gap:6px;justify-content:flex-start}
  .hactions>*{flex:0 1 auto!important;min-width:0}#city{flex:1 1 100%!important;order:-1;width:100%!important}
  #alertsbtn,#reportbtn,#nearme,#langsel{font-size:13px;padding:6px 9px;white-space:nowrap}
  html,body{max-width:100vw;overflow-x:hidden}
}

.badges2{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:4px 0}
.dg{position:relative;display:inline-block;min-width:130px;height:18px;border-radius:9px;background:#2a313c;overflow:hidden;font-size:11px;line-height:18px;cursor:help}
.dg i{position:absolute;left:0;top:0;bottom:0;background:var(--dc);opacity:.85}.dg b{position:relative;padding:0 8px;color:#fff;font-weight:600;text-shadow:0 1px 2px #000b;white-space:nowrap}.dg small{font-weight:400;opacity:.9}
.sz{font-size:11px;padding:1px 7px;border-radius:9px;background:#2a313c;color:#cbd5e1;white-space:nowrap}.sz.un{opacity:.65}

/* page layout: map keeps ~85% of the screen, the stats section peeks in from the bottom (~15vh) */
html,body{height:auto}body{display:block;min-height:100dvh}
main{flex:none;height:calc(100dvh - var(--top,110px) - 15vh);min-height:300px}
.md{display:flex;align-items:center;gap:6px;font-size:12px;color:#cbd5e1}.md input{min-height:0;padding:0;width:90px}.md output{min-width:24px}
.chip.war{--c:#b91c1c}.chip.war[aria-pressed=true]{background:#7f1d1d;border-color:#ef4444}
.warinfo{padding:4px 12px;font-size:12px;background:#1f1214;color:#fecaca;border-bottom:1px solid #7f1d1d}.warinfo .meta{color:#fca5a5}
.warpoly{animation:warp 2.2s ease-in-out infinite;stroke-dasharray:8 5}@keyframes warp{0%,100%{fill-opacity:.18;stroke-width:1.5}50%{fill-opacity:.5;stroke-width:3.5}}
@media (prefers-reduced-motion:reduce){.warpoly{animation:none}}
#stats{background:#0f1216;padding:0 12px 24px;min-height:100dvh;border-top:2px solid #e11d48}
.sthead{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;min-height:calc(15vh - 4px);cursor:pointer;padding:8px 0}.sthead h2{margin:0;font-size:18px}.sthead h2:after{content:' ↓';opacity:.6}
.stfilters{display:flex;flex-wrap:wrap;gap:12px}.stfilters fieldset{border:1px solid #2a313c;border-radius:10px;padding:6px 10px}.stfilters legend{font-size:12px;color:#9aa4b2}
.stfilters .opts{display:flex;flex-wrap:wrap;gap:4px 12px}.stfilters .opt{display:flex;gap:4px;align-items:center}.stfilters input{min-height:0}
.dotc{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:4px}
.stkpi{display:flex;flex-wrap:wrap;gap:6px 24px;align-items:baseline;margin:14px 0;font-size:16px}.stkpi b{font-size:28px}
.stcharts,.sttables{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px;margin-bottom:12px}
.card2{background:#161b22;border:1px solid #2a313c;border-radius:12px;padding:10px 12px;min-width:0;overflow-x:auto}.card2 h4{margin:0 0 8px;font-size:13px;color:#cbd5e1}
.bars{display:flex;align-items:flex-end;gap:2px;height:120px;position:relative;padding-bottom:18px}.bar{flex:1;height:100%;display:flex;align-items:flex-end}.bar i{display:block;width:100%;background:#3b82f6;border-radius:2px 2px 0 0;min-height:1px}
.ax{position:absolute;left:0;right:0;bottom:0;display:flex;justify-content:space-between;font-size:10px;color:#9aa4b2}
.hb{display:grid;grid-template-columns:minmax(90px,1.2fr) 2fr 30px;gap:6px;align-items:center;margin:4px 0;font-size:12px}.ht{background:#0f1216;border-radius:6px;height:10px;overflow:hidden}.ht i{display:block;height:100%}
.card2 table{width:100%;border-collapse:collapse;font-size:13px}.card2 th{text-align:left;color:#9aa4b2;font-weight:500;font-size:11px}.card2 td,.card2 th{padding:4px 6px;border-bottom:1px solid #222a35}.card2 tr[data-s]{cursor:pointer}.card2 tr[data-s]:hover{background:#1c2430}
.dgs{display:inline-block;min-width:30px;text-align:center;border-radius:8px;padding:0 6px;background:var(--dc);color:#111;font-weight:700;font-size:12px}
@media(max-width:800px){main{height:calc(100dvh - var(--top,150px) - 15vh)}.md{display:none}}

.photos .row{display:flex;gap:6px;margin:4px 0}.phprev{display:flex;gap:6px;flex-wrap:wrap}.ph{position:relative}.ph img{width:72px;height:72px;object-fit:cover;border-radius:8px}.ph button{position:absolute;top:-6px;right:-6px;min-height:0;padding:0 6px;border-radius:50%;font-size:11px}

.stscope{display:flex;flex-wrap:wrap;gap:12px;padding:6px 16px}.stscope fieldset{border:1px solid #2a313b;border-radius:8px;padding:6px 10px}.stscope select,.stscope input{background:#161b22;color:#e6edf3;border:1px solid #2a313b;border-radius:6px;padding:4px 8px}.card2.wide{margin:8px 16px}.linech svg{display:block}footer nav.dev{margin-bottom:8px}footer nav.dev a{color:#93c5fd;font-weight:600}

/* confidence */
.cf{position:relative;display:inline-flex;align-items:center;min-width:150px;height:20px;border-radius:10px;background:#242b35;overflow:hidden;font-size:11px;color:#fff}.cf i{position:absolute;left:0;top:0;bottom:0;background:#16a34a;opacity:.55}.cf b{position:relative;padding:0 8px;font-weight:600;white-space:nowrap}.cf-medium i{background:#ca8a04}.cf-low i,.cf-fake i{background:#9ca3af}.cf-fake{outline:1px dashed #9ca3af}
.card.unc{opacity:.72;border-left-style:dashed!important}.pr.cfx{opacity:.85}.pr.cfx b{width:18px;height:18px;margin:-9px;border:2px dashed #fff!important;background:rgba(15,18,22,.55)!important;box-shadow:0 0 0 2px var(--c),0 0 6px rgba(0,0,0,.5)}.pr.cfx i{border-style:dashed;opacity:.5}
.chip.unc i{background:#9ca3af;border:1px dashed #fff}.uncnote{margin:6px 0;padding:6px 8px;border:1px dashed #9ca3af;border-radius:8px;color:#e5e7eb;font-size:13px;background:rgba(156,163,175,.12)}
.why{margin:8px 0;border:1px solid #2a313b;border-radius:8px;padding:6px 10px;background:#141a21}.why summary{cursor:pointer;font-weight:600;font-size:13px}.why ul{margin:6px 0;padding-left:0;list-style:none;font-size:13px}.why li{margin:4px 0}.wp{display:inline-block;min-width:34px;text-align:right;margin-right:4px}.wp.pos{color:#4ade80}.wp.neg{color:#f87171}

.privlink{color:#93c5fd;text-decoration:underline}
/* localized conflict layer (19 Oct 2026) */
.warinfo .wtop{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px}.warinfo .wseg button{font-size:11px;padding:2px 8px}.warinfo .wcnt{color:#fecaca;font-weight:600}
.warinfo .wleg{display:inline-flex;align-items:center;gap:4px;color:#fca5a5;font-size:11px}.warinfo .lg{display:inline-block;width:10px;height:10px;border-radius:50%;margin-left:6px}.lg.u{background:#dc2626;border:1px solid #fff}.lg.n{background:#f97316;border:1px solid #fff}.lg.n1{background:transparent;border:1.5px dashed #fbbf24}
.warinfo .meta{display:block;margin-top:2px;font-size:11px;line-height:1.35}.warinfo a{color:#fca5a5}
.wpr{transform:scale(.62);pointer-events:none}.wpr.un i{border-style:dashed}
.wpop .leaflet-popup-content{margin:10px 12px;font-size:12.5px;line-height:1.4}.wlist .wev{border-top:1px solid #e5e7eb;padding:6px 0}.wlist ul{margin:4px 0 2px 16px;padding:0}.wlist li{margin:2px 0}.wlist .m{color:#6b7280}.wlist small{display:inline-block}
.wtag{display:inline-block;font-size:10.5px;padding:0 6px;border-radius:8px;margin-left:4px;vertical-align:1px}.wtag.u{background:#fee2e2;color:#991b1b}.wtag.n{background:#ffedd5;color:#9a3412}.wtag.n1{background:#fef9c3;color:#854d0e;border:1px dashed #ca8a04}

/* timeline (incidents over time): fixed-width buckets, horizontal scroll */
.tlhead{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px 12px;margin-bottom:6px}.tlhead h4{margin:0}
.tlscale{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.tlscale .seg button{min-height:28px;padding:2px 10px;font-size:12px}
.tl{display:flex;align-items:stretch;gap:4px}.tly{flex:none}
.tls{flex:1;min-width:0;overflow-x:auto;overflow-y:hidden;cursor:grab;scrollbar-width:thin;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;border-radius:6px}
.tls.drag{cursor:grabbing;user-select:none}.tls:focus-visible{outline:2px solid #3b82f6}
.tlarr{flex:none;align-self:center;height:48px;width:28px;min-height:0;padding:0;border-radius:6px;background:#1c2430;color:#e6edf3;border:1px solid #2a313b;font-size:18px;line-height:1;cursor:pointer}.tlarr:disabled{opacity:.3;cursor:default}
.tb{cursor:pointer}.tb .hit{fill:transparent}.tb:hover .hit{fill:rgba(255,255,255,.07)}.tb.sel .hit{fill:rgba(59,130,246,.28);stroke:#3b82f6;stroke-width:1}
.tk{fill:#9aa4b2;font-size:10px}.tk.d{fill:#cbd5e1;font-weight:600}
.tlhint{margin:4px 0 0;font-size:11px}
.tlstate{margin:2px 0 8px;font-size:13px;color:#93c5fd;display:flex;flex-wrap:wrap;gap:6px;align-items:center}.tlstate[hidden],.twbar[hidden]{display:none}
.twbar{position:absolute;top:8px;left:50%;transform:translateX(-50%);z-index:800;background:#0f172a;color:#e6edf3;border:1px solid #3b82f6;border-radius:999px;padding:4px 6px 4px 12px;font-size:13px;display:flex;gap:8px;align-items:center;box-shadow:0 2px 10px rgba(0,0,0,.4);max-width:calc(100% - 90px);white-space:nowrap}
.twbar span{overflow:hidden;text-overflow:ellipsis}
.twreset{min-height:0;padding:3px 10px;border-radius:999px;background:#ef4444;color:#fff;border:0;font-size:12px;cursor:pointer;flex:none}
.bars .bar{cursor:pointer}
.ctytip{pointer-events:none;background:rgba(15,18,22,.88);color:#fff;border:0;border-radius:6px;padding:3px 8px;font-size:12px;font-weight:600;box-shadow:none}.ctytip:before{display:none}
@media(max-width:700px){.card2.wide{margin:8px 0}.tlarr{width:22px;font-size:16px}.tlscale .seg button{padding:2px 8px}.twbar{font-size:12px;top:6px;max-width:calc(100% - 70px)}}
/* r-2243 */
.ticker .fl{font-size:14px;margin-right:2px}
#winsel,#stpersel{background:#161b22;color:#e8eaed;border:1px solid #334155;border-radius:8px;padding:4px 8px;font:inherit;font-size:13px}
#stchart{margin-left:8px}
fieldset.loc{border:1px solid #334155;border-radius:10px;padding:8px 10px;margin:8px 0}fieldset.loc legend{font-size:12px;color:#aab4c2;padding:0 4px}
.locgps{width:100%;margin:2px 0 8px;padding:9px;border-radius:8px;background:#1d4ed8;color:#fff;border:0;font-weight:600}
.locsug{display:flex;flex-direction:column;gap:2px;margin:4px 0}.locsug button{text-align:left;background:#0f141b;color:#e8eaed;border:1px solid #2a313b;border-radius:6px;padding:6px 8px;font-size:13px}.locsug button:hover{border-color:#3b82f6}
.locrow{display:grid;grid-template-columns:2fr 1fr 1.4fr;gap:6px;margin-top:6px}.locrow input{background:#0f141b;color:#cbd5e1;font-size:13px}
.hint.ok{color:#4ade80}.hint.warn{color:#fbbf24}.lochint{cursor:pointer;text-decoration:underline dotted}
.ststicky{position:sticky;top:0;z-index:20;background:#0f1216ee;backdrop-filter:blur(6px);border-bottom:1px solid #222a35;margin:0 -12px;padding:4px 12px}
.ststicky .stscope{padding:4px 0;gap:8px;align-items:center}.ststicky fieldset{padding:3px 8px}
.stfilters{gap:6px 10px;max-height:5.6em;overflow:hidden;position:relative;margin-top:8px}.stfilters fieldset{padding:3px 8px}.stfilters.open{max-height:none}
.stfilters:not(.open):after{content:"";position:absolute;left:0;right:0;bottom:0;height:1.4em;background:linear-gradient(transparent,#0f1216)}
.stmore{background:none;border:0;color:#8ec5ff;padding:4px 0;font-size:13px;cursor:pointer}
.morerow td{text-align:center}.morerow button{background:#161b22;color:#8ec5ff;border:1px solid #334155;border-radius:6px;padding:4px 12px;cursor:pointer}.lastrow td{border-top:1px dashed #334155;opacity:.85}
@media(max-width:700px){.ststicky .stscope{flex-wrap:nowrap;overflow-x:auto}.ststicky legend{display:none}.stfilters{max-height:4.4em;flex-wrap:nowrap;overflow-x:auto}.stfilters.open{flex-wrap:wrap}.stfilters .opts{flex-wrap:nowrap}.stfilters.open .opts{flex-wrap:wrap}}
@supports (overflow:clip){html,body{overflow-x:clip}}
.vcount{font-size:12px;color:#cbd5e1;background:#1e293b;border-radius:10px;padding:2px 8px;white-space:nowrap}
/* r-2308 */
.stfline{display:flex;flex-wrap:nowrap;gap:6px;align-items:center;padding:2px 0 4px;margin:0;max-height:none}
.stfline .dd{position:relative;flex:none}.stfline summary{list-style:none;cursor:pointer;font-size:12px;padding:3px 10px;border:1px solid #334155;border-radius:14px;background:#161b22;color:#e8eaed;white-space:nowrap}
.stfline summary::-webkit-details-marker{display:none}.stfline summary:after{content:' ▾';opacity:.6}.stfline .dd[open] summary{border-color:#3b82f6}
.ddp{position:absolute;z-index:40;top:calc(100% + 4px);left:0;background:#161b22;border:1px solid #334155;border-radius:10px;padding:8px 10px;display:flex;flex-direction:column;gap:4px;min-width:200px;box-shadow:0 8px 24px #000a}
.ddp .opt{display:flex;gap:6px;align-items:center;font-size:13px;white-space:nowrap}
.ststicky .stkpi{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px;padding:2px 0 4px;border-top:1px solid #1e2632}.ststicky .stkpi b{font-size:18px}
.dgn{color:var(--dc);font-weight:800}
@media(max-width:700px){.stfline{overflow-x:auto;scrollbar-width:none}.ststicky .stkpi b{font-size:15px}.ststicky .stkpi .meta{display:none}.ddp{position:fixed;left:8px;right:8px;top:auto}}
/* r-2344: sticky one-line top bar on every viewport; stats bar sits below it */
header{position:sticky;top:0;z-index:1000;flex-wrap:nowrap!important}
header .ticker{flex:1 1 auto;min-width:0;overflow:hidden}
header .hactions{flex-wrap:nowrap!important;margin-left:auto;width:auto!important;overflow:visible!important}
.ststicky{top:var(--hdr,52px)!important}
@media(max-width:700px){header{flex-wrap:wrap!important;row-gap:4px}header .brand{font-size:16px;order:0}header .hactions{order:1;flex:1 1 0;min-width:0;gap:4px;justify-content:flex-end}header .ticker{order:2;flex:1 1 100%}
 header #city{flex:1 1 60px!important;min-width:0;width:auto;padding:5px 6px}header #langsel{width:62px;padding:5px 2px}
 header #nearme,header #alertsbtn{display:none}header #reportbtn{font-size:0;padding:6px 10px}header #reportbtn:before{content:"⚠";font-size:16px}}

/* war long periods 2026-10-19 */
.warinfo select{font-size:11px;padding:1px 4px;background:#2a1517;color:#fecaca;border:1px solid #7f1d1d;border-radius:6px}.warinfo.busy{opacity:.75}
.warinfo .wkinds{display:flex;flex-wrap:wrap;align-items:center;gap:3px 6px;margin-top:3px}.warinfo .wg{font-size:10px;text-transform:uppercase;letter-spacing:.04em;color:#fca5a5;opacity:.8;margin-left:4px}
.warinfo .wk{display:inline-flex;align-items:center;gap:4px;font-size:11px;padding:1px 7px;border:1px solid #7f1d1d;border-radius:10px;cursor:pointer;opacity:.5;margin:0}.warinfo .wk.on{opacity:1;background:#2a1517}.warinfo .wk input{display:none}.warinfo .wk i{width:9px;height:9px;border-radius:50%;display:inline-block}.warinfo .wk small{color:#fca5a5}
.wlist .wmore{display:block;width:100%;margin:6px 0;padding:5px;border:1px solid #d1d5db;border-radius:6px;background:#f9fafb;cursor:pointer;font-size:12px}
@media (max-width:640px){.warinfo .wkinds{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}.warinfo .wk{white-space:nowrap}.warinfo .meta{display:none;font-size:10.5px}.warinfo.open .meta{display:block}.warinfo .wtop{gap:4px 8px}}
.warinfo .msrc{display:none;font-size:10px;color:#fca5a5}.warinfo .winfo{display:none;background:none;border:1px solid #7f1d1d;color:#fecaca;border-radius:50%;width:22px;height:22px;padding:0;font-size:12px;cursor:pointer}
@media (max-width:640px){.warinfo .msrc,.warinfo .winfo{display:inline-block}}
/* gs-1320: group-size dropdown in the map/list filter bar (same compact style as the stats filters) */
.filters .dd{position:relative;flex:none}.filters .dd summary{list-style:none;cursor:pointer;font-size:13px;padding:4px 10px;border:1px solid #334155;border-radius:14px;background:#161b22;color:#e8eaed;white-space:nowrap}
.filters .dd summary::-webkit-details-marker{display:none}.filters .dd summary:after{content:' ▾';opacity:.6}.filters .dd[open] summary,.filters .dd.on summary{border-color:#3b82f6}
.filters .ddp{z-index:1001}.filters .ddp .opt small{margin-left:auto;color:#9aa4b2}
@media(max-width:800px){.filters .ddp{position:fixed;left:8px;right:8px;top:auto}}
/* md-1400: phones get a compact min-danger dropdown in the filter bar (desktop keeps the inline slider) + map cap note */
.filters .mdd{display:none}.filters .dd summary .dgs{font-size:11px;min-width:24px;padding:0 5px}
#fmdp .mdr{gap:8px}#fmdp .mdr input{flex:1;min-height:0;padding:0;min-width:120px}#fmdp output{min-width:26px;text-align:right;font-weight:600}
#fmdp .mdo{display:flex;align-items:center;gap:8px;width:100%;background:none;border:1px solid transparent;border-radius:8px;color:#e8eaed;padding:5px 6px;min-height:34px;font:inherit;font-size:13px;cursor:pointer;text-align:left}
#fmdp .mdo.sel{border-color:#3b82f6;background:#1e293b}#fmdp .mdo small{margin-left:auto;color:#9aa4b2}
.capnote{position:absolute;top:8px;left:50%;transform:translateX(-50%);z-index:790;min-height:0;font:inherit;font-size:12px;color:#fde68a;background:#2b230fee;border:1px solid #a16207;border-radius:999px;padding:3px 10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:calc(100% - 70px);cursor:help;box-shadow:0 2px 8px rgba(0,0,0,.4)}.capnote[hidden]{display:none}.capnote.tw{top:44px}
@media(max-width:800px){.filters .mdd{display:block}}
/* historic alerts section */
#hist{background:#0f1216;padding:10px 12px 16px;border-top:1px solid #2a313c}#hist h2{font-size:16px;margin:4px 0 8px;text-transform:uppercase;letter-spacing:.03em}
.hfl{display:flex;gap:6px;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}.hfl select{background:#161b22;color:#e8eaed;border:1px solid #334155;border-radius:14px;padding:3px 8px;font-size:12px;flex:none}
#hrows{display:flex;flex-direction:column;border-top:1px solid #222a35}.hr{border-bottom:1px solid #1d242e}
.hrl{all:unset;box-sizing:border-box;width:100%;display:flex;gap:10px;align-items:center;padding:6px 4px;font-size:13px;cursor:pointer;white-space:nowrap;overflow:hidden}.hrl:hover,.hrl[aria-expanded=true]{background:#161b22}
.hrl time{color:#94a3b8;flex:none;font-variant-numeric:tabular-nums}.ht2{flex:none;border-left:3px solid var(--c);padding-left:6px}.hc{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis}
.hv{flex:none;font-size:11px;padding:1px 6px;border-radius:8px}.hv.ok{background:#14532d;color:#86efac}.hv.un{background:#3f3f46;color:#d4d4d8}.hcf{flex:none;color:#94a3b8;width:3.2em;text-align:right}.hact{color:#22c55e;flex:none;font-size:10px}
.hx{padding:4px 10px 10px 14px;font-size:13px}.hx ul{margin:4px 0 8px;padding-left:18px}.hx a{color:#8ec5ff}.hh{margin:4px 0;font-weight:600}
@media(max-width:700px){.hrl{gap:6px;font-size:12px}.ht2{max-width:92px;overflow:hidden;text-overflow:ellipsis}.hv{max-width:58px;overflow:hidden;text-overflow:ellipsis}}
@media(max-width:700px){.hv{font-size:0;padding:1px 5px}.hv.ok:before{content:"✓";font-size:12px}.hv.un:before{content:"?";font-size:12px}.ht2{max-width:30px;white-space:nowrap}.hcf{width:2.6em}.hrl{gap:5px}}
/* 2026-10-20 accounts: history gate + sign-up dialog */
#hrows.hlock{filter:blur(3.5px);user-select:none;cursor:pointer;max-height:260px;overflow:hidden;-webkit-mask-image:linear-gradient(#000 40%,transparent)}
#hgate{margin:6px 0 10px;display:flex;flex-wrap:wrap;gap:8px;align-items:center}#hgate p{margin:0 0 4px;flex:1 1 100%;font-size:13px;color:#cbd5e1}#hgate a.ghost{text-decoration:none;color:#e6edf3;border:1px solid #364152;border-radius:7px;padding:5px 10px;font-size:13px}
.gbtn{background:#dc2626;color:#fff;border:0;border-radius:8px;padding:8px 14px;font-weight:700;cursor:pointer}
#accdlg{max-width:380px;width:calc(100% - 32px);background:#151a21;color:#e6edf3;border:1px solid #2a313b;border-radius:12px;padding:16px}#accdlg::backdrop{background:rgba(0,0,0,.6)}
#accdlg label{display:block;margin:10px 0;font-size:13px}#accdlg input{display:block;width:100%;box-sizing:border-box;margin-top:4px;padding:8px;background:#0f1216;color:#e6edf3;border:1px solid #364152;border-radius:7px;font:inherit}
#accdlg .atabs{display:flex;gap:6px}.atab{flex:1;background:none;color:#94a3b8;border:0;border-bottom:2px solid #2a313b;padding:6px;font:inherit;cursor:pointer}.atab.on{color:#fff;border-color:#dc2626;font-weight:700}
#accdlg .aerr{color:#fca5a5;min-height:1em;font-size:13px}#accdlg .row{display:flex;justify-content:space-between;gap:8px}#accdlg a{color:#93c5fd}

/* acc2 2026-10-20: address in history rows */
#hist .had{color:#cbd5e1}
