
        :root {
            --bg-color: #050505;
            --ui-bg: #111;
            --text-color: #eee;
            --text-color-faded: #aaa;
            --border-color: #333;
            --card-bg: #1a1a1a;
            
            --neon-blue: #00f3ff;
            --neon-pink: #ff0055;
            --neon-purple: #bc13fe;
            --neon-gold: #ffd700;
            --neon-danger: #ff3300;
            --neon-green: #39ff14;
        }
        
        body.light-theme {
            --bg-color: #f0f0f0;
            --ui-bg: #ffffff;
            --text-color: #111;
            --text-color-faded: #555;
            --border-color: #ccc;
            --card-bg: #eee;
        }


        body { 
            margin: 0; 
            overflow: hidden; 
            background: var(--bg-color); 
            font-family: 'Orbitron', sans-serif; 
            color: var(--text-color); 
            display: flex; 
            height: 100vh; 
            user-select: none;
            transition: background 0.3s, color 0.3s;
            contain: layout style paint;
        }
        
        #game-container { flex: 1; position: relative; box-shadow: inset 0 0 100px rgba(0,0,0,0.9); overflow: hidden; cursor: crosshair;contain: layout style paint; }
        #sidebar { 
            width: 350px; 
            background: var(--ui-bg); 
            display: flex; 
            flex-direction: column; 
            padding: 20px; 
            box-shadow: -10px 0 40px #000; 
            z-index: 10; 
            border-left: 1px solid var(--border-color);
            transition: background 0.3s, border-color 0.3s;
            contain: layout style paint;
        }

.daily-reward-btn { position: absolute; top: 10px; left: 10px; animation: pulseGold 2s infinite; will-change: box-shadow;}
@keyframes pulseGold { 0% { box-shadow: 0 0 0 0 rgba(255, 215, 0, 0.7); } 70% { box-shadow: 0 0 0 10px rgba(255, 215, 0, 0); } 100% { box-shadow: 0 0 0 0 rgba(255, 215, 0, 0); } }

        
        canvas { display: block; width: 100%; height: 100%; }

        .stat-box { background: rgba(128,128,128,0.05); padding: 15px; border-radius: 8px; margin-bottom: 10px; border: 1px solid var(--border-color); transition: border-color 0.3s; }
        .currency-display { display:flex; align-items:center; font-size:1.5rem; font-weight:bold; color:var(--neon-gold); margin-bottom:15px;}
        .neon-bit-icon { width:15px; height:15px; background:var(--neon-gold); border-radius:50%; margin-right:8px; box-shadow:0 0 10px var(--neon-gold); }
        
        #hud-hearts { position: absolute; top: 20px; left: 20px; display: flex; gap: 10px; z-index: 15; pointer-events: none; }
        .heart { width: 30px; height: 30px; background: var(--border-color); transform: rotate(45deg); position: relative; box-shadow: 0 0 5px #000; transition:0.3s;will-change: transform, background, box-shadow; }
        .heart::before, .heart::after { content: ''; position: absolute; width: 30px; height: 30px; background: inherit; border-radius: 50%; }
        .heart::before { top: -15px; left: 0; } .heart::after { top: 0; left: -15px; }
        .heart.active { background: var(--neon-pink); box-shadow: 0 0 15px var(--neon-pink); }
        .heart.shield { background: var(--neon-blue); box-shadow: 0 0 15px var(--neon-blue); } 
        .heart.lost { background: var(--border-color); opacity: 0.3; transform: rotate(45deg) scale(0.8); }

        .overlay-bg { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: rgba(5,5,5,0.95); display: flex; flex-direction: column; justify-content: center; align-items: center; z-index: 50; }
        body.light-theme .overlay-bg { background: rgba(255,255,255,0.95); }
        .hidden { display: none !important; }

        .btn { border: none; color: white; padding: 12px 25px; font-family: 'Orbitron', sans-serif; font-weight: bold; font-size: 1rem; cursor: pointer; text-transform: uppercase; background: linear-gradient(90deg, var(--neon-pink), var(--neon-purple)); transition: 0.2s; clip-path: polygon(10% 0, 100% 0, 100% 70%, 90% 100%, 0 100%, 0 30%); margin: 5px; will-change: transform, filter; }
        .btn:hover { transform: scale(1.05); filter: brightness(1.2); }
        .btn-green { background: linear-gradient(90deg, var(--neon-green), #005500); }
        .btn-blue { background: linear-gradient(90deg, var(--neon-blue), #005599); }
        .btn-leaderboard { background: linear-gradient(90deg, #ff8c00, #ffc87c); color: #000; }
        .btn-secondary { background: #444; color:#fff; }
        .btn:disabled { opacity: 0.5; cursor: default; transform: none; filter: none; }
        
        .language-select {
            padding: 8px;
            margin-left: 10px;
            font-family: 'Orbitron', sans-serif;
            background: var(--card-bg);
            color: var(--text-color);
            border: 1px solid var(--border-color);
            border-radius: 5px;
        }
        
        @media (max-width: 768px) {
            body { flex-direction: column; }
            #game-container { width: 100vw; height: calc(100vh - 70px); cursor: default; }
            #sidebar { width: 100%; height: 70px; padding: 10px; flex-direction: row; justify-content: space-around; align-items: center; box-shadow: 0 -5px 20px #000; border-left: none; border-top: 1px solid var(--border-color); box-sizing: border-box; }
            .stat-box { display: none; }
            .currency-display { margin-bottom: 0; font-size: 1.2rem; }
            #sidebar > div:last-child { text-align: right; display: flex; flex-direction: column; justify-content: center; align-items: flex-end; }
            #sidebar > div:last-child > div:first-child { display: none; }
            #sidebar > div:last-child > div:nth-child(2) { font-size: 1.5rem; }
        }

        #shop-content { width: 90%; max-width: 800px; height: 80%; background: var(--ui-bg); display: flex; flex-direction: column; padding: 20px; border: 1px solid var(--border-color); }
        .shop-tabs { display: flex; gap: 10px; margin-bottom: 20px; flex-wrap: wrap; }
        .shop-tab-btn { background: #333; padding: 10px 20px; border: none; color: #fff; cursor: pointer; font-family: 'Orbitron', sans-serif; }
        .shop-tab-btn.active { background: var(--neon-blue); color: #000; font-weight: bold; }
        
        .shop-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); gap: 15px; overflow-y: auto; padding: 10px; flex-grow: 1; }
        
        .product-card { 
            background: var(--card-bg); 
            border: 1px solid var(--border-color); 
            padding: 15px; 
            text-align: center; 
            border-radius: 8px; 
            display: flex; 
            flex-direction: column; 
            justify-content: space-between; 
            height: 220px;
            transition: border-color 0.3s, background 0.3s;
        }
        .product-card:hover { border-color: var(--text-color); }
        .product-card.owned { border-color: var(--neon-green); opacity: 0.8; }
        
        .consumable-card {
            background: var(--card-bg); 
            border: 1px solid var(--border-color); 
            padding: 15px; 
            text-align: center; 
            border-radius: 8px; 
            display: flex; 
            flex-direction: column; 
            justify-content: space-between; 
            min-height: 250px;
        }
        .consumable-card .save-badge {
            font-size: 0.9rem;
            font-weight: bold;
            color: var(--neon-green);
            background: rgba(57, 255, 20, 0.1);
            padding: 5px;
            border-radius: 5px;
            margin-top: 5px;
        }

        .rarity-Commun { color: var(--text-color); }
        .rarity-Rare { color: var(--neon-blue); text-shadow: 0 0 5px var(--neon-blue); }
        .rarity-Epique { color: var(--neon-purple); text-shadow: 0 0 5px var(--neon-purple); }
        .rarity-Legendaire { color: var(--neon-gold); text-shadow: 0 0 5px var(--neon-gold); }
        .rarity-Secret { color: var(--neon-purple); text-shadow: 0 0 10px var(--neon-blue), 0 0 10px var(--neon-purple); }

        .product-effect { font-size: 0.7rem; color: var(--text-color-faded); font-style: italic; }

        #lootbox-popup { 
            background: var(--ui-bg); 
            border: 2px solid var(--neon-gold); 
            padding: 40px; 
            max-width: 400px; 
            text-align: center; 
            box-shadow: 0 0 80px rgba(255,215,0,0.4);
        }
        #lootbox-popup h2 { color: var(--neon-gold); }
        #lootbox-popup .skin-reveal { 
            font-size: 1.5rem; 
            font-weight: bold; 
            padding: 15px; 
            margin: 20px 0;
            border: 1px solid var(--border-color);
        }

        #toast { position: absolute; top: 100px; left: 50%; transform: translateX(-50%); background: var(--neon-green); color: #000; padding: 10px 20px; border-radius: 5px; font-weight: bold; opacity: 0; transition: 0.3s; z-index: 200; pointer-events: none; }
        
        #start-anim { position: absolute; top: 45%; left: 50%; transform: translate(-50%, -50%); font-size: 4rem; font-weight: 900; color: transparent; -webkit-text-stroke: 2px var(--neon-blue); text-shadow: 0 0 30px var(--neon-blue); pointer-events: none; z-index: 40; opacity: 0; text-align:center; }
        .anim-play { animation: zoomFade 2.5s forwards; }
        @keyframes zoomFade { 0% { opacity:0; transform:translate(-50%,-50%) scale(0.5); } 20% { opacity:1; } 80% { opacity:1; transform:translate(-50%,-50%) scale(1.1); } 100% { opacity:0; transform:translate(-50%,-50%) scale(1.5); } }

        #settings-overlay .settings-row {
            display: flex;
            justify-content: space-between;
            align-items: center;
            width: 90%;
            max-width: 400px;
            margin: 10px 0;
            font-size: 1.1rem;
        }
        .toggle-switch {
            position: relative;
            display: inline-block;
            width: 60px;
            height: 34px;
        }
        .toggle-switch input { display:none; }
        .slider {
            position: absolute;
            cursor: pointer;
            top: 0; left: 0; right: 0; bottom: 0;
            background-color: #333;
            transition: .4s;
            border-radius: 34px;
        }
        .slider:before {
            position: absolute;
            content: "";
            height: 26px;
            width: 26px;
            left: 4px;
            bottom: 4px;
            background-color: white;
            transition: .4s;
            border-radius: 50%;
        }
        input:checked + .slider {
            background-color: var(--neon-blue);
        }
        input:checked + .slider:before {
            transform: translateX(26px);
        }
        
        input[type="range"] {
            -webkit-appearance: none;
            width: 150px;
            height: 10px;
            background: #333;
            border-radius: 5px;
            outline: none;
            opacity: 0.7;
            transition: opacity .2s;
        }
        input[type="range"]:hover { opacity: 1; }
        input[type="range"]::-webkit-slider-thumb {
            -webkit-appearance: none;
            appearance: none;
            width: 20px;
            height: 20px;
            background: var(--neon-blue);
            border-radius: 50%;
            cursor: pointer;
        }
        input[type="range"]::-moz-range-thumb {
            width: 20px;
            height: 20px;
            background: var(--neon-blue);
            border-radius: 50%;
            cursor: pointer;
        }

        #revive-timer-overlay {
            font-size: 8rem;
            font-weight: 900;
            color: var(--neon-green);
            text-shadow: 0 0 30px var(--neon-green);
        }
        
        #new-record-overlay .content {
            background: var(--ui-bg); 
            border: 2px solid var(--neon-gold); 
            padding: 40px; 
            max-width: 500px; 
            text-align: center; 
            box-shadow: 0 0 80px rgba(255,215,0,0.4);
        }
        #new-record-overlay h1 {
            color: var(--neon-gold);
            font-size: 3rem;
            margin-top: 0;
        }
        #new-record-overlay .score {
            font-size: 2rem;
            font-weight: bold;
            color: var(--text-color);
            margin-bottom: 20px;
        }
        #new-record-overlay .discord-info {
            background: var(--card-bg);
            padding: 15px;
            border-radius: 8px;
            margin-top: 20px;
        }
        #new-record-overlay a {
            color: var(--neon-blue);
            word-wrap: break-word;
            display: block;
            margin-top: 10px;
        }
        
        #probability-popup {
            background: var(--ui-bg); 
            border: 2px solid var(--neon-blue); 
            padding: 40px; 
            max-width: 500px; 
            text-align: center;
        }
        #probability-popup table {
            width: 100%;
            border-collapse: collapse;
            margin-top: 20px;
        }
        #probability-popup th, #probability-popup td {
            padding: 10px;
            border: 1px solid var(--border-color);
        }
        
        #tab-lootbox {
             grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)) !important;
        }
        
        .lootbox-card {
            background: var(--card-bg); 
            border: 1px solid var(--border-color); 
            padding: 15px; 
            text-align: center; 
            border-radius: 8px; 
            display: flex; 
            flex-direction: column; 
            justify-content: space-between; 
            min-height: 330px; 
            transition: border-color 0.3s, background 0.3s;
        }
        
        #firebase-leaderboard-overlay table {
            width: 100%;
            border-collapse: collapse;
            margin-top: 20px;
        }
        #firebase-leaderboard-overlay th, #firebase-leaderboard-overlay td {
            padding: 10px;
            border: 1px solid var(--border-color);
            text-align: center;
        }
        #firebase-leaderboard-overlay th {
            color: var(--neon-gold);
        }

    