/* WORLD // Global Situation Room — isolated module */
.world-view{overflow:visible}
.situation-room{
  --safe:#a9ced7;--contested:#c7b584;--lost:#8d8a88;--black:#6e7376;
  min-height:calc(100svh - 150px)
}
.situation-head{
  display:grid;grid-template-columns:1fr auto;gap:48px;align-items:end;
  padding:14px 0 28px;border-bottom:1px solid #293034
}
.situation-head h2{
  margin:12px 0 0;font-size:clamp(48px,7vw,92px);line-height:.82;
  letter-spacing:-.07em;font-weight:820
}
.situation-head h2 span{color:#687479}
.situation-summary{display:grid;grid-template-columns:repeat(3,minmax(112px,1fr));border-left:1px solid #293034}
.situation-summary div{padding:4px 18px 5px;border-right:1px solid #293034}
.situation-summary span,.panel-data span{
  display:block;font:600 7px ui-monospace,SFMono-Regular,monospace;
  letter-spacing:.16em;color:#5e6a6f
}
.situation-summary b,.panel-data b{
  display:block;margin-top:7px;font:700 11px ui-monospace,SFMono-Regular,monospace;
  letter-spacing:.08em;color:#cbd6d9
}
.situation-layout{
  display:grid;grid-template-columns:128px minmax(0,1fr) 310px;
  min-height:680px;border-bottom:1px solid #293034
}

/* FILTER RAIL */
.zone-rail{border-right:1px solid #293034;padding:18px 13px 18px 0}
.rail-label{
  margin:0 0 18px 5px;font:600 7px ui-monospace,SFMono-Regular,monospace;
  letter-spacing:.18em;color:#505c61
}
.zone-filter{
  width:100%;border:0;border-bottom:1px solid #22292c;background:transparent;
  display:grid;grid-template-columns:22px 1fr auto;align-items:center;gap:7px;
  padding:13px 5px;color:#59656a;cursor:pointer;text-align:left;position:relative
}
.zone-filter:before{content:"";position:absolute;left:0;top:0;bottom:0;width:1px;background:#d4e9ee;transform:scaleY(0);transition:transform .2s}
.zone-filter span,.zone-filter em{font:600 7px ui-monospace,SFMono-Regular,monospace;font-style:normal;color:#4c575c}
.zone-filter b{font:700 8px ui-monospace,SFMono-Regular,monospace;letter-spacing:.09em}
.zone-filter:hover,.zone-filter.active{color:#eef5f6;padding-left:10px}
.zone-filter.active:before{transform:scaleY(1)}
.zone-filter[data-zone-filter="safe"].active span{color:var(--safe)}
.zone-filter[data-zone-filter="contested"].active span{color:var(--contested)}
.zone-filter[data-zone-filter="lost"].active span{color:var(--lost)}
.zone-filter[data-zone-filter="black"].active span{color:#b2b7ba}

