/* WITNESS-TOWER-V1
   GlassWitness as the GlassCastle Witness Tower / Chamber of Proof.
*/
body[data-witness-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;
  --gc-red:#FF7F9F;
  --gc-gold:#FFBA55;
}
body[data-witness-tower="v1"] .witness-top{
  top:auto;
  border-bottom:1px solid var(--gc-line);
  background:linear-gradient(180deg,#11151A,#0B0E12);
}
body[data-witness-tower="v1"] .brand b{color:var(--gc-violet)}
body[data-witness-tower="v1"] .tag{color:var(--gc-ghost)}

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

.witness-tower-state{
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  border-bottom:1px solid var(--gc-line);
  background:#080B0E;
}
.witness-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);
}
.witness-tower-state>div:last-child{border-right:0}
.witness-tower-state small{
  color:var(--gc-ghost);
  font-size:6px;
  letter-spacing:.1em;
}
.witness-tower-state strong{
  color:var(--gc-frost);
  font-size:7px;
}
#witnessProofState[data-state="confirmed_candidate"]{color:var(--gc-green)}
#witnessProofState[data-state="control_held"]{color:#cbbdff}
#witnessProofState[data-state="stop"]{color:var(--gc-red)}
#witnessClaimState[data-state="ready"]{color:var(--gc-green)}
#witnessVerification[data-state="valid"]{color:var(--gc-green)}
#witnessVerification[data-state="invalid"]{color:var(--gc-gold)}

.witness-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;
}
.witness-boundary b{color:var(--gc-frost)}

body[data-witness-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-witness-tower="v1"] .missionbar .kicker{color:#cbbdff}
body[data-witness-tower="v1"] .casebar,
body[data-witness-tower="v1"] .panel{
  border-color:var(--gc-line);
  background:rgba(11,14,18,.82);
}
body[data-witness-tower="v1"] .plan-panel{border-top-color:var(--gc-green)}
body[data-witness-tower="v1"] .obs-panel{border-top-color:var(--gc-violet)}
body[data-witness-tower="v1"] .oracle-panel{
  border-color:rgba(139,92,246,.5);
  background:linear-gradient(180deg,rgba(17,15,26,.94),rgba(8,16,23,.96));
}
body[data-witness-tower="v1"] .oracle-panel .panel-head>span{
  border-color:rgba(139,92,246,.55);
  color:#cbbdff;
}
body[data-witness-tower="v1"] .oracle-grid{
  border-color:var(--gc-line);
  background:#090C0F;
}
body[data-witness-tower="v1"] .oracle-grid>div{border-right-color:var(--gc-line)}
body[data-witness-tower="v1"] .obs{border-bottom-color:var(--gc-line)}

.witness-receipt-state{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:8px;
  align-items:center;
  margin-top:10px;
  padding:9px 10px;
  border:1px solid var(--gc-line);
  border-radius:3px;
  background:#090C0F;
}
.witness-receipt-state>div{
  min-width:0;
}
.witness-receipt-state small{
  display:block;
  color:var(--gc-ghost);
  font-size:6px;
  letter-spacing:.1em;
}
.witness-receipt-state code{
  display:block;
  margin-top:4px;
  color:#cbbdff;
  font:600 8px/1.35 "Roboto Mono",ui-monospace,monospace;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.witness-receipt-state button{font-size:9px}
.witness-verification-note{
  margin-top:7px;
  color:var(--gc-ghost);
  font-size:7px;
  line-height:1.45;
}
.witness-verification-note b{color:var(--gc-frost)}

.witness-handoffs{
  display:flex;
  gap:6px;
  flex-wrap:wrap;
  margin-top:10px;
}
.witness-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;
}
.witness-handoffs a:hover,.witness-handoffs a:focus-visible{
  border-color:var(--gc-green);
  color:var(--gc-green);
  outline:none;
}

body[data-witness-tower="v1"] .statusbar{
  border-top-color:var(--gc-line);
  background:#090C0F;
}
body[data-witness-tower="v1"] .statusbar b{color:#cbbdff}

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