/* IMPACT-TOWER-V1
   BlastRadial as the GlassCastle War Room / Cartography Tower.
*/
body[data-impact-tower="v1"]{
  --gc-void:#080A0D;
  --gc-panel:#11151A;
  --gc-panel2:#0B0E12;
  --gc-line:#232930;
  --gc-line2:#39424C;
  --gc-frost:#DCE3E9;
  --gc-steel:#89939E;
  --gc-ghost:#56616D;
  --gc-green:#35FF95;
  --gc-violet:#8B5CF6;
  --gc-magenta:#E147FF;
}
body[data-impact-tower="v1"] .impact-top{
  top:auto;
  border-bottom:1px solid var(--gc-line);
  background:linear-gradient(180deg,#11151A,#0B0E12);
}
body[data-impact-tower="v1"] .impact-title b{color:var(--gc-violet)}
body[data-impact-tower="v1"] .impact-tag{color:var(--gc-ghost)}

.impact-doctrine{
  display:grid;
  grid-template-columns:repeat(7,minmax(116px,1fr));
  gap:4px;
  padding:6px 8px;
  border-bottom:1px solid var(--gc-line);
  background:#090C0F;
  overflow-x:auto;
}
.impact-doctrine>div{
  min-width:116px;
  padding:7px 8px;
  border:1px solid rgba(35,41,48,.9);
  border-radius:3px;
  background:rgba(17,21,26,.58);
}
.impact-doctrine small{
  display:block;
  color:var(--gc-ghost);
  font-size:6px;
  letter-spacing:.1em;
}
.impact-doctrine b{
  display:block;
  margin-top:3px;
  color:var(--gc-frost);
  font-size:7px;
  letter-spacing:.06em;
}
.impact-doctrine span{
  display:block;
  margin-top:2px;
  color:var(--gc-ghost);
  font-size:6px;
  line-height:1.35;
}
.impact-doctrine .model,
.impact-doctrine .prioritize{
  border-color:rgba(139,92,246,.48);
  background:rgba(139,92,246,.045);
}
.impact-doctrine .model b,
.impact-doctrine .prioritize b{color:#cbbdff}

.impact-tower-state{
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  border-bottom:1px solid var(--gc-line);
  background:#080B0E;
}
.impact-tower-state>div{
  min-height:42px;
  padding:7px 9px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:2px;
  border-right:1px solid var(--gc-line);
}
.impact-tower-state>div:last-child{border-right:0}
.impact-tower-state small{
  color:var(--gc-ghost);
  font-size:6px;
  letter-spacing:.1em;
}
.impact-tower-state strong{
  color:var(--gc-frost);
  font-size:7px;
}
.impact-tower-state .active strong{color:var(--gc-green)}
.impact-tower-state .analysis strong{color:#cbbdff}

.impact-boundary{
  margin:0 8px 6px;
  padding:7px 9px;
  border:1px solid rgba(139,92,246,.34);
  border-radius:3px;
  background:rgba(139,92,246,.035);
  color:#cbbdff;
  font-size:7px;
  line-height:1.45;
}
.impact-boundary b{color:var(--gc-frost)}

body[data-impact-tower="v1"] .missionbar{
  border-color:var(--gc-line2);
  background:
    radial-gradient(circle at 14% 0,rgba(53,255,149,.06),transparent 26rem),
    radial-gradient(circle at 88% 0,rgba(139,92,246,.08),transparent 28rem),
    linear-gradient(180deg,rgba(17,21,26,.88),rgba(11,14,18,.9));
}
body[data-impact-tower="v1"] .eyebrow{color:#cbbdff!important}
body[data-impact-tower="v1"] .focusbar,
body[data-impact-tower="v1"] .impact-panel,
body[data-impact-tower="v1"] .metrics{
  border-color:var(--gc-line)!important;
}
body[data-impact-tower="v1"] .focusbar,
body[data-impact-tower="v1"] .impact-panel{
  background:rgba(11,14,18,.84)!important;
}
body[data-impact-tower="v1"] .rings{
  border-color:var(--gc-line2)!important;
  background:
    radial-gradient(circle,rgba(53,255,149,.06) 0 13%,transparent 13.5% 23%,rgba(139,92,246,.07) 23.5% 24%,transparent 24.5% 36%,rgba(53,255,149,.045) 36.5% 37%,transparent 37.5% 49%,rgba(225,71,255,.055) 49.5% 50%,transparent 50.5%),
    linear-gradient(rgba(53,255,149,.025) 1px,transparent 1px),
    linear-gradient(90deg,rgba(139,92,246,.025) 1px,transparent 1px),
    #071015!important;
  background-size:auto,34px 34px,34px 34px,auto!important;
}
body[data-impact-tower="v1"] .metric:nth-child(2) small:after{
  content:" MODELED";
  color:var(--gc-violet);
}
body[data-impact-tower="v1"] .metric:nth-child(6) small:after{
  content:" PATH";
  color:var(--gc-violet);
}
body[data-impact-tower="v1"] .paths-panel .panel-head small:after{
  content:" Modeled priority, not observed incident path.";
  color:#cbbdff;
}
body[data-impact-tower="v1"] .statusbar{
  border-top-color:var(--gc-line);
  background:#090C0F;
}
body[data-impact-tower="v1"] .statusbar b{color:#cbbdff}

.impact-model-card{
  display:grid;
  grid-template-columns:1.1fr 1fr 1fr;
  gap:8px;
  margin:10px 0 0;
}
.impact-model-card>div{
  padding:10px 11px;
  border:1px solid var(--gc-line);
  border-radius:3px;
  background:#090C0F;
}
.impact-model-card small{
  display:block;
  color:var(--gc-ghost);
  font-size:6px;
  letter-spacing:.1em;
}
.impact-model-card code,
.impact-model-card strong{
  display:block;
  margin-top:4px;
  color:var(--gc-frost);
  font:600 8px/1.4 "Roboto Mono",ui-monospace,monospace;
}
.impact-model-card>div:first-child code{color:#cbbdff}

.impact-handoffs{
  display:flex;
  gap:6px;
  flex-wrap:wrap;
  margin-top:10px;
}
.impact-handoffs a{
  padding:7px 9px;
  border:1px solid var(--gc-line);
  border-radius:3px;
  background:#090C0F;
  color:var(--gc-frost);
  text-decoration:none;
  font-size:7px;
}
.impact-handoffs a:hover,.impact-handoffs a:focus-visible{
  border-color:var(--gc-green);
  color:var(--gc-green);
  outline:none;
}

@media(max-width:980px){
  .impact-tower-state{grid-template-columns:repeat(3,1fr)}
  .impact-tower-state>div{border-bottom:1px solid var(--gc-line)}
  .impact-tower-state>div:nth-child(3n){border-right:0}
  .impact-model-card{grid-template-columns:1fr}
}
@media(max-width:760px){
  .impact-doctrine{
    grid-template-columns:repeat(7,116px);
    padding:5px 6px;
  }
  .impact-tower-state{grid-template-columns:repeat(2,1fr)}
  .impact-tower-state>div:nth-child(3n){border-right:1px solid var(--gc-line)}
  .impact-tower-state>div:nth-child(2n){border-right:0}
  .impact-boundary{margin:0 6px 5px}
}
