html:has(.leaderboard-layout){overflow-y:scroll}.leaderboard{-webkit-overflow-scrolling:touch;flex-direction:column;margin-top:.5rem;padding-bottom:4rem;display:flex;overflow-x:auto}.leaderboard__scroll{-webkit-overflow-scrolling:touch;position:relative;overflow:auto hidden}.leaderboard__toggle{border:1px solid var(--color-border);background:color-mix(in srgb, var(--color-surface-variant) 70%, var(--color-surface));border-radius:10px;flex-wrap:wrap;gap:.45rem;margin:.5rem 0 1rem;padding:.35rem;display:flex}.leaderboard__toggle .leaderboard__toggle-btn{text-align:center;flex:calc(25% - .45rem);justify-content:center;min-width:0;padding:.45rem .6rem}.leaderboard__toggle .leaderboard__toggle-btn.is-active{border-color:color-mix(in srgb, var(--color-primary) 60%, var(--color-border));background:color-mix(in srgb, var(--color-primary) 12%, var(--color-surface));font-weight:700;text-decoration:none}.leaderboard__table{border-collapse:collapse;width:100%;min-width:320px}.leaderboard__table th,.leaderboard__table td{border-bottom:1px solid var(--color-border);text-align:left;white-space:nowrap;padding:.5rem .6rem}.leaderboard__table th:first-child,.leaderboard__table td:first-child{width:0}.leaderboard__table .num{text-align:start}.leaderboard__player{align-items:center;gap:.4rem;display:inline-flex}.leaderboard__table thead tr th{z-index:2;background-color:var(--color-background);position:sticky;top:0}.leaderboard__table th button.sortable{appearance:none;color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:.25rem;margin:0;padding:0;display:inline-flex}.leaderboard__table th button.sortable:hover{text-decoration:underline}.leaderboard__table th button.sortable .sort-indicator{opacity:.7;font-size:.8em}.leaderboard__table th[aria-sort=ascending] button.sortable .sort-indicator,.leaderboard__table th[aria-sort=descending] button.sortable .sort-indicator{opacity:1}.leaderboard__avatar-wrap{background-position:50%;background-size:cover;border-radius:50%;width:24px;height:24px;overflow:hidden}.leaderboard__avatar{object-fit:cover;border-radius:50%;width:24px;height:24px}.leaderboard__profile{color:var(--color-muted);text-decoration:none}.leaderboard__profile:hover{text-decoration:underline}.leaderboard__profile-link{color:var(--color-text);text-underline-offset:2px;font-weight:600;text-decoration:underline}.leaderboard__profile-link:hover{opacity:.9}.leaderboard__profile-link:visited{color:var(--color-text)}.leaderboard__subline{color:var(--color-muted);justify-content:flex-end;margin-top:.4rem;font-size:.9rem;display:flex}@media (max-width:640px){.leaderboard__toggle{grid-template-columns:repeat(2,minmax(0,1fr));gap:.4rem;display:grid}.leaderboard__toggle .leaderboard__toggle-btn{width:100%;padding:.52rem .55rem}.leaderboard__table th:nth-child(7),.leaderboard__table td:nth-child(7),.leaderboard__table th:nth-child(8),.leaderboard__table td:nth-child(8),.leaderboard__table th:nth-child(9),.leaderboard__table td:nth-child(9){display:none}}.leaderboard__achievements{border-top:1px solid var(--color-border);margin-top:2rem;padding-top:1.5rem}.leaderboard__achievements-title{margin:0 0 .75rem;font-size:1rem;font-weight:600}.leaderboard__achievement-label{align-items:center;gap:.5rem;font-weight:500;display:inline-flex}.leaderboard__achievement-icon{flex-shrink:0;font-size:1rem;line-height:1}.leaderboard__achievement-metric-mobile{display:none}.leaderboard__achievement-metric-desktop{color:var(--color-muted)}@media (max-width:640px){.leaderboard__achievement-metric-desktop{display:none}.leaderboard__achievement-metric-mobile{color:var(--color-muted);margin-left:.5rem;font-size:.8rem;display:inline-block}}.leaderboard__table tbody tr{transition:background .1s}.leaderboard__table tbody tr:hover td{background:color-mix(in srgb, var(--color-primary) 4%, var(--color-surface))}.leaderboard-skeleton{margin-top:.5rem}.leaderboard-skeleton__heading{flex-direction:column;gap:.6rem;margin-bottom:.8rem;display:flex}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.leaderboard-skeleton__title,.leaderboard-skeleton__subtitle,.leaderboard-skeleton__subline,.leaderboard-skeleton__tab,.leaderboard-skeleton__cell,.leaderboard-skeleton__avatar,.leaderboard-skeleton__avg{background:linear-gradient(90deg, var(--color-border) 25%, var(--color-surface-variant) 50%, var(--color-border) 75%);background-size:200% 100%;border-radius:6px;animation:1.6s infinite shimmer}@media (prefers-reduced-motion:reduce){.leaderboard-skeleton__title,.leaderboard-skeleton__subtitle,.leaderboard-skeleton__subline,.leaderboard-skeleton__tab,.leaderboard-skeleton__cell,.leaderboard-skeleton__avatar,.leaderboard-skeleton__avg{background:var(--color-border);animation:none}}.leaderboard-skeleton__title{width:220px;height:2rem}.leaderboard-skeleton__tabs{gap:.5rem;display:flex}.leaderboard-skeleton__tab{border-radius:8px;width:72px;height:32px}.leaderboard-skeleton__subtitle{width:90px;height:1.7rem}.leaderboard-skeleton__subline{width:220px;height:1rem}.leaderboard-skeleton__table{border-top:1px solid var(--color-border)}.leaderboard-skeleton__row{border-bottom:1px solid var(--color-border);grid-template-columns:36px minmax(180px,1.6fr) repeat(8,minmax(48px,1fr));align-items:center;gap:.6rem;padding:.5rem .2rem;display:grid}.leaderboard-skeleton__row--header .leaderboard-skeleton__cell{height:.75rem}.leaderboard-skeleton__cell{width:100%;height:.95rem;display:block}.leaderboard-skeleton__cell--rank{width:18px}.leaderboard-skeleton__player-cell{align-items:center;gap:.45rem;min-width:0;display:inline-flex}.leaderboard-skeleton__avatar{border-radius:50%;flex-shrink:0;width:24px;height:24px}.leaderboard-skeleton__cell--player{max-width:220px}.leaderboard-skeleton__cell--num{max-width:56px}.leaderboard-skeleton__avg{width:120px;height:.9rem;margin-top:.45rem;margin-left:auto}@media (max-width:640px){.leaderboard-skeleton__row{grid-template-columns:26px minmax(128px,1.6fr) repeat(5,minmax(36px,1fr));gap:.45rem;padding:.5rem 0}.leaderboard-skeleton__mobile-hide{display:none}.leaderboard-skeleton__cell--player{max-width:140px}.leaderboard-skeleton__cell--num{max-width:40px}}
