/* ==========================================================================
   Leaderboard Matrix System Style Engine
   ========================================================================== */
.leader-hero {
    background: radial-gradient(circle at 80% 30%, rgba(255, 107, 0, 0.15), transparent 60%),
                linear-gradient(180deg, rgba(10, 17, 40, 0.9) 0%, var(--brand-blue-dark) 100%),
                url('https://mcdn.pokemon.com/pokemon-prod/raw/upload/v1/live/static-assets/content-assets/cms2/img/misc/virtual-backgrounds/masters/volcano.jpg');
    background-size: cover;
    background-position: center;
}

.rankings-board {
    padding: 120px 0;
    background-color: #060b18;
    border-top: 2px solid rgba(0, 180, 216, 0.1);
}

.leaderboard-table-engine {
    background: var(--brand-blue-deep);
    border: 2px solid rgba(0, 180, 216, 0.15);
    border-radius: var(--border-radius-box);
    overflow: hidden;
    width: 100%;
    box-shadow: 0 10px 30px rgba(0,0,0,0.3);
}

/* Explicit Table Column Grid Sizing */
.table-header-row, .competitor-row {
    display: grid;
    grid-template-columns: 100px 2fr 1fr 120px;
    padding: 22px 40px;
    align-items: center;
}

.table-header-row {
    background: rgba(0, 0, 0, 0.3);
    border-bottom: 2px solid rgba(0, 180, 216, 0.2);
}

.col-head {
    font-family: var(--font-gaming-heading);
    font-size: 10px;
    color: var(--text-muted);
    text-transform: uppercase;
}

.score-col, .cell-score {
    text-align: right;
}

.competitor-row {
    border-bottom: 1px solid rgba(255, 255, 255, 0.04);
    transition: background-color 0.2s ease;
    background-color: rgba(10, 17, 40, 0.2);
}

.competitor-row:hover {
    background-color: rgba(0, 180, 216, 0.05);
}

/* Podium Color Profiles */
.podium-rank-1 { background-color: rgba(0, 245, 212, 0.06); }
.podium-rank-2 { background-color: rgba(0, 180, 216, 0.04); }
.podium-rank-3 { background-color: rgba(255, 107, 0, 0.03); }

.cell-rank {
    font-family: var(--font-gaming-heading);
    font-size: 13px;
    color: var(--brand-cyan);
}

.podium-rank-1 .cell-rank { color: var(--brand-teal); }

.cell-name {
    font-size: 18px;
    font-weight: 800;
    color: var(--text-white);
}

/* Faction Label Color Configurations */
.cell-faction {
    font-size: 14px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.mystic { color: var(--brand-cyan); }
.valor { color: #ff4d6d; }
.instinct { color: #ffca3a; }

.cell-score {
    font-family: var(--font-gaming-heading);
    font-size: 12px;
    color: var(--brand-teal);
}

/* Fluid Breakdown for Table Layout Elements */
@media (max-width: 768px) {
    .table-header-row, .competitor-row {
        grid-template-columns: 60px 1fr 100px;
        padding: 16px 20px;
    }
    .faction-col, .cell-faction {
        display: none; /* Safely strips the secondary element under spatial resource constraints */
    }
    .cell-name { font-size: 15px; }
}