.leaderboard { padding: 80px 20px; }
.leaderboard__inner { max-width: var(--cpx-max); margin: 0 auto; }

.leaderboard__podiums {
  display: flex; justify-content: center; align-items: flex-end; gap: 16px;
  margin-bottom: 48px; flex-wrap: wrap;
}
.podium { display: flex; flex-direction: column; align-items: center; }
.podium__player { text-align: center; margin-bottom: 12px; }
.podium__avatar { width: 80px; height: 80px; border-radius: 50%; overflow: hidden; border: 3px solid var(--cpx-gold); margin: 0 auto 10px; }
.podium__avatar img { width: 100%; height: 100%; object-fit: cover; }
.podium__name { font-weight: 700; }

.podium__stage { position: relative; min-width: 200px; }
.podium__stage-bg { width: 100%; opacity: .9; }
.podium__stage-inner { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 20px; }
.podium__badge img { max-height: 50px; }
.podium__prize { display: inline-flex; align-items: center; gap: 6px; color: var(--cpx-gold); font-weight: 700; font-size: 14px; margin-top: 8px; }

.podium--first .podium__stage { min-height: 220px; transform: translateY(-20px); }
.podium--second .podium__stage { min-height: 180px; }
.podium--third .podium__stage { min-height: 160px; }

.leaderboard__table-wrap { overflow-x: auto; background: var(--cpx-surface); border: 1px solid var(--cpx-border); border-radius: var(--cpx-radius); }
.leaderboard__table { width: 100%; border-collapse: collapse; min-width: 600px; }
.leaderboard__table th, .leaderboard__table td { padding: 16px 20px; text-align: left; border-bottom: 1px solid var(--cpx-border); }
.leaderboard__table th { font-size: 12px; text-transform: uppercase; letter-spacing: .1em; color: var(--cpx-gold); font-weight: 700; }
.leaderboard__table tbody tr:hover { background: rgba(232,179,65,.05); }
.leaderboard__rank { font-weight: 800; color: var(--cpx-gold); }
.leaderboard__user { display: flex; align-items: center; gap: 12px; }
.leaderboard__avatar { width: 36px; height: 36px; border-radius: 50%; overflow: hidden; flex-shrink: 0; display: inline-block; }
.leaderboard__avatar img { width: 100%; height: 100%; object-fit: cover; }
.leaderboard__points { font-weight: 700; color: var(--cpx-gold-light); display: inline-flex; align-items: center; gap: 6px; }

@media (max-width: 700px) {
  .podium--first .podium__stage { transform: none; }
  .podium { width: 100%; max-width: 280px; }
}
