/* ASSAY-TOWER-V1
   ShatterAssay as the GlassCastle Assay Tower / Testing Forge.
*/
body[data-assay-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-assay-tower="v1"] .assay-top{
  border-bottom:1px solid var(--gc-line);
  background:linear-gradient(180deg,#11151A,#0B0E12);
}
body[data-assay-tower="v1"] .assay-title{
  letter-spacing:.08em;
}
body[data-assay-tower="v1"] .assay-title b{color:var(--gc-violet)}
body[data-assay-tower="v1"] .assay-tag{color:var(--gc-ghost)}

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

.assay-tower-state{
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  border-bottom:1px solid var(--gc-line);
  background:#080B0E;
}
.assay-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);
}
.assay-tower-state>div:last-child{border-right:0}
.assay-tower-state small{
  color:var(--gc-ghost);
  font-size:6px;
  letter-spacing:.1em;
}
.assay-tower-state strong{
  color:var(--gc-frost);
  font-size:7px;
}
.assay-tower-state .active strong{color:var(--gc-green)}
.assay-tower-state .analysis strong{color:#cbbdff}

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

body[data-assay-tower="v1"] .assay-scanner{
  background:
    radial-gradient(circle at 16% 0,rgba(53,255,149,.06),transparent 30rem),
    radial-gradient(circle at 84% 0,rgba(139,92,246,.07),transparent 32rem),
    var(--gc-void);
}
body[data-assay-tower="v1"] .assay-scan-context b{color:var(--gc-green)}
body[data-assay-tower="v1"] .assay-scan-context span{color:var(--gc-steel)}
body[data-assay-tower="v1"] .sc-scan-note{
  border-color:var(--gc-line);
  background:rgba(11,14,18,.78);
}

.assay-result-boundary{
  margin:8px 0 12px;
  padding:9px 11px;
  border:1px solid var(--gc-line);
  border-left:2px solid var(--gc-violet);
  border-radius:3px;
  background:rgba(11,14,18,.8);
  color:var(--gc-steel);
  font-size:8px;
  line-height:1.5;
}
.assay-result-boundary b{color:var(--gc-frost)}
.assay-result-boundary code{color:#cbbdff}

body[data-assay-tower="v1"] .score:after{
  content:" CONTROL SCORE";
  display:block;
  margin-top:2px;
  color:var(--gc-ghost);
  font-size:7px;
  letter-spacing:.1em;
}
body[data-assay-tower="v1"] .sc-research-note{
  border-top:1px solid var(--gc-line);
  padding-top:8px;
  color:#cbbdff;
}
body[data-assay-tower="v1"] .result-command-hint{
  border-color:var(--gc-line);
  background:#090C0F;
}
body[data-assay-tower="v1"] .finding{
  border-color:var(--gc-line);
  background:rgba(11,14,18,.82);
}
body[data-assay-tower="v1"] .finding.review{
  border-left-color:var(--gc-violet);
}
body[data-assay-tower="v1"] .finding.fail{
  border-left-color:var(--gc-green);
}
body[data-assay-tower="v1"] .statusbar{
  border-top-color:var(--gc-line);
  background:#090C0F;
}
body[data-assay-tower="v1"] .statusbar b{color:#cbbdff}

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

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