:root{
  --bg:#07090d; --bg2:#0d1117; --card:#10151d; --line:#1d2633; --line2:#2a3646;
  --text:#e8edf4; --muted:#8693a6; --dim:#5b6778;
  --accent:#00e5a0; --accent2:#4cc9ff; --warn:#ffb547;
  --radius:14px; --mono:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,monospace;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--text);font:15px/1.55 Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;-webkit-font-smoothing:antialiased}
a{color:inherit}
.wrap{max-width:1180px;margin:0 auto;padding:0 20px}
.grid-bg{position:fixed;inset:0;z-index:-1;pointer-events:none;
  background:
    radial-gradient(900px 500px at 15% -10%, rgba(0,229,160,.13), transparent 60%),
    radial-gradient(700px 400px at 95% 0%, rgba(76,201,255,.10), transparent 60%),
    linear-gradient(var(--bg),var(--bg));}
.grid-bg::after{content:"";position:absolute;inset:0;
  background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);
  background-size:44px 44px;mask-image:linear-gradient(#000 0,transparent 520px);-webkit-mask-image:linear-gradient(#000 0,transparent 520px)}
.hero{padding:56px 0 28px}
.eyebrow{flex-wrap:wrap;font:600 12px/1.4 var(--mono);letter-spacing:.12em;color:var(--accent);display:flex;align-items:center;gap:10px;text-transform:uppercase}
.pulse{width:9px;height:9px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 0 rgba(0,229,160,.7);animation:pulse 1.8s infinite}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(0,229,160,.6)}70%{box-shadow:0 0 0 12px rgba(0,229,160,0)}100%{box-shadow:0 0 0 0 rgba(0,229,160,0)}}
h1{font-size:clamp(46px,9vw,104px);line-height:.92;letter-spacing:-.045em;margin:18px 0 14px;font-weight:800}
h1 .accent{background:linear-gradient(90deg,var(--accent),var(--accent2));-webkit-background-clip:text;background-clip:text;color:transparent;margin-left:.08em}
.lede{max-width:640px;color:#b7c2d1;font-size:clamp(15px,2vw,18px);margin:0}
.stats{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}
.stat{background:rgba(16,21,29,.75);border:1px solid var(--line);border-radius:12px;padding:12px 16px;min-width:130px;backdrop-filter:blur(6px)}
.stat b{display:block;font:700 24px/1.1 var(--mono);letter-spacing:-.02em}
.stat span{font-size:12px;color:var(--muted)}
.controls{position:sticky;top:0;z-index:5;background:rgba(7,9,13,.86);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);padding:14px 0 12px;border-bottom:1px solid var(--line);display:grid;grid-template-columns:1fr auto;gap:10px}
.search{position:relative}
.search svg{position:absolute;left:13px;top:50%;width:17px;height:17px;transform:translateY(-50%);fill:var(--dim)}
.search input{width:100%;background:var(--card);border:1px solid var(--line2);border-radius:11px;color:var(--text);font:inherit;padding:11px 14px 11px 38px;outline:none;transition:border-color .15s}
.search input:focus{border-color:var(--accent)}
.range{display:flex;background:var(--card);border:1px solid var(--line2);border-radius:11px;padding:3px}
.range button{background:none;border:0;color:var(--muted);font:600 13px var(--mono);padding:7px 11px;border-radius:8px;cursor:pointer}
.range button.on{background:var(--line2);color:var(--text)}
.chips{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:7px}
.chip{border:1px solid var(--line2);background:transparent;color:#c5cfdc;border-radius:999px;padding:5px 12px;font:500 13px Inter,sans-serif;cursor:pointer;transition:all .15s;display:inline-flex;gap:6px;align-items:center}
.chip:hover{border-color:var(--muted)}
.chip i{font-style:normal;font:600 11px var(--mono);color:var(--dim)}
.chip.on{background:var(--accent);border-color:var(--accent);color:#03130d}
.chip.on i{color:#0a3a2a}
.layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:28px;margin-top:22px}
.feed-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:6px}
h2{font-size:20px;letter-spacing:-.02em;margin:0}
.muted{color:var(--muted)} .small{font-size:12.5px}
.items{list-style:none;margin:0;padding:0}
.item{display:grid;grid-template-columns:62px 1fr;gap:14px;padding:16px 0;border-bottom:1px solid var(--line);animation:in .3s ease both}
@keyframes in{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}
.ago{font:600 12px/1.3 var(--mono);color:var(--dim);padding-top:3px}
.ago.fresh{color:var(--accent)}
.item a.t{font-size:16.5px;font-weight:600;line-height:1.35;text-decoration:none;letter-spacing:-.01em}
.item a.t:hover{color:var(--accent)}
.meta{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center;margin-top:7px;font-size:12.5px;color:var(--muted)}
.src{font-weight:600;color:#aab6c6}
.tag{font:600 11px var(--mono);padding:2px 7px;border-radius:6px;background:rgba(76,201,255,.09);color:var(--accent2);border:1px solid rgba(76,201,255,.18);cursor:pointer}
.sum{color:#9aa6b6;font-size:13.5px;margin:6px 0 0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
mark{background:rgba(0,229,160,.22);color:inherit;border-radius:3px;padding:0 2px}
.more{margin:18px auto 0;display:block;background:var(--card);border:1px solid var(--line2);color:var(--text);padding:10px 22px;border-radius:10px;font:600 14px Inter,sans-serif;cursor:pointer}
.more:hover{border-color:var(--accent)}
.empty{padding:40px 0;color:var(--muted);text-align:center}
.side .card{position:sticky;top:150px;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:18px}
.side h2{font-size:16px}
.buzz{margin-top:12px;display:grid;gap:8px}
.bar{display:grid;grid-template-columns:96px 1fr 30px;gap:8px;align-items:center;font-size:12.5px;cursor:pointer}
.bar .n{font:600 12px var(--mono);color:var(--muted);text-align:right}
.bar .track{display:block;height:8px;background:var(--line);border-radius:5px;overflow:hidden}
.bar .fill{display:block;height:100%;background:linear-gradient(90deg,var(--accent),var(--accent2));border-radius:5px}
.bar:hover .lbl{color:var(--accent)}
.ops{margin:64px 0 20px}
.ops-head{max-width:760px;margin-bottom:18px}
.ops-head h2{font-size:clamp(26px,4vw,36px);letter-spacing:-.03em}
.ops-head p{margin:8px 0 0}
.ops-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:14px}
.op{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:18px;display:flex;flex-direction:column;gap:10px}
.op-top{display:flex;justify-content:space-between;align-items:baseline;gap:10px}
.op h3{margin:0;font-size:18px;letter-spacing:-.02em}
.op .region{font:600 11px var(--mono);color:var(--dim);text-transform:uppercase;letter-spacing:.06em;text-align:right}
.op .count{font:700 13px var(--mono);color:var(--accent)}
.cities{display:flex;flex-wrap:wrap;gap:6px}
.city{font-size:12.5px;padding:3px 9px;border-radius:7px;background:rgba(0,229,160,.08);border:1px solid rgba(0,229,160,.22);color:#c9f7e7}
.city.p{background:rgba(76,201,255,.08);border-color:rgba(76,201,255,.25);color:#cfeeff}
.city.l{background:rgba(255,181,71,.07);border-color:rgba(255,181,71,.25);color:#ffe2b5}
.op .note{font-size:13px;color:#9aa6b6;margin:0}
.op .srcs{font-size:12px;color:var(--dim);margin-top:auto}
.op .srcs a{color:var(--muted)}
.legend{display:flex;flex-wrap:wrap;gap:12px;font-size:12px;color:var(--muted);margin-top:10px}
.legend span::before{content:"";display:inline-block;width:9px;height:9px;border-radius:3px;margin-right:6px;vertical-align:-1px;background:var(--c)}
.foot{border-top:1px solid var(--line);margin-top:48px;padding-top:20px;padding-bottom:40px;color:var(--muted);font-size:13px}
.skel{height:64px;border-bottom:1px solid var(--line);background:linear-gradient(90deg,transparent,rgba(255,255,255,.03),transparent);background-size:200% 100%;animation:sh 1.2s infinite}
@keyframes sh{from{background-position:200% 0}to{background-position:-200% 0}}
@media (max-width:900px){
  .layout{grid-template-columns:1fr}
  .side{order:-1}
  .side .card{position:static}
}
@media (max-width:560px){
  .hero{padding:36px 0 18px}
  .controls{grid-template-columns:1fr}
  .range{justify-self:start}
  .item{grid-template-columns:1fr;gap:4px}
  .chips{flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px;scrollbar-width:none}
  .chip{flex:0 0 auto}
  .ops-grid{grid-template-columns:1fr}
  .stat{min-width:0;flex:1 1 40%}
}
/* Radar logo */
h1{display:flex;align-items:center;flex-wrap:wrap;gap:0 .12em}
.radar{position:relative;flex:0 0 auto;width:.78em;height:.78em;margin-right:.14em;border-radius:50%;
  border:2px solid rgba(0,229,160,.75);overflow:hidden;
  background:
    radial-gradient(circle,transparent 31%,rgba(0,229,160,.35) 32%,transparent 34%,transparent 63%,rgba(0,229,160,.3) 64%,transparent 66%),
    linear-gradient(rgba(0,229,160,.18),rgba(0,229,160,.18)) center/1px 100% no-repeat,
    linear-gradient(rgba(0,229,160,.18),rgba(0,229,160,.18)) center/100% 1px no-repeat,
    radial-gradient(circle,#0b1a16,#07090d 70%);
  box-shadow:0 0 30px rgba(0,229,160,.18), inset 0 0 20px rgba(0,229,160,.08)}
.radar .sweep{position:absolute;inset:0;border-radius:50%;
  background:conic-gradient(from 0deg,rgba(0,229,160,.65),rgba(0,229,160,.18) 40deg,transparent 90deg);
  animation:sweep 3.2s linear infinite}
@keyframes sweep{to{transform:rotate(360deg)}}
.radar .blip{position:absolute;width:.075em;height:.075em;min-width:5px;min-height:5px;border-radius:50%;background:var(--accent2);
  box-shadow:0 0 10px var(--accent2);opacity:0;animation:blip 3.2s linear infinite}
.radar .b1{top:24%;left:62%;animation-delay:.25s}
.radar .b2{top:62%;left:72%;animation-delay:1.05s}
.radar .b3{top:58%;left:26%;animation-delay:2.3s}
@keyframes blip{0%{opacity:1;transform:scale(1.3)}60%{opacity:.15;transform:scale(1)}100%{opacity:0}}
@media (prefers-reduced-motion:reduce){.radar .sweep,.radar .blip,.pulse{animation:none}.radar .blip{opacity:.8}}
