/* games/tower.css  -  Tower climb: vertical ladder hero + difficulty-tier table. */
.tower-climb {
  padding: var(--s-7) 0;
  background: linear-gradient(180deg, transparent, rgba(255,184,0,0.05) 90%);
  border-bottom: 1px solid var(--rule);
}
.tower-climb__split { display: grid; grid-template-columns: 1fr; gap: var(--s-6); align-items: center; }
@media (min-width: 880px) { .tower-climb__split { grid-template-columns: 1fr 200px; } }
.tower-id { font-family: var(--font-mono); font-size: 14px; letter-spacing: 0.22em; color: var(--brand); text-transform: uppercase; }
.tower-h1 { font-family: var(--font-serif); font-size: clamp(2rem, 4.5vw, 3.2rem); margin: var(--s-3) 0; line-height: 1.05;  }
.tower-lede { color: var(--ink-dim); font-size: 1.05rem;  }
.tower-ladder { display: flex; flex-direction: column-reverse; gap: 4px; }
.tower-rung {
  padding: 10px var(--s-3); background: var(--surface); border: 1px solid var(--rule);
  font-family: var(--font-mono); font-size: 14px; display: flex; justify-content: space-between;
}
.tower-rung--top { background: var(--brand); color: var(--paper); border-color: var(--brand); font-weight: 700; }
.tower-rung--current { border-left: 4px solid var(--brand); padding-left: calc(var(--s-3) - 3px); }

.tower-tiers { padding: var(--s-7) 0; border-bottom: 1px solid var(--rule); }
.tower-tiers h2 { font-family: var(--font-serif); font-size: var(--t-h2); margin: 0 0 var(--s-5); }
.tower-tier-table {
  width: 100%; border-collapse: collapse; background: var(--surface);
  font-family: var(--font-mono); font-size: 14px;
}
.tower-tier-table th { padding: 12px 16px; text-align: left; background: var(--paper); border-bottom: 2px solid var(--brand); font-size: 14px; letter-spacing: 0.22em; text-transform: uppercase; color: var(--brand); }
.tower-tier-table td { padding: 14px 16px; border-bottom: 1px solid var(--rule); }

.tower-body { padding: var(--s-7) 0; }
.tower-body__inner {  }
.tower-related { padding: var(--s-7) 0; border-top: 1px solid var(--rule); background: var(--surface); }
.tower-related h2 { font-family: var(--font-serif); font-style: italic; font-weight: 600; margin: 0 0 var(--s-5); }
.tower-related__rungs { display: grid; grid-template-columns: 1fr; gap: 6px;  }
.tower-related-rung {
  padding: var(--s-3) var(--s-4); background: var(--paper); border: 1px solid var(--rule);
  border-left: 3px solid var(--brand); display: flex; justify-content: space-between;
  align-items: center; text-decoration: none; color: inherit;
  font-family: var(--font-mono);
}
.tower-related-rung:hover { background: var(--brand-soft); }
.tower-related-rung strong { font-family: var(--font-serif); color: var(--ink); font-size: 1rem; }
.tower-related-rung span { color: var(--brand); font-size: 14px; letter-spacing: 0.15em; }

.tower-toc { padding: var(--s-5) 0; background: var(--surface-2); border-bottom: 1px solid var(--rule); }
.tower-toc__title { font-family: var(--font-mono); font-size: 14px; letter-spacing: 0.22em; color: var(--brand); margin: 0 0 var(--s-3); text-transform: uppercase; }
.tower-toc__rungs { list-style: none; padding: 0; margin: 0; display: grid; gap: 3px; }
.tower-toc__rungs li { padding: var(--s-2) var(--s-3); background: var(--surface); border: 1px solid var(--rule); border-left: 4px solid var(--brand); font-family: var(--font-mono); font-size: 14px; }
.tower-toc__rungs a { color: var(--ink); display: grid; grid-template-columns: 60px 1fr auto; gap: var(--s-3); align-items: center; }
.tower-toc__rungs span { color: var(--brand); font-weight: 700; }
.tower-toc__rungs em { color: var(--brand); font-style: normal; }
.tower-toc__rungs a:hover { color: var(--brand); }

