/**
 * League aesthetic overlay for the /ledger page.
 *
 * Loads AFTER styles.css + profile.css. Layers on top of the existing
 * ledger structure rather than replacing it — same DOM, league look:
 *   - serif header + gold throne treatment on rank-1 board row
 *   - room crest beside the page title
 *   - hall-of-fame cards get the trench-league glow + serif name
 *   - commissioner-style room note line under the live strip
 *
 * All colour tokens mirror /rooms/rooms.css. Keep the two files in sync
 * when palette evolves; the design language is the product, not a per-page
 * exception.
 */

:root{
  --tl-bg:#0b0f0c; --tl-raised:#121913; --tl-panel:#0f1510; --tl-line:#243024;
  --tl-green:#c8d94b; --tl-green-bright:#9ee34a; --tl-emerald:#1f6b3a;
  --tl-ink:#e8ede6; --tl-dim:#8a938a; --tl-dimmer:#5a635a;
  --tl-gold:#e8c547; --tl-silver:#b8c0b8; --tl-bronze:#c98e4a;
  --tl-mono:'JetBrains Mono',monospace;
  --tl-serif:'Playfair Display',serif;
}

/* ── page chrome ──────────────────────────────────────────────────────── */
body{
  background-color:var(--tl-bg);
  background-image:
    radial-gradient(ellipse 900px 500px at 70% -10%, rgba(31,107,58,.14), transparent),
    url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='200' height='200' filter='url(%23n)' opacity='0.03'/%3E%3C/svg%3E");
}

/* ── header: title + room crest ───────────────────────────────────────── */
.ledger-head--upgraded{
  border:none;
  background:transparent;
  padding-top:14px;
}
.ledger-head-row{
  display:flex;align-items:center;gap:18px;flex-wrap:wrap;
}
#ledger-title{
  font-family:var(--tl-serif);
  font-weight:800;
  font-size:clamp(34px,6vw,52px);
  line-height:1.05;
  letter-spacing:-0.01em;
  color:var(--tl-ink);
}
#ledger-title em{font-style:italic;color:var(--tl-green)}
.ledger-room-crest{
  display:inline-block;
  width:52px;height:52px;
  border-radius:10px;
  background:linear-gradient(135deg,#2a4a2a,var(--tl-emerald));
  border:1px solid rgba(200,217,75,.45);
  background-size:cover;background-position:center;
  box-shadow:0 0 22px rgba(200,217,75,.18);
  flex-shrink:0;
}
.ledger-live-line{
  font-family:var(--tl-mono);
  font-size:12px;color:var(--tl-dim);
  display:flex;align-items:center;gap:10px;
}
.ledger-live-line .live-dot{
  background:var(--tl-green-bright);
  box-shadow:0 0 8px rgba(158,227,74,.6);
  animation:tlBreathe 2.4s ease-in-out infinite;
}
@keyframes tlBreathe{0%,100%{opacity:.35;transform:scale(.85)}50%{opacity:1;transform:scale(1)}}

/* commissioner-style note */
.ledger-commish{
  margin:26px 0 14px;padding:14px 18px;
  background:var(--tl-panel);
  border:1px solid var(--tl-line);
  border-left:2px solid var(--tl-green);
  font-family:var(--tl-mono);
  font-size:13px;color:var(--tl-ink);
  line-height:1.55;
}
.ledger-commish .ledger-commish-sig{
  color:var(--tl-dim);font-size:11px;display:block;margin-top:4px;
}

/* ── section titles ───────────────────────────────────────────────────── */
.hall-of-fame-title,
.ledger-section-title{
  font-family:var(--tl-serif);
  font-weight:600;
  font-size:22px;
  letter-spacing:0;
  color:var(--tl-ink);
}
.hall-of-fame-subtitle,
.ledger-section-sub{
  font-family:var(--tl-mono);
  font-size:10px;
  color:var(--tl-dimmer);
  letter-spacing:.14em;
  text-transform:uppercase;
}

/* ── hall of fame: serif/spark/glow treatment ─────────────────────────── */
.hall-of-fame-section{margin-top:34px}
.hall-of-fame{
  background:var(--tl-raised);
  border:1px solid var(--tl-line);
  padding:18px;
}
.hall-of-fame-head{
  display:flex;align-items:baseline;justify-content:space-between;
  margin-bottom:14px;
}
.hall-of-fame-list{
  list-style:none;margin:0;padding:0;
  display:grid;grid-template-columns:repeat(3,1fr);gap:10px;
}
.hall-of-fame-card{
  background:var(--tl-panel);
  border:1px solid var(--tl-line);
  padding:14px;
  display:flex;flex-direction:column;gap:6px;
  position:relative;overflow:hidden;
  transition:transform .18s ease, box-shadow .18s ease;
}
.hall-of-fame-card:hover{
  transform:translateY(-2px);
  box-shadow:0 8px 28px rgba(158,227,74,.07);
}
.hall-of-fame-card[data-position="1"]{
  border-color:rgba(200,217,75,.55);
  background:linear-gradient(180deg, rgba(200,217,75,.06), var(--tl-panel) 60%);
  box-shadow:0 0 40px rgba(200,217,75,.08), inset 0 1px 0 rgba(200,217,75,.18);
}
.hall-of-fame-card[data-position="1"]::after{
  content:"👑";position:absolute;top:10px;right:12px;font-size:14px;opacity:.85;
}
.hall-of-fame-rank{
  font-family:var(--tl-mono);
  font-size:11px;color:var(--tl-dimmer);
  letter-spacing:.14em;
}
.hall-of-fame-card[data-position="1"] .hall-of-fame-rank{color:var(--tl-gold)}
.hall-of-fame-card[data-position="2"] .hall-of-fame-rank{color:var(--tl-silver)}
.hall-of-fame-card[data-position="3"] .hall-of-fame-rank{color:var(--tl-bronze)}
.hall-of-fame-handle{
  font-family:var(--tl-serif);
  font-size:18px;font-weight:600;
  color:var(--tl-ink);text-decoration:none;
}
.hall-of-fame-handle:hover{color:var(--tl-green-bright)}
.hall-of-fame-meta{
  font-family:var(--tl-mono);
  font-size:11px;color:var(--tl-dim);line-height:1.4;
}
/* ITEM 5 (2026-06-06): HoF avatar — sits between rank chip and handle. */
.hof-avatar{
  display:inline-block;width:36px;height:36px;
  border-radius:50%;overflow:hidden;
  border:1px solid var(--tl-line);
  background:linear-gradient(135deg,#2a4a2a,var(--tl-emerald));
  margin:2px 0;
}
.hof-avatar img{width:100%;height:100%;object-fit:cover;display:block}
.hof-avatar--crest{padding:6px;background:var(--tl-panel)}
.hof-avatar--crest img{width:100%;height:100%;object-fit:contain}
.hall-of-fame-card[data-position="1"] .hof-avatar{
  border-color:rgba(232,197,71,.55);
  box-shadow:0 0 12px rgba(232,197,71,.25);
}
.hall-of-fame-card[data-position="2"] .hof-avatar{border-color:var(--tl-silver)}
.hall-of-fame-card[data-position="3"] .hof-avatar{border-color:var(--tl-bronze)}
@media(max-width:560px){
  .hall-of-fame-list{grid-template-columns:1fr;gap:8px}
  .hall-of-fame-card[data-position="1"]{order:-1}
}

/* ── "who's cooking" table: throne styling on #1 row ─────────────────── */
.ledger-board-section{margin-top:34px}
.ledger-week-band{
  font-family:var(--tl-mono);
  font-size:11px;color:var(--tl-dim);
  letter-spacing:.08em;text-transform:uppercase;
  margin:8px 0 12px;
}
.ledger-table-wrap{
  background:var(--tl-raised);
  border:1px solid var(--tl-line);
  padding:12px;
}
.ledger-table thead th{
  font-family:var(--tl-mono);
  font-size:10px;color:var(--tl-dimmer);
  letter-spacing:.14em;text-transform:uppercase;
  padding-bottom:10px;border-bottom:1px solid var(--tl-line);
  text-align:left;
}
.ledger-table th.col-num,
.ledger-table td.col-num,
.ledger-table th.col-peak,
.ledger-table td.col-peak,
.ledger-table th.col-thesis,
.ledger-table td.col-thesis{text-align:right}
.ledger-table tbody td{
  padding:12px 6px;
  font-family:var(--tl-mono);
  font-size:13px;color:var(--tl-ink);
  border-bottom:1px solid rgba(36,48,36,.5);
}
.ledger-table tbody tr:last-child td{border-bottom:none}
.ledger-table tbody tr.is-rank-1 td{
  background:linear-gradient(180deg, rgba(200,217,75,.08), transparent);
  position:relative;
}
.ledger-table tbody tr.is-rank-1 td:first-child{
  border-left:2px solid var(--tl-gold);
  box-shadow:inset 0 0 18px rgba(232,197,71,.08);
}
.ledger-table tbody tr.is-rank-1 .caller-handle{
  font-family:var(--tl-serif);
  font-size:17px;font-weight:600;
  color:var(--tl-ink);
}
.ledger-table tbody tr.is-rank-1 .caller-handle::after{
  content:" 👑";font-size:13px;
}
.ledger-table tbody tr.is-rank-1 .col-pts{
  color:var(--tl-green-bright);
  font-weight:700;
}
.ledger-table tbody tr.is-rank-2 .caller-handle,
.ledger-table tbody tr.is-rank-3 .caller-handle{
  font-family:var(--tl-serif);
  font-weight:600;
}
.rank-circle{
  font-family:var(--tl-mono);
  border:1.5px solid var(--tl-dimmer);
  color:var(--tl-dim);
  font-weight:700;
}
.rank-circle--gold{border-color:var(--tl-gold);color:var(--tl-gold);box-shadow:0 0 14px rgba(232,197,71,.35)}
.rank-circle--silver{border-color:var(--tl-silver);color:var(--tl-silver)}
.rank-circle--bronze{border-color:var(--tl-bronze);color:var(--tl-bronze)}
.peak-ticker{color:var(--tl-green);font-weight:600}
.peak-mult{color:var(--tl-dim)}

.thesis-bar{background:var(--tl-panel);border:1px solid var(--tl-line)}
.thesis-bar-fill{background:linear-gradient(90deg, var(--tl-green-bright), var(--tl-green));}

.ledger-note{
  font-family:var(--tl-mono);
  font-size:11px;color:var(--tl-dimmer);
  margin-top:10px;
}

/* ── legends + disputes + stats: panel-style ─────────────────────────── */
.legends-section,
.disputes-section,
.how-points{
  margin-top:34px;
}
.legends-list,
.disputes-list{
  list-style:none;margin:0;padding:0;
  background:var(--tl-raised);
  border:1px solid var(--tl-line);
}
.legends-list li,
.disputes-list li{
  padding:12px 14px;
  border-bottom:1px solid rgba(36,48,36,.5);
  font-family:var(--tl-mono);font-size:13px;
}
.legends-list li:last-child,
.disputes-list li:last-child{border-bottom:none}
.legends-list .lb-row-1{
  background:linear-gradient(180deg, rgba(200,217,75,.06), transparent);
  border-left:2px solid var(--tl-gold);
}
.legend-token{color:var(--tl-green);font-weight:600}
.legend-mult{color:var(--tl-ink);font-weight:700}
.legend-caller{color:var(--tl-dim)}
.legend-date{color:var(--tl-dimmer);font-size:11px}

.dispute-token{color:var(--tl-green);font-weight:600;font-family:var(--tl-mono)}
.dispute-status{color:#e0a06a;font-size:11px;letter-spacing:.1em;text-transform:uppercase}
.dispute-meta{color:var(--tl-dim);font-size:11px;margin-top:4px}
.dispute-foot{color:var(--tl-dimmer);font-size:11px;margin-top:4px;font-style:italic}

/* ── stats strip ─────────────────────────────────────────────────────── */
.ledger-stat-strip{
  list-style:none;margin:0;padding:0;
  display:flex;gap:18px;flex-wrap:wrap;
  font-family:var(--tl-mono);
}
.ledger-stat-strip li{
  display:flex;flex-direction:column;gap:2px;
  padding:8px 12px;
  background:var(--tl-panel);
  border:1px solid var(--tl-line);
  min-width:100px;
}
.ledger-stat-label{
  font-size:9px;color:var(--tl-dimmer);
  letter-spacing:.14em;text-transform:uppercase;
}
.ledger-stat-value{
  font-size:18px;color:var(--tl-ink);font-weight:700;
}

/* ── points-system grid ──────────────────────────────────────────────── */
.how-points-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:12px;
}
.how-points-block{
  background:var(--tl-raised);
  border:1px solid var(--tl-line);
  padding:14px;
}
.how-points-h{
  font-family:var(--tl-serif);
  font-weight:600;font-size:15px;
  color:var(--tl-ink);margin-bottom:8px;
}
.how-points-table td{
  font-family:var(--tl-mono);font-size:13px;
  padding:3px 8px 3px 0;color:var(--tl-ink);
}
.how-points-table td:first-child{color:var(--tl-dim)}
.how-points-list{
  list-style:none;margin:0;padding:0;
  font-family:var(--tl-mono);font-size:12px;color:var(--tl-ink);
  line-height:1.7;
}
.hp-tag{
  font-family:var(--tl-mono);
  display:inline-block;min-width:42px;
  padding:1px 6px;margin-right:6px;
  background:var(--tl-panel);
  border:1px solid var(--tl-line);
  font-size:11px;font-weight:700;
}
.hp-tag--green{color:var(--tl-green-bright);border-color:rgba(158,227,74,.4)}
.hp-tag--muted{color:var(--tl-dim)}
.hp-tag--amber{color:#e0a06a;border-color:rgba(217,131,79,.4)}
.how-points-foot{
  font-family:var(--tl-mono);
  font-size:11px;color:var(--tl-dimmer);
  margin-top:8px;font-style:italic;
}
.how-points-moss{
  margin-top:24px;
  font-family:var(--tl-mono);font-size:13px;
  color:var(--tl-ink);line-height:1.7;
  padding:16px 18px;
  background:var(--tl-panel);
  border-left:2px solid var(--tl-green);
}
.how-points-moss em{color:var(--tl-green);font-style:italic}

/* ── CTA ─────────────────────────────────────────────────────────────── */
.ledger-cta--prominent{
  margin-top:34px;
  background:var(--tl-raised);
  border:1px solid var(--tl-line);
  padding:28px 22px;
  background-image:linear-gradient(160deg, rgba(31,107,58,.08), transparent 50%);
}
.ledger-cta-title{
  font-family:var(--tl-serif);
  font-weight:600;font-size:24px;
  color:var(--tl-ink);
}
.ledger-cta-eyebrow{
  font-family:var(--tl-mono);
  font-size:10px;color:var(--tl-dimmer);
  letter-spacing:.14em;text-transform:uppercase;
}
.ledger-cta-button{
  display:inline-block;margin-top:14px;
  padding:10px 18px;
  background:var(--tl-green);color:var(--tl-bg);
  font-family:var(--tl-mono);font-weight:700;font-size:13px;
  text-decoration:none;
  border:1px solid var(--tl-green);
  transition:background .15s ease;
}
.ledger-cta-button:hover{background:var(--tl-green-bright);border-color:var(--tl-green-bright)}
.ledger-cta-meta,
.ledger-cta-footnote{
  font-family:var(--tl-mono);font-size:11px;color:var(--tl-dim);
}
