/* Daily hall of fame (/daily), on top of site.css */
.daily-page { --gold: #ffd23f; --silver: #d7dde8; --bronze: #e0a272; --mine: #7ee8ff; }
.daily-page button { margin: 0; }
.daily-page section { margin-top: 8px; }
.note { font-size: 13px; color: var(--muted); }
.play.small { font-size: 15px; padding: 6px 16px; margin: 6px 0 0; }

/* the player's own name stands out everywhere */
.nm { font-weight: 700; overflow-wrap: anywhere; }
.nm.mine { color: var(--mine); }
.nm i { font-style: normal; font-size: 11px; font-weight: 800; color: var(--ink); background: var(--mine); border-radius: 6px; padding: 1px 6px; margin-left: 6px; vertical-align: 2px; }
.mine-row { background: #7ee8ff1c; }

/* today (still open) */
.today { display: flex; flex-wrap: wrap; gap: 12px 24px; align-items: center; justify-content: space-between; background: linear-gradient(120deg, #2a1650, #16213c); border: 2px solid #ffffff22; border-radius: 16px; padding: 14px 18px; margin: 20px 0 4px; }
.today:empty { display: none; }
.today .tag { display: inline-block; font-size: 12px; font-weight: 800; letter-spacing: 1px; color: var(--ink); background: #ff5a5a; border-radius: 6px; padding: 0 8px; }
.today-mod { font-size: 22px; font-weight: 800; line-height: 1.5; }
.today-l .muted { font-size: 14px; }
.today-r { text-align: right; }
.today-r .muted { font-size: 12px; }
.count { font: 800 28px/1.2 ui-monospace, 'SF Mono', Menlo, monospace; color: var(--yellow); }

/* champion + podium */
.champion { background: radial-gradient(120% 140% at 50% 0%, #4a3a10 0%, #16213c 60%); border: 2px solid #ffd23f55; border-radius: 18px; padding: 18px 18px 0; overflow: hidden; }
.champ-head { display: flex; gap: 14px; align-items: center; }
.crown { font-size: 54px; line-height: 1; filter: drop-shadow(0 4px 10px #ffd23f88); animation: bob 2.4s ease-in-out infinite; }
@keyframes bob { 50% { transform: translateY(-4px) rotate(-4deg); } }
.champ-name { font-size: clamp(24px, 6vw, 34px); font-weight: 900; line-height: 1.3; color: var(--gold); }
.champ-name .nm:not(.mine) { color: var(--gold); }
.champ-score { font-weight: 800; font-size: 18px; }
.podium { display: grid; grid-template-columns: 1fr 1.15fr 1fr; align-items: end; gap: 8px; margin-top: 16px; }
.step { text-align: center; min-width: 0; }
.step .who { font-size: 15px; line-height: 1.5; display: flex; flex-direction: column; align-items: center; }
.step .pts { font-size: 13px; color: var(--muted); }
.step .block { margin-top: 6px; border-radius: 10px 10px 0 0; font: 900 26px/1 system-ui, sans-serif; color: #0b1026; display: flex; align-items: flex-start; justify-content: center; padding-top: 10px; }
.step.s1 .block { height: 92px; background: linear-gradient(#ffe27a, #e0a810); }
.step.s2 .block { height: 66px; background: linear-gradient(#f1f4f9, #a9b3c4); }
.step.s3 .block { height: 48px; background: linear-gradient(#f3c39a, #b8743e); }
.step.empty .block { opacity: .35; }

/* my record */
.me-box { background: var(--panel); border-radius: 16px; padding: 4px 18px 14px; margin-top: 24px; }
.me-box h2 { margin-top: .8em; }
.me-name { margin: 0 0 8px; font-size: 18px; display: flex; flex-wrap: wrap; gap: 6px 12px; align-items: center; }
.streak { font-size: 13px; font-weight: 800; color: #ffb36b; }
.tiles { display: grid; grid-template-columns: repeat(6, 1fr); gap: 8px; }
.tiles div { background: #0b1026; border-radius: 10px; padding: 6px 4px; text-align: center; }
.tiles small { display: block; font-size: 12px; color: var(--muted); }
.tiles b { font-size: 20px; }
.history { list-style: none; padding: 0; margin: 12px 0 0; }
.history li { display: grid; grid-template-columns: 6.5em 1fr auto 6.5em; gap: 8px; padding: 4px 0; border-bottom: 1px solid #ffffff14; font-size: 14px; margin: 0; }
.history .rk { font-weight: 800; }
.history .rk small { color: var(--muted); font-weight: 400; }
.history .sc { text-align: right; font-variant-numeric: tabular-nums; }
.me-form { display: flex; gap: 8px; margin-top: 8px; }
.me-form input { flex: 1; min-width: 0; padding: 8px 10px; }
.me-form button { padding: 8px 16px; white-space: nowrap; }
details.other { margin-top: 10px; font-size: 14px; }
details summary { cursor: pointer; color: var(--link); }

/* medal table */
.tabs { display: flex; gap: 6px; margin-bottom: 8px; }
.tabs button { background: transparent; color: var(--white); border: 2px solid #ffffff44; border-radius: 999px; padding: 4px 14px; font-size: 14px; }
.tabs button[aria-selected="true"] { background: var(--yellow); color: var(--ink); border-color: var(--yellow); }
.totals { font-size: 13px; margin: 0; }
.tbl-wrap { overflow-x: auto; }
table.hall { margin-top: 4px; font-variant-numeric: tabular-nums; }
table.hall th { width: auto; font-size: 13px; padding: 6px; text-align: center; }
table.hall td { padding: 8px 6px; vertical-align: middle; }
table.hall th:nth-child(2) { text-align: left; }
table.hall .rk { width: 2.4em; text-align: center; font-weight: 900; color: var(--muted); }
table.hall .md { text-align: center; font-weight: 800; width: 2.6em; }
table.hall .num { text-align: right; white-space: nowrap; }
table.hall tr.h1 .rk { color: var(--gold); }
table.hall tr.h2 .rk { color: var(--silver); }
table.hall tr.h3 .rk { color: var(--bronze); }

/* per-day cards */
.days { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 14px; }
.day { background: var(--panel); border-radius: 14px; padding: 12px 14px; min-width: 0; }
.day header { display: flex; flex-wrap: wrap; align-items: baseline; gap: 2px 10px; }
.day .date { font-size: 17px; }
.day .mod { font-weight: 800; color: var(--yellow); }
.day .players { margin-left: auto; font-size: 13px; color: var(--muted); }
.day .sub { width: 100%; font-size: 12px; line-height: 1.6; }
.board { list-style: none; padding: 0; margin: 8px 0 0; }
.board li { display: grid; grid-template-columns: 3em 1fr auto; align-items: center; gap: 8px; margin: 0; padding: 4px 6px; border-radius: 8px; font-size: 15px; }
.board .rk { text-align: center; font-size: 13px; color: var(--muted); }
.board li.r1, .board li.r2, .board li.r3 { font-size: 16px; }
.board li.r1 .rk, .board li.r2 .rk, .board li.r3 .rk { font-size: 20px; }
.board li.r1 { background: #ffd23f1a; }
.board .sc { font-variant-numeric: tabular-nums; font-weight: 700; }
.day details { margin-top: 6px; font-size: 14px; }
.more-wrap { text-align: center; }
.more { background: transparent; color: var(--white); border: 2px solid #ffffff55; border-radius: 10px; padding: 8px 20px; }

@media (max-width: 560px) {
  .today-r { text-align: left; }
  .tiles { grid-template-columns: repeat(3, 1fr); }
  .history li { grid-template-columns: 5.6em 1fr auto; }
  .history .sc { display: none; }
  table.hall .opt { display: none; }
  .crown { font-size: 42px; }
}
