:root{--bg-dark:#0a0a1a;--bg-card:#12121f;--border-color:rgba(139,92,246,0.3);--text-primary:#f0f0f0;--text-secondary:#94a3b8;--phantom-purple:#8b5cf6;--phantom-cyan:#22d3ee;--phantom-dark:#1a0a2a;--danger-red:#ef4444;--safe-green:#10b981}*{margin:0;padding:0;box-sizing:border-box}body{font-family:'Inter',-apple-system,BlinkMacSystemFont,sans-serif;background:var(--bg-dark);color:var(--text-primary);min-height:100vh;overflow-x:hidden}.animated-header{background:transparent !important;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.game-title,.start-title,.end-title,.hud-item,.final-score{font-family:'Orbitron',sans-serif}.start-subtitle,.diff-btn,.start-btn,.retry-btn,.submit-btn{font-family:'Rajdhani',sans-serif}.game-background{position:fixed;inset:0;background:radial-gradient(ellipse at 20% 80%,rgba(139,92,246,0.15) 0,transparent 50%),radial-gradient(ellipse at 80% 20%,rgba(34,211,238,0.1) 0,transparent 50%),radial-gradient(ellipse at 50% 50%,rgba(26,10,42,0.8) 0,transparent 70%),linear-gradient(180deg,#0a0a1a 0,#1a0a2a 100%);z-index:-1}.game-container{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;min-height:100vh;padding:100px 1rem 2rem}.game-header{display:flex;align-items:center;justify-content:space-between;width:100%;max-width:900px;margin-bottom:1rem;padding:0 1rem}.game-title{font-size:1.8rem;font-weight:900;background:linear-gradient(135deg,#8b5cf6,#22d3ee);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;text-shadow:0 0 30px rgba(139,92,246,0.5)}.back-btn{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:rgba(139,92,246,0.1);border:1px solid var(--border-color);border-radius:8px;color:var(--text-secondary);text-decoration:none;font-weight:500;transition:all .3s}.back-btn:hover{background:rgba(139,92,246,0.2);color:var(--phantom-purple)}.game-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:20px;padding:1.5rem;box-shadow:0 20px 60px rgba(0,0,0,0.5);position:relative;overflow:hidden}.game-card::before{content:'';position:absolute;inset:-2px;background:linear-gradient(135deg,rgba(139,92,246,0.3),transparent 50%,rgba(34,211,238,0.2));border-radius:22px;z-index:-1}#game-canvas{border-radius:12px;display:block;cursor:crosshair;background:linear-gradient(180deg,#0a0a1a 0,#1a0a2a 100%);touch-action:none}.game-hud{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding:.75rem 1rem;background:rgba(0,0,0,0.3);border-radius:12px;border:1px solid var(--border-color);flex-wrap:wrap;gap:.5rem}.hud-item{display:flex;align-items:center;gap:.5rem;font-family:'Orbitron',sans-serif;font-weight:700;font-size:.9rem}.hud-item i{font-size:1.1rem}.hud-score{color:#fbbf24}.hud-level{color:var(--phantom-cyan)}.hud-charges{color:var(--phantom-purple)}.hud-time{color:var(--safe-green)}.charge-pips{display:flex;gap:4px}.charge-pip{width:12px;height:12px;border-radius:50%;background:rgba(139,92,246,0.3);border:2px solid var(--phantom-purple);transition:all .3s}.charge-pip.active{background:var(--phantom-purple);box-shadow:0 0 10px var(--phantom-purple)}.charge-pip.recharging{animation:recharge-pulse 1s ease-in-out infinite}@keyframes recharge-pulse{0%,100%{opacity:.3}50%{opacity:.7}}.start-screen,.end-screen{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;background:radial-gradient(ellipse at center,rgba(10,10,26,0.95) 0,rgba(10,10,26,0.99) 70%);border-radius:12px;z-index:10;padding:1rem;text-align:center;overflow-y:auto;overflow-x:hidden}.start-screen{justify-content:flex-start;padding-top:1.5rem}.end-screen{justify-content:center}.hidden{display:none !important}.phantom-mascot{width:80px;height:80px;margin-bottom:.5rem;border-radius:50%;background:linear-gradient(135deg,var(--phantom-dark),var(--phantom-purple));display:flex;align-items:center;justify-content:center;box-shadow:0 0 40px rgba(139,92,246,0.4);animation:float 3s ease-in-out infinite;font-size:2rem;flex-shrink:0}@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}.start-title{font-size:1.8rem;font-weight:900;margin-bottom:.25rem;background:linear-gradient(135deg,#8b5cf6,#22d3ee);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.start-subtitle{color:var(--text-secondary);font-size:.85rem;margin-bottom:.75rem;max-width:380px;line-height:1.4}.difficulty-buttons{display:flex;gap:.5rem;margin-bottom:.75rem;flex-wrap:wrap;justify-content:center}.diff-btn{padding:.6rem 1.2rem;border:2px solid var(--border-color);border-radius:10px;background:rgba(139,92,246,0.1);color:var(--text-primary);font-size:1rem;font-weight:600;font-family:'Rajdhani',sans-serif;font-size:.85rem;font-weight:700;cursor:pointer;transition:all .3s;min-width:85px}.diff-btn:hover{background:rgba(139,92,246,0.3);border-color:var(--phantom-purple);transform:translateY(-2px)}.diff-btn.active{background:var(--phantom-purple);border-color:var(--phantom-purple)}.diff-btn .reward{display:block;font-size:.75rem;color:#fbbf24;margin-top:.2rem}.start-btn{padding:.75rem 2rem;font-family:'Orbitron',sans-serif;font-size:.95rem;font-weight:700;background:linear-gradient(135deg,#8b5cf6,#22d3ee);color:white;border:0;border-radius:50px;cursor:pointer;transition:all .3s;box-shadow:0 8px 25px rgba(139,92,246,0.4);margin-bottom:.5rem}.start-btn:hover{transform:translateY(-2px);box-shadow:0 12px 35px rgba(139,92,246,0.5)}.instructions{margin-top:.5rem;padding:.6rem .8rem;background:rgba(0,0,0,0.3);border-radius:10px;font-size:.75rem;color:var(--text-secondary);max-width:400px;line-height:1.3}.instructions h4{color:var(--phantom-cyan);margin-bottom:.25rem;font-size:.8rem}.instructions .desktop-hint{display:block}.instructions .mobile-hint{display:none}@media(pointer:coarse){.instructions .desktop-hint{display:none}.instructions .mobile-hint{display:block}}.end-screen{text-align:center}.end-screen .phantom-mascot,.end-screen .end-title,.end-screen .final-score,.end-screen .score-breakdown,.end-screen .ad-multiplier-section,.end-screen .end-buttons{display:flex;flex-direction:column;align-items:center;justify-content:center}.end-screen .final-score{flex-direction:row;gap:.5rem}.end-title{font-size:1.8rem;margin-bottom:.5rem}.end-title.victory{color:#fbbf24}.end-title.defeat{color:var(--danger-red)}.final-score{font-size:2rem;font-weight:900;color:#fbbf24;margin-bottom:.5rem}.score-breakdown{color:var(--text-secondary);margin-bottom:1rem;font-size:.9rem}.end-buttons{display:flex;gap:.75rem;flex-wrap:wrap;justify-content:center}.retry-btn,.submit-btn{padding:.6rem 1.5rem;font-family:'Rajdhani',sans-serif;font-size:.95rem;font-weight:700;border:0;border-radius:50px;cursor:pointer;transition:all .3s}.retry-btn{background:rgba(139,92,246,0.2);color:var(--phantom-purple);border:2px solid var(--phantom-purple)}.submit-btn{background:linear-gradient(135deg,#22c55e,#16a34a);color:white}.retry-btn:hover,.submit-btn:hover{transform:translateY(-2px)}.mobile-controls{display:none}@media(pointer:coarse),(max-width:768px){.mobile-controls{display:block}.mobile-shift-btn{position:fixed;bottom:100px;right:20px;width:80px;height:80px;border-radius:50%;background:linear-gradient(135deg,#8b5cf6,#22d3ee);border:3px solid rgba(255,255,255,0.3);color:white;font-size:12px;font-weight:bold;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;box-shadow:0 4px 20px rgba(139,92,246,0.5);z-index:1000;-webkit-tap-highlight-color:transparent;cursor:pointer}.mobile-shift-btn i{font-size:24px}.mobile-shift-btn.active{background:linear-gradient(135deg,#22d3ee,#8b5cf6);transform:scale(1.1);box-shadow:0 0 30px rgba(34,211,238,0.8)}.mobile-shift-btn.disabled{background:#444;opacity:.5}.mobile-charge-pips{display:flex;gap:4px}.mobile-charge-pip{width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,0.3)}.mobile-charge-pip.active{background:#22d3ee;box-shadow:0 0 6px #22d3ee}}.instructions-bar{width:100%;max-width:832px;background:linear-gradient(135deg,rgba(34,211,238,0.15),rgba(139,92,246,0.1));border:1px solid rgba(34,211,238,0.3);border-radius:12px;padding:.75rem 1.25rem;margin-bottom:1rem;display:flex;align-items:center;gap:.75rem;font-size:.9rem;color:var(--text-secondary)}.instructions-bar i{color:var(--phantom-cyan);font-size:1.1rem}.instructions-bar strong{color:var(--phantom-cyan)}.instructions-bar .desktop-text{display:inline}.instructions-bar .mobile-text{display:none}@media(pointer:coarse){.instructions-bar .desktop-text{display:none}.instructions-bar .mobile-text{display:inline}}.ad-multiplier-section{margin:12px 0 8px;padding:10px 16px;background:rgba(139,92,246,0.15);border:1px solid rgba(139,92,246,0.4);border-radius:8px}.ad-multiplier-section h4{color:#fbbf24;font-size:.85rem;margin-bottom:8px;font-weight:600}.multiplier-buttons{display:flex;gap:8px;justify-content:center;flex-wrap:wrap}.multiplier-btn{padding:6px 12px;border-radius:6px;border:1px solid rgba(34,211,238,0.4);background:rgba(34,211,238,0.1);color:var(--phantom-cyan);font-family:'Rajdhani',sans-serif;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:4px}.multiplier-btn:hover{background:rgba(34,211,238,0.2);transform:translateY(-2px)}.multiplier-btn.gold{border-color:rgba(251,191,36,0.4);background:rgba(251,191,36,0.1);color:#fbbf24}.game-leaderboard{margin-top:24px;background:var(--bg-card);border-radius:16px;border:1px solid var(--border-color);overflow:hidden;width:100%;max-width:832px}.leaderboard-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;background:rgba(139,92,246,0.1);border-bottom:1px solid var(--border-color)}.leaderboard-header h3{font-family:'Orbitron',sans-serif;font-size:1.1rem;color:#fbbf24;margin:0;display:flex;align-items:center;gap:8px}.leaderboard-reset{font-size:.8rem;color:var(--text-secondary);background:rgba(255,255,255,0.05);padding:4px 10px;border-radius:12px}.leaderboard-list{padding:12px;max-height:300px;overflow-y:auto}.leaderboard-entry{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:8px;margin-bottom:6px;background:rgba(255,255,255,0.02)}.leaderboard-entry.current-user{background:rgba(139,92,246,0.15);border:1px solid rgba(139,92,246,0.3)}.leaderboard-rank{font-family:'Orbitron',sans-serif;font-weight:700;width:32px;text-align:center}.leaderboard-rank.gold{color:#fbbf24}.leaderboard-rank.silver{color:#94a3b8}.leaderboard-rank.bronze{color:#cd7f32}.leaderboard-name{flex:1;font-weight:500}.leaderboard-name a{color:inherit;text-decoration:none}.leaderboard-name a:hover{color:#fbbf24}.leaderboard-score{font-family:'Orbitron',sans-serif;font-weight:700;color:#fbbf24}.leaderboard-empty,.leaderboard-loading{text-align:center;padding:24px;color:var(--text-secondary)}#companion-selector-container{margin-bottom:1rem}@media(max-width:768px){.game-container{padding:90px 12px 24px}.game-card{border-radius:12px;padding:1rem}.game-header{flex-direction:column;align-items:center;gap:12px}.game-title{font-size:1.5rem}#game-canvas{max-width:100%;height:auto !important}.start-title{font-size:1.5rem}.start-subtitle{font-size:.8rem;margin-bottom:.5rem}.phantom-mascot{width:60px;height:60px;font-size:1.5rem}.instructions{padding:.5rem .6rem;font-size:.7rem}.instructions h4{font-size:.75rem}}@media(max-width:480px){.game-container{padding:85px 8px 20px}.game-title{font-size:1.3rem}.game-card{padding:.75rem}.hud-item{font-size:.75rem}.start-screen,.end-screen{padding:.5rem;padding-top:.75rem}.start-title{font-size:1.2rem}.start-subtitle{font-size:.75rem;max-width:280px}.phantom-mascot{width:50px;height:50px;font-size:1.3rem;margin-bottom:.25rem}.diff-btn{padding:.4rem .8rem;font-size:.75rem;min-width:70px}.diff-btn .reward{font-size:.6rem}.start-btn{padding:.6rem 1.5rem;font-size:.85rem}.instructions{padding:.4rem .5rem;font-size:.65rem;max-width:95%}.instructions h4{font-size:.7rem;margin-bottom:.15rem}}@media(max-height:650px){.start-screen,.end-screen{justify-content:flex-start;padding-top:.5rem}.phantom-mascot{width:45px;height:45px;font-size:1.2rem;margin-bottom:.25rem}.start-title{font-size:1.1rem;margin-bottom:.15rem}.start-subtitle{font-size:.7rem;margin-bottom:.5rem}.difficulty-buttons{margin-bottom:.5rem;gap:.4rem}.diff-btn{padding:.35rem .7rem}.start-btn{padding:.5rem 1.2rem;font-size:.8rem;margin-bottom:.25rem}.instructions{margin-top:.25rem;padding:.35rem .5rem}}@keyframes toastSlide{from{opacity:0;transform:translateX(-50%) translateY(20px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}@keyframes levelPopup{0%{opacity:0;transform:translate(-50%,-50%) scale(0.5)}30%{opacity:1;transform:translate(-50%,-50%) scale(1.1)}100%{opacity:0;transform:translate(-50%,-80%) scale(1)}}@keyframes screenShake{0%,100%{transform:translateX(0)}10%{transform:translateX(-5px)}20%{transform:translateX(5px)}30%{transform:translateX(-5px)}40%{transform:translateX(5px)}50%{transform:translateX(-3px)}60%{transform:translateX(3px)}70%{transform:translateX(-2px)}80%{transform:translateX(2px)}90%{transform:translateX(-1px)}}.screen-shake{animation:screenShake .3s ease-out}