/* TP-FABRIC-V1 */
.castle-fabric{padding-top:88px}
.fabric-state{margin-bottom:10px}
.fabric-corridor{
  display:grid;
  grid-template-columns:repeat(6,minmax(120px,1fr));
  gap:6px;
  padding:10px;
  border:1px solid var(--tp-line,#232930);
  border-radius:6px;
  background:rgba(8,10,13,.82);
  overflow-x:auto;
}
.fabric-stop{
  position:relative;
  min-width:120px;
  padding:13px 12px;
  border:1px solid var(--tp-line,#232930);
  border-radius:4px;
  background:rgba(17,21,26,.7);
  text-decoration:none;
}
.fabric-stop:not(:last-child):after{
  content:"→";
  position:absolute;
  right:-9px;
  top:50%;
  z-index:2;
  transform:translateY(-50%);
  color:var(--tp-green,#35FF95);
  font-size:10px;
}
.fabric-stop small{
  display:block;
  color:var(--tp-ghost,#56616D);
  font:500 7px/1.3 "Roboto Mono",monospace;
  letter-spacing:.1em;
}
.fabric-stop b{
  display:block;
  margin-top:5px;
  color:var(--tp-frost,#DCE3E9);
  font:620 10px/1.3 "Roboto Mono",monospace;
}
.fabric-stop span{
  display:block;
  margin-top:9px;
  color:var(--tp-green,#35FF95);
  font:500 7px/1.35 "Roboto Mono",monospace;
}
.fabric-stop:hover,.fabric-stop:focus-visible{
  border-color:rgba(53,255,149,.5);
  outline:none;
}
.fabric-branches{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:7px;
  margin-top:8px;
}
.fabric-branch{
  min-height:96px;
  padding:13px;
  border:1px solid var(--tp-line,#232930);
  border-radius:4px;
  background:rgba(11,14,18,.72);
}
.fabric-branch small{color:var(--tp-ghost,#56616D);font-size:7px;letter-spacing:.1em}
.fabric-branch b{display:block;margin-top:4px;color:var(--tp-frost,#DCE3E9);font-size:10px}
.fabric-branch p{margin:8px 0 0;color:var(--tp-steel,#89939E);font-size:9px;line-height:1.5}
.fabric-branch[data-tone="intelligence"]{border-color:rgba(139,92,246,.36)}
.fabric-branch[data-tone="intelligence"] b{color:#cbbdff}
.fabric-doctrine{
  margin-top:8px;
  padding:12px 14px;
  border:1px solid rgba(139,92,246,.34);
  border-radius:4px;
  background:rgba(139,92,246,.035);
  color:#cbbdff;
  font:500 8px/1.5 "Roboto Mono",monospace;
}
.fabric-doctrine b{color:var(--tp-frost,#DCE3E9)}
.fabric-ledger{
  margin-top:10px;
  border:1px solid var(--tp-line,#232930);
  border-radius:5px;
  background:rgba(8,10,13,.7);
  overflow:hidden;
}
.fabric-ledger-head{
  display:grid;
  grid-template-columns:1fr 1fr 1fr;
  padding:8px 10px;
  border-bottom:1px solid var(--tp-line,#232930);
  color:var(--tp-ghost,#56616D);
  font:600 7px/1.2 "Roboto Mono",monospace;
  letter-spacing:.1em;
}
.fabric-edges{max-height:260px;overflow:auto}
.fabric-edge{
  display:grid;
  grid-template-columns:1fr 1fr 1fr;
  gap:8px;
  padding:8px 10px;
  border-bottom:1px solid rgba(35,41,48,.7);
  font:500 8px/1.35 "Roboto Mono",monospace;
}
.fabric-edge:last-child{border-bottom:0}
.fabric-edge span:first-child,.fabric-edge span:nth-child(2){color:var(--tp-frost,#DCE3E9)}
.fabric-edge code{color:var(--tp-green,#35FF95);font:inherit}
.fabric-empty{padding:18px;color:var(--tp-ghost,#56616D);font-size:9px}
@media(max-width:900px){
  .fabric-corridor{grid-template-columns:repeat(6,150px)}
  .fabric-branches{grid-template-columns:1fr}
}
@media(max-width:620px){
  .fabric-ledger-head,.fabric-edge{grid-template-columns:1fr 1fr}
  .fabric-ledger-head span:last-child,.fabric-edge code{grid-column:1/-1}
}
