:root{--bg:#05070d;--fg:#e8edf7;--mut:#8b96ad;--pan:rgba(10,14,24,.72);--bd:rgba(140,170,255,.18);--state:#ff4d3d;--nonstate:#ffb020;--onesided:#d94dff;--heat:#ff7a1a;--acc:#6ea8ff}
*{box-sizing:border-box}html,body{margin:0;height:100%;background:var(--bg);color:var(--fg);font:14px/1.4 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;overflow:hidden}
a{color:var(--acc)}.top{height:48px;display:flex;align-items:center;gap:16px;padding:0 14px;border-bottom:1px solid var(--bd);background:linear-gradient(#0b1020,#05070d)}
.brand{color:var(--fg);text-decoration:none;font-weight:600;font-size:18px;letter-spacing:.3px}.brand b{color:var(--acc)}
.tabs{display:flex;gap:2px;overflow-x:auto;scrollbar-width:none;flex:1}.tabs a{color:var(--mut);text-decoration:none;padding:13px 12px;white-space:nowrap;border-bottom:2px solid transparent}
.tabs a.on{color:var(--fg);border-color:var(--state)}.tabs a[data-soon]:after{content:" soon";font-size:10px;opacity:.6}.srcl{font-size:12px;white-space:nowrap}
.layout{display:flex;height:calc(100% - 48px)}.mapwrap{position:relative;flex:2;min-width:0;overflow:hidden}
.chat{flex:1;max-width:520px;min-width:300px;display:flex;flex-direction:column;border-left:1px solid var(--bd);background:#000}.chat iframe{flex:1;width:100%;border:0}.chat small{padding:4px 8px;color:var(--mut)}
#sky{position:absolute;inset:0;background:url(/tex/milkyway.webp) center/cover;opacity:.32;filter:saturate(.8)}#stars{position:absolute;inset:0;width:100%;height:100%}#globe{position:absolute;inset:0}
.panel{background:var(--pan);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid var(--bd);border-radius:12px;padding:10px 12px}
.hud.tl{position:absolute;top:10px;left:10px;max-width:360px;z-index:2}.filters h2{margin:0 0 6px;font-size:16px}.live{font-size:11px;font-weight:400;color:var(--mut)}
.row{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.chips label{display:flex;align-items:center;gap:5px;font-size:12px;cursor:pointer;padding:3px 7px;border:1px solid var(--bd);border-radius:20px}
.chips input{display:none}.chips label:has(input:not(:checked)){opacity:.4}.k{width:9px;height:9px;border-radius:50%;display:inline-block}
.k.state{background:var(--state)}.k.nonstate{background:var(--nonstate)}.k.onesided{background:var(--onesided)}.k.heat{background:var(--heat);border-radius:2px}
select,input[type=text],#country{background:#0d1322;color:var(--fg);border:1px solid var(--bd);border-radius:8px;padding:5px 7px;font-size:12px}
.stats{font-size:12px;color:var(--mut)}.stats b{color:var(--fg)}
.card{position:absolute;top:10px;right:10px;width:360px;max-height:calc(100% - 120px);overflow:auto;z-index:3}.card h3{margin:0 18px 4px 0;font-size:15px}.card .x{position:absolute;right:8px;top:6px;background:none;border:0;color:var(--mut);font-size:18px;cursor:pointer}
.card .meta{font-size:12px;color:var(--mut)}.card ul{padding-left:16px;margin:6px 0;font-size:12px}.card li{margin:3px 0}
.badge{display:inline-block;font-size:11px;padding:1px 7px;border-radius:10px;border:1px solid var(--bd);margin:4px 4px 0 0}.badge.multi{border-color:#3ddc84;color:#3ddc84}.badge.single{border-color:#ffb020;color:#ffb020}.badge.heat{border-color:var(--heat);color:var(--heat)}
.conflicts{position:absolute;right:10px;bottom:70px;width:300px;max-height:42%;overflow:auto;z-index:2;font-size:12px}.conflicts h3{margin:0 0 4px;font-size:13px}.conflicts small{color:var(--mut);font-weight:400}
.conflicts ol{margin:0;padding-left:18px}.conflicts li{cursor:pointer;padding:3px 0}.conflicts li:hover{color:var(--acc)}.conflicts .d{color:var(--state);float:right}
.timeline{position:absolute;left:10px;right:320px;bottom:30px;display:flex;align-items:center;gap:8px;z-index:2;padding:6px 10px}.timeline input{flex:1;accent-color:var(--state)}
#play{background:var(--state);border:0;color:#fff;border-radius:50%;width:28px;height:28px;cursor:pointer}#tlabel{font-size:12px;min-width:150px;color:var(--mut)}
.ticker{position:absolute;left:0;right:0;bottom:0;height:24px;overflow:hidden;white-space:nowrap;font-size:12px;background:rgba(0,0,0,.6);border-top:1px solid var(--bd);z-index:2}
.ticker div{display:inline-block;padding-left:100%;animation:tick 240s linear infinite}.ticker a{color:var(--fg);text-decoration:none;margin-right:28px}.ticker a b{color:var(--heat);font-weight:500}
.ticker:hover div{animation-play-state:paused}@keyframes tick{to{transform:translateX(-100%)}}
.toast{position:fixed;top:56px;left:50%;transform:translateX(-50%);background:var(--pan);border:1px solid var(--bd);padding:8px 14px;border-radius:8px;z-index:9}
@media (max-width:820px){html,body{overflow:auto}.layout{flex-direction:column;height:auto}.mapwrap{height:68vh;flex:none}.chat{max-width:none;min-width:0;height:60vh;border-left:0;border-top:1px solid var(--bd)}
.hud.tl{right:10px;max-width:none}.filters .row:not(.chips){display:none}.conflicts{display:none}.timeline{right:10px;bottom:28px}#tlabel{min-width:0}.card{left:10px;right:10px;width:auto;top:auto;bottom:70px;max-height:55%}.srcl{display:none}}
/* v2 epic */
.hud.tl{bottom:84px;display:flex;flex-direction:column;gap:8px;pointer-events:none}.hud.tl>*{pointer-events:auto}
.feed{flex:1;min-height:0;overflow:auto;padding:8px 10px}.feed h3{margin:0 0 4px;font-size:13px}.feed ol{list-style:none;margin:0;padding:0}
.feed li{display:flex;gap:8px;padding:7px 4px;border-top:1px solid rgba(140,170,255,.08);cursor:pointer;font-size:12px}.feed li:hover{background:rgba(110,168,255,.08)}
.feed time{color:var(--mut)}.feed small{color:var(--mut)}.fi{flex:none;width:22px;height:22px;border-radius:6px;display:grid;place-items:center}.fi svg,.ct svg{width:14px;height:14px;fill:#fff}
.fi.state,.ct.state{background:var(--state)}.fi.nonstate,.ct.nonstate{background:var(--nonstate)}.fi.onesided,.ct.onesided{background:var(--onesided)}.ct.heat{background:var(--heat)}
.ico{width:18px;height:18px;border-radius:50%;display:grid;place-items:center;cursor:pointer;box-shadow:0 0 10px currentColor;transform:translate(-50%,-50%);pointer-events:auto;transition:transform .15s}
.ico:hover{transform:translate(-50%,-50%) scale(1.5)}.ico svg{width:11px;height:11px;fill:#fff}.ico.state{background:var(--state);color:var(--state)}.ico.nonstate{background:var(--nonstate);color:var(--nonstate)}.ico.onesided{background:var(--onesided);color:var(--onesided)}
.ct{display:inline-flex;gap:6px;align-items:center;padding:3px 9px;border-radius:12px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px}
.deaths{display:flex;gap:8px;margin:10px 0}.deaths div{flex:1;background:rgba(255,77,61,.08);border:1px solid rgba(255,77,61,.25);border-radius:8px;padding:6px;text-align:center}.deaths b{display:block;font-size:18px}.deaths small{color:var(--mut);font-size:10px}
.card h4{margin:10px 0 2px;font-size:12px;text-transform:uppercase;color:var(--mut)}.share button,#feedbtn{background:#16203a;color:var(--fg);border:1px solid var(--bd);border-radius:8px;padding:5px 10px;cursor:pointer}
.acts{font-size:12px;gap:12px;align-items:center}.mob{display:none}.brief{color:var(--mut);font-size:11px;margin:2px 0 4px}.conflicts a{color:inherit;text-decoration:none;display:block}
.tip{background:rgba(5,8,16,.92);border:1px solid var(--bd);padding:6px 8px;border-radius:8px;font-size:12px}.card{animation:in .25s ease}@keyframes in{from{opacity:0;transform:translateY(-6px)}}
.mapwrap:after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at center,transparent 55%,rgba(0,0,0,.55));z-index:1}
@media (max-width:820px){.hud.tl{bottom:auto}.feed{display:none}.showfeed .feed{display:block;position:fixed;left:8px;right:8px;bottom:8px;max-height:60vh;z-index:5}.mob{display:inline-block}}
.brief{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}main .brief{display:block}
@media (max-width:820px){.hud.tl .panel:first-child .row:not(.acts):not(:first-child){display:none}.acts{display:flex!important}}
#clist .brief{display:-webkit-box!important;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;max-height:3em}
#clist li:hover .brief{-webkit-line-clamp:8;max-height:none}
#tour{background:linear-gradient(135deg,#2a3a78,#16203a);color:#fff;border:1px solid var(--bd);border-radius:18px;padding:0 12px;height:32px;cursor:pointer;margin-right:6px;white-space:nowrap}
.tw{flex:1;position:relative;height:34px;display:flex;align-items:center}.tw input{width:100%;position:relative;z-index:1;background:transparent}
#spark{position:absolute;left:0;right:0;bottom:0;width:100%;height:30px;pointer-events:none;opacity:.9}
.tw input[type=range]{-webkit-appearance:none;appearance:none;height:34px}.tw input::-webkit-slider-runnable-track{height:2px;background:rgba(255,255,255,.18)}.tw input::-moz-range-track{height:2px;background:rgba(255,255,255,.18)}
.tw input::-webkit-slider-thumb{-webkit-appearance:none;width:14px;height:14px;margin-top:-6px;border-radius:50%;background:#ff4d3d;box-shadow:0 0 12px #ff4d3d}
@media (max-width:820px){.timeline{flex-wrap:wrap;gap:6px}.tw{order:5;flex-basis:100%}#tlabel{font-size:11px;flex:1}#tour{height:28px;padding:0 9px;font-size:12px}
.hud.tl .panel:first-child .row.chips{display:flex!important}.filters h2 small,#fresh{display:none}.card{bottom:110px}}
/* embed mode: ?embed=1 — map only, for other sites */
.embed header.top,.embed .chat,.embed .ticker,.embed .feed{display:none!important}.embed main,.embed .app{grid-template-columns:1fr!important;height:100vh!important}.embed .mapwrap{height:100vh!important}
.embed .credit{position:absolute;right:10px;top:10px;z-index:3;font-size:12px}
.embed .layout{display:block!important;height:100vh!important}.embed .mapwrap{width:100%!important}
.hud,.panel,.timeline,.conflicts{z-index:5}.card{z-index:6}#globe .scene-container>div:last-child{z-index:1}
.sbtn{margin-left:auto;margin-right:12px;background:#121a30;color:var(--mut);border:1px solid var(--bd);border-radius:8px;padding:5px 12px;cursor:pointer}
.pal{position:fixed;left:50%;top:70px;transform:translateX(-50%);width:min(560px,92vw);z-index:20;background:rgba(8,12,24,.96);border:1px solid var(--bd);border-radius:14px;box-shadow:0 20px 60px #000c;padding:8px}
.pal input{width:100%;font-size:16px;padding:10px;background:#0d1426;color:var(--fg);border:1px solid var(--bd);border-radius:10px}.pal ul{list-style:none;margin:6px 0 0;padding:0;max-height:50vh;overflow:auto}
.pal li{padding:8px 10px;border-radius:8px;cursor:pointer;display:flex;justify-content:space-between;gap:10px}.pal li.on,.pal li:hover{background:rgba(110,168,255,.12)}.pal li small{color:var(--mut)}
@media(max-width:820px){.sbtn{padding:4px 8px;margin-right:6px}}

.panel.collapsed>*:not(h2):not(h3){display:none!important}.panel.collapsed{padding-bottom:6px}
.col{float:right;margin-left:8px;width:22px;height:22px;border-radius:6px;border:1px solid #ffffff22;background:#ffffff0d;color:#cfd8e6;cursor:pointer;font:600 14px/1 system-ui}
.col:hover{background:#ffffff22}
.pulse{font-size:11px;font-weight:500;color:#8a96a8;margin-left:6px}.pulse.ok{color:#4dff9a}
.toast{position:absolute;top:64px;left:50%;transform:translateX(-50%);z-index:50;background:#ff3d6e;color:#fff;border:0;border-radius:20px;padding:8px 16px;font:600 13px system-ui;box-shadow:0 4px 20px #ff3d6e66;cursor:pointer}
.donate{margin-left:10px;padding:5px 12px;border-radius:16px;background:#ff3d6e22;border:1px solid #ff3d6e88;color:#ffb3c6!important;text-decoration:none;font-size:13px;white-space:nowrap}
.k.news{background:#3fe0ff}
.fi svg,.ct svg,.ico svg{fill:#0b0f17}

.theatre{position:absolute;inset:0;z-index:30;background:#05070d;animation:tin .6s ease}.theatre #tmap{position:absolute;inset:0}
@keyframes tin{from{opacity:0;transform:scale(1.04)}to{opacity:1;transform:none}}
.intheatre #globe,.intheatre #stars,.intheatre #sky,.intheatre .feed,.intheatre .conflicts{visibility:hidden}
.intheatre .filters{display:none}
.thead{position:absolute;top:10px;left:10px;display:flex;gap:10px;align-items:center;z-index:2}.thead h2{margin:0;font:700 18px system-ui;color:#fff;text-shadow:0 2px 8px #000}
.tback{background:#ff3d6e;color:#fff;border:0;border-radius:18px;padding:8px 14px;font:600 13px system-ui;cursor:pointer;box-shadow:0 4px 16px #0008}
.tpanel{position:absolute;top:56px;right:10px;width:340px;max-height:calc(100% - 140px);overflow:auto;z-index:2}
.tpanel h4{margin:12px 0 6px;font-size:12px;color:#cfd8e6;text-transform:uppercase;letter-spacing:.04em}.tpanel h4 small{text-transform:none;color:var(--mut);letter-spacing:0}
.bars div{display:grid;grid-template-columns:130px 1fr 40px;gap:6px;align-items:center;font-size:12px;margin:3px 0}.bars i{height:8px;border-radius:4px;display:block}.bars b{text-align:right}
.dbar{display:flex;align-items:flex-end;height:46px;gap:1px}.dbar i{flex:1;height:100%;display:flex;flex-direction:column-reverse}.dbar b{background:#ff4d3d;display:block}.dbar em{background:#3fe0ff;display:block}
.rt{width:100%;font-size:12px;border-collapse:collapse}.rt td,.rt th{padding:3px 4px;border-bottom:1px solid #ffffff12;text-align:left}.rt th{color:var(--mut);font-weight:500}
.kev{list-style:none;padding:0;margin:0}.kev li{display:flex;gap:8px;padding:6px 0;border-bottom:1px solid #ffffff10;cursor:pointer;font-size:12px}.kev li:hover{background:#ffffff08}
.thl{flex-wrap:wrap;gap:4px;align-items:center}.thl button{background:#ff3d6e1a;border:1px solid #ff3d6e55;color:#ffd0da;border-radius:12px;padding:3px 9px;font-size:11.5px;cursor:pointer;margin:2px}.thl button small{color:#ff8fa8}
.tpop .maplibregl-popup-content{background:#0b0f17ee;color:#e6ecf5;font-size:12px;border:1px solid #ffffff22;border-radius:8px}.tpop .maplibregl-popup-tip{display:none}
.maplibregl-ctrl-attrib{background:#0b0f17cc!important;color:#9aa6b8}.maplibregl-ctrl-attrib a{color:#9cc2ff}
@media (max-width:820px){.tpanel{top:auto;bottom:150px;left:8px;right:8px;width:auto;max-height:34%}}
.intheatre .card{z-index:40}.intheatre .timeline{z-index:35}
@media (max-width:820px){.filters .row.thl{display:flex}}
.prof{margin-bottom:8px}.badges{display:flex;gap:5px;flex-wrap:wrap;margin:2px 0 4px}.badge{font-size:11px;padding:2px 7px;border-radius:9px;background:#ffffff14;border:1px solid #ffffff22}
.badge.ty{background:#ff4d3d26;border-color:#ff4d3d66}.badge.auto{background:#ffb04a22;border-color:#ffb04a88;color:#ffd08a}
.why{font-size:12px;line-height:1.45;margin:2px 0 6px;color:#cfd3da}.pf{display:grid;grid-template-columns:92px 1fr;gap:6px;font-size:12px;margin:3px 0}.pf b{color:#9aa}.pf a{color:#dde;text-decoration:none;border-bottom:1px dotted #666}
details.more{display:inline}details.more summary{display:inline;cursor:pointer;color:#8ab}
.thl .au{border-style:dashed;opacity:.85}.soon{display:inline-block;font-size:11px;padding:3px 8px;border:1px dashed #ffffff33;border-radius:8px;color:#aab;margin:3px}.soon b{color:#ffd08a;margin-right:4px}
#legend{margin-top:6px;font-size:12px}#legend summary{cursor:pointer;color:#cdd}#legend summary small{color:var(--mut);margin-left:4px}
.lg{display:flex;flex-wrap:wrap;gap:3px 4px;margin:5px 0}.lg b{width:100%;font-size:10.5px;text-transform:uppercase;letter-spacing:.06em;color:#8f9bb0}
.lg button{display:flex;align-items:center;gap:4px;font:inherit;font-size:11.5px;color:#dde;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:12px;padding:1px 7px 1px 2px;cursor:pointer}
.lg button.off{opacity:.35;text-decoration:line-through}.lg .fi{width:17px;height:17px}
.rk{display:flex;align-items:center;gap:3px;margin:5px 0}.rk span{color:#8f9bb0;margin-right:3px}.rk i{width:11px;height:11px;border-radius:50%;background:#ff4d3d}.rk small{color:var(--mut);margin-left:5px}
.ico{transform:translate(-50%,-50%) scale(var(--s,1));position:relative}.ico.civ{box-shadow:0 0 0 2px #fff}.ico.new::after{content:'';position:absolute;inset:-6px;border-radius:50%;border:2px solid currentColor;animation:pz 1.6s ease-out infinite}
@keyframes pz{from{transform:scale(.6);opacity:1}to{transform:scale(1.8);opacity:0}}
