/* Personal leaderboard identity effects. The server only emits allow-listed keys. */
.lb-identity { min-width: 0; display: flex; align-items: center; gap: 8px; flex-wrap: wrap; line-height: 1.25; }
.lb-name { display: inline-block; max-width: 100%; font-weight: 800; color: #f7f7ff; }
.lb-title { display: inline-flex; align-items: center; gap: 5px; max-width: 100%; padding: 3px 9px; border: 1px solid rgba(167,139,250,.24); border-radius: 999px; background: rgba(124,58,237,.10); color: #cfc4ff; font-size: 10.5px; font-weight: 800; letter-spacing: .025em; vertical-align: middle; }
.lb-title__text { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.lb-crown { display: inline-block; margin-right: 5px; color: initial; -webkit-text-fill-color: initial; filter: drop-shadow(0 0 6px rgba(250,204,21,.72)); animation: lbCrown 2.2s ease-in-out infinite; }
.lb-letter { display: inline-block; white-space: pre; }
.leaderboard-compact-row { padding:9px 10px; margin:0 -10px; border:1px solid transparent; border-radius:12px; }
.lb-champion{position:relative;isolation:isolate;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:2px;width:clamp(150px,22vw,300px);max-width:100%;min-height:90px;padding:32px 24px 16px;text-align:center}
.lb-champion-art{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;z-index:-1;pointer-events:none;animation:lbFrameRgb 7s linear infinite}
.lb-champion .lb-name{line-height:1.35;overflow-wrap:anywhere;font-size:clamp(11px,1.1vw,15px)}
.lb-champion .lb-title{font-size:9px;padding:1px 5px}.lb-champion .lb-name-suffix{font-size:10px}
@keyframes lbFrameRgb{0%{filter:hue-rotate(0deg) drop-shadow(0 0 4px #facc15)}50%{filter:hue-rotate(180deg) drop-shadow(0 0 7px #22d3ee)}100%{filter:hue-rotate(360deg) drop-shadow(0 0 4px #facc15)}}
html .leader-row.rank-2,html .mini-stat.rank-2,html[data-shop-edition="personal"] .collector-rank-card.rank-2{border:1px solid #cbd5e1;background:linear-gradient(115deg,rgba(226,232,240,.23),rgba(148,163,184,.12),rgba(241,245,249,.18));box-shadow:inset 0 1px rgba(255,255,255,.55),0 0 14px rgba(203,213,225,.15)}
html .leader-rank.silver{color:#192238;background:linear-gradient(135deg,#fff,#cbd5e1 50%,#f8fafc);border:1px solid #f1f5f9;box-shadow:0 0 14px rgba(226,232,240,.4);text-shadow:0 1px #fff}
@media(max-width:480px){.lb-champion{min-height:82px;padding:28px 15px 15px;width:150px}.lb-champion .lb-title{max-width:115px}.leader-row .avatar{flex-shrink:0}}

@keyframes lbGradient { to { background-position: 220% 50%; } }
@keyframes lbPulse { 0%,100% { filter: drop-shadow(0 0 2px var(--lb-glow,rgba(167,139,250,.35))); } 50% { filter: drop-shadow(0 0 9px var(--lb-glow,rgba(167,139,250,.85))); } }
@keyframes lbWave { 0%,100% { transform: translateY(0); } 35% { transform: translateY(-3px); } 70% { transform: translateY(2px); } }
@keyframes lbFlicker { 0%,17%,19%,63%,65%,100% { opacity:1; } 18%,64% { opacity:.68; } }
@keyframes lbScan { 0% { background-position:-220% 50%; } 100% { background-position:220% 50%; } }
@keyframes lbCrown { 0%,100% { transform:translateY(0) rotate(-2deg); } 50% { transform:translateY(-2px) rotate(2deg); } }

.lb-fx--rgb-flow,
.lb-fx--aurora,
.lb-fx--crimson-violet,
.lb-fx--ocean,
.lb-fx--ember,
.lb-fx--frost,
.lb-fx--sakura,
.lb-fx--ultraviolet,
.lb-fx--sunset,
.lb-fx--cosmic {
  color: transparent;
  -webkit-text-fill-color: transparent;
  -webkit-background-clip: text;
  background-clip: text;
  background-size: 220% auto;
  animation: lbGradient 4s linear infinite;
}
.lb-fx--snow-shimmer,.lb-fx--frost-wave,.lb-fx--garland-lights{color:transparent;-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;background-size:240% auto;animation:lbGradient 3.6s linear infinite}
.lb-fx--snow-shimmer{background-image:linear-gradient(90deg,#94a3b8,#fff,#bae6fd,#fff,#94a3b8);filter:drop-shadow(0 0 6px rgba(224,242,254,.65))}
.lb-fx--frost-wave{background-image:linear-gradient(90deg,#075985,#38bdf8,#e0f2fe,#818cf8,#075985);filter:drop-shadow(0 0 7px rgba(56,189,248,.55))}
.lb-fx--garland-lights{background-image:linear-gradient(90deg,#ef4444,#facc15,#22c55e,#38bdf8,#a855f7,#ef4444);filter:drop-shadow(0 0 7px rgba(250,204,21,.48));animation-duration:2.5s}
.lb-fx--polar-star{--lb-glow:rgba(253,230,138,.95);color:#fef3c7;text-shadow:0 0 4px #fff,0 0 10px #facc15;animation:lbPulse 1.8s ease-in-out infinite}
.lb-fx--ice-outline{color:#e0f2fe;text-shadow:-1px 0 #38bdf8,0 1px #38bdf8,1px 0 #818cf8,0 -1px #818cf8,0 0 8px rgba(125,211,252,.7)}
.lb-fx--rgb-flow { background-image:linear-gradient(90deg,#ff365f,#ffb020,#f5eb46,#32e875,#22d3ee,#4f7cff,#a855f7,#ff4fbd,#ff365f); }
.lb-fx--aurora { --lb-glow:rgba(52,211,153,.7); background-image:linear-gradient(90deg,#5eead4,#34d399,#a78bfa,#67e8f9,#5eead4); filter:drop-shadow(0 0 6px rgba(52,211,153,.45)); }
.lb-fx--crimson-violet { --lb-glow:rgba(192,38,211,.75); background-image:linear-gradient(90deg,#7f1d1d,#e11d48,#7e22ce,#3b0764,#e11d48,#7f1d1d); filter:drop-shadow(0 0 7px rgba(190,24,93,.48)); }
.lb-fx--ocean { background-image:linear-gradient(90deg,#1d4ed8,#22d3ee,#38bdf8,#0f766e,#1d4ed8); filter:drop-shadow(0 0 6px rgba(34,211,238,.44)); }
.lb-fx--ember { background-image:linear-gradient(90deg,#991b1b,#f97316,#fde047,#dc2626,#991b1b); filter:drop-shadow(0 0 7px rgba(249,115,22,.55)); animation-duration:2.8s; }
.lb-fx--frost { background-image:linear-gradient(90deg,#e0f2fe,#67e8f9,#93c5fd,#fff,#67e8f9); filter:drop-shadow(0 0 6px rgba(186,230,253,.58)); }
.lb-fx--sakura { background-image:linear-gradient(90deg,#f9a8d4,#f0abfc,#c4b5fd,#fb7185,#f9a8d4); filter:drop-shadow(0 0 6px rgba(244,114,182,.45)); }
.lb-fx--ultraviolet { background-image:linear-gradient(90deg,#6d28d9,#c026d3,#8b5cf6,#4c1d95,#c026d3); filter:drop-shadow(0 0 8px rgba(168,85,247,.66)); }
.lb-fx--sunset { background-image:linear-gradient(90deg,#ef4444,#fb7185,#f59e0b,#fde68a,#a855f7,#ef4444); filter:drop-shadow(0 0 5px rgba(251,146,60,.45)); }
.lb-fx--cosmic { background-image:linear-gradient(90deg,#312e81,#818cf8,#e879f9,#22d3ee,#6366f1,#312e81); filter:drop-shadow(0 0 8px rgba(99,102,241,.62)); }

.lb-fx--letter-wave .lb-letter { color:#d8b4fe; text-shadow:0 0 7px rgba(168,85,247,.62); animation:lbWave 1.65s ease-in-out infinite; animation-delay:calc(var(--lb-i) * 70ms); }
.lb-fx--golden-pulse { --lb-glow:rgba(250,204,21,.9); color:#fde68a; text-shadow:0 0 5px rgba(245,158,11,.52); animation:lbPulse 2.2s ease-in-out infinite; }
.lb-fx--neon-cyan { --lb-glow:rgba(34,211,238,.95); color:#67e8f9; text-shadow:0 0 4px #0891b2; animation:lbPulse 1.9s ease-in-out infinite; }
.lb-fx--matrix { --lb-glow:rgba(34,197,94,.9); color:#4ade80; font-family:'JetBrains Mono',monospace; text-shadow:0 0 5px rgba(34,197,94,.65); animation:lbFlicker 3.2s steps(1) infinite; }
.lb-fx--electric { --lb-glow:rgba(96,165,250,.98); color:#bfdbfe; text-shadow:0 0 4px #3b82f6; animation:lbPulse 1.15s ease-in-out infinite; }
.lb-fx--monochrome-scan { color:transparent; -webkit-text-fill-color:transparent; -webkit-background-clip:text; background-clip:text; background-image:linear-gradient(100deg,#94a3b8 25%,#fff 47%,#cbd5e1 53%,#64748b 75%); background-size:240% auto; animation:lbScan 2.8s ease-in-out infinite; filter:drop-shadow(0 0 4px rgba(226,232,240,.38)); }

html .leader-row.rank-1 { border-color:rgba(250,204,21,.34); background:linear-gradient(110deg,rgba(245,158,11,.12),rgba(124,58,237,.10),rgba(6,182,212,.08)); box-shadow:0 0 24px rgba(168,85,247,.13); }
/* Silver podium is defined above, distinct from ordinary rows. */
html .leader-row.rank-3 { border-color:rgba(251,146,60,.20); background:linear-gradient(110deg,rgba(180,83,9,.08),rgba(255,255,255,.025)); }
html .leader-rank.gold { box-shadow:0 0 18px rgba(245,158,11,.18); }

@media (prefers-reduced-motion: reduce) {
  .lb-champion-art { animation:none !important; }
  .lb-name,.lb-title,.lb-letter,.lb-crown { animation:none !important; }
}

/* Flexible identity column: frame never takes width from the score. */
.personal-rating-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.personal-rating-grid>section{min-width:0;container-type:inline-size}
html[data-rating-edition="personal"] .leader-row,.speed-leader-row{display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px;border-radius:14px;border:1px solid #ffffff12;background:#ffffff06;min-width:0}
html[data-rating-edition="personal"] .leader-row>*,.speed-leader-row>*{min-width:0}
html[data-rating-edition="personal"] .leader-row>.flex{gap:8px}
html[data-rating-edition="personal"] .leader-row>.flex>div:last-child{flex:1;min-width:0}
html[data-rating-edition="personal"] .leader-row .avatar{width:34px;height:34px}
html[data-rating-edition="personal"] .leader-row>span:last-child{font-size:13px;white-space:nowrap}
html[data-rating-edition="personal"] #topXpList .leader-row p:empty{display:none}
.lb-identity{max-width:100%;min-width:0;overflow-wrap:anywhere}
.lb-champion{width:100%;max-width:260px;min-width:0;min-height:78px;padding:25px 20px 15px;box-sizing:border-box}
.lb-champion-art{object-fit:contain}
.lb-champion .lb-name{font-size:clamp(11px,1vw,14px)}
.speed-leader-row .leader-rank{width:32px;height:36px;display:grid;place-items:center;border-radius:10px;background:#7c3aed22;font-weight:800}
.speed-leader-metrics{display:grid;gap:5px;text-align:right;white-space:nowrap;font-size:12px;color:#67e8f9}
.speed-leader-metrics small{color:#b8bdd9}
#leaderboardList{container-type:inline-size}
.personal-profile-style{padding:20px;margin-bottom:20px}
.personal-profile-style h2{font-size:19px;font-weight:800}
.personal-profile-style p{font-size:12px;color:#aeb6cd;margin:8px 0 14px}
.profile-style-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.7fr);gap:24px}
.profile-style-fields{display:grid;gap:14px}
.profile-style-field>div{display:flex;gap:8px;margin-top:6px}
.profile-style-field select{width:100%;min-width:0;background:#171c32;color:#fff;border:1px solid #6d5d9e;border-radius:9px;padding:10px}
.profile-style-field button{min-width:80px;min-height:44px}
.profile-style-preview{min-height:84px;display:grid;align-items:center;padding:12px;border:1px solid #7c3aed55;border-radius:12px}
/* Sunset stays in one warm palette; rainbow remains the leader's identity. */
.lb-fx--sunset{background-image:linear-gradient(90deg,#fb7185,#fdba74,#fb7185);animation:lbScan 8s ease-in-out infinite;filter:none}
.lb-particle-name{position:relative;display:inline-block;padding:10px 7px;color:#fdf2f8;isolation:isolate}
.lb-particles{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:-1}
.lb-particles i{position:absolute;font-style:normal;font-size:12px;left:calc(20% + var(--particle)*28%);top:75%;opacity:0;color:#f9a8d4;animation:lbHearts 3s ease-out infinite;animation-delay:calc(var(--particle)*-1s)}
.lb-fx--orbital-stars .lb-particles i{top:50%;color:#93c5fd;animation:lbOrbit 4s linear infinite;animation-delay:calc(var(--particle)*-1.33s)}
.lb-fx--comet-trail .lb-particles i{top:12%;left:0;color:#fde68a;animation:lbComet 3.2s ease-in infinite;animation-delay:calc(var(--particle)*-0.12s)}
@keyframes lbHearts{0%{opacity:0;transform:translate(0,0) scale(.6)}20%{opacity:1}100%{opacity:0;transform:translate(8px,-28px) scale(1.1)}}
@keyframes lbOrbit{0%{opacity:1;transform:translate(-18px,-14px)}25%{transform:translate(22px,-5px)}50%{transform:translate(18px,14px)}75%{transform:translate(-22px,5px)}100%{opacity:1;transform:translate(-18px,-14px)}}
@keyframes lbComet{0%,20%{opacity:0;transform:translateX(0)}30%{opacity:1}85%{opacity:1;transform:translateX(150px)}100%{opacity:0;transform:translateX(180px)}}
@container(max-width:440px){html[data-rating-edition="personal"] .leader-row,.speed-leader-row{grid-template-columns:30px minmax(0,1fr);gap:8px}.leader-row>span:last-child,.speed-leader-metrics{grid-column:2;text-align:left}.lb-champion{max-width:230px}.leader-row .leader-rank{width:30px}}
@media(max-width:850px){.personal-rating-grid{grid-template-columns:1fr}.profile-style-layout{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.lb-particles i{animation:none!important;opacity:.65;transform:none}}
html[data-page-hidden="true"] .lb-name,html[data-page-hidden="true"] .lb-letter,html[data-page-hidden="true"] .lb-champion-art,html[data-page-hidden="true"] .lb-particles i{animation-play-state:paused!important}
