.leaderboard-container{max-width:1000px;margin:0 auto}
.leaderboard-refresh{text-align:center;font-family:var(--font-mono);font-size:.75rem;color:var(--text-muted);margin-bottom:32px}
.podium-section{display:flex;justify-content:center;align-items:flex-end;gap:24px;margin-bottom:48px;flex-wrap:wrap}
.podium-card{background:var(--bg-card);border-radius:var(--radius-lg);padding:32px 28px;text-align:center;width:260px;position:relative;overflow:hidden;transition:all var(--transition-normal)}
.podium-card::before{content:'';position:absolute;top:0;left:0;right:0;height:4px}
.podium-card.gold{border:1px solid rgba(255,215,0,.3);box-shadow:0 0 30px rgba(255,215,0,.15),0 0 60px rgba(255,215,0,.05);order:2;transform:scale(1.05)}
.podium-card.gold::before{background:linear-gradient(90deg,#ffd700,#ffaa00,#ffd700)}
.podium-card.gold:hover{box-shadow:0 0 40px rgba(255,215,0,.3),0 0 80px rgba(255,215,0,.1);transform:scale(1.08)}
.podium-card.silver{border:1px solid rgba(192,192,192,.3);box-shadow:0 0 20px rgba(192,192,192,.1);order:1}
.podium-card.silver::before{background:linear-gradient(90deg,#c0c0c0,#e0e0e0,#c0c0c0)}
.podium-card.silver:hover{box-shadow:0 0 30px rgba(192,192,192,.2);transform:translateY(-4px)}
.podium-card.bronze{border:1px solid rgba(205,127,50,.3);box-shadow:0 0 20px rgba(205,127,50,.1);order:3}
.podium-card.bronze::before{background:linear-gradient(90deg,#cd7f32,#e8a854,#cd7f32)}
.podium-card.bronze:hover{box-shadow:0 0 30px rgba(205,127,50,.2);transform:translateY(-4px)}
.podium-rank{font-size:2.5rem;margin-bottom:12px}
.podium-name{font-family:var(--font-display);font-size:1rem;font-weight:700;letter-spacing:2px;margin-bottom:6px}
.podium-problem{font-family:var(--font-mono);font-size:.75rem;color:var(--text-muted);margin-bottom:12px}
.podium-score{font-family:var(--font-display);font-size:2rem;font-weight:900}
.podium-card.gold .podium-score{color:#ffd700}
.podium-card.silver .podium-score{color:#c0c0c0}
.podium-card.bronze .podium-score{color:#cd7f32}
.podium-score-label{font-family:var(--font-mono);font-size:.7rem;color:var(--text-muted);letter-spacing:2px;text-transform:uppercase}
.leaderboard-table-wrapper{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);overflow:hidden}
.leaderboard-table{width:100%;border-collapse:collapse}
.leaderboard-table thead{background:rgba(0,0,0,.3)}
.leaderboard-table th{font-family:var(--font-display);font-size:.7rem;font-weight:600;letter-spacing:2px;text-transform:uppercase;color:var(--accent-green);padding:16px 20px;text-align:left;border-bottom:1px solid var(--border-color)}
.leaderboard-table td{font-family:var(--font-mono);font-size:.85rem;padding:14px 20px;border-bottom:1px solid rgba(255,255,255,.03);color:var(--text-primary)}
.leaderboard-table tbody tr{transition:background var(--transition-fast);animation:fadeInUp .4s ease calc(var(--i,0)*.08s) both}
.leaderboard-table tbody tr:hover{background:rgba(0,255,136,.03)}
.rank-cell{font-family:var(--font-display);font-weight:700;color:var(--accent-cyan)}
.score-cell{font-weight:700;color:var(--accent-green)}
.summary-cell{font-size:.8rem;color:var(--text-secondary);max-width:300px}
.pending-badge{font-family:var(--font-mono);font-size:.75rem;color:#ffaa00;padding:4px 10px;background:rgba(255,170,0,.1);border:1px solid rgba(255,170,0,.2);border-radius:12px}
.empty-leaderboard{text-align:center;padding:60px 20px;color:var(--text-muted)}
.empty-leaderboard .empty-icon{font-size:3rem;margin-bottom:16px}
.empty-leaderboard p{font-family:var(--font-mono);font-size:.9rem}
@media(max-width:768px){.podium-section{flex-direction:column;align-items:center}.podium-card{order:unset!important;transform:none!important;width:100%;max-width:300px}.leaderboard-table-wrapper{overflow-x:auto;-webkit-overflow-scrolling:touch}}
