/* Filter scope and individual leaderboard positions. */
.v3-board .board-head{margin-bottom:12px;min-width:0}
.v3-board .board-head>div{min-width:0}
.v3-board .board-head h3{overflow-wrap:anywhere}
.v3-board .max{flex-shrink:0}
.v3-board-scope{display:flex;gap:6px;flex-wrap:wrap;align-items:flex-start;margin:0 0 18px;padding-bottom:13px;border-bottom:1px solid #ffffff0b}
.v3-board-scope>span{max-width:100%;padding:5px 8px;border:1px solid #bd9bff24;border-radius:7px;background:#bd9bff0b;color:#ddd1f4;font-size:10px;font-weight:700;line-height:1.4;overflow-wrap:anywhere}
.v3-board-scope .v3-scope-age{border-color:#d5fa7022;background:#d5fa7007;color:#c9d9a9}
.v3-board-empty{font-size:12px;line-height:1.6;color:var(--muted);padding:14px 2px 22px}
.v3-board .v3-ranking,.overall .v3-ranking{display:block;min-width:0}
.v3-rank-item{min-width:0}
.v3-rank-item .rank-row{min-width:0}
.v3-category-rows{display:grid;gap:7px;max-height:590px;overflow:auto;overscroll-behavior-y:contain;scrollbar-width:thin;scrollbar-color:#bd9bff40 transparent;padding:0 3px 2px 0}
.v3-ranking-tail{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;max-height:450px;overflow:auto;overscroll-behavior-y:contain;scrollbar-width:thin;scrollbar-color:#bd9bff40 transparent;padding:2px}
.v3-ranking-tail:empty{display:none}
/* The overall league is the focal point. Card surfaces clip their own light;
   the single-card podium wrappers stay open so outer halos fade naturally. */
@property --swl-gold-angle { syntax: "<angle>"; initial-value: 0deg; inherits: false; }
.overall.v3-board {
  background: radial-gradient(ellipse at 50% 24%,#8c692417,transparent 62%),linear-gradient(150deg,#20202a,#17171f 65%);
  border-color:#d9c39a26;
}
.overall.v3-board::before {height:1px;opacity:1;background:linear-gradient(90deg,transparent,#e9cc8f80 50%,transparent)}
.overall .board-head h3 {font-size:24px;letter-spacing:-.045em}
.overall .board-icon {background:#e4c17a0b;color:#f4dba2;border:1px solid #e4c17a20}
.v3-podium {
  display:grid;grid-template-columns:1fr 1.18fr 1fr;align-items:end;
  gap:22px;margin:30px 4px 25px;min-width:0;position:relative;isolation:isolate;
}
.v3-podium-column {min-width:0;grid-row:1;position:relative}
.v3-podium-place-1 {grid-column:2;z-index:1}
.v3-podium-place-2 {grid-column:1}
.v3-podium-place-3 {grid-column:3}
.v3-podium-label {text-align:center;padding:0 0 12px;color:#a6a4b4;font-size:10px;font-weight:750;letter-spacing:.14em;text-transform:uppercase}
.v3-podium-place-1 .v3-podium-label {color:#f5dca0}
.v3-podium-stack {position:relative;display:block;overflow:visible;max-height:none;padding:0;isolation:isolate}
.v3-podium-place-1 .v3-podium-stack::before {
  content:"";position:absolute;z-index:-1;pointer-events:none;
  inset:-35px -28px -30px;border-radius:50%;
  background:radial-gradient(ellipse,#e8b74730 10%,#c98d2520 40%,#e8b7470a 59%,transparent 73%);
  filter:blur(12px);animation:swl-winner-aura 7s ease-in-out infinite alternate;
}
.overall .v3-podium .rank-row.medal {
  display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;
  gap:13px;min-height:255px;padding:36px 19px 25px;border-radius:22px;
  border:1px solid rgb(var(--podium-rgb) / .32)!important;
  background:radial-gradient(ellipse at 50% 0%,rgb(var(--podium-rgb) / .12),transparent 65%),linear-gradient(160deg,#24242e,#1a1a23 80%)!important;
  box-shadow:inset 0 1px 0 rgb(var(--podium-bright) / .14),0 12px 24px #00000028!important;
  transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s,border-color .35s;
}
.overall .v3-podium-place-1 .rank-row.medal {
  min-height:315px;padding-top:23px;
  border-color:#e8c97f85!important;
  background:radial-gradient(ellipse at 50% 0%,#e9bc5230,transparent 65%),linear-gradient(155deg,#342a21,#222026 62%,#29241e)!important;
  box-shadow:inset 0 1px 0 #fff1b740,inset 0 -1px 0 #f5ca6a35,0 12px 32px #00000036,0 0 26px #eabe5c15!important;
}
/* Keep heat badges, while medal finishes retain their individual identities. */
.overall .v3-podium .rank-row.medal::before,
.overall .v3-podium .rank-row.medal::after {display:none!important}
.overall .v3-podium .rank-row.medal:hover {transform:translateY(-4px)}
.overall .v3-podium .rank-row.medal:focus-visible {outline:3px solid #d5fa70;outline-offset:5px}
.podium-light,.podium-edge {position:absolute;pointer-events:none;border-radius:inherit;z-index:-1}
.podium-light {
  inset:0;opacity:.7;
  background:radial-gradient(ellipse at 20% 105%,rgb(var(--podium-rgb) / .23),transparent 53%),radial-gradient(ellipse at 85% 5%,rgb(var(--podium-bright) / .11),transparent 50%);
  background-size:160% 140%;animation:swl-metal-tide 13s ease-in-out infinite alternate;
  animation-delay:var(--podium-phase);
}
.podium-edge {
  inset:0;padding:1px;
  background:conic-gradient(from var(--swl-gold-angle),transparent 0deg,rgb(var(--podium-rgb) / .1) 50deg,rgb(var(--podium-bright) / .8) 85deg,transparent 125deg 200deg,rgb(var(--podium-rgb) / .1) 240deg,rgb(var(--podium-bright) / .6) 275deg,transparent 315deg);
  -webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);
  -webkit-mask-composite:xor;mask-composite:exclude;
  animation:swl-gold-circuit 14s linear infinite;animation-delay:var(--podium-phase);opacity:.6;
}
.v3-podium-place-1 .podium-edge {padding:2px;opacity:1;animation-duration:8s;background:conic-gradient(from var(--swl-gold-angle),#efc45b18 0deg,#efc45b50 48deg,#fff2b8 85deg,#efc45b18 125deg 200deg,#efc45b50 240deg,#ffe6a1 275deg,#efc45b18 315deg)}
.v3-podium-place-1 .podium-light {opacity:1;animation-duration:11s}
.podium-leader {display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:6px 11px;border:1px solid #f7d78740;border-radius:100px;background:#edc5760b;color:#f8df9f;font-size:9px;font-weight:850;letter-spacing:.12em;text-transform:uppercase;line-height:1.2}
.podium-leader svg {width:20px;height:16px;flex-shrink:0;filter:drop-shadow(0 0 5px #f6cc6d50)}
.overall .v3-podium .rank-row.medal .place {position:absolute;top:17px;right:17px;font-size:30px;line-height:1;font-weight:900;letter-spacing:-.06em;width:auto;color:rgb(var(--podium-bright));opacity:.22;animation:none;text-shadow:none}
.overall .v3-podium-place-1 .rank-row.medal .place {color:#f7d681;opacity:.6;text-shadow:0 0 18px #ffd97936}
.overall .v3-podium .rank-row.medal .avatar {
  position:relative;isolation:isolate;flex:0 0 auto;margin:6px 0 1px;width:58px;height:58px;border-radius:50%;
  border:1px solid rgb(var(--podium-rgb) / .55);background:linear-gradient(145deg,rgb(var(--podium-rgb) / .16),#1c1c24 80%);
  color:rgb(var(--podium-bright));font-size:17px;box-shadow:inset 0 1px 0 rgb(var(--podium-bright) / .14),0 0 20px rgb(var(--podium-rgb) / .05);
}
.overall .v3-podium-place-1 .rank-row.medal .avatar {width:72px;height:72px;font-size:22px;color:#ffe6a6;border-color:#e6c47890;background:linear-gradient(145deg,#a8833933,#272229);box-shadow:inset 0 1px 0 #ffe9a536,0 0 24px #e9bf5e16}
.overall .v3-podium .rank-row.medal .avatar::before {content:"";position:absolute;inset:-6px;border:1px solid rgb(var(--podium-rgb) / .18);border-radius:50%;background:none;mask:none;-webkit-mask:none;animation:none}
.overall .v3-podium-place-1 .rank-row.medal .avatar::before {border-color:#f6db9950}
.overall .v3-podium .rank-row.medal .person {position:relative;flex:0 0 auto;width:100%;min-height:47px;padding:0 0 17px}
.overall .v3-podium .rank-row.medal .person strong {color:#f5f2f8;font-size:16px;line-height:1.35;letter-spacing:-.02em;text-shadow:none}
.overall .v3-podium-place-1 .rank-row.medal .person strong {font-size:20px;color:#fff4d9}
.overall .v3-podium .rank-row.medal .person small {position:absolute;bottom:0;width:100%;font-size:9px;line-height:1.4;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#a6a0ae}
.overall .v3-podium .rank-row.medal .fire-badge {left:50%;bottom:0;transform:translateX(-50%)}
.overall .v3-podium .rank-row.medal .coach-badge {font-size:8px;padding:3px 5px;margin:4px 0 0 4px;vertical-align:2px}
.overall .v3-podium .rank-row.medal .score {text-align:center;margin-top:1px}
.overall .v3-podium .rank-row.medal .score b {font-size:42px;letter-spacing:-.055em;line-height:1;color:rgb(var(--podium-bright));text-shadow:none}
.overall .v3-podium-place-1 .rank-row.medal .score b {font-size:58px;color:#ffe4a0;text-shadow:0 2px 20px #f3c15626}
.overall .v3-podium .rank-row.medal .score small {font-size:8px;letter-spacing:.18em;text-transform:uppercase;color:#a5a0ad;margin-top:7px}
.overall .v3-podium-place-1 .rank-row.medal .score small {color:#c9b887}
@keyframes swl-gold-circuit {to {--swl-gold-angle:360deg}}
@keyframes swl-metal-tide {from {background-position:0% 20%}to {background-position:100% 80%}}
@keyframes swl-winner-aura {from {opacity:.65;transform:scale(.94)}to {opacity:1;transform:scale(1.04)}}
@media(max-width:1050px) {
  .v3-podium {gap:15px;margin-inline:0}
  .overall .v3-podium .rank-row.medal {padding-inline:12px}
  .overall .v3-podium .rank-row.medal .person strong {font-size:14px}
  .overall .v3-podium-place-1 .rank-row.medal .person strong {font-size:18px}
  .overall .v3-podium-place-1 .rank-row.medal .place {top:78px;right:15px;font-size:26px}
}
@media(max-width:650px) {
  .overall .board-head h3 {font-size:21px}
  .v3-board-scope {margin-bottom:13px;gap:5px}
  .v3-board-scope>span {font-size:9px;padding:5px 7px}
  .v3-ranking-tail {grid-template-columns:minmax(0,1fr);gap:7px}
  .v3-podium {grid-template-columns:repeat(2,minmax(0,1fr));gap:19px 13px;margin:22px 0}
  .v3-podium-place-1 {grid-column:1/-1;grid-row:1}
  .v3-podium-place-2 {grid-column:1;grid-row:2}
  .v3-podium-place-3 {grid-column:2;grid-row:2}
  .v3-podium-label {padding-bottom:10px;font-size:9px}
  .v3-podium-place-1 .v3-podium-label {display:none}
  .overall .v3-podium .rank-row.medal {min-height:235px;padding:31px 12px 19px;border-radius:18px;gap:11px}
  .overall .v3-podium-place-1 .rank-row.medal {min-height:290px;padding:23px 20px;gap:14px}
  .overall .v3-podium-place-1 .rank-row.medal .place {top:17px;right:17px;font-size:30px}
  .overall .v3-podium .rank-row.medal .avatar {width:48px;height:48px;font-size:14px}
  .overall .v3-podium-place-1 .rank-row.medal .avatar {width:70px;height:70px;font-size:21px}
  .overall .v3-podium .rank-row.medal .person {min-height:55px}
  .overall .v3-podium-place-1 .rank-row.medal .person {min-height:45px}
  .overall .v3-podium .rank-row.medal .person strong {font-size:13px}
  .overall .v3-podium-place-1 .rank-row.medal .person strong {font-size:21px}
  .overall .v3-podium .rank-row.medal .person small {font-size:8px}
  .overall .v3-podium .rank-row.medal .score b {font-size:36px}
  .overall .v3-podium-place-1 .rank-row.medal .score b {font-size:58px}
  .overall .v3-podium .rank-row.medal:hover {transform:none}
  .v3-category-rows {max-height:540px}
}
body.no-motion .v3-podium *,body.no-motion .v3-podium *::before,body.no-motion .v3-podium *::after {animation:none!important;transition:none!important}
body.no-motion .v3-podium .rank-row.medal:hover {transform:none}
@media(prefers-reduced-motion:reduce) {
  .v3-ranking *,.v3-ranking *::before,.v3-ranking *::after {animation:none!important;transition:none!important}
  .overall .v3-podium .rank-row.medal:hover {transform:none}
}
