:root{--bg:#06090c;--panel:#0b1015;--panel-2:#0e151c;--line:#28333c;--line-soft:#1a252d;--text:#d8e0e5;--muted:#7b8993;--cyan:#24d5e8;--green:#48d17a;--amber:#ffae38;--yellow:#f5df4e;--red:#ff5361;--blue:#4b9dff;font-family:"SFMono-Regular",Consolas,"Liberation Mono",monospace;color:var(--text);background:var(--bg)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;background:radial-gradient(circle at 65% 0%,#101c25 0,transparent 35%),var(--bg);font-size:12px;letter-spacing:.035em}.topbar{min-height:54px;position:sticky;top:0;z-index:20;border-bottom:1px solid var(--line);background:#080c10;display:flex;align-items:center;padding:0 18px;gap:24px}.brand{color:#f2f6f7;text-decoration:none;font-size:16px;font-weight:700;letter-spacing:.1em;white-space:nowrap}.brand span{color:var(--cyan)}.brand-mark{font-size:21px;margin-right:6px}.top-nav{align-self:stretch;display:flex}.top-nav a{padding:19px 13px 15px;color:var(--muted);text-decoration:none;border-bottom:3px solid transparent;font-size:10px}.top-nav a:hover,.top-nav a.active{color:var(--text);border-color:var(--cyan)}.system-status{margin-left:auto;display:flex;align-items:center;gap:8px;color:var(--muted);font-size:10px;white-space:nowrap}.system-status time{color:var(--cyan);border-left:1px solid var(--line);padding-left:10px}.live-dot{width:7px;height:7px;border-radius:50%;background:var(--red);display:inline-block;box-shadow:0 0 9px var(--red);animation:pulse 1.8s infinite}
.dashboard{max-width:1680px;margin:auto;padding:14px;display:grid;grid-template-columns:240px minmax(470px,1fr) 300px;gap:14px;align-items:start}.panel{background:linear-gradient(135deg,rgba(19,29,37,.85),rgba(8,13,18,.92));border:1px solid var(--line);position:relative;min-width:0}.panel:before,.panel:after{content:"";position:absolute;width:8px;height:8px;border-color:#62717d;pointer-events:none}.panel:before{top:-1px;left:-1px;border-top:1px solid;border-left:1px solid}.panel:after{right:-1px;bottom:-1px;border-right:1px solid;border-bottom:1px solid}.panel-heading{min-height:51px;padding:10px 12px 8px;border-bottom:1px solid var(--line-soft);position:relative}.eyebrow{color:var(--cyan);font-size:9px;margin:0 0 4px;letter-spacing:.12em}.panel h1,.panel h2{font-size:14px;letter-spacing:.05em;margin:0;font-weight:600}.panel h1{font-size:15px}.panel-id{position:absolute;right:11px;top:12px;color:#56636e;font-size:9px}.tag{padding:2px 4px;background:#18414a;color:#73ecf8;margin-left:5px;font-size:8px}.red-tag{background:#481d24;color:#ff9098}.panel-note,.table-note{margin:10px 12px;color:var(--muted);font-size:9px;line-height:1.5}.layer-list{border-top:1px solid var(--line-soft)}.layer-control{height:38px;display:flex;align-items:center;gap:8px;padding:0 12px;border-bottom:1px solid var(--line-soft);font-size:10px;cursor:pointer;color:#b2bec5}.layer-control input{appearance:none;width:13px;height:13px;border:1px solid currentColor;background:#070b0f;margin:0;display:grid;place-content:center}.layer-control input:checked:after{content:"";display:block;width:7px;height:7px;background:currentColor}.layer-control>span{width:6px;height:6px;background:currentColor}.layer-control b{margin-left:auto;font-weight:400;color:var(--muted)}.conflict{color:var(--red)}.military{color:var(--blue)}.nuclear{color:var(--yellow)}.activity{color:var(--cyan)}.ship{color:var(--green)}.hotspot{color:var(--amber)}.network-panel{margin-top:14px;padding-bottom:14px}.status-row{display:flex;justify-content:space-between;color:var(--muted);font-size:9px;margin:12px 12px 5px}.status-row strong{font-weight:400;color:var(--text)}.meter{margin:0 12px;height:5px;background:#17222a;overflow:hidden}.meter i{display:block;height:100%;background:currentColor;box-shadow:0 0 8px currentColor}.meter.cyan{color:var(--cyan)}.meter.green{color:var(--green)}.meter.amber{color:var(--amber)}.meter.red{color:var(--red)}
.map-panel{min-height:518px}.map-legend{padding:8px 12px;border-bottom:1px solid var(--line-soft);font-size:9px;display:flex;gap:11px;flex-wrap:wrap}.world-map{height:390px;position:relative;overflow:hidden;background:radial-gradient(ellipse at center,#103640 0%,#09131a 52%,#070b10 100%)}.map-shape{height:100%;width:100%;position:absolute;inset:0;object-fit:fill;transform:scaleY(1.82);opacity:.56;filter:hue-rotate(112deg) saturate(.72) brightness(.72) contrast(1.45) drop-shadow(0 0 5px #27ddec);mix-blend-mode:screen}.world-map:before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(#22cfe414 1px,transparent 1px),linear-gradient(90deg,#22cfe414 1px,transparent 1px),repeating-linear-gradient(0deg,transparent 0 4px,#00000017 5px);background-size:100% 25%,20% 100%,auto;box-shadow:inset 0 0 55px #020609}.world-map:after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(90deg,#071016bb,transparent 18%,transparent 82%,#071016bb),linear-gradient(0deg,#07101699,transparent 24%,transparent 75%,#07101699)}.map-label{position:absolute;z-index:2;color:#7fbac1;font-size:8px;opacity:.65}.label-na{left:15%;top:26%}.label-eu{left:48%;top:20%}.label-ap{left:78%;top:50%}.map-marker{position:absolute;width:10px;height:10px;transform:translate(-50%,-50%);border:1px solid currentColor;background:#0a1117;color:var(--cyan);padding:0;cursor:pointer;z-index:3;box-shadow:0 0 10px currentColor}.map-marker:hover,.map-marker:focus-visible{outline:none;filter:brightness(1.4);z-index:4}.map-marker span{position:absolute;left:12px;top:-4px;color:currentColor;background:#091017e8;border:1px solid currentColor;white-space:nowrap;padding:2px 4px;font-size:8px;pointer-events:none}.map-marker.conflict-zone{color:var(--red);border-radius:50%;animation:pulse 1.8s infinite}.map-marker.military-base{color:var(--blue);transform:translate(-50%,-50%) rotate(45deg)}.military-base span{transform:rotate(-45deg);transform-origin:left top;left:11px;top:5px}.map-marker.nuclear-site{color:var(--yellow);clip-path:polygon(50% 0,100% 100%,0 100%);background:currentColor}.nuclear-site span{top:8px}.map-marker.military-activity{color:var(--cyan);border-radius:50%;box-shadow:0 0 0 4px #24d5e833,0 0 10px currentColor}.map-marker.ship-traffic{color:var(--green);width:15px;height:6px;border-radius:50%}.map-marker.intel-hotspot{color:var(--amber);border-radius:50%;box-shadow:0 0 0 5px #ffae3826,0 0 10px currentColor}.map-marker.is-hidden{display:none}.map-scale{position:absolute;z-index:2;left:12px;bottom:10px;color:#779096;font-size:8px}.map-footer{border-top:1px solid var(--line-soft);height:34px;display:flex;justify-content:space-between;align-items:center;padding:0 12px;color:var(--muted);font-size:9px}.map-footer .live-dot{width:5px;height:5px;margin-right:5px}
.map-routes{position:absolute;inset:0;z-index:2;width:100%;height:100%;pointer-events:none}.data-route{fill:none;stroke-width:1.25;stroke-dasharray:3 11;opacity:.7;animation:route-flow 2.6s linear infinite}.data-route path{fill:currentColor}.route-cyan{stroke:var(--cyan);color:var(--cyan)}.route-amber{stroke:var(--amber);color:var(--amber);animation-direction:reverse;animation-duration:3.5s}.route-green{stroke:var(--green);color:var(--green);animation-duration:4.2s}.map-readout{position:absolute;right:9px;bottom:8px;z-index:4;display:flex;gap:5px;align-items:center;padding:3px 5px;border:1px solid #23707c;background:#07151bd9;color:#8bd8e0;font-size:7px;letter-spacing:.08em}.map-readout b{font-weight:400;color:var(--cyan);border-left:1px solid #27717b;padding-left:5px}.readout-dot{width:5px;height:5px;background:var(--green);border-radius:50%;box-shadow:0 0 7px var(--green);animation:pulse 1s infinite}
.analysis-copy{color:var(--muted);font-size:10px;line-height:1.6;margin:12px}.risk-item{margin:13px 0}.risk-item>div:first-child{display:flex;justify-content:space-between;font-size:9px;margin:0 12px 5px;color:var(--muted)}.risk-item b{font-weight:400;color:var(--text)}.prediction{margin:16px 12px 12px;padding:10px;border:1px solid #235460;background:#0a2027;display:grid;grid-template-columns:1fr auto;gap:4px;font-size:9px;color:#85b6bd}.prediction strong{font-size:16px;color:var(--cyan);font-weight:400}.prediction small{grid-column:1/-1;color:#5b7e85;font-size:8px}.country-panel{margin-top:14px}table{width:100%;border-collapse:collapse;font-size:10px}th{text-align:left;color:var(--muted);font-size:8px;font-weight:400;padding:8px 12px;border-bottom:1px solid var(--line-soft)}td{padding:8px 12px;border-bottom:1px solid var(--line-soft)}.score{padding:2px 4px;background:#1c252b}.score.red{color:var(--red)}.score.amber{color:var(--amber)}.score.yellow{color:var(--yellow)}.score.cyan{color:var(--cyan)}.up{color:var(--red)}.down{color:var(--green)}
.video-panel{margin-bottom:14px}.video-panel .panel-heading,.feed-panel .panel-heading{min-height:48px}button{font:inherit}.video-message{min-height:20px;margin:0 12px;color:var(--muted);font-size:8px;line-height:1.45}.video-message.error{color:#ff8992}.video-message.success{color:#73eaa0}.video-frame{margin:5px 12px 12px;aspect-ratio:16/9;position:relative;background:#05080a;border:1px solid var(--line-soft)}.video-placeholder{position:absolute;inset:0;display:grid;place-content:center;text-align:center;color:#52747a;z-index:1}.video-placeholder span{font-size:25px;color:var(--cyan);margin-bottom:5px}.video-placeholder p{margin:0;font-size:9px}.video-placeholder small{font-size:7px;color:var(--muted)}.video-placeholder.is-hidden{display:none}.feed-panel{grid-column:1/3}.feed-list{list-style:none;padding:0;margin:0}.feed-list li{display:grid;grid-template-columns:60px 43px 1fr;gap:7px;padding:11px 12px;border-bottom:1px solid var(--line-soft);font-size:9px;line-height:1.5}.feed-list time{color:#62737e}.feed-list p{margin:0;color:#b8c4c9}.feed-code{height:min-content;padding:1px 3px;font-size:8px;border:1px solid currentColor}.feed-code.amber{color:var(--amber)}.feed-code.cyan{color:var(--cyan)}.feed-code.red{color:var(--red)}.feed-code.green{color:var(--green)}footer{max-width:1680px;margin:0 auto;padding:4px 14px 18px;color:#52616a;text-align:right;font-size:8px}
.feed-list li.feed-flash{animation:feed-inbound 1.1s ease-out}.feed-list li.feed-flash::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#20d7e82e,transparent);pointer-events:none}.feed-list li{position:relative}@keyframes feed-inbound{0%{background:#1a7c8b55;transform:translateX(-5px)}100%{background:transparent;transform:translateX(0)}}
.panel:not(.video-panel){animation:panel-flicker 4.8s steps(1,end) infinite}.world-map:after{animation:map-scan 3.2s linear infinite}.map-marker{animation:marker-blink 1.7s ease-in-out infinite}.map-marker:nth-of-type(2n){animation-delay:-.6s}.map-marker:nth-of-type(3n){animation-delay:-1.1s}.meter i{animation:meter-flicker 1.8s steps(2,end) infinite}.feed-list li{animation:feed-idle 2.5s steps(1,end) infinite}.feed-list li:nth-child(2){animation-delay:-.8s}.feed-list li:nth-child(3){animation-delay:-1.5s}.feed-list li:nth-child(4){animation-delay:-2.1s}@keyframes panel-flicker{0%,92%,100%{box-shadow:none}93%{box-shadow:inset 0 0 18px #22d3e812}95%{box-shadow:inset 0 0 4px #ff53612b}}@keyframes map-scan{0%{opacity:.65;transform:translateY(-2%)}50%{opacity:1;transform:translateY(2%)}100%{opacity:.65;transform:translateY(-2%)}}@keyframes marker-blink{0%,100%{opacity:.75;box-shadow:0 0 5px currentColor}50%{opacity:1;box-shadow:0 0 14px currentColor,0 0 0 5px #22d5e822}}@keyframes meter-flicker{0%,100%{opacity:1}48%{opacity:.72}50%{opacity:1}}@keyframes feed-idle{0%,89%,100%{filter:brightness(1)}90%{filter:brightness(1.3)}}
.side-column{position:relative;overflow:hidden}.side-column:after{content:"";position:absolute;z-index:5;inset:0 auto 0 0;width:1px;background:linear-gradient(transparent,#27e0f1,transparent);box-shadow:0 0 9px var(--cyan);animation:side-sweep 3.6s linear infinite;pointer-events:none}.layer-list{position:relative;overflow:hidden}.layer-list:after{content:"";position:absolute;z-index:3;left:0;right:0;height:1px;background:var(--cyan);box-shadow:0 0 8px var(--cyan);animation:list-scan 4s linear infinite;pointer-events:none}.layer-control{position:relative;overflow:hidden;background:linear-gradient(90deg,transparent 0,transparent 58%,#20d5e809 72%,transparent 88%);background-size:180% 100%;animation:layer-stream 4.8s linear infinite}.layer-control:nth-child(2n){animation-delay:-1.3s}.layer-control:nth-child(3n){animation-delay:-2.6s}.layer-control.layer-hit{animation:layer-hit .9s ease-out}.layer-control.layer-hit b{color:var(--cyan);text-shadow:0 0 7px var(--cyan)}.map-scanline{position:absolute;z-index:3;left:0;right:0;height:2px;top:12%;background:linear-gradient(90deg,transparent,#2be9f3aa 22%,#d5ffff 50%,#2be9f3aa 78%,transparent);box-shadow:0 0 12px #22d5e888;pointer-events:none;animation:map-sweep 4.2s linear infinite}.signal-ring{position:absolute;z-index:3;width:12px;height:12px;border:1px solid var(--cyan);border-radius:50%;box-shadow:0 0 8px var(--cyan);pointer-events:none;animation:radar-ping 2.6s ease-out infinite}.ring-one{left:27%;top:42%;color:var(--cyan)}.ring-two{left:63%;top:35%;border-color:var(--amber);box-shadow:0 0 8px var(--amber);animation-delay:-.9s}.ring-three{left:76%;top:61%;border-color:var(--green);box-shadow:0 0 8px var(--green);animation-delay:-1.7s}@keyframes side-sweep{from{transform:translateY(-110%)}to{transform:translateY(110vh)}}@keyframes list-scan{from{transform:translateY(0)}to{transform:translateY(330px)}}@keyframes layer-stream{to{background-position:-180% 0}}@keyframes layer-hit{0%{background-color:#22d5e844;box-shadow:inset 0 0 18px #22d5e844}100%{background-color:transparent;box-shadow:none}}@keyframes map-sweep{0%{transform:translateY(-70px);opacity:0}10%,85%{opacity:.9}100%{transform:translateY(430px);opacity:0}}@keyframes radar-ping{0%{transform:scale(.5);opacity:1}100%{transform:scale(7);opacity:0}}
:focus-visible{outline:2px solid var(--cyan);outline-offset:2px}@keyframes pulse{50%{opacity:.55;box-shadow:0 0 3px currentColor}}@keyframes route-flow{to{stroke-dashoffset:-28}}.sr-only{position:absolute;width:1px;height:1px;clip:rect(0,0,0,0);overflow:hidden;white-space:nowrap}@media(max-width:1100px){.dashboard{grid-template-columns:210px 1fr}.right-column{display:grid;grid-template-columns:1fr 1fr;gap:14px;grid-column:1/-1}.country-panel{margin-top:0}.video-panel{margin-bottom:0}.feed-panel{grid-column:1/-1}}@media(max-width:768px){.topbar{padding:0 12px;gap:10px;flex-wrap:wrap}.top-nav{order:3;width:100%;overflow:auto;height:37px}.top-nav a{padding:11px 10px 8px;white-space:nowrap}.system-status{font-size:9px}.dashboard{grid-template-columns:1fr;padding:9px;gap:9px}.side-column,.map-panel,.right-column,.video-panel,.feed-panel{grid-column:auto}.right-column{display:block}.video-panel{margin-bottom:9px}.country-panel{margin-top:9px}.network-panel{margin-top:9px}.map-panel{min-height:0}.world-map{height:350px}.map-shape{transform:scaleY(1.82)}.map-legend{gap:7px}.map-footer{font-size:7px}.map-marker span{font-size:7px}.feed-list li{grid-template-columns:54px 39px 1fr}footer{text-align:center;font-size:7px}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important}}

@media (min-width:1101px){
  body{height:100vh;overflow:hidden}
  .dashboard{width:100%;max-width:none;height:calc(100vh - 76px);padding:10px 14px;grid-template-columns:minmax(0,17fr) minmax(0,31fr) minmax(0,52fr);grid-template-rows:minmax(0,2.15fr) minmax(0,.85fr);gap:10px;align-items:stretch}
  .side-column{grid-column:1;grid-row:1/-1;display:grid;grid-template-rows:minmax(0,1.65fr) minmax(0,.85fr);gap:10px;min-height:0}
  .layer-panel,.network-panel{min-height:0;overflow:hidden}.network-panel{margin-top:0}
  .map-panel{grid-column:2;grid-row:1;min-height:0;display:flex;flex-direction:column}.world-map{height:auto;min-height:0;flex:1 1 0}
  .right-column{grid-column:3;grid-row:1/-1;min-height:0;height:100%;display:grid;grid-template-rows:minmax(0,1.95fr) minmax(0,.75fr);gap:10px}
  .video-panel{margin:0;min-height:0;display:flex;flex-direction:column}.video-frame{width:calc(100% - 24px);min-height:0;flex:0 0 auto;align-self:center;aspect-ratio:16/9}
  .analysis-panel{min-height:0;overflow:hidden}.country-panel{display:none}
  .analysis-copy{display:none}.risk-item{margin:7px 0}.prediction{margin:7px 12px;padding:6px}.prediction small{display:none}
  .feed-panel{grid-column:2;grid-row:2;min-height:0;overflow:hidden}.feed-panel .panel-heading{min-height:41px;padding:7px 12px}.feed-list li{padding:5px 12px;line-height:1.3}
  footer{height:22px;padding:4px 14px 0;white-space:nowrap}
}

/* Local device video controls */
.local-video-controls{display:flex;align-items:center;gap:7px;padding:4px 12px 2px;color:var(--muted);font-size:8px}
.youtube-form{padding:8px 12px 4px}.youtube-form label{display:block;color:var(--muted);font-size:9px;margin-bottom:4px}.youtube-form>div{display:flex;gap:6px}.youtube-form input{min-width:0;flex:1;border:1px solid #30404b;background:#060b0f;color:var(--text);font:inherit;padding:7px}.youtube-form input:focus{outline:1px solid var(--cyan);border-color:var(--cyan)}#youtube-play-button{border:1px solid #2a8f9b;background:#103e47;color:#a9f5fd;padding:0 9px;font-size:9px;cursor:pointer}#youtube-play-button:hover{background:#155866}
.local-video-label{color:#71818c;white-space:nowrap}
.local-video-picker{display:inline-flex;align-items:center;height:25px;padding:0 7px;border:1px solid #2a8f9b;background:#103e47;color:#a9f5fd;font-size:9px;cursor:pointer;white-space:nowrap}
.local-video-picker:hover{background:#155866}
.local-video-picker input{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden}
.right-column{min-width:0}
.local-video-controls{flex-wrap:wrap}
.local-video-hint{min-width:0;font-size:7px;line-height:1.3}
.video-frame.is-dragging{border-color:var(--cyan);box-shadow:inset 0 0 20px #24d5e833}
.local-video-player{position:absolute;inset:0;z-index:3;display:none;width:100%;height:100%;border:0;background:#05080a}
.local-video-player.is-active{display:block}
iframe{width:100%;height:100%;border:0;position:relative;z-index:2}

@media(max-width:768px){
  .youtube-form>div{flex-direction:column}
  #youtube-play-button{height:32px}
  .local-video-controls{align-items:flex-start;flex-wrap:wrap;padding-top:7px}
  .local-video-hint{flex-basis:100%}
}

@media (min-width:600px) and (max-width:768px) and (orientation:landscape){
  .topbar{min-height:54px;flex-wrap:nowrap}
  .top-nav{order:initial;width:auto;height:auto;overflow:visible}
  .top-nav a{padding:19px 13px 15px}
  .dashboard{grid-template-columns:210px minmax(0,1fr);padding:9px;gap:9px}
  .side-column,.map-panel{grid-column:auto}
  .right-column{display:grid;grid-template-columns:1fr 1fr;gap:9px;grid-column:1/-1}
  .video-panel{margin-bottom:0}
  .country-panel{margin-top:0}
  .feed-panel{grid-column:1/-1}
  .world-map{height:280px}
  .youtube-form>div{flex-direction:row}
  #youtube-play-button{height:auto}
  .local-video-controls{align-items:center;padding-top:4px}
  .local-video-hint{flex-basis:auto}
}

html.is-compact-landscape,
html.is-compact-landscape body{width:100%;height:100%;overflow:hidden}

html.is-compact-landscape .app-shell{width:1280px;height:675px;margin-left:var(--landscape-offset);transform:scale(var(--landscape-scale));transform-origin:top left}

html.is-compact-landscape .topbar{min-height:54px;flex-wrap:nowrap;padding:0 18px;gap:24px}
html.is-compact-landscape .top-nav{order:initial;width:auto;height:auto;overflow:visible}
html.is-compact-landscape .top-nav a{padding:19px 13px 15px}
html.is-compact-landscape .dashboard{width:1280px;max-width:none;height:599px;padding:10px 14px;grid-template-columns:minmax(0,17fr) minmax(0,31fr) minmax(0,52fr);grid-template-rows:minmax(0,2.15fr) minmax(0,.85fr);gap:10px;align-items:stretch}
html.is-compact-landscape .side-column{grid-column:1;grid-row:1/-1;display:grid;grid-template-rows:minmax(0,1.65fr) minmax(0,.85fr);gap:10px;min-height:0}
html.is-compact-landscape .layer-panel,
html.is-compact-landscape .network-panel{min-height:0;overflow:hidden}
html.is-compact-landscape .network-panel{margin-top:0}
html.is-compact-landscape .map-panel{grid-column:2;grid-row:1;min-height:0;display:flex;flex-direction:column}
html.is-compact-landscape .world-map{height:auto;min-height:0;flex:1 1 0}
html.is-compact-landscape .right-column{grid-column:3;grid-row:1/-1;min-width:0;min-height:0;height:100%;display:grid;grid-template-columns:1fr;grid-template-rows:minmax(0,1.95fr) minmax(0,.75fr);gap:10px}
html.is-compact-landscape .video-panel{margin:0;min-height:0;display:flex;flex-direction:column}
html.is-compact-landscape .video-frame{width:calc(100% - 24px);min-height:0;flex:0 0 auto;align-self:center;aspect-ratio:16/9}
html.is-compact-landscape .analysis-panel{min-height:0;overflow:hidden}
html.is-compact-landscape .country-panel{display:none}
html.is-compact-landscape .analysis-copy{display:none}
html.is-compact-landscape .risk-item{margin:7px 0}
html.is-compact-landscape .prediction{margin:7px 12px;padding:6px}
html.is-compact-landscape .prediction small{display:none}
html.is-compact-landscape .feed-panel{grid-column:2;grid-row:2;min-height:0;overflow:hidden}
html.is-compact-landscape .feed-panel .panel-heading{min-height:41px;padding:7px 12px}
html.is-compact-landscape .feed-list li{padding:5px 12px;line-height:1.3}
html.is-compact-landscape footer{height:22px;padding:4px 14px 0;white-space:nowrap}

/* The map takes the space previously used by the removed layer controls. */
@media (min-width:1101px){
  .dashboard{grid-template-columns:minmax(0,58fr) minmax(0,42fr)}
  .map-panel{grid-column:1;grid-row:1}
  .right-column{grid-column:2;grid-row:1/-1}
  .feed-panel{grid-column:1;grid-row:2}
}

@media (min-width:769px) and (max-width:1100px){
  .dashboard{grid-template-columns:1fr}
}

html.is-compact-landscape .dashboard{grid-template-columns:minmax(0,58fr) minmax(0,42fr)}
html.is-compact-landscape .map-panel{grid-column:1;grid-row:1}
html.is-compact-landscape .right-column{grid-column:2;grid-row:1/-1}
html.is-compact-landscape .feed-panel{grid-column:1;grid-row:2}

/* Stronger map routes and a compact simulation-market chart. */
.data-route{stroke-width:2.35;stroke-dasharray:5 10;opacity:.95;filter:drop-shadow(0 0 3px currentColor)}
.map-routes marker path{fill:currentColor;filter:drop-shadow(0 0 2px currentColor)}
.market-chart{margin:10px 12px 12px;border:1px solid #235460;background:#07161c;overflow:hidden;color:#87a8ae}.market-chart-header{height:25px;display:flex;align-items:center;justify-content:space-between;padding:0 8px;border-bottom:1px solid #1d4a53;font-size:8px}.market-chart-header strong{font-size:12px;font-weight:400;color:var(--cyan)}.market-chart-header i{font-style:normal;font-size:8px;color:var(--green);margin-left:5px}.market-chart svg{display:block;width:100%;height:76px}.chart-grid{fill:none;stroke:#2bc4d020;stroke-width:1}.chart-area{fill:#22d5e818}.chart-line{fill:none;stroke:var(--cyan);stroke-width:2.1;filter:drop-shadow(0 0 3px var(--cyan))}.chart-last-point{fill:var(--green);stroke:#d8fff0;stroke-width:1;filter:drop-shadow(0 0 4px var(--green))}.market-chart-axis{display:flex;justify-content:space-between;padding:0 7px 5px;color:#59737a;font-size:7px}
@media (min-width:1101px){.analysis-panel .market-chart{margin-top:7px}.analysis-panel .analysis-copy{display:none}}

.map-signal-flash{position:absolute;z-index:3;width:7px;height:7px;border-radius:50%;pointer-events:none;animation:signal-flash 1.2s ease-out both}.map-signal-flash::after{content:"";position:absolute;inset:-8px;border:1px solid currentColor;border-radius:50%;animation:signal-ring-flash 1.2s ease-out both}.map-signal-flash.is-alert{color:var(--red);background:var(--red);box-shadow:0 0 13px var(--red)}.map-signal-flash.is-cyan{color:var(--cyan);background:var(--cyan);box-shadow:0 0 13px var(--cyan)}.market-chart.chart-update{animation:chart-signal 1.1s ease-out}.market-chart.chart-alert{animation:chart-alert 1.1s ease-out}.market-chart.chart-alert .chart-line{stroke:var(--red);filter:drop-shadow(0 0 4px var(--red))}.market-chart.chart-alert .chart-area{fill:#ff536124}.market-chart.chart-alert .chart-last-point{fill:var(--red);filter:drop-shadow(0 0 5px var(--red))}@keyframes signal-flash{0%{opacity:0;transform:scale(.4)}18%{opacity:1;transform:scale(1.2)}100%{opacity:0;transform:scale(.7)}}@keyframes signal-ring-flash{0%{opacity:0;transform:scale(.2)}25%{opacity:.95}100%{opacity:0;transform:scale(3.6)}}@keyframes chart-signal{0%,100%{filter:brightness(1)}20%{filter:brightness(1.5)}35%{filter:brightness(.9)}50%{filter:brightness(1.2)}}@keyframes chart-alert{0%,100%{box-shadow:none}18%{box-shadow:inset 0 0 24px #ff53614d;border-color:var(--red)}45%{box-shadow:inset 0 0 8px #ff53612e;border-color:#235460}}
@media (prefers-reduced-motion:reduce){.map-signal-flash{display:none}.market-chart.chart-update,.market-chart.chart-alert{animation:none}}

/* Split analyst feed and fictional intercept scope. */
.feed-panel{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.feed-column{min-width:0}.signal-scope{min-width:0;border-left:1px solid var(--line);background:linear-gradient(135deg,#091419,#071015);overflow:hidden}.scope-heading{height:41px;padding:7px 12px;border-bottom:1px solid var(--line-soft);display:flex;justify-content:space-between;align-items:center;color:var(--cyan);font-size:9px}.scope-heading b{font-size:8px;font-weight:400;color:#78a0a6}.scope-display{padding:9px 12px 6px}.scope-display svg{display:block;width:100%;height:88px;background:radial-gradient(ellipse at 50% 50%,#12394388,transparent 68%)}.scope-grid{fill:none;stroke:#2cd3e51e;stroke-width:1}.scope-wave{fill:none;stroke:var(--cyan);stroke-width:2;filter:drop-shadow(0 0 3px var(--cyan));animation:scope-wave-flicker 2.8s steps(1,end) infinite}.scope-scan{stroke:var(--red);stroke-width:2;filter:drop-shadow(0 0 4px var(--red));animation:scope-scan 3.4s linear infinite}.scope-target{fill:var(--red);stroke:#ffd1d5;stroke-width:1;filter:drop-shadow(0 0 5px var(--red));animation:scope-target-pulse 1.4s ease-in-out infinite}.scope-readout{display:flex;justify-content:space-between;color:#66838a;font-size:7px}.scope-alert{color:var(--red)}@keyframes scope-scan{from{transform:translateX(0)}to{transform:translateX(500px)}}@keyframes scope-wave-flicker{0%,88%,100%{opacity:1}89%{opacity:.45}90%{opacity:1}}@keyframes scope-target-pulse{50%{opacity:.45;transform:scale(1.45)}}
@media (max-width:768px){.feed-panel{grid-template-columns:1fr}.signal-scope{border-left:0;border-top:1px solid var(--line)}}
