@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;600;800&family=Inter:wght@300;400;600&display=swap');

:root {
    /* REQUEST #4: Darker background */
    --bg-dark: #050508; 
    --glass-bg: rgba(20, 20, 26, 0.85);
    --primary: #8c52ff;
    --primary-glow: rgba(140, 82, 255, 0.5);
    --accent: #ff3355;
    --gold: #ffd700;
    --online: #00e676;
    --text-main: #ffffff;
    --text-muted: #a0a0b0;
    --border: rgba(255, 255, 255, 0.08);
}

* { box-sizing: border-box; outline: none; }

body {
    background: var(--bg-dark);
    /* Deeper radial gradient */
    background-image: radial-gradient(circle at 50% 0%, #1a1035 0%, var(--bg-dark) 90%);
    color: var(--text-main);
    font-family: 'Inter', sans-serif;
    margin: 0; min-height: 100vh;
}

h1, h2, h3, h4 { font-family: 'Montserrat', sans-serif; margin-top: 0; letter-spacing: 0.5px; }
a { text-decoration: none; color: inherit; transition: 0.3s; }

.container { max-width: 1400px; margin: 0 auto; padding: 20px; }
.hidden { display: none !important; }
.w-100 { width: 100%; }

.glass-panel, .panel {
    background: var(--glass-bg);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    border: 1px solid var(--border);
    border-radius: 20px;
    padding: 30px;
    box-shadow: 0 10px 40px rgba(0,0,0,0.6);
    margin-bottom: 20px;
}

/* BUTTONS */
.btn {
    display: inline-flex; align-items: center; justify-content: center; gap: 10px;
    padding: 14px 28px; background: linear-gradient(135deg, var(--primary), #6c2bd9);
    color: white; border: none; border-radius: 12px; font-weight: 700; cursor: pointer;
    transition: all 0.2s; font-size: 1rem; text-transform: uppercase;
    box-shadow: 0 4px 15px var(--primary-glow);
}
.btn:hover { transform: translateY(-3px); box-shadow: 0 8px 25px var(--primary-glow); filter: brightness(1.1); }
.btn-danger { background: var(--accent); box-shadow: 0 4px 15px rgba(255, 51, 85, 0.4); }
.btn-ghost { background: transparent; border: 1px solid var(--border); box-shadow: none; }
.btn-ghost:hover { border-color: white; background: rgba(255,255,255,0.05); }

/* FORMS */
input, select, textarea {
    width: 100%; background: rgba(0,0,0,0.4); border: 1px solid var(--border);
    padding: 15px; border-radius: 10px; color: white; margin-bottom: 15px;
    font-size: 1rem; transition: 0.2s;
}
input:focus, select:focus { border-color: var(--primary); box-shadow: 0 0 0 3px rgba(140, 82, 255, 0.2); }

/* REQUEST #1: Cleaned up Modals */
.modal-overlay {
    position: fixed; top: 0; left: 0; width: 100%; height: 100%;
    background: rgba(0,0,0,0.92); backdrop-filter: blur(12px); z-index: 2000;
    display: flex; justify-content: center; align-items: center;
    opacity: 0; animation: fadeIn 0.2s forwards;
}
@keyframes fadeIn { to { opacity: 1; } }

.modal-box {
    background: #13131a; 
    width: 95%; max-width: 700px; padding: 40px;
    border-radius: 24px; border: 1px solid rgba(255,255,255,0.1);
    box-shadow: 0 25px 80px rgba(0,0,0,0.8); 
    max-height: 90vh; overflow-y: auto;
    position: relative;
}
.modal-box h2 { text-align: center; margin-bottom: 30px; font-size: 1.8rem; text-transform: uppercase; }

/* Scrollbar styling */
::-webkit-scrollbar { width: 8px; }
::-webkit-scrollbar-track { background: #0f0f13; }
::-webkit-scrollbar-thumb { background: #333; border-radius: 4px; }
::-webkit-scrollbar-thumb:hover { background: var(--primary); }