:root{--bg:#0b0f14;--fg:#e6ebf0;--mut:#93a1ad;--card:#121820;--line:#202a35;
--acc:#59b0ff;--strike:#ff5a5f;--threat:#ffab40;--protest:#c77dff;
--diplomatic:#4dd0a5;--statement:#6fa8ff;--other:#7f8c99;color-scheme:dark}
*{box-sizing:border-box}
html,body{margin:0;background:var(--bg);color:var(--fg);
font:15px/1.55 system-ui,-apple-system,"Segoe UI",Helvetica,Arial,sans-serif;
-webkit-font-smoothing:antialiased}
a{color:var(--acc);text-decoration:none}a:hover{text-decoration:underline}
header{display:flex;gap:14px;align-items:center;padding:11px 18px;
border-bottom:1px solid var(--line);position:sticky;top:0;background:var(--bg);z-index:8}
.brand{font-weight:800;letter-spacing:-.02em;color:var(--fg)}.brand span{color:var(--acc)}
.status{display:flex;gap:7px;align-items:center;font-size:13px;color:var(--mut)}
.dot{width:8px;height:8px;border-radius:50%;background:var(--other);display:inline-block}
.dot.live{background:#3ddc84;box-shadow:0 0 10px #3ddc84}
nav{margin-left:auto;display:flex;gap:14px;font-size:13.5px;flex-wrap:wrap}
main{max-width:1280px;margin:0 auto;padding:18px}
.toolbar{display:flex;gap:12px;flex-wrap:wrap;justify-content:space-between;
align-items:center;margin-bottom:12px}
.filters{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
select,input{background:var(--card);color:var(--fg);border:1px solid var(--line);
border-radius:9px;padding:7px 10px;font:inherit}
input{min-width:190px}
.chk{font-size:13px;color:var(--mut);display:flex;gap:6px;align-items:center;white-space:nowrap}
.actions{display:flex;gap:8px;flex-wrap:wrap}
.btn{border:1px solid var(--line);background:var(--card);color:var(--fg);
border-radius:9px;padding:7px 12px;cursor:pointer;font:inherit;text-decoration:none}
.btn:hover{border-color:var(--acc)}
.btn.primary{background:var(--acc);border-color:var(--acc);color:#04121f;font-weight:700}
.grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(240px,.75fr);
gap:12px;align-items:start}
@media (max-width:900px){.grid{grid-template-columns:1fr}}
.card{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:12px}
.mapwrap{padding:10px}
.maptop{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}
.mapbox{position:relative;width:100%;aspect-ratio:2/1;background:#0b0f14;
border-radius:8px;overflow:hidden}
.mapbox object{position:absolute;inset:0;width:100%;height:100%}
#dots{position:absolute;inset:0;width:100%;height:100%}
.legend{display:flex;gap:12px;flex-wrap:wrap;margin-top:8px}
.sw{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:5px}
.sw.strike{background:var(--strike)}.sw.threat{background:var(--threat)}
.sw.protest{background:var(--protest)}.sw.diplomatic{background:var(--diplomatic)}
.sw.statement{background:var(--statement)}.sw.other{background:var(--other)}
.side{display:flex;flex-direction:column;gap:12px}
.side h2{font-size:16px;margin:0 0 8px;letter-spacing:-.01em}
.stats{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:10px}
.stat{background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:8px 10px}
.stat b{display:block;font-size:19px}
.stat span{font-size:11.5px;color:var(--mut)}
.types{display:flex;flex-direction:column;gap:5px}
.trow{display:flex;justify-content:space-between;font-size:13px;gap:8px}
.bar{height:5px;border-radius:3px;background:var(--acc);opacity:.75}
.types .trow span:last-child{color:var(--mut)}
ol#countries{margin:0;padding-left:18px}
#countries li{margin:2px 0}
.hosts{display:flex;flex-wrap:wrap;gap:6px}
.hosts span{border:1px solid var(--line);border-radius:999px;padding:2px 8px}
.feedhead{display:flex;justify-content:space-between;align-items:baseline;
margin:18px 0 8px}
.feedhead h2{font-size:18px;margin:0;letter-spacing:-.01em}
.feed{display:flex;flex-direction:column;gap:8px}
.ev{background:var(--card);border:1px solid var(--line);border-radius:11px;
padding:11px 13px;display:grid;grid-template-columns:10px 1fr auto;gap:12px;
align-items:start}
.ev:hover{border-color:#2f4050}
.ev .mark{width:10px;height:10px;border-radius:50%;margin-top:6px}
.ev h3{margin:0 0 3px;font-size:15px;font-weight:600;line-height:1.35}
.ev .meta{font-size:12px;color:var(--mut);display:flex;gap:9px;flex-wrap:wrap}
.ev .meta a{color:var(--acc)}
.badge{font-size:11px;border:1px solid var(--line);border-radius:999px;
padding:1px 7px;color:var(--mut);white-space:nowrap}
.badge.conf{border-color:#2c6b4f;color:#7ce0ac}
.ev .right{text-align:right;font-size:12px;color:var(--mut);white-space:nowrap}
pre{white-space:pre-wrap;background:var(--bg);border:1px solid var(--line);
border-radius:10px;padding:12px;overflow:auto;font:13px/1.55 ui-monospace,Menlo,monospace}
.more{width:100%;margin-top:10px}
.row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.grow{flex:1;min-width:160px}
label{display:block;font-size:12.5px;color:var(--mut);margin:9px 0 4px}
textarea{width:100%;min-height:90px;background:var(--card);color:var(--fg);
border:1px solid var(--line);border-radius:10px;padding:9px 11px;font:inherit}
.mut{color:var(--mut)}.micro{font-size:12px}
[hidden]{display:none!important}
footer{border-top:1px solid var(--line);margin-top:24px;padding:16px;
display:flex;gap:12px;justify-content:center;flex-wrap:wrap;color:var(--mut);font-size:12.5px}
