/* Public league site. Felt-green room, ivory scorecards. Phone first. */
.ptm-public body {
  background: var(--felt-deep);
  background-image: radial-gradient(ellipse 90% 50% at 50% 0%, var(--felt) 0%, rgba(var(--felt-rgb), 0) 70%);
  background-attachment: fixed;
  color: var(--felt-pale);
  min-height: 100vh;
}
.ptm-public a { color: inherit; }
.pub-wrap { max-width: 1080px; margin: 0 auto; padding: 0 16px; }
.pub-main { padding-top: 18px; padding-bottom: 56px; }
.suit { color: var(--brass); }

/* header */
.pub-top { position: sticky; top: 0; z-index: 20; background: rgba(var(--felt-ink-rgb), .92); backdrop-filter: blur(8px); border-bottom: 1px solid rgba(255,255,255,.08); }
.pub-brand { display: flex; align-items: baseline; gap: .8rem; padding: 14px 0 6px; flex-wrap: wrap; }
.pub-brand a { font-family: var(--cond); font-weight: 700; font-size: 1.5rem; text-decoration: none; color: #fff; display: inline-flex; gap: .45rem; align-items: baseline; }
.pub-season { color: var(--felt-mist); font-size: .92rem; }
.pub-tabs { display: flex; gap: .3rem; overflow-x: auto; scrollbar-width: none; margin: 0 -16px; padding: 0 16px; }
.pub-tabs::-webkit-scrollbar { display: none; }
.pub-tabs a { flex: none; text-decoration: none; color: var(--felt-mist2); font-weight: 600; padding: .55rem .8rem .7rem; border-bottom: 3px solid transparent; white-space: nowrap; }
.pub-tabs a.on { color: #fff; border-bottom-color: var(--brass); }
.pub-tabs a:hover { color: #fff; }

.pub-foot { border-top: 1px solid rgba(255,255,255,.08); color: var(--felt-fog); font-size: .88rem; padding: 18px 0 32px; }
.pub-foot .pub-wrap { display: flex; flex-wrap: wrap; gap: 1rem; justify-content: space-between; align-items: center; }
.pub-powered { flex: 1 1 100%; font-size: .8rem; opacity: .8; }
.pub-powered a { color: inherit; text-decoration: underline; text-underline-offset: 2px; }
.pub-powered a:hover { color: #fff; }
.seasonsel { font: inherit; background: rgba(255,255,255,.08); color: #fff; border: 1px solid rgba(255,255,255,.2); border-radius: 7px; min-height: 36px; padding: 0 .5rem; }
.seasonsel option { color: #000; }
.pub-loading { display: grid; place-items: center; height: 60vh; font-size: 3rem; animation: pulse 1.2s ease-in-out infinite; }
@keyframes pulse { 50% { opacity: .35; } }

/* cards */
.ptm-public .pcard { color: var(--ink); }
.pcard { display: block; background: #f6f2e8; color: var(--ink); border-radius: 14px; padding: 18px 18px 16px; margin-bottom: 16px; box-shadow: 0 1px 0 rgba(0,0,0,.2), 0 10px 30px rgba(0,0,0,.18); text-decoration: none; }
.pcard h2 { font-size: 1.45rem; margin-bottom: .35rem; display: flex; align-items: baseline; gap: .6rem; }
.pcard .count { font-family: var(--sans); font-size: .9rem; font-weight: 600; color: var(--muted); }
.pcard .muted, .pcard .sub { color: #5d6a63; }
.muted { color: var(--felt-mist); }
.small { font-size: .9rem; }
.pbtn { display: inline-flex; align-items: center; min-height: 46px; padding: 0 1.2rem; border-radius: 10px; background: var(--brass); color: #1d1405 !important; font-weight: 700; text-decoration: none; }
.pbtn:hover { filter: brightness(1.08); }

/* live banner */
.live { display: flex; flex-wrap: wrap; align-items: center; gap: .4rem .8rem; background: #b3242f; color: #fff; border-radius: 12px; padding: 12px 16px; margin-bottom: 16px; text-decoration: none; }
.live .dot { width: 10px; height: 10px; border-radius: 50%; background: #fff; animation: pulse 1.2s ease-in-out infinite; }
.live .livecount { opacity: .85; }
.live .go { margin-left: auto; font-weight: 700; }

/* home hero: the finals race + name search */
.hero { display: grid; grid-template-columns: 1.15fr 1fr; gap: 16px; margin-bottom: 18px; align-items: start; }
.hero-text { padding: 8px 0; }
.hero h1 { font-size: clamp(2rem, 5.5vw, 3.3rem); color: #fff; margin: 0 0 .2rem; }
.hero-big { font-family: var(--cond); font-size: clamp(1.4rem, 3.6vw, 2rem); color: var(--felt-mist2); margin: 0 0 .2rem; }
.hero-big strong { color: var(--brass); font-size: 1.5em; font-weight: 800; }
.hero-sub { color: var(--felt-mist); max-width: 42ch; }
.hero-search { background: #f6f2e8; color: var(--ink); border-radius: 14px; padding: 18px; box-shadow: 0 10px 30px rgba(0,0,0,.18); }
.hero-search h2 { font-size: 1.6rem; margin-bottom: .5rem; }
.pub-searchwrap { position: relative; }
.pub-search { font: inherit; font-size: 1.08rem; width: 100%; min-height: 52px; border-radius: 10px; border: 2px solid #d8d0bd; background: #fff; padding: 0 14px; color: var(--ink); }
.pub-search:focus { outline: none; border-color: var(--felt); box-shadow: 0 0 0 3px rgba(var(--felt-rgb), .2); }
.pub-search.small { min-height: 44px; font-size: 1rem; margin: .4rem 0 .8rem; }
.pub-results { list-style: none; margin: .5rem 0 0; padding: 0; }
.pub-results a { display: flex; justify-content: space-between; gap: 1rem; padding: .7rem .4rem; border-bottom: 1px solid #e4dccb; text-decoration: none; font-weight: 600; }
.pub-results a span { color: var(--felt); font-weight: 500; font-size: .92rem; }
.pub-results .none { color: #5d6a63; padding: .6rem .2rem; }
.searchbar { margin: 0 0 16px; }

/* league cards on home */
.leaguegrid { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 16px; }
.leaguecard { margin: 0; display: flex; flex-direction: column; }
.lc-head { display: flex; justify-content: space-between; align-items: baseline; gap: .6rem; }
.lc-head h2 a { text-decoration: none; }
.weekdots { display: flex; gap: 4px; margin: .2rem 0 .8rem; }
.weekdots span { flex: 1; height: 5px; border-radius: 3px; background: #ddd5c3; }
.weekdots span.on { background: var(--felt); }
.lastwin { display: grid; grid-template-columns: 1fr auto; gap: 0 .8rem; background: var(--felt); color: #fff !important; border-radius: 10px; padding: 10px 12px; text-decoration: none; margin-bottom: .8rem; }
.lastwin .lw-label { grid-column: 1 / -1; font-size: .82rem; color: var(--felt-mist2); font-weight: 600; }
.lastwin strong { font-family: var(--cond); font-size: 1.45rem; font-weight: 700; }
.lastwin .muted { color: var(--felt-mist2); align-self: center; font-size: .88rem; }
.leaders { list-style: none; margin: 0 0 .6rem; padding: 0; }
.leaders li { display: grid; grid-template-columns: 2rem 1fr auto; align-items: center; padding: .38rem 0; border-bottom: 1px solid #e4dccb; }
.leaders .rk { font-family: var(--cond); font-weight: 600; color: #8a7a55; }
.leaders .nm { text-decoration: none; font-weight: 600; }
.leaders .pt { font-family: var(--cond); font-weight: 700; font-size: 1.15rem; }
.leaguecard .more, .overallcard .more { margin-top: auto; color: var(--felt); font-weight: 700; text-decoration: none; padding-top: .3rem; }

/* page headers & tabs */
.pagehead { margin: 4px 0 14px; }
.pagehead > p:first-child { margin-top: 14px; }
.pagehead h1 { color: #fff; font-size: clamp(1.9rem, 5vw, 2.8rem); margin: 0 0 .1rem; }
.pagehead .back { color: var(--felt-mist); text-decoration: none; font-size: .92rem; }
.subtabs { display: flex; gap: .4rem; margin-bottom: 12px; }
.subtabs a { text-decoration: none; padding: .5rem .9rem; border-radius: 999px; color: var(--felt-mist2); font-weight: 600; border: 1px solid rgba(255,255,255,.18); }
.subtabs a.on { background: #f6f2e8; color: var(--felt-ink); border-color: #f6f2e8; }

/* tables */
.tablewrap { overflow-x: auto; margin: 0 -18px; padding: 0 18px; }
.ptable { width: 100%; border-collapse: collapse; font-variant-numeric: tabular-nums; }
.ptable th { text-align: left; font-size: .8rem; color: #6c6552; font-weight: 600; padding: .45rem .4rem; border-bottom: 2px solid #e0d6c0; white-space: nowrap; }
.ptable td { padding: .5rem .4rem; border-bottom: 1px solid #e8e0cf; vertical-align: middle; }
.ptable .r { text-align: right; }
.ptable .rk { width: 2.6rem; font-family: var(--cond); font-weight: 600; color: #8a7a55; }
.ptable .big { font-family: var(--cond); font-weight: 700; font-size: 1.15rem; }
.ptable .nm { font-weight: 600; text-decoration: none; margin-right: .35rem; }
.ptable .nm:hover { text-decoration: underline; }
.ptable .sub { display: block; font-size: .82rem; }
.ptable .gm { white-space: nowrap; }
.ptable .wk { font-size: .9rem; color: #4b5650; min-width: 2.2rem; }
.ptable .wk.nil { color: #c3b9a2; }
.standings tr.q-winner td:first-child { box-shadow: inset 4px 0 0 var(--felt); }
.standings tr.q-points td:first-child { box-shadow: inset 4px 0 0 var(--brass); }
.standings tr.q-alternate td:first-child { box-shadow: inset 4px 0 0 #c9bfa8; }
.ptable tr.wonrow td { background: #ece3cc; }
.tag { display: inline-block; font-size: .72rem; font-weight: 700; padding: .12rem .45rem; border-radius: 5px; white-space: nowrap; vertical-align: 1px; }
.tag.win { background: var(--felt); color: #fff; }
.tag.in { background: var(--brass); color: #1d1405; }
.tag.alt { background: #e4dccb; color: #5d5440; }
.legend { font-size: .85rem; color: #5d6a63; margin-bottom: .2rem; }

.weeklist { display: flex; flex-direction: column; }
.weekrow { display: grid; grid-template-columns: 5.2rem 4.5rem 1fr auto; gap: .6rem; align-items: center; padding: .7rem .2rem; border-bottom: 1px solid #e4dccb; text-decoration: none; }
.weekrow:hover { background: #efe8d8; }
.weekrow .wn { font-family: var(--cond); font-weight: 700; font-size: 1.1rem; }
.weekrow .wd, .weekrow .we { color: #5d6a63; font-size: .9rem; }

.podium { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin-bottom: 16px; }
.podium > div { background: #f6f2e8; color: var(--ink); border-radius: 12px; padding: 12px 14px; }
.podium > div:first-child { background: var(--brass); }
.podium .pl { font-family: var(--cond); font-weight: 600; color: #6c5a2e; }
.podium .nm { display: block; font-family: var(--cond); font-weight: 700; font-size: 1.5rem; line-height: 1.1; text-decoration: none; }
.podium .pp { font-size: .88rem; color: #5d5440; }

/* finals list */
.qlist { list-style: none; margin: .3rem 0 0; padding: 0; }
.qlist li { display: grid; grid-template-columns: 2.4rem 1fr auto; align-items: center; gap: .6rem; padding: .55rem 0; border-bottom: 1px solid #e4dccb; }
.qlist .seat { width: 2rem; height: 2rem; border-radius: 50%; display: grid; place-items: center; background: var(--felt); color: #fff; font-weight: 700; font-size: .9rem; }
.qlist .seat.pts { background: var(--brass); color: #1d1405; font-family: var(--cond); font-size: 1rem; }
.qlist .seat.alt { background: #e4dccb; color: #5d5440; }
.qlist .qn { min-width: 0; }
.qlist .nm { display: block; font-weight: 700; text-decoration: none; font-size: 1.05rem; }
.qlist .qs { display: block; color: #5d6a63; font-size: .86rem; }
.qlist .chips { font-family: var(--cond); font-weight: 700; color: var(--felt); white-space: nowrap; }
.tie { background: #f3e2b9; border-radius: 8px; padding: .6rem .8rem; margin: .8rem 0 0; font-weight: 500; }

/* player page */
.status { background: #f6f2e8; color: var(--ink); border-radius: 14px; padding: 16px 18px; margin-bottom: 16px; border-left: 8px solid #c9bfa8; }
.status strong { display: block; font-family: var(--cond); font-size: 1.6rem; line-height: 1.15; }
.status span { color: #4b5650; }
.status.win { border-left-color: var(--felt); }
.status.in { border-left-color: var(--brass); }
.nightgrid { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 12px; margin-bottom: 4px; }
.nightcard { margin-bottom: 12px; }
.nightcard:hover { box-shadow: 0 0 0 2px var(--brass), 0 10px 30px rgba(0,0,0,.18); }
.nightcard .nn { font-weight: 700; display: block; margin-bottom: .4rem; }
.nstats { display: grid; grid-template-columns: repeat(4, 1fr); gap: .3rem; }
.nstats strong { display: block; font-family: var(--cond); font-size: 1.5rem; line-height: 1; }
.nstats span { font-size: .78rem; color: #5d6a63; }

@media (max-width: 760px) {
  .hero { grid-template-columns: 1fr; }
  .hide-sm { display: none; }
  .ptable .wk { display: none; }
  .podium { grid-template-columns: 1fr; }
  .weekrow { grid-template-columns: 4.6rem 1fr auto; }
  .weekrow .wd { display: none; }
  .live .go { margin-left: 0; width: 100%; }
}
@media (prefers-reduced-motion: reduce) { .live .dot, .pub-loading { animation: none; } }

/* all nights combined */
.overallcard { margin-bottom: 18px; }
.leaders.two { columns: 2; column-gap: 28px; }
.leaders.two li { break-inside: avoid; }
.leaders.two .tag { font-size: .66rem; }
.overallline { display: flex; align-items: baseline; gap: .2rem; flex-wrap: wrap; padding: 12px 18px; }
.overallline strong { font-family: var(--cond); font-size: 1.6rem; color: var(--felt); margin-right: .2rem; }
.overallline b { font-family: var(--cond); font-size: 1.2rem; }
.standings tr.cutoff td { padding: 0; border-bottom: 0; }
.standings tr.cutoff span { display: block; margin: 6px 0; padding: 4px 10px; border-top: 2px dashed var(--red); color: var(--red); font-size: .78rem; font-weight: 700; text-align: center; }
@media (max-width: 760px) {
  .leaders.two { columns: 1; }
}

.ptable .nt { font-size: .92rem; color: #4b5650; }
.ptable .nt.nil { color: #c3b9a2; }
@media (max-width: 420px) { .ptable .nt { font-size: .8rem; padding-left: .2rem; padding-right: .2rem; } }

/* v0.4: leagues (bars) */
.clubswitch { font: 600 .95rem var(--sans); background: rgba(255,255,255,.08); color: #fff; border: 1px solid rgba(255,255,255,.22); border-radius: 8px; min-height: 34px; padding: 0 .5rem; }
.clubswitch option { color: #000; }
.clubgrid { display: grid; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); gap: 16px; }
.clubcard { display: flex; flex-direction: column; margin: 0; }
.clubcard .lc-head h2 { font-size: 1.9rem; }
.clubcard .lc-head h2 a { text-decoration: none; }
.clubseats { font-family: var(--cond); font-size: 1.35rem; margin: .1rem 0 .2rem; }
.clubseats strong { color: var(--felt); font-size: 1.6em; font-weight: 800; }
.clubcard .pbtn { margin-top: auto; align-self: flex-start; }
.lw-label.dark { display: block; font-size: .82rem; font-weight: 700; color: #6c6552; margin: .8rem 0 .2rem; }
.hero-club { font-family: var(--cond); font-weight: 600; font-size: 1.3rem; color: var(--brass); margin: 0; }
.sectionlabel { color: var(--felt-mist2); font-size: 1.15rem; font-weight: 600; margin: 8px 0 10px; }

.pub-brand .brandlink { border-radius: 6px; }
.pub-brand .brandlink:hover, .pub-brand .brandlink:focus-visible { text-decoration: underline; text-decoration-color: var(--brass); text-underline-offset: 5px; text-decoration-thickness: 2px; }

/* ---------- player check-in ---------- */
.checkin-cta { display: flex; align-items: center; gap: .9rem; background: var(--brass); color: #1d1405; border-radius: 12px; padding: 12px 16px; margin-bottom: 16px; text-decoration: none; box-shadow: 0 8px 24px rgba(0,0,0,.2); }
.checkin-cta.started { background: #f6f2e8; }
.checkin-cta .ci-icon { width: 34px; height: 34px; border-radius: 50%; background: rgba(0,0,0,.14); display: inline-flex; align-items: center; justify-content: center; font-weight: 800; flex: none; }
.checkin-cta .ci-text { display: flex; flex-direction: column; line-height: 1.25; }
.checkin-cta .ci-text strong { font-family: var(--cond); font-size: 1.3rem; }
.checkin-cta .ci-go { margin-left: auto; font-weight: 800; white-space: nowrap; }
.checkin { max-width: 640px; }
.ci-names { display: flex; flex-direction: column; gap: 6px; margin-top: .7rem; }
.ci-name { font: 600 1.05rem var(--sans); text-align: left; padding: .8rem 1rem; border-radius: 10px; border: 1px solid #ddd5c3; background: #fff; color: var(--ink); cursor: pointer; }
.ci-name:hover, .ci-name:focus-visible { border-color: var(--felt); }
.ci-name.new { border-style: dashed; color: var(--felt); }
.ci-tables { display: grid; grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); gap: 10px; margin: .8rem 0; }
.ci-table { display: flex; flex-direction: column; gap: .2rem; align-items: flex-start; padding: 1rem; border-radius: 12px; border: 0; cursor: pointer; color: #fff; background: var(--felt); background-image: radial-gradient(ellipse at 50% 30%, var(--felt-hi), var(--felt) 70%); box-shadow: inset 0 0 0 4px #3b2a1e; text-align: left; font: inherit; }
.ci-table strong { font-family: var(--cond); font-size: 1.6rem; }
.ci-table span { color: var(--felt-mist2); font-size: .92rem; }
.ci-table.mine { box-shadow: inset 0 0 0 4px var(--brass); }
.ci-table:disabled { opacity: .45; cursor: not-allowed; }
.ci-actions { display: flex; flex-wrap: wrap; gap: .8rem; align-items: center; margin-top: 1rem; }
.linkbtn { background: none; border: 0; font: 600 1rem var(--sans); color: var(--felt); cursor: pointer; padding: .4rem 0; text-decoration: underline; text-underline-offset: 3px; }
.ci-msg { background: #fff3d6; color: #5d4300; border-radius: 10px; padding: .7rem .9rem; margin: .8rem 0 0; }
.ci-msg.err { background: #fbe1e3; color: #7a1520; }
.ci-status .ci-who { font-family: var(--cond); font-size: 1.9rem; font-weight: 700; margin: 0 0 .4rem; }
.ci-state { margin: .2rem 0 .6rem; }
.ci-badge { display: inline-block; background: var(--felt); color: #fff; font-weight: 700; border-radius: 999px; padding: .3rem .8rem; font-size: .9rem; }
.ci-badge.off { background: #c9bfa8; color: #2b261b; }
.ci-table-big { font-family: var(--cond); font-weight: 800; font-size: clamp(2.6rem, 9vw, 4rem); line-height: 1.05; color: var(--felt); margin-top: .3rem; }
.ci-finals { border-left: 6px solid #c9bfa8; padding: .5rem .8rem; margin-top: .8rem; background: #fff; border-radius: 0 10px 10px 0; }
.ci-finals strong { display: block; font-family: var(--cond); font-size: 1.25rem; }
.ci-finals span { color: #4b5650; font-size: .95rem; }
.ci-finals.win { border-left-color: var(--felt); }
.ci-finals.in { border-left-color: var(--brass); }

.ci-lock { margin-left: .5rem; font-size: .85rem; opacity: .6; }
.ci-pin { font: 700 2rem/1 var(--cond); letter-spacing: .6em; text-align: center; width: 100%; max-width: 260px; min-height: 64px; border-radius: 12px; border: 2px solid #d8d0bd; background: #fff; color: var(--ink); padding: 0 0 0 .6em; display: block; margin: .6rem 0; }
.ci-pin:focus { outline: none; border-color: var(--felt); box-shadow: 0 0 0 3px rgba(var(--felt-rgb), .2); }
.ci-finalscard .ci-finals { margin-top: 0; }
.ci-live .lc-head .more { font-weight: 700; text-decoration: none; color: var(--felt); font-size: .95rem; }
.lv-me { font-size: 1.1rem; margin: .2rem 0 .8rem; }
.lv-me strong { font-family: var(--cond); font-size: 1.4rem; color: var(--felt); }
.lv-me.out { background: #fbe1e3; color: #7a1520; border-radius: 10px; padding: .6rem .8rem; }
.lv-clock { background: var(--felt); background-image: radial-gradient(ellipse at 50% 30%, var(--felt-hi), var(--felt) 70%); color: #fff; border-radius: 14px; padding: 14px 16px 16px; text-align: center; }
.lv-level { font-family: var(--cond); font-weight: 700; font-size: 1.2rem; color: var(--brass); }
.lv-time { font-family: var(--cond); font-weight: 800; font-size: clamp(3.6rem, 18vw, 5.5rem); line-height: 1; font-variant-numeric: tabular-nums; }
.lv-time.warn { color: var(--brass); }
.lv-time.danger { color: #ff8a8a; }
.lv-status { color: var(--brass); font-weight: 700; min-height: 1.2em; }
.lv-blinds { font-family: var(--cond); font-weight: 700; font-size: 1.8rem; }
.lv-next { color: var(--felt-mist2); font-size: .95rem; }
.lv-stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin: 10px 0; }
.lv-stats div { background: #fff; border-radius: 10px; padding: .5rem .6rem; }
.lv-stats span { display: block; font-size: .78rem; color: #5d6a63; }
.lv-stats strong { font-family: var(--cond); font-size: 1.3rem; }
.lv-late { background: var(--brass-soft, #f4e7cc); color: #5d4300; border-radius: 10px; padding: .5rem .7rem; font-weight: 600; margin-bottom: 8px; }
.lv-outs ol { list-style: none; margin: .2rem 0 0; padding: 0; }
.lv-outs li { padding: .3rem 0; border-bottom: 1px solid #e4dccb; }
.lv-outs .pl { font-family: var(--cond); font-weight: 700; color: #8a7a55; }
.lv-done strong { display: block; font-family: var(--cond); font-size: 2rem; }
.lv-tables { margin-top: 12px; }
.lv-th { display: flex; justify-content: space-between; gap: 8px; margin-bottom: 4px; }
.lv-tgrid { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 8px; }
.lv-t { background: #fff; border-radius: 10px; padding: .5rem .65rem; }
.lv-t strong { display: flex; justify-content: space-between; font-family: var(--cond); font-size: 1.1rem; color: var(--felt); }
.lv-t strong span { color: #8a7a55; font-size: .95rem; }
.lv-t ul { list-style: none; margin: .2rem 0 0; padding: 0; font-size: .92rem; }
.lv-t li { padding: .12rem 0; }
.lv-t .sn { display: inline-block; min-width: 1.4em; color: #8a7a55; font-variant-numeric: tabular-nums; }

/* Finals champion tile (league home, above the Finals Leaderboard). */
.champcard { position: relative; display: flex; flex-direction: column; align-items: center; text-align: center; gap: 2px; padding: 22px 18px 16px; border-top: 5px solid var(--brass, #c9973a);
  background: radial-gradient(ellipse 70% 60% at 50% 0%, #fbf0d2 0%, #f6f2e8 70%); }
.champcard .trophy { display: block; line-height: 0; margin-bottom: 4px; filter: drop-shadow(0 3px 4px rgba(122, 85, 18, .25)); }
.champcard .ch-label { font-family: var(--cond); font-weight: 700; font-size: .85rem; letter-spacing: .1em; text-transform: uppercase; color: #8a6418; }
.champcard .ch-name { font-family: var(--cond); font-weight: 800; font-size: clamp(2rem, 7vw, 2.8rem); line-height: 1.05; color: var(--felt-ink, #16231e); }
.champcard .ch-sub { color: #5d6a63; font-size: .92rem; display: flex; flex-direction: column; line-height: 1.45; margin-top: 2px; }
.champcard .ch-podium { display: flex; flex-wrap: wrap; justify-content: center; gap: .3rem 1.1rem; margin-top: 6px; font-size: .95rem; color: #3c4842; }
.champcard .ch-podium b { color: #8a6418; font-weight: 700; }
.champcard .more { margin-top: 10px; color: var(--felt); font-weight: 700; }
.champcard:hover .ch-name { text-decoration: underline; text-decoration-color: var(--brass, #c9973a); text-underline-offset: 4px; }
