
.ranking-shell{display:flex; flex-direction:column; gap:18px}
.ranking-hero,.ranking-board{padding:22px}
.podium-grid{
  display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:14px; margin-bottom:16px;
}
.podium-card{
  border:1px solid var(--stroke);
  border-radius:16px;
  padding:18px;
  background:linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.02));
}
.podium-rank{font-size:12px; text-transform:uppercase; letter-spacing:.1em; color:var(--muted); margin-bottom:10px}
.podium-card h3{margin:0 0 6px; font-size:28px; letter-spacing:-.05em}
.podium-card p{margin:0; color:var(--muted)}
.podium-balance{margin-top:18px; font-size:34px; font-weight:800; letter-spacing:-.05em}
.ranking-list.large{display:flex; flex-direction:column; gap:10px}
.ranking-row{
  width:100%; text-align:left; border:1px solid var(--stroke); background:rgba(255,255,255,.025);
  color:white; border-radius:14px; padding:14px 16px; display:flex; align-items:center; justify-content:space-between; gap:12px;
}
.ranking-row:hover{border-color:var(--stroke-strong)}
.ranking-left{display:flex; align-items:center; gap:14px}
.ranking-place{
  min-width:52px; font-weight:800; color:var(--accent); font-size:18px;
}
.ranking-right{font-weight:800; font-size:20px; letter-spacing:-.04em}

@media (max-width: 900px){
  .podium-grid{grid-template-columns:1fr}
}
