
.fifths-shell{
  padding:16px;border:1px solid var(--tl-line,#596163);border-radius:14px;
  background:linear-gradient(180deg,rgba(255,255,255,.018),rgba(255,255,255,0)),var(--tl-panel-2,#383e40);
  color:var(--tl-cream,#eadfc8);
}
.fifth-core,.fifth-chain-block,.fifth-bridge,.theory-description{
  border:1px solid var(--tl-line,#596163);border-radius:10px;background:var(--tl-panel,#303638);
}
.fifth-core,.fifth-chain-block{padding:14px}
.block-head{display:grid;gap:3px}
.block-head span{color:var(--tl-muted,#aea491);font-size:.68rem}
.block-head strong{color:var(--tl-cream,#eadfc8);font-size:1rem;font-weight:850}

.fifth-compare{
  display:grid;grid-template-columns:1fr auto 1fr .7fr;gap:10px;align-items:stretch;margin-top:11px
}
.fifth-compare article,.delta-card{
  display:grid;gap:5px;align-content:center;padding:12px;border:1px solid rgba(231,217,186,.09);
  border-radius:8px;background:rgba(255,255,255,.012);text-align:center
}
.fifth-compare span,.delta-card span{color:var(--tl-muted,#aea491);font-size:.68rem}
.fifth-compare strong,.delta-card strong{color:var(--tl-cream,#eadfc8);font-size:1.02rem}
.fifth-compare small{color:var(--tl-cream-2,#d5c8af);font-size:.72rem}
.natural-card{border-left:3px solid var(--tl-copper-2,#bf8060)!important}
.tet-card{border-left:3px solid #bcc5c3!important}
.compare-sign{align-self:center;color:var(--tl-copper-2,#bf8060);font-size:1.3rem;font-weight:900}
.delta-card strong{color:var(--tl-copper-2,#bf8060)}

.fifth-chain-block{margin-top:10px}
.chain-flow{
  display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:12px;padding:12px;
  border:1px solid rgba(231,217,186,.09);border-radius:9px;background:rgba(255,255,255,.012)
}
.chain-node{min-width:92px;display:grid;gap:4px;justify-items:center;padding:9px 10px;border-radius:8px;background:rgba(255,255,255,.025)}
.chain-node span{color:var(--tl-muted,#aea491);font-size:.67rem}
.chain-node strong{color:var(--tl-cream,#eadfc8);font-size:.92rem}
.chain-flow>b{color:var(--tl-copper-2,#bf8060);font-size:.72rem;white-space:nowrap}

.chain-rule{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}
.chain-rule>div{display:grid;gap:4px;padding:10px 12px;border:1px solid rgba(231,217,186,.09);border-radius:8px;background:rgba(255,255,255,.012)}
.chain-rule span{color:var(--tl-muted,#aea491);font-size:.68rem}
.chain-rule strong{color:var(--tl-cream,#eadfc8);font-size:.94rem;text-align:center}

.fifth-bridge{
  margin-top:10px;padding:12px 14px;display:grid;grid-template-columns:auto 1fr auto 1fr 1.5fr;gap:12px;align-items:center;text-align:center
}
.fifth-bridge span,.fifth-bridge small{color:var(--tl-muted,#aea491);font-size:.70rem}
.fifth-bridge strong{color:var(--tl-cream,#eadfc8);font-size:1rem}
.fifth-bridge>b{color:var(--tl-copper-2,#bf8060)}

.theory-description{margin-top:10px;overflow:hidden}
.theory-description summary{display:flex;align-items:center;gap:12px;padding:12px 13px;list-style:none;cursor:pointer}
.theory-description summary::-webkit-details-marker{display:none}
.theory-description summary>span{color:var(--tl-cream,#eadfc8);font-size:.88rem;font-weight:850}
.theory-description summary>small{margin-left:auto;color:var(--tl-muted,#aea491);font-size:.70rem}
.theory-description summary::after{content:"+";color:var(--tl-copper-2,#bf8060);font-weight:900}
.theory-description[open] summary::after{content:"−"}
.description-body{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;padding:11px 13px 14px;border-top:1px solid rgba(255,255,255,.05)}
.description-body p{margin:0;color:var(--tl-cream-2,#d5c8af);font-size:.88rem;line-height:1.58}

@media(max-width:900px){
  .fifth-compare{grid-template-columns:1fr 1fr}
  .compare-sign{display:none}
  .chain-flow{overflow-x:auto;justify-content:flex-start}
  .chain-flow>*{flex:0 0 auto}
  .fifth-bridge{grid-template-columns:1fr}
  .chain-rule,.description-body{grid-template-columns:1fr}
}


/* ---------- fifth as generator ---------- */

.fifth-generator{
  margin-top:10px;
  padding:14px;
  border:1px solid var(--tl-line,#596163);
  border-radius:10px;
  background:var(--tl-panel,#303638);
}

.generator-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:9px;
  margin-top:11px;
}

.generator-grid article{
  display:grid;
  gap:4px;
  padding:10px 12px;
  border:1px solid rgba(231,217,186,.09);
  border-radius:8px;
  background:rgba(255,255,255,.012);
}

.generator-grid article>span{
  color:var(--tl-muted,#aea491);
  font-size:.68rem;
}

.generator-grid article>strong{
  color:var(--tl-cream,#eadfc8);
  font-size:1.05rem;
}

.generator-grid article>small{
  color:var(--tl-cream-2,#d5c8af);
  font-size:.70rem;
  line-height:1.4;
}

.generator-math{
  border-left:3px solid var(--tl-copper-2,#bf8060)!important;
}

.generator-chain{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:5px;
  margin-top:10px;
  padding:10px 12px;
  overflow-x:auto;
  border:1px solid rgba(231,217,186,.09);
  border-radius:8px;
  background:rgba(255,255,255,.012);
}

.generator-chain span{
  flex:0 0 auto;
  min-width:34px;
  padding:5px 7px;
  border-radius:6px;
  background:rgba(255,255,255,.025);
  color:var(--tl-cream,#eadfc8);
  font-size:.76rem;
  font-weight:850;
  text-align:center;
}

.generator-chain b{
  flex:0 0 auto;
  color:var(--tl-copper-2,#bf8060);
  font-size:.74rem;
}

.generator-note{
  margin:10px 0 0;
  color:var(--tl-cream-2,#d5c8af);
  font-size:.88rem;
  line-height:1.55;
}

@media(max-width:760px){
  .generator-grid{
    grid-template-columns:1fr;
  }
}


/* ---------- Pythagorean generation note ---------- */

.pythagorean-note{
  margin-top:10px;
  padding:11px 12px;
  border:1px solid rgba(231,217,186,.09);
  border-left:3px solid var(--tl-copper-2,#bf8060);
  border-radius:8px;
  background:rgba(255,255,255,.012);
}

.pythagorean-note>span{
  display:block;
  color:var(--tl-muted,#aea491);
  font-size:.68rem;
  font-weight:750;
}

.pythagorean-note>strong{
  display:block;
  margin-top:6px;
  color:var(--tl-cream,#eadfc8);
  font-size:.94rem;
  text-align:center;
}

.pythagorean-note>p{
  margin:8px 0 0;
  color:var(--tl-cream-2,#d5c8af);
  font-size:.82rem;
  line-height:1.5;
}
