.leaderboards-dialog{width:min(860px,calc(100vw - 32px));max-height:calc(100dvh - 32px);padding:32px;border:1px solid var(--border,#303343);border-radius:22px;background:var(--panel,#171923);color:var(--text,#f5f4fa);overflow:auto;box-shadow:0 24px 100px #0006}
.leaderboards-dialog::backdrop{background:#050611bb;backdrop-filter:blur(8px)}
.ranking-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.ranking-heading h2{font-size:32px;margin:6px 0 10px;letter-spacing:-1px}.ranking-heading p{color:var(--muted,#a3a7ba);font-size:14px;margin:0 0 24px;line-height:1.6}.ranking-heading .dialog-close{position:static;flex-shrink:0}
.ranking-filters{display:grid;grid-template-columns:1fr 1fr auto;gap:14px;align-items:end;margin-bottom:20px}.ranking-filters label,.ranking-profile label{display:grid;gap:8px;font-size:12px;font-weight:700;letter-spacing:.04em}.ranking-filters select,.ranking-profile input{width:100%;min-height:46px;border:1px solid var(--border,#36394d);background:var(--bg,#0d0f17);color:inherit;border-radius:10px;padding:10px 12px;font:inherit;font-size:14px}.ranking-filters button,.ranking-profile button{min-height:46px;white-space:nowrap}
.ranking-table-wrap{border:1px solid var(--border,#303343);border-radius:14px;overflow:auto;max-height:350px}.ranking-table{border-collapse:collapse;width:100%;font-size:14px;text-align:left;font-variant-numeric:tabular-nums}.ranking-table th{background:var(--bg,#0d0f17);position:sticky;top:0;color:var(--muted,#a3a7ba);font-size:11px;letter-spacing:.1em;text-transform:uppercase}.ranking-table td,.ranking-table th{padding:14px 18px;border-bottom:1px solid var(--border,#303343)}.ranking-table th:first-child{width:75px}.ranking-table td:last-child,.ranking-table th:last-child{text-align:right}.ranking-table td:first-child{color:var(--muted,#a3a7ba)}.ranking-table .ranking-you{background:#ac9af01a;font-weight:700}.ranking-table tr:last-child td{border-bottom:0}
.ranking-feedback{font-size:12px;color:var(--muted,#a3a7ba);min-height:18px;margin:12px 0}.ranking-me{padding:14px 18px;border-radius:10px;background:#ac9af01a;font-size:14px;margin-top:16px}.ranking-profile{border-top:1px solid var(--border,#303343);padding-top:22px;margin-top:24px}.ranking-profile h3{font-size:17px;margin:0 0 14px}.ranking-profile-fields{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:end}.ranking-profile p{font-size:12px;line-height:1.7;color:var(--muted,#a3a7ba);margin:12px 0 0}.profile-button{background:none;border:0;color:inherit;font:inherit;cursor:pointer}.score-status{font-size:11px;color:var(--muted,#b2b5c7);font-weight:500;text-align:center}.player-bar #player-title{margin-right:auto}.player-bar{gap:16px}.ranking-filters button:disabled,.ranking-profile button:disabled{opacity:.6;cursor:wait}
@media(max-width:640px){.leaderboards-dialog{padding:22px 18px;border-radius:16px}.ranking-heading h2{font-size:27px}.ranking-filters{grid-template-columns:1fr 1fr;gap:10px}.ranking-filters button{grid-column:1/-1;min-height:40px}.ranking-profile-fields{grid-template-columns:1fr}.ranking-table td,.ranking-table th{padding:12px}.score-status{display:none}.profile-button{font-size:11px}.ranking-heading p{margin-bottom:18px}.ranking-table-wrap{max-height:280px}}

.ranking-filters select:focus-visible{outline:3px solid var(--violet);outline-offset:3px}
@media(max-width:560px){.sidebar{flex-wrap:wrap;row-gap:0}.studio{flex:1}.nav{order:3;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));flex-basis:100%;margin:0}.nav-button{justify-content:center;font-size:11px;min-height:44px;padding:10px 5px}.sidebar-bottom{margin-left:auto}}

.ranking-policy-note{color:var(--muted,#abb4c6);font-size:.8rem;line-height:1.5;margin:0 0 1rem;}

@media(max-width:640px){.player-bar{position:relative;z-index:2}.player-bar .score-reward{display:block;position:absolute;top:calc(100% + 6px);left:12px;right:12px;padding:9px 12px;border:1px solid var(--border,#303343);border-radius:10px;background:var(--panel,#171923);color:var(--text,#f5f4fa);font-size:11px;line-height:1.4;pointer-events:none;box-shadow:0 4px 20px #0004}}
