@import url('https://fonts.googleapis.com/css2?family=Orbitron:wght@400;700;900&family=Montserrat:wght@400;600;700&display=swap');
:root{--c:#00f0ff;--p:#ff007f;--pu:#a200ff;--y:#ffaa00;--r:#ff3300;--g:#00ff66;--bg:#050110;--panel:rgba(10,2,20,.92);--brd:rgba(0,240,255,.18);--tx:#e8e8f0;--dim:rgba(255,255,255,.45);--gc:0 0 8px var(--c),0 0 20px rgba(0,240,255,.25);--gp:0 0 8px var(--p),0 0 20px rgba(255,0,127,.25);--tr:all .25s ease;--sab: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(--tx);-webkit-tap-highlight-color:transparent;touch-action:none}
.hidden{display:none!important}
.gc{color:var(--c);text-shadow:var(--gc)}
.gp{color:var(--p);text-shadow:var(--gp)}
.glass{background:var(--panel);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid var(--brd);border-radius:16px;box-shadow:0 8px 40px rgba(0,0,0,.6)}
#game-canvas{display:block;width:100%;height:100%;position:fixed;inset:0;z-index:1;background:var(--bg)}
.overlay{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:fi .25s ease}
@keyframes fi{from{opacity:0}to{opacity:1}}

/* HUD */
.hud{position:fixed;top:0;left:0;right:0;z-index:10;padding:6px 10px;pointer-events:none}
.hud-row{display:flex;justify-content:space-between;align-items:center}
.hud-left,.hud-right{display:flex;align-items:center;gap:6px;pointer-events:auto}
.hud-box{background:rgba(0,0,0,.45);backdrop-filter:blur(4px);padding:3px 8px;border-radius:6px;font-family:'Orbitron',sans-serif;font-size:.6rem;font-weight:700;display:flex;align-items:center;gap:4px;white-space:nowrap}
.hud-lbl{color:var(--dim);font-size:.45rem;margin-right:3px}
.hud-btn{width:34px;height:34px;border-radius:8px;border:1px solid rgba(255,255,255,.15);background:rgba(0,0,0,.45);color:#fff;font-size:.75rem;cursor:pointer;display:flex;align-items:center;justify-content:center;pointer-events:auto;transition:var(--tr)}
.hud-xp-row{display:flex;align-items:center;gap:6px;margin-top:4px}
.hud-xp-lbl{font-family:'Orbitron',sans-serif;font-size:.5rem;font-weight:700;color:var(--c);min-width:34px}
.hud-xp-track{flex:1;height:6px;background:rgba(255,255,255,.08);border-radius:3px;overflow:hidden}
.hud-xp-fill{height:100%;background:linear-gradient(90deg,var(--pu),var(--c));border-radius:3px;transition:width .15s}
.hud-power{position:fixed;top:58px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:6px;background:rgba(0,0,0,.5);padding:4px 10px;border-radius:20px;font-size:.7rem;z-index:12;pointer-events:none}
.hud-power-bar{width:50px;height:4px;background:rgba(255,255,255,.1);border-radius:2px;overflow:hidden}
.hud-power-fill{height:100%;background:var(--y);border-radius:2px;transition:width .15s linear}

/* MENU */
.menu-wrap{max-width:420px;width:94%;display:flex;flex-direction:column;align-items:center;gap:6px;max-height:100dvh;overflow:hidden}
.title{font-family:'Orbitron',sans-serif;font-size:2.2rem;font-weight:900;letter-spacing:2px;line-height:1;text-align:center}
.title span{display:block;font-size:1.9rem}
.subtitle{font-size:.7rem;color:var(--dim);letter-spacing:2px;text-transform:uppercase;margin-bottom:4px}
.tab-content{width:100%;display:flex;flex-direction:column;gap:8px;max-height:calc(100dvh - 200px);overflow-y:auto;padding:2px;scrollbar-width:thin;scrollbar-color:var(--pu) transparent}
.tab-content::-webkit-scrollbar{width:4px}.tab-content::-webkit-scrollbar-thumb{background:var(--pu);border-radius:2px}
.tab-hd{font-family:'Orbitron',sans-serif;font-size:.85rem;font-weight:700;letter-spacing:1px;text-align:center}
.sub-hd{font-family:'Orbitron',sans-serif;font-size:.65rem;font-weight:700;color:var(--dim);letter-spacing:1px;margin-top:6px}
.mode-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.mode-btn{padding:10px 6px;border-radius:8px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.02);color:var(--dim);font-family:'Orbitron',sans-serif;font-size:.58rem;font-weight:700;letter-spacing:.5px;cursor:pointer;transition:var(--tr);display:flex;align-items:center;justify-content:center;gap:5px;min-height:42px}
.mode-btn:hover,.mode-btn.mode-active{border-color:var(--c);color:var(--c);background:rgba(0,240,255,.05)}
.btn-play{width:100%;padding:14px;border:2px solid var(--c);border-radius:12px;background:rgba(0,240,255,.08);color:var(--c);font-family:'Orbitron',sans-serif;font-weight:900;font-size:1.1rem;letter-spacing:3px;cursor:pointer;transition:var(--tr);display:flex;align-items:center;justify-content:center;gap:8px;min-height:50px}
.btn-play:hover{background:var(--c);color:#000;box-shadow:0 0 25px rgba(0,240,255,.5)}
.rec-grid{display:grid;grid-template-columns:1fr 1fr;gap:5px}
.rec{display:flex;justify-content:space-between;padding:5px 9px;background:rgba(255,255,255,.03);border-radius:6px;border:1px solid rgba(255,255,255,.04);font-size:.68rem}
.rec span:last-child{font-family:'Orbitron',sans-serif;font-weight:700;color:var(--c)}

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

/* Missions */
.mission-list{display:flex;flex-direction:column;gap:6px}
.mi{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:8px;background:rgba(255,255,255,.02);border:1px solid rgba(255,255,255,.05)}
.mi.done{border-color:rgba(0,255,102,.2);background:rgba(0,255,102,.03)}
.mi-icon{font-size:1.1rem;width:28px;text-align:center}
.mi-info{flex:1}.mi-name{font-size:.75rem;font-weight:700}.mi-desc{font-size:.6rem;color:var(--dim)}
.mi-chk{font-size:.9rem;color:var(--dim)}.mi.done .mi-chk{color:var(--g)}

/* Achievements */
.ach-list{display:flex;flex-direction:column;gap:5px}
.ai{display:flex;align-items:center;gap:8px;padding:7px 10px;border-radius:7px;background:rgba(255,255,255,.02);border:1px solid rgba(255,255,255,.04)}
.ai-icon{font-size:1rem;width:26px;text-align:center;opacity:.3}
.ai.unlocked .ai-icon{opacity:1}
.ai-name{font-size:.72rem;font-weight:700}.ai:not(.unlocked) .ai-name{color:var(--dim)}
.ai-desc{font-size:.58rem;color:var(--dim)}

/* Skins */
.skin-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}
.sk{padding:10px 4px;border-radius:8px;border:1px solid rgba(255,255,255,.06);background:rgba(255,255,255,.02);text-align:center;cursor:pointer;transition:var(--tr);display:flex;flex-direction:column;align-items:center;gap:4px}
.sk:hover{border-color:var(--c);background:rgba(0,240,255,.03)}
.sk.active{border-color:var(--c);box-shadow:0 0 10px rgba(0,240,255,.2)}
.sk.locked{opacity:.35;cursor:default}
.sk-swatch{width:22px;height:22px;border-radius:50%;border:2px solid rgba(255,255,255,.15)}
.sk.active .sk-swatch{border-color:#fff}
.sk-name{font-size:.5rem;font-family:'Orbitron',sans-serif;font-weight:700;letter-spacing:.3px}

/* Loot */
.loot-count{text-align:center;font-size:.85rem;margin:8px 0}
.loot-result{text-align:center;padding:16px;border-radius:10px;border:2px solid var(--y);background:rgba(255,170,0,.06);margin-top:8px}
.loot-result .lr-icon{font-size:2.5rem;display:block;margin-bottom:6px}
.loot-result .lr-name{font-family:'Orbitron',sans-serif;font-weight:900;font-size:1rem}
.loot-result .lr-rarity{font-size:.6rem;color:var(--y);letter-spacing:1px;margin-top:2px}
.credits-row{text-align:center;font-size:.75rem;color:var(--dim);margin-top:8px}
.credits-row i{color:var(--y)}

/* Settings */
.setting-row{display:flex;justify-content:space-between;align-items:center;padding:8px 10px;border-radius:7px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.04);font-size:.78rem}
.set-btn{width:38px;height:38px;border-radius:8px;border:1px solid rgba(255,255,255,.15);background:rgba(255,255,255,.04);color:#fff;font-size:.85rem;cursor:pointer;transition:var(--tr);display:flex;align-items:center;justify-content:center}
.set-btn:hover{border-color:var(--c);color:var(--c)}
.set-btn.danger{color:var(--r);border-color:rgba(255,51,0,.3)}
.set-btn.danger:hover{background:rgba(255,51,0,.1)}
.prestige-btn{color:var(--y);border-color:rgba(255,170,0,.3)}
.prestige-btn:not(:disabled):hover{background:rgba(255,170,0,.1);color:var(--y)}
.back-link{display:block;text-align:center;color:var(--dim);font-size:.72rem;text-decoration:none;padding:6px;transition:var(--tr)}
.back-link:hover{color:var(--c)}

/* Modals */
.modal{padding:24px;max-width:380px;width:88%;text-align:center;display:flex;flex-direction:column;gap:10px}
.modal h2{font-family:'Orbitron',sans-serif;font-size:1.6rem;font-weight:900}
.btn-glow{width:100%;padding:12px;border:2px solid var(--c);border-radius:10px;background:rgba(0,240,255,.08);color:var(--c);font-family:'Orbitron',sans-serif;font-weight:700;font-size:.8rem;letter-spacing:1px;cursor:pointer;transition:var(--tr);min-height:44px;display:flex;align-items:center;justify-content:center;gap:6px}
.btn-glow:hover{background:var(--c);color:#000;box-shadow:0 0 20px rgba(0,240,255,.4)}
.btn-glow:disabled{opacity:.4;cursor:default;box-shadow:none}
.btn-glow:disabled:hover{background:rgba(0,240,255,.08);color:var(--c)}
.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}

.go-modal{gap:8px}
.go-stats{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.go-s{padding:8px;border-radius:7px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.05)}
.go-v{font-family:'Orbitron',sans-serif;font-weight:900;font-size:1.1rem;color:var(--c);display:block}
.go-l{font-size:.5rem;color:var(--dim);letter-spacing:1px;text-transform:uppercase;margin-top:1px;display:block}
.go-rewards{font-size:.72rem;color:var(--y);text-align:center}
.go-best{font-size:.75rem;color:var(--y);font-weight:700;min-height:1em}
.go-btns{display:flex;gap:6px}
.go-btns .btn-glow{flex:1;font-size:.65rem;padding:10px 4px}

/* Toast */
.toast{position:fixed;top:-70px;left:50%;transform:translateX(-50%);z-index:200;display:flex;align-items:center;gap:8px;padding:8px 14px;border-radius:10px;background:var(--panel);border:2px solid var(--y);box-shadow:0 0 16px 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:10px}
.toast-lbl{font-family:'Orbitron',sans-serif;font-size:.45rem;color:var(--y);font-weight:700;letter-spacing:1px}
.toast-name{font-size:.78rem;font-weight:700}

/* Responsive */
@media(min-width:600px){.title{font-size:3rem}.title span{font-size:2.6rem}.skin-grid{grid-template-columns:repeat(4,1fr)}}
@media(max-width:360px){.title{font-size:1.7rem}.title span{font-size:1.4rem}.tab-btn span{display:none}.tab-btn{padding:8px 2px}.tab-btn i{font-size:.9rem}.hud-box{font-size:.5rem;padding:2px 5px}}
@media(max-height:500px) and (orientation:landscape){.menu-wrap{gap:3px;max-width:600px}.title{font-size:1.4rem}.title span{display:inline;font-size:1.2rem}.subtitle{display:none}.tab-content{max-height:calc(100dvh - 100px)}}
@media(prefers-reduced-motion:reduce){.overlay,.toast{animation:none}}
