/* Homepage leaderboard (includes/hub-leaderboard.php). Light and dark theme via the theme tokens. */
.cc-hlb,.cc-hlb-fame,.cc-hlb-ghost{--hlb-gold:#e0a91b;--hlb-silver:#9aa6b8;--hlb-bronze:#c27a3a}
.cc-hlb{background:var(--cc-surface);border:1px solid var(--cc-border);border-radius:22px;padding:clamp(20px,3vw,32px);color:var(--cc-text);box-shadow:var(--cc-shadow)}
.cc-hlb-head{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:10px 18px}
.cc-hlb-head h2{margin:0;font-size:clamp(1.45rem,2.6vw,2rem)}
.cc-hlb-status{display:flex;align-items:center;gap:8px;font-size:.88rem;color:var(--cc-muted);position:relative}
.cc-hlb-status[hidden]{display:none}
.cc-hlb-live{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:999px;font-weight:900;letter-spacing:.06em;font-size:.76rem;color:#e5484d;background:color-mix(in srgb,#e5484d 12%,transparent)}
.cc-hlb-dot{width:8px;height:8px;border-radius:50%;background:currentColor;animation:cc-hlb-blink 1.4s ease-in-out infinite}
.cc-hlb-status.is-stale .cc-hlb-live{color:var(--cc-muted);background:var(--cc-surface-2)}
.cc-hlb-status.is-stale .cc-hlb-dot{animation:none}
.cc-hlb-stamp time{font-variant-numeric:tabular-nums;font-weight:750;color:var(--cc-text)}
@keyframes cc-hlb-blink{0%,100%{opacity:1}50%{opacity:.25}}
@media(prefers-reduced-motion:reduce){.cc-hlb-dot{animation:none}}
.cc-hlb-info summary{list-style:none;cursor:pointer;padding:0;display:grid;place-items:center;width:22px;height:22px;border-radius:50%;border:1px solid var(--cc-border);font:italic 800 .78rem/1 Georgia,serif;color:var(--cc-muted)}
.cc-hlb-info summary::-webkit-details-marker{display:none}
.cc-hlb-info summary::after,.cc-hlb-info[open] summary::after{content:none}
.cc-hlb-info summary:hover,.cc-hlb-info[open] summary{color:var(--cc-text);border-color:var(--cc-muted)}
.cc-hlb-info p{position:absolute;right:0;top:calc(100% + 8px);z-index:5;width:min(300px,80vw);margin:0;padding:10px 12px;border-radius:12px;border:1px solid var(--cc-border);background:var(--cc-surface);box-shadow:0 12px 30px rgba(0,0,0,.18);font-size:.84rem;line-height:1.45;color:var(--cc-muted)}
.cc-hlb-tabs{display:inline-flex;gap:4px;margin:18px 0 4px;padding:4px;border-radius:999px;background:var(--cc-surface-2);border:1px solid var(--cc-border);max-width:100%;overflow-x:auto}
.cc-hlb-tabs button{appearance:none;border:0;background:transparent;color:var(--cc-muted);font:inherit;font-weight:800;font-size:.9rem;padding:8px 16px;border-radius:999px;cursor:pointer;white-space:nowrap}
.cc-hlb-tabs button:hover{color:var(--cc-text)}
.cc-hlb-tabs button[aria-selected=true]{background:var(--cc-surface);color:var(--cc-text);box-shadow:0 1px 4px rgba(0,0,0,.18)}
.cc-hlb-tabs button:focus-visible{outline:2px solid var(--cc-accent);outline-offset:1px}
.cc-hlb-meta{margin:12px 0 0;font-size:.88rem;color:var(--cc-muted)}
.cc-hlb-panel[hidden]{display:none}
.cc-hlb-podium,.cc-hlb-list{list-style:none;margin:0;padding:0}
.cc-hlb-row{display:flex;align-items:center;gap:10px;min-width:0}
.cc-hlb-rank{flex:none;display:grid;place-items:center;width:30px;height:30px;border-radius:50%;font-weight:900;font-size:.9rem;background:var(--cc-surface-2);border:1px solid var(--cc-border);font-variant-numeric:tabular-nums}
.cc-hlb-name{flex:1;min-width:0;font-weight:750;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cc-hlb-pts{flex:none;margin-left:auto;text-align:right;font-weight:850;font-variant-numeric:tabular-nums}
.cc-hlb-pts small{font-weight:600;color:var(--cc-muted);font-size:.78em}
.cc-hlb-pf{flex:none;width:18px;height:18px;border-radius:5px;display:inline-block;background:#9146ff center/12px no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23fff'%3E%3Cpath d='M11.6 4.7h1.7v5.1h-1.7zm4.7 0H18v5.1h-1.7zM6 0 1.7 4.3v15.4h5.1V24l4.3-4.3h3.4L22.3 12V0zm14.6 11.1-3.4 3.4h-3.4l-3 3v-3H6.9V1.7h13.7z'/%3E%3C/svg%3E")}
.cc-hlb-pf[data-platform=tiktok]{background:#111 center/11px no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23fff'%3E%3Cpath d='M16.6 0h-4v16.2a3.4 3.4 0 1 1-2.4-3.3V8.8a7.4 7.4 0 1 0 6.4 7.4V8a9 9 0 0 0 5.3 1.7v-4A5.3 5.3 0 0 1 16.6 0z'/%3E%3C/svg%3E")}
.cc-hlb-pf[data-platform=kick]{background:#53fc18 center/10px no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23000'%3E%3Cpath d='M2 0h7v7h3V4h3V0h7v8h-3v3h-3v2h3v3h3v8h-7v-4h-3v-3H9v7H2z'/%3E%3C/svg%3E")}
.cc-hlb-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
/* Podium: 2 – 1 – 3 */
.cc-hlb-podium{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:end;gap:12px;margin-top:18px!important}
.cc-hlb-podium .cc-hlb-row{--m:var(--hlb-bronze);flex-direction:column;justify-content:flex-end;gap:6px;padding:18px 12px 14px;border-radius:16px;text-align:center;border:1px solid color-mix(in srgb,var(--m) 45%,var(--cc-border));background:linear-gradient(180deg,color-mix(in srgb,var(--m) 16%,var(--cc-surface)),var(--cc-surface-2));min-height:128px}
.cc-hlb-podium .cc-hlb-row[data-rank="1"]{--m:var(--hlb-gold);order:2;min-height:158px}
.cc-hlb-podium .cc-hlb-row[data-rank="2"]{--m:var(--hlb-silver);order:1;min-height:140px}
.cc-hlb-podium .cc-hlb-row[data-rank="3"]{order:3}
.cc-hlb-podium .cc-hlb-rank{width:40px;height:40px;font-size:1.1rem;color:#fff;border:0;background:var(--m);box-shadow:0 0 0 4px color-mix(in srgb,var(--m) 22%,transparent)}
.cc-hlb-podium .cc-hlb-row[data-rank="1"] .cc-hlb-rank{width:48px;height:48px;font-size:1.3rem;position:relative}
.cc-hlb-podium .cc-hlb-row[data-rank="1"] .cc-hlb-rank::before{content:"♛";position:absolute;top:-22px;left:50%;transform:translateX(-50%);color:var(--hlb-gold);font-size:1.25rem;line-height:1}
.cc-hlb-podium .cc-hlb-name{flex:none;width:100%;font-size:1.02rem}
.cc-hlb-podium .cc-hlb-pts{margin:0;text-align:center;font-size:1.05rem}
.cc-hlb-podium .cc-hlb-pf{position:absolute;top:10px;right:10px}
.cc-hlb-podium .cc-hlb-row{position:relative}
.cc-hlb-list{margin-top:12px!important;display:grid;gap:6px}
.cc-hlb-list .cc-hlb-row{padding:9px 12px;border-radius:12px;background:var(--cc-surface-2);border:1px solid var(--cc-border)}
.cc-hlb-empty{margin:18px 0 0;padding:18px;border-radius:14px;border:1px dashed var(--cc-border);text-align:center;color:var(--cc-muted)}
.cc-hlb-ghost .cc-hlb-empty{margin-top:12px;border:0;padding:4px 8px;font-weight:700;color:var(--cc-text)}
.cc-hlb-ghost .cc-hlb-empty a{white-space:nowrap}
.cc-hlb-podium.is-ghost .cc-hlb-row{opacity:.55;border-style:dashed;filter:saturate(.6)}
.cc-hlb-podium.is-ghost .cc-hlb-name{font-weight:650;color:var(--cc-muted)}
.cc-hlb-loading{margin:18px 0 0;color:var(--cc-muted)}
.cc-hlb-archive{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;margin-top:6px}
.cc-hlb-archive-label{font-size:.8rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:var(--cc-muted)}
.cc-hlb-tabs--archive{margin:0;padding:3px}
.cc-hlb-tabs--archive button{font-size:.8rem;padding:5px 12px}
.cc-hlb-meta[hidden]{display:none}
.cc-hlb-fame{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr));gap:18px;margin-top:14px}
.cc-hlb-fame-month h3{margin:0 0 4px;font-size:1.05rem}
.cc-hlb-fame-month .cc-hlb-podium{gap:8px;margin-top:22px!important}
.cc-hlb-fame-month .cc-hlb-podium .cc-hlb-row{min-height:104px;padding:14px 8px 10px}
.cc-hlb-fame-month .cc-hlb-podium .cc-hlb-row[data-rank="1"]{min-height:124px}
.cc-hlb-fame-month .cc-hlb-podium .cc-hlb-row[data-rank="2"]{min-height:112px}
.cc-hlb-fame-month .cc-hlb-name{font-size:.9rem}
.cc-hlb-more{margin:16px 0 0;font-weight:750}
@media(max-width:640px){
  .cc-hlb{border-radius:16px}
  .cc-hlb-tabs:not(.cc-hlb-tabs--archive){display:flex}
  .cc-hlb-tabs--archive{flex-wrap:wrap;border-radius:14px}
  .cc-hlb-tabs button{flex:1;padding:8px 10px}
  .cc-hlb-podium{grid-template-columns:1fr;gap:6px}
  .cc-hlb-podium .cc-hlb-row,.cc-hlb-podium .cc-hlb-row[data-rank]{order:0;min-height:0;flex-direction:row;padding:10px 12px;text-align:left}
  .cc-hlb-podium .cc-hlb-row[data-rank="1"] .cc-hlb-rank,.cc-hlb-podium .cc-hlb-rank{width:34px;height:34px;font-size:1rem}
  .cc-hlb-podium .cc-hlb-row[data-rank="1"] .cc-hlb-rank::before{top:-15px;font-size:.9rem}
  .cc-hlb-podium .cc-hlb-name{flex:1;width:auto}
  .cc-hlb-podium .cc-hlb-pts{margin-left:auto;text-align:right}
  .cc-hlb-podium .cc-hlb-pf{position:static;margin:0}
  .cc-hlb-podium .cc-hlb-row[data-rank="1"]{padding-top:14px}
  .cc-hlb-fame-month .cc-hlb-podium .cc-hlb-row[data-rank]{min-height:0;padding:10px 12px}
  .cc-hlb-fame-month .cc-hlb-podium{margin-top:10px!important}
}
