.leaderboard-duration-tabs {
  display: flex;
  gap: 5px;
  padding: 0 20px 14px;
}

.leaderboard-duration-tabs button {
  height: 29px;
  padding: 0 13px;
  border: 1px solid #e1e5e8;
  border-radius: 7px;
  background: #fff;
  color: #7d858e;
  font-size: 9px;
}

.leaderboard-duration-tabs button.active {
  border-color: #13b8cf;
  background: #e9f7f9;
  color: #078fa3;
}

.leaderboard-player{display:flex;align-items:center;gap:8px;min-width:0}.player-region{max-width:180px;padding:3px 7px;display:inline-flex;align-items:center;gap:4px;border:1px solid #e1e8eb;border-radius:999px;background:#f7fafb;color:#71808d;font-size:9px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.player-region.neutral{background:#fafafa;color:#7d858e}.player-region>span{font-size:11px;line-height:1}@media(max-width:620px){.leaderboard-player{align-items:flex-start;flex-direction:column;gap:5px}.player-region{max-width:130px}}
.leaderboard-table th:nth-child(2),.leaderboard-table td:nth-child(2){width:280px;min-width:280px}
.leaderboard-table td:nth-child(2){padding-top:0;padding-bottom:0}
.leaderboard-table td:nth-child(2) .leaderboard-player{min-height:59px}
.leaderboard-player>div{display:grid;gap:3px}.leaderboard-player>div small{color:#9aa5ae;font-size:9px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.3px}.leaderboard-report-button{width:34px;height:30px;border:1px solid #e1e8eb;border-radius:9px;background:#fff;color:#7a8790;font-weight:800;letter-spacing:1px}.leaderboard-report-button:hover{border-color:#13b8cf;color:#0799ae;background:#effbfd}.report-dialog{position:fixed;z-index:1000;inset:0;display:grid;place-items:center;padding:20px;background:rgba(15,24,31,.58);backdrop-filter:blur(7px)}.report-dialog.hidden{display:none}.report-card{width:min(520px,100%);padding:24px;border-radius:18px;background:#fff;box-shadow:0 28px 90px rgba(0,0,0,.3)}.report-card header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:18px}.report-card header span{color:#10a8bd;font-size:10px;font-weight:800;letter-spacing:1.5px}.report-card h2{margin:4px 0 0;font-size:22px}.report-close{width:36px;height:36px;border:0;border-radius:10px;background:#f3f5f6;color:#66717a;font-size:22px}.report-target{display:grid;gap:3px;padding:13px 15px;border:1px solid #e5eaed;border-radius:12px;background:#f8fafb}.report-target small{color:#7f8b94}.report-type{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:14px 0}.report-type button{height:40px;border:1px solid #dfe6e9;border-radius:10px;background:#fff;color:#67737c}.report-type button.active{border-color:#13b8cf;background:#effbfd;color:#078fa3;font-weight:750}.report-card label{display:grid;gap:7px;margin-top:13px;color:#4e5b64;font-size:12px;font-weight:700}.report-card select,.report-card textarea{width:100%;border:1px solid #dce4e7;border-radius:10px;background:#fff;color:#20282e;font:inherit;outline:0}.report-card select{height:43px;padding:0 11px}.report-card textarea{padding:11px;resize:vertical;line-height:1.55}.report-card select:focus,.report-card textarea:focus{border-color:#13b8cf;box-shadow:0 0 0 3px rgba(19,184,207,.1)}.report-message{min-height:20px;margin:10px 0 0;color:#d85b5b;font-size:11px}.report-message.success{color:#11885c}.report-card footer{display:flex;justify-content:flex-end;gap:9px;margin-top:8px}.report-card footer button{height:42px;padding:0 18px;border-radius:10px;font-weight:750}.report-cancel{border:1px solid #dfe5e8;background:#fff;color:#65717a}.report-submit{border:0;background:#13b8cf;color:#fff}.report-submit:disabled{opacity:.6}@media(max-width:700px){.leaderboard-table{min-width:880px}.report-card{padding:19px}.report-type{grid-template-columns:1fr}}

.leaderboard-replay-button{height:30px;margin-right:6px;padding:0 10px;border:1px solid #9ce4ed;border-radius:9px;background:#effbfd;color:#078fa3;font-size:10px;font-weight:800;white-space:nowrap}.leaderboard-replay-button:hover{background:#13b8cf;color:#fff}.replay-dialog{position:fixed;z-index:1100;inset:0;display:grid;place-items:center;padding:20px;background:rgba(8,14,20,.72);backdrop-filter:blur(8px)}.replay-dialog.hidden{display:none}.replay-card{width:min(960px,100%);padding:18px;border-radius:18px;background:#111b22;box-shadow:0 28px 90px rgba(0,0,0,.55);color:#fff}.replay-card header{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin:2px 4px 15px}.replay-card header span{color:#43ddeb;font-size:10px;font-weight:800;letter-spacing:1.5px}.replay-card h2{margin:5px 0 4px;font-size:21px}.replay-card p{margin:0;color:#9bb0bd;font-size:12px}.replay-close{width:36px;height:36px;border:0;border-radius:10px;background:#22313b;color:#dceaf0;font-size:23px}.replay-viewport{position:relative;min-height:clamp(290px,55vw,530px);overflow:hidden;border:1px solid #334853;border-radius:12px;background:#65727a}.replay-viewport canvas{display:block;width:100%;height:100%}.replay-crosshair{position:absolute;z-index:1;top:50%;left:50%;width:18px;height:18px;transform:translate(-50%,-50%);pointer-events:none}.replay-crosshair:before,.replay-crosshair:after{position:absolute;content:"";background:#20d5e5;box-shadow:0 0 0 1px rgba(0,0,0,.55)}.replay-crosshair:before{top:8px;left:0;width:18px;height:2px}.replay-crosshair:after{top:0;left:8px;width:2px;height:18px}.replay-controls{display:flex;align-items:center;gap:12px;padding:14px 4px 0}.replay-controls button,.replay-controls select{height:34px;border:1px solid #36515e;border-radius:8px;background:#1b2a33;color:#f2fbfd;font:inherit}.replay-controls button{padding:0 14px;font-weight:800}.replay-controls input{flex:1;accent-color:#13b8cf}.replay-controls label{display:flex;align-items:center;gap:6px;color:#9bb0bd;font-size:11px}.replay-controls select{padding:0 6px}.replay-controls output{min-width:90px;color:#c4d4dc;font:11px ui-monospace,SFMono-Regular,Consolas,monospace;text-align:right}@media(max-width:620px){.replay-card{padding:12px}.replay-controls{flex-wrap:wrap;gap:9px}.replay-controls input{order:3;flex-basis:100%}.replay-viewport{min-height:300px}}

/* Replay viewer v2 */
body.replay-active{overflow:hidden}.replay-dialog{padding:14px;background:rgba(12,19,24,.66);backdrop-filter:blur(14px)}.replay-card{width:min(1180px,calc(100vw - 28px));max-height:calc(100vh - 28px);padding:0;overflow:auto;border:1px solid rgba(255,255,255,.1);border-radius:18px;background:#10191f;box-shadow:0 30px 100px rgba(0,0,0,.5)}.replay-card .replay-topbar{display:flex;align-items:center;justify-content:space-between;min-height:82px;margin:0;padding:17px 20px;border-bottom:1px solid rgba(255,255,255,.08)}.replay-heading{min-width:0}.replay-card header .replay-label{color:#33d6e6;font-size:9px;letter-spacing:1.7px}.replay-card h2{margin:3px 0 2px;font-size:19px;line-height:1.2}.replay-card p{color:#8599a5;font-size:10px}.replay-close{flex:0 0 auto;width:38px;height:38px;border:1px solid rgba(255,255,255,.08);background:#1b2932;color:#c4d2d9;transition:.16s ease}.replay-close:hover{transform:rotate(4deg);background:#263943;color:#fff}.replay-stage-shell{position:relative;margin:16px 18px 0}.replay-viewport{position:relative;width:100%;min-height:0;aspect-ratio:16/9;overflow:hidden;border:1px solid #35464e;border-radius:13px;background:#adbdba;box-shadow:inset 0 0 0 1px rgba(255,255,255,.04)}.replay-viewport.hidden,.replay-controls.hidden,.replay-state.hidden{display:none}.replay-viewport canvas{position:absolute;inset:0;width:100%;height:100%}.replay-state{display:grid;place-items:center;align-content:center;min-height:min(61vh,620px);padding:48px;border:1px solid #263740;border-radius:13px;background:radial-gradient(circle at 50% 40%,#1b2a32,#121d23 68%);text-align:center}.replay-state strong{margin-top:18px;color:#eff8fa;font-size:18px}.replay-state p{max-width:520px;margin-top:7px;color:#8298a4;font-size:12px;line-height:1.7}.replay-state.error .replay-loader{animation:none;border-color:#3b4b53;border-top-color:#e88989}.replay-loader{width:38px;height:38px;border:3px solid #2b414a;border-top-color:#24ccdd;border-radius:50%;animation:replay-spin .8s linear infinite}@keyframes replay-spin{to{transform:rotate(360deg)}}.replay-hud{position:absolute;z-index:2;top:14px;left:50%;display:flex;gap:7px;transform:translateX(-50%);pointer-events:none}.replay-hud>div{min-width:104px;padding:8px 12px;border:1px solid rgba(255,255,255,.09);border-radius:8px;background:rgba(19,29,35,.72);box-shadow:0 5px 18px rgba(0,0,0,.14);backdrop-filter:blur(7px)}.replay-hud span{display:block;color:#9eb0b8;font-size:8px;letter-spacing:.8px}.replay-hud strong{display:block;margin-top:1px;overflow:hidden;color:#fff;font-size:16px;text-overflow:ellipsis;white-space:nowrap}.replay-watermark{position:absolute;z-index:2;right:14px;bottom:12px;padding:4px 7px;border:1px solid rgba(255,255,255,.15);border-radius:5px;background:rgba(15,25,31,.55);color:#c5d3d8;font-size:8px;font-weight:800;letter-spacing:1px;pointer-events:none}.replay-controls{display:grid;grid-template-columns:auto minmax(120px,1fr) auto auto;align-items:center;gap:13px;padding:15px 20px 18px}.replay-controls button{display:flex;align-items:center;justify-content:center;gap:7px;min-width:92px;height:38px;padding:0 14px;border:1px solid #2b9eae;border-radius:9px;background:#16333b;color:#eafcfe}.replay-controls button span{width:12px;color:#42dceb;font-size:11px}.replay-controls button b{font-size:11px}.replay-controls input{width:100%;height:20px;accent-color:#1cc9dc}.replay-controls output{min-width:98px;color:#d5e2e7;font-size:10px}.replay-controls label{height:38px;padding-left:10px;border-left:1px solid #2b3a42;color:#8ea1aa}.replay-controls select{height:34px;border-color:#314751;background:#18262e;color:#f2f8fa}@media(max-width:700px){.replay-dialog{padding:0}.replay-card{width:100vw;max-height:100vh;border:0;border-radius:0}.replay-card .replay-topbar{min-height:72px;padding:13px 14px}.replay-stage-shell{margin:10px}.replay-state{min-height:54vh;padding:30px 20px}.replay-hud{top:8px;gap:4px}.replay-hud>div{min-width:72px;padding:6px 8px}.replay-hud strong{font-size:12px}.replay-controls{grid-template-columns:auto 1fr auto;padding:12px 11px 14px}.replay-controls label{display:none}.replay-controls output{min-width:82px}.replay-controls input{grid-column:1/-1;grid-row:2}.replay-viewport{border-radius:9px}}

/* Replay viewer v3: the scene is the interface; controls float above it. */
.replay-dialog{padding:24px;background:rgba(8,13,17,.72);backdrop-filter:blur(16px)}
.replay-card{position:relative;width:min(1240px,calc(100vw - 48px));max-height:calc(100vh - 48px);overflow:hidden;border:1px solid rgba(255,255,255,.14);border-radius:20px;background:#0c1419;box-shadow:0 32px 100px rgba(0,0,0,.58)}
.replay-card .replay-topbar{position:absolute;z-index:5;top:0;right:0;left:0;min-height:0;margin:0;padding:20px 22px 62px;border:0;background:linear-gradient(180deg,rgba(8,15,20,.9),rgba(8,15,20,.52) 52%,transparent);pointer-events:none}
.replay-heading{max-width:calc(100% - 70px)}
.replay-card header .replay-label{font-size:8px;letter-spacing:2.2px}
.replay-card h2{margin:4px 0 3px;font-size:18px;letter-spacing:-.2px}
.replay-card p{color:#a9bac2;font-size:10px}
.replay-close{width:36px;height:36px;border:1px solid rgba(255,255,255,.16);border-radius:50%;background:rgba(12,24,31,.72);color:#edf7fa;pointer-events:auto;backdrop-filter:blur(10px)}
.replay-close:hover{transform:none;border-color:rgba(72,220,234,.7);background:rgba(21,51,59,.88)}
.replay-stage-shell{margin:0}
.replay-viewport{aspect-ratio:16/9;border:0;border-radius:0;background:#aebcba;box-shadow:none}
.replay-state{width:100%;min-height:0;aspect-ratio:16/9;padding:90px 30px 70px;border:0;border-radius:0;background:radial-gradient(circle at 50% 44%,#1e3038,#0e181e 70%)}
.replay-hud{top:22px;gap:6px}
.replay-hud>div{min-width:94px;padding:7px 11px;border:1px solid rgba(255,255,255,.14);border-radius:7px;background:rgba(12,24,30,.68);box-shadow:0 8px 24px rgba(0,0,0,.16);backdrop-filter:blur(12px)}
.replay-hud span{color:#a7b9c1;font-size:7px;letter-spacing:1px}
.replay-hud strong{margin-top:2px;font-size:15px}
.replay-controls{position:absolute;z-index:5;right:18px;bottom:16px;left:18px;grid-template-columns:auto minmax(120px,1fr) auto auto;gap:11px;padding:9px 10px;border:1px solid rgba(255,255,255,.14);border-radius:12px;background:rgba(8,17,22,.76);box-shadow:0 12px 32px rgba(0,0,0,.24);backdrop-filter:blur(14px)}
.replay-controls button{min-width:78px;height:34px;padding:0 12px;border:0;border-radius:8px;background:#13b8cf;color:#04242a}
.replay-controls button span{color:#04242a}.replay-controls button b{font-size:10px}
.replay-controls output{min-width:86px;color:#dce8ec;font-size:9px}
.replay-controls label{height:32px;padding-left:9px;font-size:9px}
.replay-controls select{height:30px;border-color:rgba(255,255,255,.15);border-radius:7px;background:rgba(22,37,45,.92);font-size:10px}
@media(max-width:700px){.replay-dialog{padding:0}.replay-card{width:100vw;max-height:100vh;border:0;border-radius:0}.replay-card .replay-topbar{padding:14px 14px 48px}.replay-card h2{font-size:15px}.replay-card p{font-size:8px}.replay-close{width:32px;height:32px}.replay-hud{top:14px}.replay-hud>div{min-width:72px;padding:5px 8px}.replay-controls{right:8px;bottom:8px;left:8px;grid-template-columns:auto 1fr auto;padding:7px}.replay-controls label{display:none}.replay-controls input{grid-column:1/-1;grid-row:2}.replay-state{min-height:70vh;aspect-ratio:auto}}

.leaderboard-table tbody tr{position:relative}
.leaderboard-player[class*="effect-"]{position:static;isolation:auto;contain:none;overflow:visible;clip-path:none;padding:0 3px 0 0}
.leaderboard-player[class*="effect-"]>div,.leaderboard-player[class*="effect-"]>.player-region{position:relative;z-index:2}
.leaderboard-player[class*="effect-"]>div{padding-left:0}
.leaderboard-player[class*="effect-"]>div:before{display:none}
.leaderboard-effect-art{position:absolute;z-index:1;inset:0;overflow:hidden;pointer-events:none;contain:paint;background-repeat:no-repeat}
.leaderboard-cell-content{position:relative;z-index:2;display:inline-flex;align-items:center;gap:6px}
.leaderboard-player.effect-cyan_name{--effect-color:#20d9ef}.leaderboard-player.effect-cyan_name strong{color:#078fa3;text-shadow:0 0 9px rgba(32,217,239,.5)}
.leaderboard-player.effect-basic_gold{--effect-color:#e4b85f}.leaderboard-player.effect-basic_gold strong{color:#a87516;text-shadow:0 0 9px rgba(228,184,95,.5)}
.leaderboard-player.effect-red_name{--effect-color:#f05d68}.leaderboard-player.effect-red_name strong{color:#c23b49;text-shadow:0 0 9px rgba(240,93,104,.5)}
.leaderboard-player.effect-pink_name{--effect-color:#ef83c6}.leaderboard-player.effect-pink_name strong{color:#c24a96;text-shadow:0 0 9px rgba(239,131,198,.5)}
.leaderboard-player.effect-spectrum_name{--effect-color:#8eb7ff}.leaderboard-player.effect-spectrum_name strong{background:linear-gradient(90deg,#ff4d6d,#ffcb4d,#4de1b5,#5d8dff,#cf68ff,#ff4d6d);background-size:240% 100%;background-clip:text;-webkit-background-clip:text;color:transparent;animation:effect7-spectrum 4s linear infinite}
.leaderboard-player.effect-cyan_name>div:before,.leaderboard-player.effect-basic_gold>div:before,.leaderboard-player.effect-red_name>div:before,.leaderboard-player.effect-pink_name>div:before,.leaderboard-player.effect-spectrum_name>div:before{display:none}
.leaderboard-player.effect-electric_arc{--effect-color:#8ceeff}.leaderboard-player.effect-electric_arc .leaderboard-effect-art{background-image:url('/assets/effects/spark1.png');background-size:10px;background-position:78% 22%;animation:effect7-spark 1.4s steps(2,end) infinite}.leaderboard-player.effect-electric_arc .leaderboard-effect-art:before{content:"";position:absolute;inset:3px;border:1px solid #8ceeff;border-radius:4px;clip-path:polygon(0 32%,18% 42%,28% 18%,45% 35%,59% 8%,72% 36%,100% 24%,100% 76%,78% 65%,65% 90%,48% 69%,31% 95%,20% 67%,0 78%);box-shadow:0 0 10px rgba(140,238,255,.75);animation:effect7-arc 1.1s steps(2,end) infinite}.leaderboard-player.effect-electric_arc .leaderboard-effect-art:after{content:"";position:absolute;left:3%;right:3%;top:50%;height:1px;background:#f5ffff;box-shadow:0 0 8px 2px #8ceeff}
.leaderboard-player.effect-sakura_fall{--effect-color:#ff9fca}.leaderboard-player.effect-sakura_fall .leaderboard-effect-art{background-image:url('/assets/effects/sakura.png'),url('/assets/effects/sakura.png'),url('/assets/effects/sakura.png');background-size:11px,9px,7px;background-position:88% -12%,96% 18%,91% -28%;animation:effect7-petals 4.4s linear infinite}.leaderboard-player.effect-sakura_fall strong:before{content:"";display:inline-block;width:13px;height:13px;margin-right:6px;background:url('/assets/effects/sakura.png') center/contain no-repeat;vertical-align:-2px;filter:drop-shadow(0 0 4px #ff9fca)}
.leaderboard-player.effect-meteor_shower{--effect-color:#c9c6ff}.leaderboard-player.effect-meteor_shower .leaderboard-effect-art{background-image:url('/assets/effects/spark1.png'),url('/assets/effects/snowflake1.png');background-size:10px,8px;background-position:89% -10%,97% 18%;animation:effect7-meteors 3.8s linear infinite}.leaderboard-player.effect-meteor_shower .leaderboard-effect-art:before{content:"";position:absolute;top:-12px;right:6%;width:2px;height:34px;background:linear-gradient(#fff,#c9c6ff,transparent);box-shadow:0 0 7px #c9c6ff;transform:rotate(24deg);animation:effect7-meteor 1.7s linear infinite}
.leaderboard-player.effect-rgb_offset{--effect-color:#ff75cf}.leaderboard-player.effect-rgb_offset strong{position:relative;color:#fff;text-shadow:-2px 0 #ff3b75,2px 0 #26e6ff;animation:effect7-rgb .8s steps(2,end) infinite}
.leaderboard-player.effect-rainbow_field{--effect-color:#ff4da6}.leaderboard-player.effect-rainbow_field .leaderboard-effect-art{background:linear-gradient(105deg,#ff1744,#ff8a00,#ffe600,#00e676,#00b0ff,#7c4dff,#ff1744);background-size:300% 100%;opacity:.8;animation:effect7-rainbow 5s linear infinite}.leaderboard-player.effect-rainbow_field strong{color:#fff;text-shadow:0 0 7px #000,0 0 10px rgba(255,255,255,.75)}
@keyframes effect7-spectrum{to{background-position:240% 0}}
@keyframes effect7-spark{50%{opacity:.28;transform:scale(.7)}}
@keyframes effect7-arc{50%{filter:brightness(1.8);transform:translateX(1px)}}
@keyframes effect7-petals{to{background-position:84% 108%,95% 126%,88% 94%}}
@keyframes effect7-meteors{to{background-position:84% 112%,95% 124%}}
@keyframes effect7-meteor{to{transform:translate(-24px,48px) rotate(24deg);opacity:0}}
@keyframes effect7-rgb{50%{text-shadow:-4px 0 #ff3b75,4px 0 #26e6ff}}
@keyframes effect7-rainbow{to{background-position:300% 0}}

/* v8: independent sprites prevent tiling and keep every animation in-cell. */
.leaderboard-effect-art{background:none!important;will-change:opacity;transform:translateZ(0)}
.leaderboard-effect-art i{position:absolute;display:block;pointer-events:none;will-change:transform,opacity;backface-visibility:hidden}
.leaderboard-player.effect-electric_arc .leaderboard-effect-art{opacity:1}.leaderboard-player.effect-electric_arc .fx-arc{left:1%;right:1%;height:10px;border:1px solid #bdf7ff;border-radius:45%;box-shadow:0 0 6px #8ceeff,0 0 12px rgba(140,238,255,.65);clip-path:polygon(0 45%,8% 20%,17% 62%,27% 12%,36% 55%,46% 25%,55% 70%,65% 14%,75% 55%,85% 20%,100% 48%,100% 58%,86% 34%,76% 72%,65% 30%,55% 82%,45% 42%,36% 74%,26% 32%,17% 82%,8% 40%,0 65%);opacity:.85}.leaderboard-player.effect-electric_arc .fx-arc-a{top:2px;animation:effect8-arc-flicker .62s steps(2,end) infinite}.leaderboard-player.effect-electric_arc .fx-arc-b{bottom:2px;transform:scaleX(-1);animation:effect8-arc-flicker .83s steps(2,end) -.27s infinite}.leaderboard-player.effect-electric_arc .fx-arc-c{top:50%;transform:translateY(-50%) scaleX(.84);opacity:.55;animation:effect8-arc-flicker .71s steps(2,end) -.43s infinite}.leaderboard-player.effect-electric_arc .leaderboard-effect-art:after{content:"";position:absolute;inset:2px;border:1px solid rgba(140,238,255,.4);border-radius:5px;box-shadow:0 0 9px rgba(140,238,255,.5),inset 0 0 9px rgba(140,238,255,.16)}
.leaderboard-player.effect-sakura_fall .leaderboard-effect-art{background:none!important}.leaderboard-player.effect-sakura_fall .fx-petal{width:9px;height:9px;background:url('/assets/effects/sakura.png') center/contain no-repeat;filter:drop-shadow(0 0 3px rgba(255,159,202,.8));top:-14px;left:var(--petal-x,88%);animation:effect8-petal-fall var(--petal-speed,2.8s) linear var(--petal-delay,0s) infinite}.leaderboard-player.effect-sakura_fall .fx-petal-1{--petal-x:76%;--petal-speed:2.9s;--petal-delay:-.2s;--petal-drift:-10px}.leaderboard-player.effect-sakura_fall .fx-petal-2{--petal-x:84%;--petal-speed:3.7s;--petal-delay:-1.6s;--petal-drift:7px;transform:scale(1.1)}.leaderboard-player.effect-sakura_fall .fx-petal-3{--petal-x:91%;--petal-speed:2.6s;--petal-delay:-2.1s;--petal-drift:-5px;transform:scale(.7)}.leaderboard-player.effect-sakura_fall .fx-petal-4{--petal-x:97%;--petal-speed:4.1s;--petal-delay:-.9s;--petal-drift:8px}.leaderboard-player.effect-sakura_fall .fx-petal-5{--petal-x:81%;--petal-speed:3.3s;--petal-delay:-2.8s;--petal-drift:-7px;transform:scale(.64)}.leaderboard-player.effect-sakura_fall .fx-petal-6{--petal-x:94%;--petal-speed:3.1s;--petal-delay:-1.1s;--petal-drift:5px}.leaderboard-player.effect-sakura_fall .fx-petal-7{--petal-x:87%;--petal-speed:4.4s;--petal-delay:-3.4s;--petal-drift:-9px;transform:scale(.76)}.leaderboard-player.effect-sakura_fall .fx-petal-8{--petal-x:99%;--petal-speed:2.7s;--petal-delay:-.5s;--petal-drift:6px;transform:scale(.58)}
.leaderboard-player.effect-meteor_shower .leaderboard-effect-art{background:none!important}.leaderboard-player.effect-meteor_shower .fx-meteor{top:-18px;left:var(--meteor-x,92%);width:2px;height:46px;border-radius:2px;background:linear-gradient(to bottom,#fff 0%,#e8e4ff 35%,rgba(201,198,255,0) 100%);box-shadow:0 0 5px 1px #c9c6ff;transform:rotate(33deg);transform-origin:top center;animation:effect8-meteor-fall var(--meteor-speed,1.05s) linear var(--meteor-delay,0s) infinite}.leaderboard-player.effect-meteor_shower .fx-meteor:after{content:"";position:absolute;top:0;left:-2px;width:6px;height:18px;background:linear-gradient(to bottom,rgba(255,255,255,.9),rgba(201,198,255,0));filter:blur(2px)}.leaderboard-player.effect-meteor_shower .fx-meteor-1{--meteor-x:87%;--meteor-speed:1s;--meteor-delay:-.1s;transform:rotate(33deg) scale(.8)}.leaderboard-player.effect-meteor_shower .fx-meteor-2{--meteor-x:93%;--meteor-speed:1.2s;--meteor-delay:-.72s;transform:rotate(33deg) scale(1.15)}.leaderboard-player.effect-meteor_shower .fx-meteor-3{--meteor-x:98%;--meteor-speed:.9s;--meteor-delay:-.45s;transform:rotate(33deg) scale(.64)}.leaderboard-player.effect-meteor_shower .fx-meteor-4{--meteor-x:90%;--meteor-speed:1.35s;--meteor-delay:-1s;transform:rotate(33deg) scale(.9)}.leaderboard-player.effect-meteor_shower .fx-meteor-5{--meteor-x:96%;--meteor-speed:1.08s;--meteor-delay:-.3s;transform:rotate(33deg) scale(.72)}.leaderboard-player.effect-meteor_shower .fx-meteor-6{--meteor-x:85%;--meteor-speed:1.28s;--meteor-delay:-.84s;transform:rotate(33deg) scale(.58)}
@keyframes effect8-arc-flicker{0%,100%{opacity:.3;filter:brightness(.9)}35%{opacity:1;filter:brightness(1.9)}68%{opacity:.55;filter:brightness(1.2)}}@keyframes effect8-petal-fall{0%{transform:translate3d(0,-12px,0) rotate(0deg);opacity:0}12%{opacity:1}55%{transform:translate3d(var(--petal-drift,-8px),42px,0) rotate(150deg);opacity:.9}100%{transform:translate3d(calc(var(--petal-drift,-8px) + 8px),118px,0) rotate(310deg);opacity:0}}@keyframes effect8-meteor-fall{0%{transform:translate3d(0,-12px,0) rotate(33deg);opacity:0}8%{opacity:1}100%{transform:translate3d(-52px,112px,0) rotate(33deg);opacity:0}}
.leaderboard-player.effect-rainbow_field .leaderboard-effect-art{background:transparent!important;animation:none!important;overflow:hidden}
.leaderboard-player.effect-rainbow_field .leaderboard-effect-art:before{content:"";position:absolute;inset:-70% -35%;background:linear-gradient(105deg,#ff1744,#ff8a00,#ffe600,#00e676,#00b0ff,#7c4dff,#ff1744);opacity:.82;will-change:transform;animation:effect8-rainbow-pan 2.8s linear infinite}
@keyframes effect8-rainbow-pan{to{transform:translate3d(28%,0,0)}}

/* v9: starlit sky and visible petal sprites. */
.leaderboard-player.effect-sakura_fall .leaderboard-effect-art{background:none!important}
.leaderboard-player.effect-sakura_fall .fx-petal{top:2px;width:6px;height:9px;background:#ffafd0!important;border:1px solid rgba(255,235,245,.72);border-radius:72% 28% 68% 32%;filter:drop-shadow(0 0 3px rgba(255,125,185,.95));animation:effect9-petal-fall var(--petal-speed,2.2s) linear var(--petal-delay,0s) infinite!important}
.leaderboard-player.effect-sakura_fall .fx-petal,.leaderboard-player.effect-meteor_shower .fx-star{animation:none!important}

/* Meimei: runs from behind the name toward the score. */
.leaderboard-player.effect-meimei,.leaderboard-player.effect-meimei2{--meimei-size:min(100%,58px);--meimei-start:12px;--meimei-end:calc(100% - var(--meimei-size) - 4px)}
.leaderboard-player.effect-meimei strong,.leaderboard-player.effect-meimei2 strong{color:#fff1f7;text-shadow:0 0 8px rgba(249,168,212,.72)}
.fx-meimei{position:absolute;left:var(--meimei-start,2px);top:50%;width:var(--meimei-size,42px);height:var(--meimei-size,42px);transform:translateY(-50%);object-fit:contain;max-width:none;pointer-events:none;filter:drop-shadow(0 1px 3px rgba(31,12,22,.48)) drop-shadow(0 0 5px rgba(249,168,212,.28));will-change:left,opacity;animation:meimei-run 4.8s linear infinite}
.fx-meimei img{display:block;width:100%;height:100%;object-fit:contain}
@keyframes meimei-run{0%{left:var(--meimei-start,2px);opacity:0}7%{opacity:1}82%{opacity:1}100%{left:var(--meimei-end,80%);opacity:0}}
@media(prefers-reduced-motion:reduce){.fx-meimei{left:var(--meimei-end,80%);animation:none;opacity:1}}

/* First effect batch: live leaderboard. */
.leaderboard-player.effect-breathing_glow{--effect-color:#67e8f9}
.leaderboard-player.effect-breathing_glow strong{color:#0b8fa3;text-shadow:0 0 10px rgba(103,232,249,.8);animation:first-live-breathe-text 2.8s ease-in-out infinite}
.leaderboard-player.effect-breathing_glow .leaderboard-effect-art:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 26% 50%,rgba(103,232,249,.28),transparent 54%);animation:first-live-breathe-glow 2.8s ease-in-out infinite}
.leaderboard-player.effect-gradient_outline{--effect-color:#38bdf8}
.leaderboard-player.effect-gradient_outline strong{background:linear-gradient(90deg,#67e8f9,#60a5fa,#a78bfa,#67e8f9);background-size:240% 100%;background-clip:text;-webkit-background-clip:text;color:transparent;animation:first-live-gradient-pan 3s linear infinite}
.leaderboard-player.effect-gradient_outline .leaderboard-effect-art:before{content:"";position:absolute;inset:1px;border:1px solid rgba(103,232,249,.55);border-radius:5px;box-shadow:0 0 9px rgba(56,189,248,.4),inset 0 0 9px rgba(56,189,248,.12)}
.leaderboard-player.effect-rain_fall{--effect-color:#7dd3fc}.leaderboard-player.effect-rain_fall strong{color:#176f92;text-shadow:0 0 9px rgba(125,211,252,.7)}
.leaderboard-player.effect-rain_fall .leaderboard-effect-art:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(125,211,252,.12),transparent 74%)}
.leaderboard-player.effect-snow_fall{--effect-color:#bae6fd}.leaderboard-player.effect-snow_fall strong{color:#2d708d;text-shadow:0 0 9px rgba(186,230,253,.9)}
.leaderboard-player.effect-snow_fall .leaderboard-effect-art:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 70% 35%,rgba(224,242,254,.2),transparent 58%)}
.leaderboard-player.effect-autumn_leaves{--effect-color:#f59e0b}.leaderboard-player.effect-autumn_leaves strong{color:#a65d08;text-shadow:0 0 9px rgba(245,158,11,.7)}
.leaderboard-player.effect-autumn_leaves .leaderboard-effect-art:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(245,158,11,.12),transparent 74%)}
.leaderboard-player.effect-ember_rise{--effect-color:#fb7185}.leaderboard-player.effect-ember_rise strong{color:#b13f51;text-shadow:0 0 9px rgba(251,113,133,.75)}
.leaderboard-player.effect-ember_rise .leaderboard-effect-art:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 100%,rgba(251,113,133,.2),transparent 60%)}
.leaderboard-player.effect-scan_line{--effect-color:#2dd4bf}.leaderboard-player.effect-scan_line strong{color:#0b7c70;text-shadow:0 0 9px rgba(45,212,191,.75)}
.leaderboard-player.effect-data_stream{--effect-color:#34d399}.leaderboard-player.effect-data_stream strong{color:#137a52;text-shadow:0 0 9px rgba(52,211,153,.72)}
.leaderboard-player.effect-data_stream .leaderboard-effect-art:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(52,211,153,.12),transparent 72%)}
.leaderboard-player .fx-rain,.leaderboard-player .fx-snow,.leaderboard-player .fx-leaf,.leaderboard-player .fx-ember,.leaderboard-player .fx-scan,.leaderboard-player .fx-code{position:absolute;display:block;pointer-events:none;will-change:transform,opacity}
.leaderboard-player .fx-rain{top:-12px;left:var(--x);width:1px;height:11px;background:linear-gradient(rgba(224,242,254,0),#7dd3fc);opacity:0;animation:first-live-rain-fall var(--speed,1.2s) linear var(--delay,0s) infinite}
.leaderboard-player .fx-snow{top:-8px;left:var(--x);width:var(--size,3px);height:var(--size,3px);border-radius:50%;background:#fff;box-shadow:0 0 6px #e0f2fe;opacity:0;animation:first-live-snow-fall var(--speed,4s) linear var(--delay,0s) infinite}
.leaderboard-player .fx-leaf{top:-10px;left:var(--x);width:var(--size,6px);height:calc(var(--size,6px) * .62);border-radius:70% 30% 65% 35%;background:linear-gradient(135deg,#fbbf24,#d97706);opacity:0;animation:first-live-leaf-fall var(--speed,4s) linear var(--delay,0s) infinite}
.leaderboard-player .fx-ember{bottom:-7px;left:var(--x);width:3px;height:3px;border-radius:50%;background:#fb7185;box-shadow:0 0 7px #fb7185;opacity:0;animation:first-live-ember-rise var(--speed,3s) ease-out var(--delay,0s) infinite}
.leaderboard-player .fx-scan{top:0;bottom:0;left:-32%;width:28%;background:linear-gradient(90deg,transparent,rgba(45,212,191,.48),transparent);animation:first-live-scan 2.4s linear infinite}
.leaderboard-player .fx-code{top:-12px;left:var(--x);color:#34d399;font:800 8px/1 ui-monospace,SFMono-Regular,Consolas,monospace;text-shadow:0 0 6px rgba(52,211,153,.8);opacity:0;animation:first-live-data-fall var(--speed,2.4s) linear var(--delay,0s) infinite}
@keyframes first-live-breathe-text{0%,100%{text-shadow:0 0 7px rgba(103,232,249,.45)}50%{text-shadow:0 0 16px rgba(103,232,249,.95)}}
@keyframes first-live-breathe-glow{0%,100%{opacity:.4;transform:scale(.96)}50%{opacity:.9;transform:scale(1.04)}}
@keyframes first-live-gradient-pan{to{background-position:240% 0}}
@keyframes first-live-rain-fall{0%{transform:translate3d(0,-10px,0);opacity:0}18%{opacity:.9}100%{transform:translate3d(var(--drift,0),72px,0);opacity:0}}
@keyframes first-live-snow-fall{0%{transform:translate3d(0,-8px,0) rotate(0);opacity:0}15%{opacity:.9}100%{transform:translate3d(var(--drift,0),72px,0) rotate(220deg);opacity:0}}
@keyframes first-live-leaf-fall{0%{transform:translate3d(0,-10px,0) rotate(0);opacity:0}16%{opacity:.95}100%{transform:translate3d(var(--drift,0),72px,0) rotate(var(--spin,360deg));opacity:0}}
@keyframes first-live-ember-rise{0%{transform:translate3d(0,8px,0) scale(.8);opacity:0}20%{opacity:.9}100%{transform:translate3d(var(--drift,0),-58px,0) scale(.2);opacity:0}}
@keyframes first-live-scan{0%{transform:translateX(0)}100%{transform:translateX(470%)}}
@keyframes first-live-data-fall{0%{transform:translate3d(0,-10px,0);opacity:0}18%{opacity:.9}100%{transform:translate3d(0,72px,0);opacity:0}}

/* Second effect batch: live leaderboard. */
.leaderboard-player.effect-aurora{--effect-color:#a855f7}.leaderboard-player.effect-aurora strong{color:#6d28d9;text-shadow:0 0 12px rgba(168,85,247,.85)}
.leaderboard-player.effect-aurora .leaderboard-effect-art:before{content:"";position:absolute;inset:-30%;background:conic-gradient(from 120deg,transparent,rgba(34,211,238,.24),transparent 28%,rgba(168,85,247,.3),transparent 58%,rgba(244,114,182,.2),transparent 82%);filter:blur(12px);animation:first-live-aurora-pan 7s linear infinite}
.leaderboard-player.effect-nebula{--effect-color:#8b5cf6}.leaderboard-player.effect-nebula strong{color:#6d28d9;text-shadow:0 0 12px rgba(139,92,246,.85)}
.leaderboard-player.effect-nebula .leaderboard-effect-art:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 72% 40%,rgba(139,92,246,.24),transparent 34%),radial-gradient(circle at 38% 66%,rgba(34,211,238,.14),transparent 30%),linear-gradient(135deg,rgba(11,16,35,.65),rgba(23,16,43,.65));animation:first-live-nebula-pulse 5s ease-in-out infinite alternate}
.leaderboard-player.effect-lava{--effect-color:#f97316}.leaderboard-player.effect-lava strong{color:#b45309;text-shadow:0 0 12px rgba(249,115,22,.9)}
.leaderboard-player.effect-lava .leaderboard-effect-art:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 100%,rgba(249,115,22,.24),transparent 58%),linear-gradient(180deg,rgba(22,7,7,.5),rgba(42,11,6,.5))}
.leaderboard-player.effect-runes{--effect-color:#facc15}.leaderboard-player.effect-runes strong{color:#a16207;text-shadow:0 0 12px rgba(250,204,21,.85)}
.leaderboard-player.effect-runes .leaderboard-effect-art:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 50%,rgba(250,204,21,.14),transparent 58%)}
.leaderboard-player.effect-prism{--effect-color:#22d3ee}.leaderboard-player.effect-prism strong{color:#111827;text-shadow:-3px 0 #f43f5e,3px 0 #22d3ee,0 0 12px rgba(255,255,255,.85);animation:first-live-prism-text 1.6s ease-in-out infinite alternate}
.leaderboard-player .fx-aurora,.leaderboard-player .fx-nebula,.leaderboard-player .fx-lava,.leaderboard-player .fx-rune,.leaderboard-player .fx-prism{position:absolute;display:block;pointer-events:none;will-change:transform,opacity}
.leaderboard-player .fx-aurora{left:calc(var(--i) * 24% + 1%);top:12%;width:28%;height:76%;border-radius:50%;background:linear-gradient(180deg,transparent,rgba(34,211,238,.22),rgba(168,85,247,.28),transparent);filter:blur(8px);transform:rotate(-12deg);animation:first-live-aurora-wave 4.8s ease-in-out infinite alternate;animation-delay:calc(var(--i) * -1.1s)}
.leaderboard-player .fx-nebula{left:var(--x);top:var(--y);width:var(--size);height:var(--size);display:grid;place-items:center;color:#ddd6fe;font-size:calc(var(--size) * .72);text-shadow:0 0 7px #a78bfa,0 0 12px #67e8f9;opacity:0;animation:first-live-nebula-star 2.8s ease-in-out var(--delay) infinite}
.leaderboard-player .fx-lava{bottom:-8px;left:var(--x);width:3px;height:3px;border-radius:50%;background:#f97316;box-shadow:0 0 7px #f97316;opacity:0;animation:first-live-lava-rise var(--speed,2.4s) ease-out var(--delay) infinite}
.leaderboard-player .fx-rune{left:var(--x);top:var(--y);color:#facc15;font:900 11px/1 ui-monospace,SFMono-Regular,Consolas,monospace;text-shadow:0 0 7px #facc15,0 0 14px rgba(250,204,21,.5);opacity:0;animation:first-live-rune-float 3.2s ease-in-out var(--delay) infinite}
.leaderboard-player .fx-prism{left:16%;top:50%;width:52%;height:1px;background:linear-gradient(90deg,transparent,#f43f5e,#fff,#22d3ee,transparent);transform-origin:left center;transform:rotate(calc(var(--i) * 22deg - 44deg));opacity:.45;animation:first-live-prism-sweep 2.2s ease-in-out infinite alternate}
@keyframes first-live-aurora-pan{to{transform:rotate(360deg)}}
@keyframes first-live-aurora-wave{0%{transform:translateX(-8px) rotate(-12deg) scaleY(.88)}100%{transform:translateX(10px) rotate(8deg) scaleY(1.08)}}
@keyframes first-live-nebula-pulse{to{filter:saturate(1.35) brightness(1.12)}}
@keyframes first-live-nebula-star{0%,100%{opacity:0;transform:scale(.6) rotate(0)}35%{opacity:1;transform:scale(1.18) rotate(90deg)}70%{opacity:.45;transform:scale(.85) rotate(180deg)}}
@keyframes first-live-lava-rise{0%{transform:translate3d(0,8px,0) scale(.7);opacity:0}18%{opacity:1}100%{transform:translate3d(var(--drift,0),-58px,0) scale(.15);opacity:0}}
@keyframes first-live-rune-float{0%,100%{opacity:0;transform:translateY(6px) rotate(0)}30%{opacity:.95;transform:translateY(-4px) rotate(120deg)}65%{opacity:.55;transform:translateY(-10px) rotate(240deg)}}
@keyframes first-live-prism-text{to{text-shadow:-5px 0 #f43f5e,5px 0 #22d3ee,0 0 16px rgba(255,255,255,.95)}}
@keyframes first-live-prism-sweep{0%{opacity:.15;transform:rotate(calc(var(--i) * 22deg - 44deg)) scaleX(.7)}100%{opacity:.7;transform:rotate(calc(var(--i) * 22deg - 44deg)) scaleX(1.05)}}

/* Third effect batch: live leaderboard. */
.leaderboard-player.effect-sakura_fall .fx-petal-1{--petal-x:72%;--petal-speed:1.9s;--petal-delay:-.2s;--petal-drift:-11px}.leaderboard-player.effect-sakura_fall .fx-petal-2{--petal-x:81%;--petal-speed:2.5s;--petal-delay:-1.1s;--petal-drift:8px}.leaderboard-player.effect-sakura_fall .fx-petal-3{--petal-x:88%;--petal-speed:1.7s;--petal-delay:-.7s;--petal-drift:-5px}.leaderboard-player.effect-sakura_fall .fx-petal-4{--petal-x:95%;--petal-speed:2.8s;--petal-delay:-1.8s;--petal-drift:10px}.leaderboard-player.effect-sakura_fall .fx-petal-5{--petal-x:77%;--petal-speed:2.2s;--petal-delay:-1.5s;--petal-drift:-7px}.leaderboard-player.effect-sakura_fall .fx-petal-6{--petal-x:92%;--petal-speed:2s;--petal-delay:-.4s;--petal-drift:6px}.leaderboard-player.effect-sakura_fall .fx-petal-7{--petal-x:98%;--petal-speed:3s;--petal-delay:-2.2s;--petal-drift:-8px}.leaderboard-player.effect-sakura_fall .fx-petal-8{--petal-x:85%;--petal-speed:2.4s;--petal-delay:-1.9s;--petal-drift:5px}.leaderboard-player.effect-sakura_fall .fx-petal-9{--petal-x:74%;--petal-speed:2.7s;--petal-delay:-.9s;--petal-drift:9px}
@keyframes effect9-petal-fall{0%{transform:translate3d(0,-8px,0) rotate(0deg);opacity:0}10%{opacity:1}55%{transform:translate3d(var(--petal-drift,-8px),22px,0) rotate(150deg);opacity:1}100%{transform:translate3d(calc(var(--petal-drift,-8px) + 8px),58px,0) rotate(310deg);opacity:0}}
.leaderboard-player.effect-meteor_shower .leaderboard-effect-art{background:radial-gradient(circle at 82% 45%,rgba(104,119,190,.18),transparent 45%),linear-gradient(135deg,#111934,#080d1b)!important}
.leaderboard-player.effect-meteor_shower .fx-star{left:var(--star-x);top:var(--star-y);width:var(--star-size);height:var(--star-size);border-radius:50%;background:#fff;box-shadow:0 0 3px 1px #c9c6ff,0 0 8px rgba(150,150,255,.65);animation:effect9-star-twinkle var(--star-speed,2.2s) ease-in-out var(--star-delay,0s) infinite}
.leaderboard-player.effect-meteor_shower .fx-star:nth-child(3n){background:#c9eaff}.leaderboard-player.effect-meteor_shower .fx-star:nth-child(4n){background:#fff1c9}.leaderboard-player.effect-meteor_shower .fx-star:nth-child(5n){box-shadow:0 0 4px 1px #fff,0 0 10px rgba(201,198,255,.9)}
@keyframes effect9-star-twinkle{0%,100%{opacity:0;transform:scale(.7)}35%{opacity:.95;transform:scale(1.15)}58%{opacity:.45;transform:scale(.86)} }
.leaderboard-player.effect-rainbow_field .leaderboard-effect-art:before{inset:-75% -45%;background:conic-gradient(from 120deg,#ff1744,#ff8a00,#ffe600,#00e676,#00b0ff,#7c4dff,#ff1744);opacity:.95;filter:saturate(1.45);animation:effect9-rainbow-surge 2.4s ease-in-out infinite alternate}
.leaderboard-player.effect-rainbow_field .leaderboard-effect-art:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.12),transparent 45%,rgba(255,255,255,.16));mix-blend-mode:screen;animation:effect9-rainbow-sheen 1.9s ease-in-out infinite alternate}
@keyframes effect9-rainbow-surge{to{transform:translate3d(24%,8%,0) rotate(18deg) scale(1.08)}}@keyframes effect9-rainbow-sheen{to{opacity:.8;transform:translateX(-18%)}}
.leaderboard-player.effect-sakura_fall .fx-petal,.leaderboard-player.effect-meteor_shower .fx-star{animation:none!important}
