.leaderboard-shell {
  max-width: 980px;
  margin: 0 auto;
  padding: clamp(28px, 6vw, 72px) max(18px, env(safe-area-inset-left)) calc(72px + env(safe-area-inset-bottom));
}
.leaderboard-heading { margin-bottom: 20px; }
.leaderboard-heading h1 { margin: 4px 0 8px; font-size: clamp(38px, 8vw, 72px); }
.leaderboard-card {
  border: 1px solid rgba(111, 239, 255, .18);
  background: rgba(7, 12, 18, .82);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.03);
}
.leaderboard-status { margin: 0; padding: 18px; color: #93a9b4; }
.leaderboard-list { list-style: none; margin: 0; padding: 0; }
.leaderboard-entry {
  display: grid;
  grid-template-columns: 52px minmax(0, 1fr) minmax(88px, auto);
  gap: 10px;
  align-items: center;
  padding: 13px 16px;
  border-top: 1px solid rgba(255,255,255,.055);
}
.leaderboard-entry:first-child { border-top: 0; }
.leaderboard-entry__rank { font: 800 12px/1 "JetBrains Mono", monospace; color: #67e8f9; }
.leaderboard-entry__player { min-width: 0; }
.leaderboard-entry__player strong { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.leaderboard-entry__player small { display: block; margin-top: 3px; color: #78909c; font: 700 8px/1.2 "JetBrains Mono", monospace; }
.leaderboard-entry__score { text-align: right; font: 800 14px/1 "JetBrains Mono", monospace; color: #f5fbff; }
.leaderboard-entry:nth-child(-n+3) .leaderboard-entry__rank,
.leaderboard-entry:nth-child(-n+3) .leaderboard-entry__score { color: #fde68a; }
@media (max-width: 560px) {
  .leaderboard-entry { grid-template-columns: 38px minmax(0, 1fr) auto; padding: 11px 10px; gap: 7px; }
  .leaderboard-entry__score { font-size: 12px; }
}
