@import url('https://fonts.googleapis.com/css2?family=Orbitron:wght@400;700;900&family=Montserrat:wght@400;600;700&display=swap');
:root{--cyan:#00f0ff;--pink:#ff007f;--purple:#a200ff;--yellow:#ffaa00;--red:#ff3300;--green:#00ff66;--bg:#050110;--panel:rgba(10,2,20,0.92);--border:rgba(0,240,255,0.18);--text:#e8e8f0;--dim:rgba(255,255,255,0.45);--glow-c:0 0 8px var(--cyan),0 0 20px rgba(0,240,255,0.25);--glow-p:0 0 8px var(--pink),0 0 20px rgba(255,0,127,0.25);--tr:all .25s ease;--safe-b:env(safe-area-inset-bottom,0px)}
*{margin:0;padding:0;box-sizing:border-box;user-select:none;-webkit-user-select:none}
html,body{width:100%;height:100%;overflow:hidden;background:var(--bg);font-family:'Montserrat',sans-serif;color:var(--text);-webkit-tap-highlight-color:transparent;touch-action:none}
.hidden{display:none!important}
.glow-cyan{color:var(--cyan);text-shadow:var(--glow-c)}
.glow-pink{color:var(--pink);text-shadow:var(--glow-p)}
.glass-panel{background:var(--panel);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid var(--border);border-radius:16px;box-shadow:0 8px 40px rgba(0,0,0,.6)}

/* Canvas */
#game-canvas{display:block;width:100%;height:100%;position:fixed;top:0;left:0;z-index:1;background:var(--bg)}

/* Overlay base */
.overlay-screen{position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;background:rgba(5,1,12,.82);backdrop-filter:blur(5px);animation:fadeIn .25s ease}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}

/* ===== HUD ===== */
.hud{position:fixed;top:0;left:0;right:0;z-index:10;padding:8px 12px;pointer-events:none}
.hud-row{display:flex;justify-content:space-between;align-items:flex-start}
.hud-left,.hud-center,.hud-right{display:flex;align-items:center;gap:8px}
.hud-right{pointer-events:auto}
.hud-stat-box{background:rgba(0,0,0,.45);backdrop-filter:blur(4px);padding:4px 10px;border-radius:6px;font-family:'Orbitron',sans-serif;font-size:.65rem;font-weight:700;display:flex;align-items:center;gap:5px;white-space:nowrap}
.hud-stat-box i{color:var(--cyan);font-size:.55rem}
.hud-label{color:var(--dim);font-size:.5rem;margin-right:4px}
.hud-val{color:#fff}
.hud-btn{width:36px;height:36px;border-radius:8px;border:1px solid rgba(255,255,255,.15);background:rgba(0,0,0,.45);color:#fff;font-size:.8rem;cursor:pointer;display:flex;align-items:center;justify-content:center;backdrop-filter:blur(4px);transition:var(--tr)}
.hud-btn:hover{border-color:var(--cyan)}
.hud-combo{position:fixed;top:52px;left:50%;transform:translateX(-50%);font-family:'Orbitron',sans-serif;font-weight:900;font-size:1.1rem;color:var(--yellow);text-shadow:0 0 10px var(--yellow);animation:comboPulse .3s ease;z-index:12;pointer-events:none}
@keyframes comboPulse{0%{transform:translateX(-50%) scale(1.6);opacity:.7}100%{transform:translateX(-50%) scale(1);opacity:1}}
.hud-powerup{display:flex;align-items:center;gap:6px;background:rgba(0,0,0,.5);padding:4px 10px;border-radius:20px;font-size:.8rem}
.hud-powerup-bar{width:60px;height:5px;background:rgba(255,255,255,.1);border-radius:3px;overflow:hidden}
.hud-powerup-fill{height:100%;background:var(--yellow);border-radius:3px;transition:width .15s linear}

/* ===== MAIN MENU ===== */
.menu-wrap{max-width:420px;width:94%;display:flex;flex-direction:column;align-items:center;gap:6px;max-height:100dvh;overflow:hidden}
.menu-title{font-family:'Orbitron',sans-serif;font-size:2.8rem;font-weight:900;letter-spacing:3px;line-height:1}
.menu-title span{font-size:2.5rem;display:block}
.menu-sub{font-size:.75rem;color:var(--dim);letter-spacing:2px;text-transform:uppercase;margin-bottom:6px}
.tab-content{width:100%;display:flex;flex-direction:column;gap:10px;max-height:calc(100dvh - 220px);overflow-y:auto;padding:4px 2px;scrollbar-width:thin;scrollbar-color:var(--purple) transparent}
.tab-content::-webkit-scrollbar{width:4px}
.tab-content::-webkit-scrollbar-thumb{background:var(--purple);border-radius:2px}
.tab-title{font-family:'Orbitron',sans-serif;font-size:.9rem;font-weight:700;letter-spacing:1px;text-align:center}

.btn-play{width:100%;padding:16px;border:2px solid var(--cyan);border-radius:12px;background:rgba(0,240,255,.08);color:var(--cyan);font-family:'Orbitron',sans-serif;font-weight:900;font-size:1.2rem;letter-spacing:3px;cursor:pointer;transition:var(--tr);display:flex;align-items:center;justify-content:center;gap:10px;min-height:54px}
.btn-play:hover{background:var(--cyan);color:#000;box-shadow:0 0 25px rgba(0,240,255,.5)}
.btn-mode{width:100%;padding:10px;border:1px solid rgba(255,255,255,.1);border-radius:8px;background:rgba(255,255,255,.03);color:var(--dim);font-family:'Orbitron',sans-serif;font-size:.65rem;font-weight:700;letter-spacing:1px;cursor:pointer;transition:var(--tr);display:flex;align-items:center;justify-content:center;gap:8px;min-height:44px}
.btn-mode:hover{border-color:var(--pink);color:var(--pink)}

.streak-bar{width:100%;text-align:center;font-family:'Orbitron',sans-serif;font-size:.7rem;font-weight:700;color:var(--yellow);padding:6px;border-radius:6px;background:rgba(255,170,0,.06);border:1px solid rgba(255,170,0,.15)}
.streak-bar i{margin-right:4px}

.menu-records{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.rec{display:flex;justify-content:space-between;padding:6px 10px;background:rgba(255,255,255,.03);border-radius:6px;border:1px solid rgba(255,255,255,.04);font-size:.72rem}
.rec span:last-child{font-family:'Orbitron',sans-serif;font-weight:700;color:var(--cyan)}

/* Tab bar */
.tab-bar{display:flex;width:100%;gap:2px;margin-top:auto;padding-bottom:max(4px,var(--safe-b))}
.tab-btn{flex:1;padding:8px 4px;border:none;background:rgba(255,255,255,.03);border-radius:8px;color:var(--dim);font-size:.5rem;font-family:'Orbitron',sans-serif;font-weight:700;letter-spacing:.5px;cursor:pointer;transition:var(--tr);display:flex;flex-direction:column;align-items:center;gap:3px;min-height:48px;justify-content:center}
.tab-btn i{font-size:.85rem}
.tab-btn.tab-active{color:var(--cyan);background:rgba(0,240,255,.06);border:1px solid rgba(0,240,255,.2)}

/* ===== Daily Challenges ===== */
.daily-list{display:flex;flex-direction:column;gap:8px}
.daily-item{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:10px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.06)}
.daily-icon{font-size:1.3rem;width:36px;text-align:center}
.daily-info{flex:1}
.daily-name{font-size:.8rem;font-weight:700}
.daily-desc{font-size:.65rem;color:var(--dim)}
.daily-check{font-size:1rem;color:var(--dim)}
.daily-item.done{border-color:rgba(0,255,102,.2);background:rgba(0,255,102,.04)}
.daily-item.done .daily-check{color:var(--green)}

/* ===== Achievements ===== */
.ach-list{display:flex;flex-direction:column;gap:6px}
.ach-item{display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:8px;background:rgba(255,255,255,.02);border:1px solid rgba(255,255,255,.04)}
.ach-icon{font-size:1.2rem;width:30px;text-align:center;opacity:.3}
.ach-item.unlocked .ach-icon{opacity:1}
.ach-name{font-size:.78rem;font-weight:700}
.ach-item:not(.unlocked) .ach-name{color:var(--dim)}
.ach-desc{font-size:.62rem;color:var(--dim)}

/* ===== Skins ===== */
.skin-progress{width:100%;height:10px;background:rgba(255,255,255,.08);border-radius:5px;overflow:hidden;margin-bottom:2px}
.skin-progress-fill{height:100%;background:linear-gradient(90deg,var(--purple),var(--cyan));border-radius:5px;transition:width .3s ease}
.skin-progress-text{font-size:.65rem;color:var(--dim);text-align:center;margin-bottom:8px}
.skin-list{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.skin-card{padding:14px 8px;border-radius:10px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.02);text-align:center;cursor:pointer;transition:var(--tr);display:flex;flex-direction:column;align-items:center;gap:6px;min-height:80px;justify-content:center}
.skin-card:hover{border-color:var(--cyan);background:rgba(0,240,255,.04)}
.skin-card.active{border-color:var(--cyan);box-shadow:0 0 12px rgba(0,240,255,.2)}
.skin-card.locked{opacity:.4;cursor:default}
.skin-swatch{width:28px;height:28px;border-radius:50%;border:2px solid rgba(255,255,255,.2)}
.skin-card.active .skin-swatch{border-color:#fff;box-shadow:0 0 8px currentColor}
.skin-label{font-size:.6rem;font-family:'Orbitron',sans-serif;font-weight:700;letter-spacing:.5px}

/* ===== Settings ===== */
.setting-row{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;border-radius:8px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.04);font-size:.8rem}
.setting-btn{width:40px;height:40px;border-radius:8px;border:1px solid rgba(255,255,255,.15);background:rgba(255,255,255,.04);color:#fff;font-size:.9rem;cursor:pointer;transition:var(--tr);display:flex;align-items:center;justify-content:center}
.setting-btn:hover{border-color:var(--cyan);color:var(--cyan)}
.setting-btn.danger{color:var(--red);border-color:rgba(255,51,0,.3)}
.setting-btn.danger:hover{background:rgba(255,51,0,.1)}
.back-link{display:block;text-align:center;color:var(--dim);font-size:.75rem;text-decoration:none;padding:8px;transition:var(--tr)}
.back-link:hover{color:var(--cyan)}

/* ===== Modals ===== */
.modal{padding:28px;max-width:380px;width:88%;text-align:center;display:flex;flex-direction:column;gap:12px}
.modal h2{font-family:'Orbitron',sans-serif;font-size:1.8rem;font-weight:900}
.btn-glow{width:100%;padding:13px;border:2px solid var(--cyan);border-radius:10px;background:rgba(0,240,255,.08);color:var(--cyan);font-family:'Orbitron',sans-serif;font-weight:700;font-size:.85rem;letter-spacing:1px;cursor:pointer;transition:var(--tr);min-height:48px;display:flex;align-items:center;justify-content:center;gap:8px}
.btn-glow:hover{background:var(--cyan);color:#000;box-shadow:0 0 20px rgba(0,240,255,.4)}
.btn-sec{border-color:rgba(255,255,255,.15);color:var(--dim);background:transparent}
.btn-sec:hover{border-color:#fff;color:#fff;background:rgba(255,255,255,.05);box-shadow:none}

/* Game Over */
.gameover-modal{gap:10px}
.go-stats{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.go-stat{padding:10px;border-radius:8px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.05)}
.go-val{font-family:'Orbitron',sans-serif;font-weight:900;font-size:1.15rem;color:var(--cyan);display:block}
.go-label{font-size:.55rem;color:var(--dim);letter-spacing:1px;text-transform:uppercase;margin-top:2px;display:block}
.go-best{font-size:.78rem;color:var(--yellow);font-weight:700;min-height:1em}
.go-btns{display:flex;gap:8px}
.go-btns .btn-glow{flex:1;font-size:.7rem;padding:10px 6px}

/* ===== Toast ===== */
.toast{position:fixed;top:-70px;left:50%;transform:translateX(-50%);z-index:200;display:flex;align-items:center;gap:10px;padding:10px 16px;border-radius:10px;background:var(--panel);border:2px solid var(--yellow);box-shadow:0 0 18px rgba(255,170,0,.2);transition:top .35s cubic-bezier(.175,.885,.32,1.275);max-width:90vw;backdrop-filter:blur(10px)}
.toast.active{top:12px}
.toast-label{font-family:'Orbitron',sans-serif;font-size:.5rem;color:var(--yellow);font-weight:700;letter-spacing:1px}
.toast-name{font-size:.82rem;font-weight:700}

/* ===== Responsive ===== */
@media(min-width:600px){.menu-title{font-size:3.5rem}.menu-title span{font-size:3rem}.skin-list{grid-template-columns:repeat(5,1fr)}}
@media(max-width:360px){.menu-title{font-size:2rem}.menu-title span{font-size:1.7rem}.hud-stat-box{font-size:.55rem;padding:3px 6px}.tab-btn span{display:none}.tab-btn{padding:10px 4px}.tab-btn i{font-size:1rem}}
@media(max-height:500px) and (orientation:landscape){.menu-wrap{gap:4px;flex-direction:row;flex-wrap:wrap;max-width:700px;justify-content:center}.menu-title{font-size:1.5rem;width:100%;text-align:center}.menu-title span{display:inline;font-size:1.3rem}.menu-sub{display:none}.tab-content{max-height:calc(100dvh - 110px)}.tab-bar{width:100%}}
@media(prefers-reduced-motion:reduce){.hud-combo,.toast,.overlay-screen{animation:none}}
