/* Rank Styling */
.podium-row { --podium-color: 251,191,36; --podium-delay: 0s; }
.podium-row--2 { --podium-color: 147,197,253; --podium-delay: -1.6s; }
.podium-row--3 { --podium-color: 251,146,60; --podium-delay: -3.2s; }
:is(.clans-table tbody, .home-clan-slider) .podium-row {
    background-image: linear-gradient(110deg,rgba(var(--podium-color),.04) 20%,rgba(var(--podium-color),.18) 42%,rgba(var(--podium-color),.3) 50%,rgba(var(--podium-color),.1) 58%,rgba(var(--podium-color),.04) 80%);
    background-size: 250% 100%;
    animation: podium-light-sweep 6s ease-in-out infinite;
    animation-delay: var(--podium-delay);
}
.podium-row td:first-child { box-shadow: inset -3px 0 rgba(var(--podium-color),.8); }
.podium-row .rank-badge {
    overflow: hidden;
    animation: podium-medal-glow 3s ease-in-out infinite;
    animation-delay: var(--podium-delay);
}
.podium-row .rank-badge::after {
    content: '';
    position: absolute;
    inset: -30% -60%;
    background: linear-gradient(110deg,transparent 40%,rgba(255,255,255,.75) 50%,transparent 60%);
    transform: translateX(-100%);
    animation: podium-medal-shine 6s ease-in-out infinite;
    animation-delay: var(--podium-delay);
    pointer-events: none;
}
@keyframes podium-light-sweep {
    0%,100% { background-position: 100% 50%; }
    50% { background-position: 0% 50%; }
}
@keyframes podium-medal-glow {
    0%,100% { box-shadow: 0 0 7px rgba(var(--podium-color),.3); }
    50% { box-shadow: 0 0 18px rgba(var(--podium-color),.65),0 0 28px rgba(var(--podium-color),.15); }
}
@keyframes podium-medal-shine {
    0%,20% { transform: translateX(-100%); }
    55%,100% { transform: translateX(100%); }
}
@media(prefers-reduced-motion:reduce) {
    :is(.clans-table tbody, .home-clan-slider) .podium-row,.podium-row .rank-badge,.podium-row .rank-badge::after { animation: none; }
    :is(.clans-table tbody, .home-clan-slider) .podium-row { background-position: 50% 50%; }
    .podium-row .rank-badge::after { display: none; }
}

.td-rank {
    text-align: center;
    font-weight: 800;
    font-size: 1.125rem;
    width: 70px;
}

.rank-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.25rem;
    height: 2.25rem;
    border-radius: 50%;
    font-size: 1rem;
    font-weight: 800;
    box-shadow: var(--shadow-sm);
    position: relative;
}

.rank-badge--1 {
    background: linear-gradient(135deg, #ffe066 0%, #f59e0b 100%);
    color: #1e3a0a;
    border: 2px solid #fef08a;
    box-shadow: 0 0 12px rgba(245, 158, 11, 0.4);
}

.rank-badge--2 {
    background: linear-gradient(135deg, #e2e8f0 0%, #94a3b8 100%);
    color: #0f172a;
    border: 2px solid #f1f5f9;
}

.rank-badge--3 {
    background: linear-gradient(135deg, #ffedd5 0%, #c2410c 100%);
    color: #ffe4e6;
    border: 2px solid #fed7aa;
}

.rank-badge--normal {
    background: rgba(30, 58, 50, 0.5);
    color: var(--color-text-muted);
    border: 1px solid var(--color-border);
}

