/* CATPPUCCIN MOCHA THEME VARS */
:root {
    --ctp-base: #1e1e2e;
    --ctp-mantle: #181825;
    --ctp-text: #cdd6f4;
    --ctp-subtext0: #a6adc8;
    --ctp-surface0: #313244;
    --ctp-green: #a6e3a1;
    --ctp-red: #f38ba8;
    --ctp-lavender: #b4befe;
    --ctp-blue: #89b4fa;
    --ctp-pink: #f5c2e7;
    --ctp-mauve: #cba6f7;
    --ctp-peach: #fab387;
}

/* --- GLOBAL STYLES --- */
body { 
    background-color: var(--ctp-base); 
    color: var(--ctp-text); 
    font-family: 'Segoe UI', sans-serif; 
}

a { text-decoration: none; }

h1, h5 { color: var(--ctp-lavender); }

.text-muted { color: var(--ctp-subtext0) !important; }
hr { border-color: var(--ctp-surface0); }

/* --- CARDS --- */
.card { 
    background-color: var(--ctp-mantle); 
    border: 1px solid var(--ctp-surface0); 
    color: var(--ctp-text); 
}

.card-header { 
    background-color: var(--ctp-mantle); 
    border-bottom: 1px solid var(--ctp-surface0); 
    color: var(--ctp-lavender); 
    font-weight: 600;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.card-team { transition: transform 0.2s; }
.card-team:hover { 
    transform: translateY(-5px); 
    border-color: var(--ctp-lavender); 
}

/* --- BUTTONS --- */
.btn-primary { 
    background-color: var(--ctp-lavender); 
    border-color: var(--ctp-lavender); 
    color: var(--ctp-base); 
    font-weight: bold; 
}
.btn-primary:hover { 
    background-color: #939ecb; 
    border-color: #939ecb; 
    color: var(--ctp-base); 
}

.btn-outline-light { 
    border-color: var(--ctp-surface0); 
    color: var(--ctp-text); 
}
.btn-outline-light:hover { 
    background-color: var(--ctp-surface0); 
    border-color: var(--ctp-surface0); 
}

.btn-outline-secondary { 
    color: var(--ctp-subtext0); 
    border-color: var(--ctp-subtext0); 
}
.btn-outline-secondary:hover { 
    background-color: var(--ctp-surface0); 
    color: var(--ctp-text); 
    border-color: var(--ctp-surface0); 
}

/* Reset Zoom Button (Small) */
.btn-reset {
    font-size: 0.75rem;
    padding: 2px 8px;
    background-color: var(--ctp-surface0);
    color: var(--ctp-subtext0);
    border: 1px solid var(--ctp-subtext0);
    border-radius: 4px;
    text-decoration: none;
    cursor: pointer;
}
.btn-reset:hover {
    background-color: var(--ctp-lavender);
    color: var(--ctp-base);
}

/* --- TABLES --- */
.table { 
    --bs-table-bg: var(--ctp-mantle); 
    --bs-table-color: var(--ctp-text); 
    border-color: var(--ctp-surface0); 
}
.table-hover tbody tr:hover { 
    color: #fff; 
    background-color: var(--ctp-surface0); 
}

/* --- UTILITIES --- */
.status-active { color: var(--ctp-green); font-weight: bold; }
.status-eliminated { color: var(--ctp-red); font-weight: bold; }

.chart-container { min-height: 400px; }

/* --- LEADERBOARD SPECIFIC --- */
.badge-rank { background-color: var(--ctp-peach); color: var(--ctp-base); }

.player-link { 
    color: var(--ctp-pink); 
    text-decoration: none; 
    font-weight: 600; 
}
.player-link:hover { 
    color: var(--ctp-mauve); 
    text-decoration: underline; 
}