/* Public leaderboard: reserve most of the screen for participants. */
.leaderboard-page{width:100%;max-width:none;margin:0 auto;padding:5px 8px 8px}
.leaderboard-topbar{display:flex;align-items:center;justify-content:space-between;gap:6px 12px;flex-wrap:wrap;margin-bottom:4px}
.leaderboard-title{display:flex;align-items:center;gap:8px;min-width:0}
.leaderboard-title h1{font-size:20px;line-height:1.2;letter-spacing:0;margin:0}
.leaderboard-controls{display:flex;align-items:center;gap:5px;flex-wrap:wrap}
.leaderboard-controls select{border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--ink);height:30px;padding:3px 7px;max-width:260px;min-width:145px;font-size:12px;line-height:1.2}
.leaderboard-controls select.lang{min-width:65px;max-width:90px}
.leaderboard-controls .btn{padding:5px 8px;font-size:12px;min-height:30px;line-height:1.2}
.leaderboard-controls .badge{padding:3px 7px;line-height:1.2}
.leaderboard-panel{padding:5px 8px;margin-bottom:0;border-radius:8px}
.leaderboard-summary{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:4px}
.leaderboard-summary h2{font-size:14px;line-height:1.2;margin:0}
.ranking-details{position:relative;font-size:11px;color:var(--muted)}
.ranking-details summary{cursor:pointer;line-height:1.3}
.ranking-details p{position:absolute;inset-inline-end:0;top:100%;width:min(330px,75vw);padding:12px;background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:0 4px 18px #173f3518;z-index:5;color:var(--ink);font-size:12px;line-height:1.5}
.leaderboard-table th{padding:5px 8px;line-height:1.2;letter-spacing:0;white-space:nowrap}
.leaderboard-table td{padding:4px 8px;line-height:1.2;vertical-align:middle;font-size:13px;height:auto}
.leaderboard-table td:first-child{width:44px;white-space:nowrap}
.leaderboard-table td:nth-child(n+4){white-space:nowrap}
.leaderboard-table .cell{width:22px;height:22px;flex:0 0 22px;font-size:10px;line-height:1;border-radius:4px}
.leaderboard-table .cells{gap:3px;align-items:center}
.leaderboard-table .subtext{display:inline-block;margin:0;margin-inline-start:7px;font-size:10px;line-height:1.2;font-weight:400}
.leaderboard-table .rich-display{line-height:1.2;vertical-align:middle}
.leaderboard-legend{margin-top:5px;gap:6px 12px;font-size:10px;line-height:1.2}
.leaderboard-page>.hero{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:6px 10px;margin-bottom:4px;border-radius:8px}
.leaderboard-page>.hero .eyebrow{white-space:nowrap}
.leaderboard-page>.hero h2{flex:1;min-width:0;font-size:16px;line-height:1.2;margin:0;overflow-wrap:anywhere}
.leaderboard-page>.hero .btn{margin:0;padding:5px 8px;font-size:12px}
.leaderboard-page>.hero:after{pointer-events:none}
@media(max-width:750px){
 .leaderboard-page{padding:5px 4px}
 .leaderboard-title h1{font-size:18px}
 .leaderboard-topbar{gap:5px}
 .leaderboard-controls{width:100%;gap:4px}
 .leaderboard-controls select{flex:1;min-width:110px;max-width:none}
 .leaderboard-controls select.lang{flex:0 0 65px;min-width:65px}
 .leaderboard-panel{padding:4px}
 .leaderboard-table td,.leaderboard-table th{padding:4px 5px}
}
