/*
 * Assault Lanes Web Theme
 * Matches the in-game UI styling with dark backgrounds and gold accents
 */

/* === Color Variables === */
:root {
    /* Background colors */
    --bg-dark: rgba(20, 15, 10, 0.98);
    --bg-panel: rgba(31, 23, 15, 0.94);
    --bg-panel-header: rgba(46, 36, 26, 0.95);
    --bg-light: rgba(36, 28, 20, 0.96);

    /* Gold colors */
    --gold-bright: rgb(230, 191, 89);
    --gold-medium: rgb(191, 153, 71);
    --gold-dark: rgb(140, 107, 46);
    --gold-muted: rgb(115, 89, 38);

    /* Border colors */
    --border-dark: rgb(51, 41, 28);
    --border-medium: rgb(82, 64, 43);
    --border-light: rgb(115, 92, 61);
    --border-gold: rgb(153, 122, 64);

    /* Text colors */
    --text-primary: rgb(240, 230, 209);
    --text-muted: rgb(158, 140, 115);
    --text-dark: rgb(77, 64, 46);
    --text-gold: rgb(235, 199, 102);
    --text-title: rgb(245, 224, 153);

    /* Accent colors */
    --accent-red: rgb(179, 71, 71);
    --accent-green: rgb(71, 133, 71);
    --accent-blue: rgb(71, 133, 179);

    /* Button colors */
    --btn-bg: rgb(51, 38, 26);
    --btn-hover: rgb(71, 56, 38);
    --btn-pressed: rgb(41, 31, 20);
}

/* === Base Styles === */
body {
    background-color: var(--bg-dark);
    color: var(--text-primary);
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    font-size: 1rem;
}

h1, h2, h3, h4, h5, h6, .brand-text {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    color: var(--text-title);
}

a {
    color: var(--gold-medium);
    text-decoration: none;
    transition: color 0.2s ease;
}

a:hover {
    color: var(--gold-bright);
}

/* === Custom Background Classes === */
.bg-dark-panel {
    background-color: var(--bg-panel) !important;
}

.bg-dark-header {
    background-color: var(--bg-panel-header) !important;
}

/* === Custom Border Classes === */
.border-gold {
    border-color: var(--border-gold) !important;
}

.border-gold-muted {
    border-color: var(--border-medium) !important;
}

/* === Custom Text Classes === */
.text-gold {
    color: var(--text-gold) !important;
}

.text-gold-muted {
    color: var(--gold-muted) !important;
}

.text-muted-link {
    color: var(--text-muted);
}

.text-muted-link:hover {
    color: var(--gold-medium);
}

/* === Navbar Styling === */
.navbar {
    background-color: var(--bg-panel) !important;
}

.navbar-brand {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    font-weight: 700;
    font-size: 1.25rem;
    color: var(--text-gold) !important;
}

.nav-link {
    color: var(--text-primary) !important;
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    font-size: 0.9rem;
    padding: 0.5rem 1rem !important;
    transition: all 0.2s ease;
}

.nav-link:hover {
    color: var(--gold-bright) !important;
}

.nav-link.active {
    color: var(--text-gold) !important;
    border-bottom: 2px solid var(--gold-medium);
}

/* === Button Styles === */
.btn-gold {
    background-color: var(--gold-dark);
    border-color: var(--gold-medium);
    color: var(--bg-dark);
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    font-weight: 600;
}

.btn-gold:hover {
    background-color: var(--gold-medium);
    border-color: var(--gold-bright);
    color: var(--bg-dark);
}

.btn-gold:active {
    background-color: var(--gold-muted);
    border-color: var(--gold-dark);
}

.btn-outline-gold {
    background-color: transparent;
    border-color: var(--gold-dark);
    color: var(--gold-medium);
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}

.btn-outline-gold:hover {
    background-color: var(--gold-dark);
    border-color: var(--gold-medium);
    color: var(--bg-dark);
}

.btn-dark-panel {
    background-color: var(--btn-bg);
    border-color: var(--border-medium);
    color: var(--text-primary);
}

.btn-dark-panel:hover {
    background-color: var(--btn-hover);
    border-color: var(--border-light);
    color: var(--text-gold);
}

/* === Card Styles === */
.card {
    background-color: var(--bg-panel);
    border-color: var(--border-medium);
}

.card-header {
    background-color: var(--bg-panel-header);
    border-bottom-color: var(--border-medium);
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    color: var(--text-gold);
}

.card-gold {
    border: 1px solid var(--border-gold);
}

.card-gold .card-header {
    border-bottom: 1px solid var(--border-gold);
}

/* === Form Styles === */
.form-control, .form-select {
    background-color: rgba(26, 20, 13, 0.8);
    border-color: var(--border-dark);
    color: var(--text-primary);
}

.form-control:focus, .form-select:focus {
    background-color: rgba(31, 23, 15, 0.9);
    border-color: var(--gold-dark);
    box-shadow: 0 0 0 0.2rem rgba(140, 107, 46, 0.25);
    color: var(--text-primary);
}

.form-control::placeholder {
    color: var(--text-muted);
}

.form-label {
    color: var(--text-muted);
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    font-size: 0.9rem;
}

/* === Table Styles === */
.table {
    color: var(--text-primary);
}

.table-dark-panel {
    --bs-table-bg: var(--bg-panel);
    --bs-table-border-color: var(--border-medium);
}

.table-dark-panel thead {
    background-color: var(--bg-panel-header);
}

.table-dark-panel thead th {
    color: var(--text-gold);
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    font-weight: 600;
    border-bottom-color: var(--border-gold);
}

.table-dark-panel tbody tr:hover {
    background-color: rgba(140, 107, 46, 0.1);
}

/* === Dropdown Styles === */
.dropdown-menu-dark {
    background-color: var(--bg-panel);
    border-color: var(--border-medium);
}

.dropdown-item {
    color: var(--text-primary);
}

.dropdown-item:hover, .dropdown-item:focus {
    background-color: var(--btn-hover);
    color: var(--text-gold);
}

/* === Badge Styles === */
.badge-gold {
    background-color: var(--gold-dark);
    color: var(--bg-dark);
}

.badge-rank-1 {
    background: linear-gradient(135deg, #FFD700, #FFA500);
    color: #1a0f0a;
}

.badge-rank-2 {
    background: linear-gradient(135deg, #C0C0C0, #808080);
    color: #1a0f0a;
}

.badge-rank-3 {
    background: linear-gradient(135deg, #CD7F32, #8B4513);
    color: #fff;
}

/* === Hero Section === */
.hero-section {
    background: linear-gradient(180deg, var(--bg-panel) 0%, var(--bg-dark) 100%);
    border-bottom: 2px solid var(--border-gold);
    padding: 4rem 0;
}

.hero-title {
    font-size: 3rem;
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5);
}

.hero-subtitle {
    color: var(--text-muted);
    font-size: 1.25rem;
}

/* === Stats Cards === */
.stat-card {
    background-color: var(--bg-panel);
    border: 1px solid var(--border-medium);
    border-radius: 0.5rem;
    padding: 1.5rem;
    text-align: center;
    transition: transform 0.2s ease, border-color 0.2s ease;
}

.stat-card:hover {
    transform: translateY(-2px);
    border-color: var(--gold-dark);
}

.stat-value {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    font-size: 2rem;
    color: var(--text-gold);
    font-weight: 700;
}

.stat-label {
    color: var(--text-muted);
    font-size: 0.9rem;
    text-transform: uppercase;
    letter-spacing: 1px;
}

/* === Profile Page === */
.profile-header {
    background: linear-gradient(180deg, var(--bg-panel-header) 0%, var(--bg-panel) 100%);
    border-bottom: 2px solid var(--border-gold);
    padding: 2rem 0;
}

.profile-avatar {
    width: 120px;
    height: 120px;
    background-color: var(--bg-dark);
    border: 3px solid var(--gold-dark);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 3rem;
    color: var(--gold-medium);
}

.rating-badge {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    font-size: 1.5rem;
    color: var(--text-gold);
    background-color: var(--bg-dark);
    border: 2px solid var(--gold-dark);
    padding: 0.5rem 1rem;
    border-radius: 0.5rem;
}

/* === Leaderboard === */
.leaderboard-rank {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    font-weight: 700;
    font-size: 1.25rem;
    width: 50px;
}

.leaderboard-rank-1 { color: #FFD700; }
.leaderboard-rank-2 { color: #C0C0C0; }
.leaderboard-rank-3 { color: #CD7F32; }

/* === Alert Styles === */
.alert-gold {
    background-color: rgba(140, 107, 46, 0.2);
    border-color: var(--gold-dark);
    color: var(--text-gold);
}

.alert-danger-dark {
    background-color: rgba(179, 71, 71, 0.2);
    border-color: var(--accent-red);
    color: #f0a0a0;
}

.alert-success-dark {
    background-color: rgba(71, 133, 71, 0.2);
    border-color: var(--accent-green);
    color: #a0f0a0;
}

/* === Ornamental Dividers === */
.ornate-divider {
    display: flex;
    align-items: center;
    margin: 1.5rem 0;
}

.ornate-divider::before,
.ornate-divider::after {
    content: '';
    flex: 1;
    height: 1px;
    background: linear-gradient(90deg, transparent, var(--border-gold), transparent);
}

.ornate-divider-icon {
    color: var(--gold-dark);
    margin: 0 1rem;
}

/* === Loading Spinner === */
.spinner-gold {
    color: var(--gold-medium);
}

/* === Responsive Adjustments === */
@media (max-width: 768px) {
    .hero-title {
        font-size: 2rem;
    }

    .hero-subtitle {
        font-size: 1rem;
    }

    .stat-value {
        font-size: 1.5rem;
    }

    .profile-avatar {
        width: 80px;
        height: 80px;
        font-size: 2rem;
    }
}

/* === Animation Classes === */
.fade-in {
    animation: fadeIn 0.5s ease-in;
}

@keyframes fadeIn {
    from { opacity: 0; transform: translateY(10px); }
    to { opacity: 1; transform: translateY(0); }
}

/* === Scrollbar Styling === */
::-webkit-scrollbar {
    width: 10px;
}

::-webkit-scrollbar-track {
    background: var(--bg-dark);
}

::-webkit-scrollbar-thumb {
    background: var(--border-medium);
    border-radius: 5px;
}

::-webkit-scrollbar-thumb:hover {
    background: var(--gold-dark);
}

/* === Server Status Indicator === */
.status-indicator {
    display: inline-block;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    animation: pulse 2s infinite;
}

.status-online {
    background-color: #28a745;
    box-shadow: 0 0 8px rgba(40, 167, 69, 0.6);
}

.status-offline {
    background-color: #dc3545;
    box-shadow: 0 0 8px rgba(220, 53, 69, 0.6);
    animation: none;
}

@keyframes pulse {
    0%, 100% { opacity: 1; }
    50% { opacity: 0.6; }
}
