:root{--bg-dark: #07080b;--bg-card: rgba(18, 20, 28, .7);--border-glow: rgba(255, 255, 255, .08);--p1-cyan: #00f0ff;--p1-cyan-glow: rgba(0, 240, 255, .4);--p1-cyan-dark: #00828f;--p2-rose: #ff0055;--p2-rose-glow: rgba(255, 0, 85, .4);--p2-rose-dark: #a30033;--accent-purple: #9d4edd;--accent-purple-glow: rgba(157, 78, 221, .4);--accent-gold: #ffbe0b;--accent-gold-glow: rgba(255, 190, 11, .4);--text-primary: #f8f9fa;--text-secondary: #adb5bd;--font-main: "Outfit", sans-serif;--shadow-neon-p1: 0 0 15px var(--p1-cyan-glow), 0 0 30px rgba(0, 240, 255, .1);--shadow-neon-p2: 0 0 15px var(--p2-rose-glow), 0 0 30px rgba(255, 0, 85, .1);--shadow-glass: 0 8px 32px 0 rgba(0, 0, 0, .37);--transition-smooth: all .3s cubic-bezier(.25, .8, .25, 1)}*{box-sizing:border-box;margin:0;padding:0;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}#game-screen,#game-screen *{touch-action:none}html,body{width:100%;height:100%;overflow:hidden;background-color:var(--bg-dark);font-family:var(--font-main);color:var(--text-primary)}#app{width:100%;height:100%;position:relative}.screen{position:absolute;top:0;left:0;width:100%;height:100%;opacity:0;pointer-events:none;visibility:hidden;transition:opacity .4s ease,transform .4s ease,visibility .4s ease;transform:scale(.98);display:flex;flex-direction:column}.screen.active{opacity:1;pointer-events:auto;visibility:visible;transform:scale(1)}#lobby{background:linear-gradient(-45deg,#07080b,#12141c,#090b11,#07080b);background-size:400% 400%;animation:background-shift 15s ease infinite;display:flex;flex-direction:column;justify-content:flex-start;align-items:center;padding:2.5rem 1.5rem;overflow-y:auto;-webkit-overflow-scrolling:touch;position:absolute;gap:2.5rem}#lobby>*{flex-shrink:0}@keyframes background-shift{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}header{text-align:center;margin-top:1.5rem;z-index:5}.glow-title{font-size:3.5rem;font-weight:800;letter-spacing:4px;background:linear-gradient(90deg,var(--p1-cyan) 0%,var(--p2-rose) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;filter:drop-shadow(0 0 12px rgba(0,240,255,.35));margin-bottom:.2rem;animation:title-glow-pulse 3s ease-in-out infinite alternate}@keyframes title-glow-pulse{0%{filter:drop-shadow(0 0 10px rgba(0,240,255,.3)) drop-shadow(0 0 2px rgba(0,240,255,.2))}to{filter:drop-shadow(0 0 20px rgba(255,0,85,.5)) drop-shadow(0 0 4px rgba(255,0,85,.3))}}.subtitle{font-size:1.1rem;font-weight:600;color:var(--text-secondary);letter-spacing:6px;opacity:.8}.lobby-options{margin:1rem 0;z-index:5}.option-btn{background:#ffffff0a;border:1px solid rgba(255,255,255,.08);color:var(--text-primary);padding:.6rem 1.2rem;border-radius:30px;font-family:var(--font-main);font-size:.9rem;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:.5rem;transition:var(--transition-smooth);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.option-btn:hover{background:#ffffff14;border-color:#ffffff26;box-shadow:0 0 15px #ffffff0d}.status-on{color:var(--p1-cyan);text-shadow:0 0 8px var(--p1-cyan-glow)}.status-off{color:var(--text-secondary);text-shadow:none}.game-grid{width:100%;max-width:900px;display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem;margin:1.5rem 0;z-index:5}@media (max-width: 600px){.game-grid{grid-template-columns:1fr;gap:1rem}.glow-title{font-size:2.8rem}}.game-card{position:relative;height:180px;border-radius:16px;overflow:hidden;cursor:pointer;background:var(--bg-card);border:1px solid var(--border-glow);box-shadow:var(--shadow-glass);transition:var(--transition-smooth)}.game-card:hover{transform:translateY(-5px);border-color:#ffffff26}.game-card:after{content:"";position:absolute;top:-50%;left:-60%;width:30%;height:200%;background:linear-gradient(to right,#fff0,#ffffff21,#fff0);transform:rotate(30deg);transition:none;opacity:0;pointer-events:none;z-index:3}.game-card:hover:after{left:120%;transition:all .65s cubic-bezier(.25,.8,.25,1);opacity:1}.card-glow{position:absolute;top:0;left:0;width:100%;height:100%;opacity:.05;transition:var(--transition-smooth);pointer-events:none}.game-card:hover .card-glow{opacity:.18}.red-blue{background:linear-gradient(135deg,var(--p1-cyan) 0%,var(--p2-rose) 100%)}.purple-gold{background:linear-gradient(135deg,var(--accent-purple) 0%,var(--accent-gold) 100%)}.blue-gold{background:linear-gradient(135deg,var(--p1-cyan) 0%,var(--accent-gold) 100%)}.red-gold{background:linear-gradient(135deg,var(--p2-rose) 0%,var(--accent-gold) 100%)}.card-content{position:relative;z-index:2;padding:1.5rem;height:100%;display:flex;flex-direction:column;justify-content:space-between}.game-icon{font-size:2.2rem;margin-bottom:.5rem;transition:transform .3s ease}.game-card:hover .game-icon{transform:scale(1.15) rotate(8deg)}.game-card h3{font-size:1.4rem;font-weight:700;margin-bottom:.3rem;letter-spacing:.5px}.game-card p{font-size:.85rem;color:var(--text-secondary);line-height:1.3;margin-bottom:.5rem;flex-grow:1}.play-tag{align-self:flex-start;font-size:.8rem;font-weight:800;letter-spacing:1px;padding:.3rem .8rem;border-radius:4px;background:#ffffff0f;border:1px solid rgba(255,255,255,.1);transition:var(--transition-smooth)}.game-card[data-game=pingpong]:hover{border-color:var(--p1-cyan);box-shadow:0 0 20px #00f0ff40}.game-card[data-game=pingpong]:hover .play-tag{background:var(--p1-cyan);color:#000;box-shadow:0 0 12px var(--p1-cyan-glow)}.game-card[data-game=spinnerwar]:hover{border-color:var(--accent-purple);box-shadow:0 0 20px #9d4edd40}.game-card[data-game=spinnerwar]:hover .play-tag{background:var(--accent-purple);color:#fff;box-shadow:0 0 12px var(--accent-purple-glow)}.game-card[data-game=tanks]:hover{border-color:var(--accent-gold);box-shadow:0 0 20px #ffbe0b40}.game-card[data-game=tanks]:hover .play-tag{background:var(--accent-gold);color:#000;box-shadow:0 0 12px var(--accent-gold-glow)}.game-card[data-game=tugofwar]:hover{border-color:var(--p2-rose);box-shadow:0 0 20px #ff005540}.game-card[data-game=tugofwar]:hover .play-tag{background:var(--p2-rose);color:#fff;box-shadow:0 0 12px var(--p2-rose-glow)}footer{text-align:center;font-size:.85rem;color:#ffffff40;margin-bottom:.5rem;letter-spacing:1px;z-index:5}#game-screen{background-color:#050608;position:absolute;perspective:1200px;perspective-origin:50% 50%;overflow:hidden}#canvas-container{position:absolute;top:0;left:0;width:100%;height:100%;z-index:1}#game-canvas{width:100%;height:100%;display:block}.rotated{transform:rotate(180deg)}#game-overlay{position:absolute;top:0;left:0;width:100%;height:100%;z-index:10;pointer-events:none;display:flex;flex-direction:column;justify-content:space-between;padding:1rem}#score-tab{position:absolute;left:0;top:50%;transform:translateY(-50%);background:#fff;border-radius:0 100px 100px 0;width:50px;height:140px;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 20px #0006;z-index:15;pointer-events:auto;transition:width .2s ease}.score-text{display:flex;align-items:center;justify-content:center;gap:.4rem;transform:rotate(90deg);font-family:var(--font-main);font-weight:800;font-size:1.8rem;white-space:nowrap}.p2-score-val{color:var(--p2-color);display:inline-block;transition:transform .2s cubic-bezier(.175,.885,.32,1.275)}.p1-score-val{color:var(--p1-color);display:inline-block;transition:transform .2s cubic-bezier(.175,.885,.32,1.275)}.score-dot-separator{color:#94a3b8;margin:0 .1rem}#center-message{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:3rem;font-weight:800;letter-spacing:2px;text-align:center;text-transform:uppercase;text-shadow:0 0 20px rgba(255,255,255,.5);transition:opacity .15s ease,transform .15s ease;z-index:12;pointer-events:none;animation:pulse-glow 1.5s infinite alternate}#center-message.hidden{opacity:0;transform:translate(-50%,-50%) scale(.7)}@keyframes pulse-glow{0%{transform:translate(-50%,-50%) scale(1)}to{transform:translate(-50%,-50%) scale(1.05)}}@keyframes tick-burst{0%{transform:translate(-50%,-50%) scale(2.8);opacity:0;filter:blur(5px)}40%{opacity:1;filter:none}to{transform:translate(-50%,-50%) scale(1);opacity:1}}.tick-animate{animation:tick-burst .45s cubic-bezier(.175,.885,.32,1.275) forwards!important}.exit-tab{position:absolute;right:0;top:50%;transform:translateY(-50%);background:#fff;border-radius:100px 0 0 100px;width:50px;height:140px;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 20px #0006;z-index:15;pointer-events:auto;cursor:pointer;transition:background-color .2s ease,width .2s ease}.exit-tab:hover{background:#f8fafc;width:55px}.exit-text{transform:rotate(90deg);font-family:var(--font-main);font-weight:800;font-size:1.2rem;color:#0f172a;letter-spacing:2px;white-space:nowrap}#play-again-btn{position:absolute;top:62%;left:50%;transform:translate(-50%,-50%);padding:.8rem 2.2rem;font-family:var(--font-main);font-weight:800;font-size:1.2rem;letter-spacing:2px;color:#fff;background:linear-gradient(90deg,var(--p1-cyan) 0%,var(--p2-rose) 100%);border:none;border-radius:30px;cursor:pointer;pointer-events:auto;z-index:20;box-shadow:0 0 15px #00f0ff66,0 0 30px #f056;transition:transform .2s cubic-bezier(.175,.885,.32,1.275),box-shadow .2s ease;text-transform:uppercase}#play-again-btn:hover{transform:translate(-50%,-50%) scale(1.08);box-shadow:0 0 25px #00f0ffb3,0 0 45px #ff0055b3}#play-again-btn:active{transform:translate(-50%,-50%) scale(.95)}#game-controls{position:absolute;top:0;left:0;width:100%;height:100%;z-index:5;pointer-events:none;display:flex;flex-direction:column}.player-controls{flex:1;position:relative;pointer-events:none;width:100%}.player-controls.rotated{transform-origin:center}.hidden{display:none!important}.action-btn-large{position:absolute;bottom:2rem;right:2rem;width:90px;height:90px;border-radius:50%;border:2px solid;font-family:var(--font-main);font-weight:800;font-size:.95rem;letter-spacing:.5px;cursor:pointer;color:#fff;transition:transform .1s ease,box-shadow .1s ease;box-shadow:var(--shadow-glass);pointer-events:auto}.action-btn-large:active{transform:scale(.92)}#p1-boost-btn{border-color:var(--p1-cyan);background:radial-gradient(circle,var(--p1-cyan-dark) 0%,#101520 100%);box-shadow:0 0 20px var(--p1-cyan-glow)}#p2-boost-btn{border-color:var(--p2-rose);background:radial-gradient(circle,var(--p2-rose-dark) 0%,#201015 100%);box-shadow:0 0 20px var(--p2-rose-glow)}.tank-ctrl-layout{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none}.joystick-zone{position:absolute;bottom:1.5rem;left:2rem;width:130px;height:130px;pointer-events:auto;display:flex;align-items:center;justify-content:center}.joystick-base{width:110px;height:110px;border-radius:50%;background:#0f111899;border:2px solid rgba(255,255,255,.1);position:relative;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.joystick-handle{width:50px;height:50px;border-radius:50%;position:absolute;top:30px;left:30px;transition:transform .05s ease;box-shadow:var(--shadow-glass)}#p1-joystick-zone .joystick-handle{background:radial-gradient(circle,var(--p1-cyan) 0%,var(--p1-cyan-dark) 100%);border:1px solid var(--p1-cyan);box-shadow:0 0 10px var(--p1-cyan-glow)}#p2-joystick-zone .joystick-handle{background:radial-gradient(circle,var(--p2-rose) 0%,var(--p2-rose-dark) 100%);border:1px solid var(--p2-rose);box-shadow:0 0 10px var(--p2-rose-glow)}.fire-btn-large{position:absolute;bottom:2.5rem;right:2.5rem;width:80px;height:80px;border-radius:50%;border:2px solid;font-family:var(--font-main);font-weight:800;font-size:1rem;cursor:pointer;color:#fff;pointer-events:auto;box-shadow:var(--shadow-glass);transition:transform .1s ease}.fire-btn-large:active{transform:scale(.9)}#p1-fire-btn{border-color:var(--p1-cyan);background:radial-gradient(circle,#f05,#90002b);box-shadow:0 0 15px #f056}#p2-fire-btn{border-color:var(--p2-rose);background:radial-gradient(circle,#f05,#90002b);box-shadow:0 0 15px #f056}.tap-zone{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;cursor:pointer;pointer-events:auto}.tap-prompt{font-size:1.8rem;font-weight:800;letter-spacing:2px;opacity:.25;pointer-events:none;animation:pulse-text 1s infinite alternate}#p1-tap-zone{background:#00f0ff05}#p1-tap-zone:active{background:#00f0ff14}#p1-tap-zone .tap-prompt{color:var(--p1-cyan);text-shadow:0 0 10px var(--p1-cyan-glow)}#p2-tap-zone{background:#ff005505}#p2-tap-zone:active{background:#ff005514}#p2-tap-zone .tap-prompt{color:var(--p2-rose);text-shadow:0 0 10px var(--p2-rose-glow)}@keyframes pulse-text{0%{transform:scale(.95);opacity:.15}to{transform:scale(1.05);opacity:.35}}.setup-panel{display:flex;justify-content:space-between;align-items:stretch;width:100%;max-width:900px;background:#12141c8c;border:1px solid rgba(255,255,255,.05);border-radius:16px;padding:1.2rem;margin:1rem 0;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:var(--shadow-glass);z-index:5;gap:1.5rem}@media (max-width: 600px){.setup-panel{flex-direction:column;gap:1.2rem;align-items:center;text-align:center}}.setup-column{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center}.setup-column h4{font-size:.9rem;font-weight:800;letter-spacing:2px;margin-bottom:.8rem;opacity:.8}.center-settings{border-left:1px solid rgba(255,255,255,.08);border-right:1px solid rgba(255,255,255,.08);padding:0 1rem}@media (max-width: 600px){.center-settings{border-left:none;border-right:none;border-top:1px solid rgba(255,255,255,.08);border-bottom:1px solid rgba(255,255,255,.08);padding:1rem 0;width:100%}}.color-selector{display:flex;gap:.6rem}.color-dot{width:32px;height:32px;border-radius:50%;cursor:pointer;border:2px solid transparent;transition:var(--transition-smooth);position:relative}.color-dot:hover{transform:scale(1.15)}.color-dot.active{border-color:#fff;transform:scale(1.1);box-shadow:0 0 12px currentColor}.settings-row{display:flex;gap:.8rem;margin-bottom:.6rem;width:100%;justify-content:center;align-items:center}.settings-row:last-child{margin-bottom:0}.setup-btn{background:#ffffff0a;border:1px solid rgba(255,255,255,.08);color:var(--text-primary);padding:.5rem 1rem;border-radius:8px;font-family:var(--font-main);font-size:.85rem;font-weight:700;cursor:pointer;transition:var(--transition-smooth);flex:1;text-align:center}.setup-btn:hover{background:#ffffff14;border-color:#ffffff26}.setup-btn.active{background:#fff;color:#000;border-color:#fff;box-shadow:0 0 10px #ffffff4d}.settings-row label{font-size:.8rem;font-weight:700;color:var(--text-secondary)}#ai-difficulty{background:#12141c;border:1px solid rgba(255,255,255,.15);color:#fff;padding:.4rem .8rem;border-radius:6px;font-family:var(--font-main);font-size:.85rem;font-weight:700;outline:none;cursor:pointer}:root{--p1-color: #00f3ff;--p1-glow: rgba(0, 243, 255, .4);--p2-color: #ff007f;--p2-glow: rgba(255, 0, 127, .4)}.p1-cyan{--p1-color: #00f3ff;--p1-glow: rgba(0, 243, 255, .4)}.p1-lime{--p1-color: #39ff14;--p1-glow: rgba(57, 255, 20, .4)}.p1-magenta{--p1-color: #ff007f;--p1-glow: rgba(255, 0, 127, .4)}.p1-gold{--p1-color: #ffbd59;--p1-glow: rgba(255, 189, 89, .4)}.p1-purple{--p1-color: #bf55ec;--p1-glow: rgba(191, 85, 236, .4)}.p2-cyan{--p2-color: #00f3ff;--p2-glow: rgba(0, 243, 255, .4)}.p2-lime{--p2-color: #39ff14;--p2-glow: rgba(57, 255, 20, .4)}.p2-magenta{--p2-color: #ff007f;--p2-glow: rgba(255, 0, 127, .4)}.p2-gold{--p2-color: #ffbd59;--p2-glow: rgba(255, 189, 89, .4)}.p2-purple{--p2-color: #bf55ec;--p2-glow: rgba(191, 85, 236, .4)}.p1-theme{border-color:var(--p1-color)!important;color:var(--p1-color)!important;box-shadow:0 0 10px var(--p1-glow),var(--shadow-glass)!important}.p2-theme{border-color:var(--p2-color)!important;color:var(--p2-color)!important;box-shadow:0 0 10px var(--p2-glow),var(--shadow-glass)!important}#p1-boost-btn{border-color:var(--p1-color)!important;background:radial-gradient(circle,var(--p1-color) 0%,#101520 100%)!important;box-shadow:0 0 20px var(--p1-glow)!important}#p2-boost-btn{border-color:var(--p2-color)!important;background:radial-gradient(circle,var(--p2-color) 0%,#201015 100%)!important;box-shadow:0 0 20px var(--p2-glow)!important}#p1-joystick-zone .joystick-handle{background:radial-gradient(circle,var(--p1-color) 0%,#101520 100%)!important;border:1px solid var(--p1-color)!important;box-shadow:0 0 10px var(--p1-glow)!important}#p2-joystick-zone .joystick-handle{background:radial-gradient(circle,var(--p2-color) 0%,#201015 100%)!important;border:1px solid var(--p2-color)!important;box-shadow:0 0 10px var(--p2-glow)!important}#p1-tap-zone{background:rgba(var(--p1-glow),.05)!important}#p1-tap-zone:active{background:rgba(var(--p1-glow),.15)!important}#p1-tap-zone .tap-prompt{color:var(--p1-color)!important;text-shadow:0 0 10px var(--p1-glow)!important}#p2-tap-zone{background:rgba(var(--p2-glow),.05)!important}#p2-tap-zone:active{background:rgba(var(--p2-glow),.15)!important}#p2-tap-zone .tap-prompt{color:var(--p2-color)!important;text-shadow:0 0 10px var(--p2-glow)!important}@media (max-width: 768px){#lobby{padding:2rem 1rem;gap:1.8rem}#score-tab,.exit-tab{height:120px;width:42px}.score-text{font-size:1.4rem}.exit-text{font-size:1.05rem}.action-btn-large{width:110px;height:110px;bottom:1.5rem;right:1.5rem;font-size:1.1rem}.joystick-zone{width:160px;height:160px;bottom:1rem;left:1rem}.joystick-base{width:130px;height:130px}.joystick-handle{width:60px;height:60px;top:35px;left:35px}.fire-btn-large{width:100px;height:100px;bottom:1.5rem;right:1.5rem;font-size:1.2rem;font-weight:900}.tap-prompt{font-size:2.2rem}}#loading-screen{background:#07080b;display:flex;align-items:center;justify-content:center;text-align:center;z-index:100}.loading-content{display:flex;flex-direction:column;align-items:center;gap:1.5rem}.loading-title{font-family:var(--font-main);font-size:3.5rem;font-weight:900;letter-spacing:3px;text-transform:uppercase;color:#fff;text-shadow:0 0 25px rgba(255,255,255,.4);margin:0}.loading-status{font-family:var(--font-main);font-size:1.2rem;font-weight:600;letter-spacing:5px;text-transform:uppercase;color:var(--p1-color, #00f3ff);text-shadow:0 0 10px var(--p1-color, #00f3ff)}.loading-countdown{font-family:var(--font-main);font-size:6rem;font-weight:900;color:#fff;text-shadow:0 0 30px rgba(255,255,255,.8);margin:1rem 0;animation:countdownPulse 1s infinite ease-in-out}.loading-bar-container{width:250px;height:6px;background:#ffffff0d;border-radius:10px;overflow:hidden;position:relative;border:1px solid rgba(255,255,255,.1)}.loading-bar{height:100%;width:0%;background:linear-gradient(90deg,var(--p1-color, #00f3ff),var(--p2-color, #ff007f));box-shadow:0 0 10px var(--p1-color, #00f3ff);border-radius:10px;animation:loadProgress 4.2s linear forwards}@keyframes countdownPulse{0%{transform:scale(.6);opacity:0}20%{transform:scale(1.1);opacity:1}80%{transform:scale(1);opacity:1}to{transform:scale(1.2);opacity:0}}@keyframes loadProgress{0%{width:0%}to{width:100%}}
