
/* =========================================================
   PAGE 07 — TEMPERAMENT
   ========================================================= */

.temperament-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);
}

.temperament-definition,
.comma-distribution,
.fifth-correction,
.closure-result,
.tet-formula,
.theory-description{
  border:1px solid var(--tl-line,#596163);
  border-radius:10px;
  background:var(--tl-panel,#303638);
}

.temperament-definition{
  display:grid;
  grid-template-columns:1.7fr .9fr;
  gap:18px;
  align-items:center;
  padding:12px 14px;
  border-left:3px solid var(--tl-copper-2,#bf8060);
}

.temperament-definition>div{
  display:grid;
  gap:6px;
}

.temperament-definition span{
  color:var(--tl-muted,#aea491);
  font-size:.70rem;
  font-weight:800;
}

.temperament-definition p{
  margin:0;
  color:var(--tl-cream-2,#d5c8af);
  font-size:.88rem;
  line-height:1.55;
}

.temperament-definition>strong{
  text-align:center;
}

.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;
}

/* ---------- comma distribution ---------- */

.comma-distribution{
  margin-top:10px;
  padding:14px;
}

.comma-flow{
  display:grid;
  grid-template-columns:1fr auto 1fr;
  gap:12px;
  align-items:center;
  margin-top:11px;
}

.math-card{
  display:grid;
  gap:5px;
  padding:11px 12px;
  border:1px solid rgba(231,217,186,.09);
  border-radius:8px;
  background:rgba(255,255,255,.012);
  text-align:center;
}

.math-card span{
  color:var(--tl-muted,#aea491);
  font-size:.68rem;
}

.math-card.accent{
  border-color:rgba(191,128,96,.38);
}

.comma-flow>b{
  color:var(--tl-copper-2,#bf8060);
  font-size:.82rem;
}

.comma-bars{
  display:grid;
  grid-template-columns:repeat(12,1fr);
  gap:4px;
  margin-top:10px;
}

.comma-bars span{
  display:grid;
  gap:4px;
  justify-items:center;
}

.comma-bars i{
  display:block;
  width:100%;
  height:8px;
  border-radius:3px;
  background:var(--tl-copper-2,#bf8060);
  opacity:.78;
}

.comma-bars b{
  color:var(--tl-muted,#aea491);
  font-size:.54rem;
  font-weight:700;
  white-space:nowrap;
}

/* ---------- fifth correction ---------- */

.fifth-correction{
  margin-top:10px;
  padding:14px;
}

.fifth-flow{
  display:grid;
  grid-template-columns:1fr auto 1fr;
  gap:12px;
  align-items:center;
  margin-top:11px;
}

.fifth-flow article{
  display:grid;
  gap:4px;
  padding:11px 12px;
  border:1px solid rgba(231,217,186,.09);
  border-radius:8px;
  background:rgba(255,255,255,.012);
  text-align:center;
}

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

.fifth-flow article>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;
}

.fifth-flow>b{
  color:var(--tl-copper-2,#bf8060);
  font-size:.78rem;
  white-space:nowrap;
}

/* ---------- closure ---------- */

.closure-result{
  margin-top:10px;
  padding:14px;
}

.closure-flow{
  display:grid;
  grid-template-columns:1fr auto 1fr;
  gap:12px;
  align-items:center;
  margin-top:10px;
}

.closure-flow>div{
  display:grid;
  gap:5px;
  padding:10px 12px;
  border:1px solid rgba(231,217,186,.09);
  border-radius:8px;
  background:rgba(255,255,255,.012);
  text-align:center;
}

.closure-flow>div.accent{
  border-color:rgba(191,128,96,.38);
}

.closure-flow span{
  color:var(--tl-muted,#aea491);
  font-size:.68rem;
}

.closure-flow>b{
  color:var(--tl-copper-2,#bf8060);
}

/* ---------- general 12-TET formula ---------- */

.tet-formula{
  margin-top:10px;
  padding:14px;
}

.formula-grid{
  display:grid;
  grid-template-columns:.8fr 1.25fr .9fr;
  gap:9px;
  margin-top:10px;
}

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

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

/* ---------- description ---------- */

.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;
}

mjx-container{
  margin:.25em 0!important;
}

@media(max-width:900px){
  .temperament-definition,
  .comma-flow,
  .fifth-flow,
  .closure-flow{
    grid-template-columns:1fr;
  }

  .formula-grid,
  .description-body{
    grid-template-columns:1fr;
  }

  .comma-flow>b,
  .closure-flow>b{
    transform:rotate(90deg);
    text-align:center;
  }

  .comma-bars{
    grid-template-columns:repeat(6,1fr);
  }
}
