/* ============================================================================
   The Magic Castle archive — landing and A–Z roster.

   Loaded after fool-us.css, which supplies the roster grid, the search box,
   the nav rail and the about block. This file adds only what the Castle pages
   have and the Fool Us pages do not: the leaderboard, the rooms, "on this
   day", and the 25+ ribbon.
   ========================================================================== */

.castle-hero h1 em { font-style:normal; color:var(--accent-ink); }
.castle-hero-links a { color:var(--accent-ink); }
.castle-hero-claim { max-width:60ch; margin:1rem auto 0; padding:.7rem 1rem; border:1px solid var(--line-soft); border-left:3px solid var(--gold); border-radius:var(--radius); color:var(--ink-soft); font-size:.92rem; line-height:1.5; }
.castle-hero-claim a { color:var(--accent-ink); }
.castle-about h3 { margin:1.4rem 0 .4rem; font-size:1.15rem; }
.castle-about ul { padding-left:1.2rem; color:var(--ink-soft); font-size:.92rem; line-height:1.65; }
.castle-about li { margin-bottom:.45rem; }
.castle-about-claim { display:flex; flex-wrap:wrap; gap:.6rem; margin:.6rem 0 1.2rem; }
.castle-nav-decades { padding-top:.9rem; }
.castle-tools { margin-bottom:1.6rem; }

/* --- On this day ---------------------------------------------------------- */
.castle-otd { margin:0 0 2.2rem; padding:1.1rem 1.25rem; border:1px solid var(--line-soft); border-left:3px solid var(--gold); border-radius:var(--radius); background:var(--ground-2); }
.castle-otd .section-title { margin-bottom:.5rem; }
.castle-otd h2 { font-size:1.25rem; }
.castle-otd-date { color:var(--muted); font-size:.82rem; }
.castle-otd-years { list-style:none; margin:0; padding:0; display:grid; gap:.35rem; }
.castle-otd-years li { display:grid; grid-template-columns:4rem 1fr; gap:.6rem; font-size:.9rem; line-height:1.5; }
.castle-otd-years strong { color:var(--accent-ink); font-variant-numeric:tabular-nums; }
.castle-otd-years em { color:var(--muted); font-style:normal; font-size:.8rem; }
.castle-otd-years a { color:var(--accent-ink); }
.castle-otd-near { color:var(--muted); font-style:italic; font-size:.82rem; }
.castle-otd-gaps { margin:.8rem 0 0; color:var(--muted); font-size:.82rem; line-height:1.5; }

/* --- Leaderboard ---------------------------------------------------------- */
.castle-board { margin:0 0 2.6rem; }
.castle-board-note { color:var(--muted); font-size:.82rem; }
.castle-table td a { color:var(--accent-ink); }
.castle-club { display:inline-block; margin-left:.45rem; padding:.08rem .45rem; border:1px solid color-mix(in srgb,var(--gold) 68%,var(--line)); border-radius:99px; color:var(--accent-ink); background:color-mix(in srgb,var(--gold) 10%,transparent); font-size:.58rem; letter-spacing:.06em; text-transform:uppercase; vertical-align:middle; white-space:nowrap; }
.castle-live { display:inline-block; margin-left:.45rem; padding:.08rem .45rem; border-radius:99px; color:#FBEEC8; background:var(--wine); font-size:.58rem; letter-spacing:.06em; text-transform:uppercase; vertical-align:middle; white-space:nowrap; }

/* --- Roster card ---------------------------------------------------------- */
.castle-act.is-club { border-left-color:var(--gold); }
.castle-act-meta { margin:0; color:var(--ink-soft); font-size:.8rem; }
.castle-act-meta strong { color:var(--accent-ink); font-weight:600; }
.castle-act-rooms { margin:0; color:var(--muted); font-size:.74rem; }
.castle-act .castle-club, .castle-act .castle-live { margin-left:0; width:max-content; }

/* --- The rooms ------------------------------------------------------------ */
.castle-rooms { margin:1rem 0 0; padding-top:1.6rem; border-top:1px solid var(--line); }
.castle-rooms > .section-title { justify-content:center; text-align:center; }
.castle-rooms-lede { max-width:66ch; color:var(--ink-soft); font-size:.95rem; line-height:1.65; margin:0 auto 1.2rem; text-align:center; }
.castle-room-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(15.5rem,1fr)); gap:.8rem; }
.castle-room-card { padding:1rem 1.05rem; border:1px solid var(--line-soft); border-radius:var(--radius); background:var(--ground-2); }
.castle-room-card h3 { margin:0 0 .35rem; font-size:1.1rem; }
.castle-room-card h3 a { color:var(--accent-ink); text-decoration:none; }
.castle-room-card h3 a:hover { text-decoration:underline; }
.castle-room-card p { margin:0 0 .35rem; color:var(--ink-soft); font-size:.86rem; line-height:1.5; }
.castle-room-stats { color:var(--muted) !important; font-size:.76rem !important; }
.castle-room-leaders { color:var(--muted) !important; font-size:.76rem !important; }
@media (max-width:720px) {
  .castle-otd-years li { grid-template-columns:3.2rem 1fr; }
  .castle-room-grid { grid-template-columns:1fr; }
}
.castle-added { display:inline-block; width:max-content; padding:.08rem .45rem; border:1px solid var(--line); border-radius:99px; color:var(--muted); font-size:.58rem; letter-spacing:.06em; text-transform:uppercase; }
