/* Общие стили лестницы рейтинга / паузы — подключаются поверх стиля игры */
.rank-between{font-size:12px;color:var(--txt2);text-align:center;margin-bottom:10px;line-height:1.35}
.rank-between strong{color:var(--txt);font-weight:700}
.rank-ladder{display:flex;flex-direction:column;gap:6px;overflow:visible}
.rank-row{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:12px;background:rgba(0,0,0,.22);border:1px solid transparent;overflow:visible}
.rank-row--gap{height:0;padding:0;margin:0;overflow:hidden;opacity:0;border:none}
.rank-row--me{background:color-mix(in srgb, var(--accent) 14%, transparent);border-color:color-mix(in srgb, var(--accent) 40%, transparent);transform:scale(1.02)}
.rank-row--me.rank-row--enter{animation:sgMeInsert .55s cubic-bezier(.22,1,.36,1) both}
@keyframes sgMeInsert{0%{opacity:0;transform:translateY(18px) scale(.92)}100%{opacity:1;transform:translateY(0) scale(1.02)}}
.rank-row--me.rank-row--stamp{animation:sgMeStamp .7s cubic-bezier(.2,.9,.3,1.15) both;position:relative;z-index:2}
@keyframes sgMeStamp{0%{opacity:0;transform:translateY(-42px) scale(1.55) rotate(-14deg);filter:blur(2px)}55%{opacity:1;transform:translateY(4px) scale(.94) rotate(2deg);filter:blur(0)}72%{transform:translateY(-2px) scale(1.06) rotate(-1deg)}100%{opacity:1;transform:translateY(0) scale(1.03) rotate(0)}}
.rank-row--first{padding:10px;background:rgba(251,191,36,.08);border-color:rgba(251,191,36,.22)}
.rank-row--me.rank-row--first{box-shadow:0 0 0 1px color-mix(in srgb, var(--accent) 18%, transparent)}
.rank-pos{width:22px;flex-shrink:0;font-size:13px;font-weight:800;color:var(--txt2);text-align:center}
.rank-pos.gold{color:var(--gold)}.rank-pos.silver{color:var(--silver)}.rank-pos.bronze{color:var(--bronze)}
.rank-ava-wrap{position:relative;flex-shrink:0;width:36px;height:36px}
.rank-row--first .rank-ava-wrap{width:48px;height:48px}
.rank-ava{width:100%;height:100%;border-radius:50%;object-fit:cover;background:var(--bg3);border:1.5px solid var(--border);display:block}
.rank-ava-fallback{width:100%;height:100%;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--bg3);border:1.5px solid var(--border);font-size:13px;font-weight:700;color:var(--txt2)}
.rank-crown{position:absolute;top:-10px;right:-8px;width:22px;height:22px;transform:rotate(28deg);filter:drop-shadow(0 2px 4px rgba(0,0,0,.35));pointer-events:none;z-index:2}
.rank-row--stamp .rank-crown{opacity:0;animation:sgCrownPop .45s cubic-bezier(.2,1.4,.4,1) .55s both}
@keyframes sgCrownPop{0%{opacity:0;transform:rotate(28deg) scale(.2) translateY(8px)}100%{opacity:1;transform:rotate(28deg) scale(1) translateY(0)}}
.rank-meta{flex:1;min-width:0}
.rank-name{font-size:13px;font-weight:600;color:var(--txt);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.2}
.rank-row--me .rank-name{color:var(--accent)}
.rank-pts{font-size:11px;color:var(--txt2);margin-top:2px}.rank-pts strong{color:var(--accent);font-weight:700}
.rank-shock{position:absolute;left:50%;top:50%;width:12px;height:12px;margin:-6px 0 0 -6px;border-radius:50%;border:2px solid color-mix(in srgb, var(--accent) 70%, transparent);pointer-events:none;z-index:1;animation:sgShock .55s ease-out .32s both}
@keyframes sgShock{0%{opacity:.9;transform:scale(.4)}100%{opacity:0;transform:scale(9)}}
.rank-burst{position:absolute;inset:0;pointer-events:none;overflow:visible;z-index:3}
.rank-spark{position:absolute;left:28%;top:50%;width:5px;height:5px;border-radius:50%;background:var(--accent);animation:sgSpark .65s ease-out both}
@keyframes sgSpark{0%{opacity:1;transform:translate(0,0) scale(1)}100%{opacity:0;transform:translate(var(--sx),var(--sy)) scale(.2)}}
.overlay-btns.static{opacity:1;transform:none;transition:none;margin-top:16px;display:flex;gap:10px;justify-content:center}
.o-btn.danger-outline{color:var(--danger);border-color:rgba(255,95,86,.4);background:transparent}
.lb-name,.lb-nm{font-variant-numeric:tabular-nums}
