*{margin:0;padding:0;box-sizing:border-box}html,body{width:100%;height:100%;overflow:hidden;background:#1a1a2e;font-family:Segoe UI,system-ui,-apple-system,sans-serif;touch-action:none;user-select:none;-webkit-user-select:none;overscroll-behavior:none}*{-webkit-tap-highlight-color:transparent}#game-container{position:relative;width:100%;height:100%;overflow:hidden}.rotate-prompt{position:absolute;top:0;left:0;width:100%;height:100%;z-index:200;display:flex;align-items:center;justify-content:center;background:#000000f2;pointer-events:none}.rotate-prompt.hidden{display:none}.rotate-prompt-inner{text-align:center;color:#fff;animation:rotatePulse 2s ease-in-out infinite}.rotate-icon{font-size:4rem;display:block;margin-bottom:1rem;color:#0f8;text-shadow:0 0 20px rgba(0,255,136,.5)}.rotate-prompt-inner p{font-size:1.2rem;color:#aaa}@keyframes rotatePulse{0%,to{opacity:.8}50%{opacity:1}}#game-canvas{position:absolute;top:0;left:0;width:100%;height:100%;touch-action:none;cursor:crosshair}#joystick-zone{position:absolute;left:max(1rem,env(safe-area-inset-left,0px));bottom:max(1rem,env(safe-area-inset-bottom,0px));width:50%;height:60%;max-width:300px;max-height:400px;z-index:100;touch-action:none;-webkit-touch-callout:none;user-select:none;-webkit-user-select:none;pointer-events:auto;display:flex;align-items:center;justify-content:center}#joystick-base{position:absolute;left:50%;top:50%;width:clamp(100px,20vw,140px);height:clamp(100px,20vw,140px);border:4px solid rgba(255,255,255,.2);border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.05) 0%,transparent 70%);pointer-events:none;opacity:0;transform:translate(-50%,-50%);transition:opacity .2s}#joystick-zone.active #joystick-base{opacity:1}#joystick-knob{position:absolute;width:clamp(40px,8vw,60px);height:clamp(40px,8vw,60px);background:#0f89;border:3px solid rgba(0,255,136,.9);border-radius:50%;left:50%;top:50%;transform:translate(-50%,-50%);pointer-events:none;box-shadow:0 0 20px #0f86;transition:width .1s,height .1s}#joystick-zone.active #joystick-knob{background:#0f8c;box-shadow:0 0 30px #0f89}#joystick-zone:after{display:none}@keyframes joystickHint{0%,to{opacity:.15}50%{opacity:.3}}.hidden{display:none!important}.overlay{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:10;pointer-events:auto}#title-screen{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:20;background:linear-gradient(180deg,#0f0c29,#302b63,#24243e)}.game-title{font-size:clamp(3rem,10vw,5rem);margin-bottom:2rem;color:#0f8;text-shadow:0 0 20px rgba(0,255,136,.5);letter-spacing:.2rem}.title-buttons{display:flex;flex-direction:column;gap:1rem;align-items:center}#start-btn{font-size:clamp(1.2rem,4vw,1.8rem);font-weight:800;color:#1a1a2e;background:#0f8;border:none;padding:1rem 3rem;border-radius:2rem;cursor:pointer;animation:btnPulse 1.5s ease-in-out infinite;transition:transform .1s;touch-action:manipulation}#start-btn:active{transform:scale(.95)}@keyframes btnPulse{0%,to{box-shadow:0 0 20px #0f8}50%{box-shadow:0 0 40px #0f8,0 0 60px #0f8}}#version-tag{position:absolute;bottom:20px;right:20px;font-size:14px;color:#fff6;font-family:monospace}#shop-screen{background:#0f0f1efa}#shop-coins{font-size:1.2rem;color:gold;margin-bottom:1rem;font-weight:700}#shop-list{display:flex;flex-direction:column;gap:1rem;padding:1rem;max-width:500px;margin:0 auto}.shop-card{background:#ffffff0d;border:1px solid rgba(255,215,0,.2);border-radius:1rem;padding:1rem;display:flex;justify-content:space-between;align-items:center}.shop-info{text-align:left}.shop-name{font-weight:700;color:gold;display:block}.shop-desc{font-size:.8rem;color:#aaa}.shop-buy-btn{background:gold;color:#000;border:none;border-radius:1rem;padding:.5rem 1rem;font-weight:800;cursor:pointer;min-width:80px}.shop-buy-btn:disabled{background:#444;color:#888;cursor:not-allowed}#mission-intro{background:#000000d9;color:#fff;text-align:center;animation:fadeInOut 2.5s ease-in-out forwards}@keyframes fadeInOut{0%{opacity:0}15%{opacity:1}75%{opacity:1}to{opacity:0}}#mission-intro h2{font-size:clamp(1.5rem,5vw,3rem);color:#0f8;margin-bottom:1rem}#mission-intro p{font-size:clamp(1rem,3vw,1.5rem);color:gold}#hud{position:absolute;top:0;left:0;right:0;display:flex;justify-content:space-between;align-items:center;padding:max(.5rem,env(safe-area-inset-top,0px)) 1rem .5rem;background:linear-gradient(180deg,rgba(0,0,0,.7) 0%,transparent 100%);color:#fff;font-size:clamp(.9rem,2.5vw,1.2rem);font-weight:700;z-index:5;pointer-events:none}#hud-shards{color:#0f8}#hud-coins{color:gold}#hud-timer{color:#fff}#lifetime-stats{color:#aaa;font-size:.95em}.tutorial-toast{position:absolute;bottom:20%;left:50%;transform:translate(-50%);background:#000000d9;color:#fff;padding:.75rem 1.5rem;border-radius:2rem;font-size:clamp(.9rem,2.5vw,1.1rem);pointer-events:none;z-index:101}@keyframes toastPop{0%{transform:translate(-50%) scale(.8);opacity:0}to{transform:translate(-50%) scale(1);opacity:1}}.action-btn{position:absolute;z-index:100;font-size:clamp(1rem,3vw,1.4rem);font-weight:900;border-radius:50%;border:3px solid rgba(255,255,255,.3);display:flex;align-items:center;justify-content:center;cursor:pointer;touch-action:none;-webkit-touch-callout:none;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent}.action-btn:active{transform:scale(.9)}#jump-btn{position:absolute;right:max(1rem,env(safe-area-inset-right,0px));bottom:calc(max(1rem,env(safe-area-inset-bottom,0px)) + clamp(80px,20vw,140px));width:clamp(50px,12vw,70px);height:clamp(50px,12vw,70px);background:radial-gradient(circle,#4af,#26c);color:#fff;z-index:100;border-radius:50%;border:3px solid rgba(255,255,255,.3);font-size:clamp(.7rem,2vw,.95rem);font-weight:900;display:flex;align-items:center;justify-content:center;cursor:pointer;touch-action:none;-webkit-touch-callout:none;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent}#smash-btn{position:absolute;right:max(1rem,env(safe-area-inset-right,0px));bottom:max(1rem,env(safe-area-inset-bottom,0px));width:clamp(70px,18vw,120px);height:clamp(70px,18vw,120px);background:radial-gradient(circle,#f44,#c00);color:#fff;z-index:100;border-radius:50%;border:3px solid rgba(255,255,255,.3);display:flex;align-items:center;justify-content:center;cursor:pointer;touch-action:none;-webkit-touch-callout:none;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent}#smash-btn:active{transform:scale(.9);box-shadow:0 0 30px #f449}.mission-overlay{background:#000000e6;color:#fff;text-align:center}.mission-overlay h2{font-size:clamp(1.8rem,6vw,3rem);margin-bottom:.5rem}.loot-summary{display:flex;justify-content:center;gap:1.5rem;flex-wrap:wrap;margin:1rem 0;font-size:clamp(1rem,3vw,1.4rem)}.loot-title{width:100%;font-size:clamp(.9rem,2.5vw,1.1rem);color:#888;margin-bottom:.5rem}.loot-item{display:flex;flex-direction:column;align-items:center;gap:.3rem}.loot-item .count{font-size:clamp(1.5rem,5vw,2.5rem);font-weight:900}.loot-item.empty{color:#666;font-style:italic}.button-row{display:flex;justify-content:center;gap:1rem;width:100%;max-width:450px;margin:1.5rem auto 0;padding:0 1rem}.mission-action-btn{flex:1;font-size:clamp(.9rem,3vw,1.2rem);font-weight:800;border:none;padding:1rem .5rem;border-radius:1.5rem;cursor:pointer;transition:transform .1s,box-shadow .15s,filter .1s;touch-action:manipulation;white-space:nowrap}.mission-action-btn:active{transform:scale(.95)}.mission-action-btn.secondary{background:#333;color:#aaa;border:1px solid #444}.mission-action-btn.secondary:hover{background:#444;color:#fff}#reward-screen h2{color:gold;text-shadow:0 0 20px #ffd700;margin-bottom:1rem}#reward-screen h3{font-size:clamp(1.2rem,4vw,1.8rem);color:#0f8;margin:1.5rem 0 1rem}#upgrade-cards{display:flex;justify-content:center;gap:1rem;flex-wrap:wrap;margin-bottom:1.5rem}.upgrade-card{background:linear-gradient(135deg,#2a2a4a,#1a1a2e);border:2px solid #00ff88;border-radius:1rem;padding:1.2rem;width:clamp(140px,30vw,180px);cursor:pointer;transition:transform .15s,box-shadow .15s;text-align:center}.upgrade-card:hover{transform:scale(1.05);box-shadow:0 0 20px #0f8}.upgrade-card:active{transform:scale(.95)}.upgrade-card .icon{font-size:clamp(2rem,6vw,3rem);margin-bottom:.5rem}.upgrade-card .name{font-size:clamp(.9rem,2.5vw,1.1rem);font-weight:700;color:#0f8;margin-bottom:.3rem}.upgrade-card .desc{font-size:clamp(.7rem,2vw,.85rem);color:#aaa}#replay-btn{color:#1a1a2e;background:#0f8}#replay-btn:hover{box-shadow:0 0 20px #0f8}#failed-screen h2{color:#f44;text-shadow:0 0 20px #ff4444;animation:failShake .5s ease-in-out}@keyframes failShake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-5px)}20%,40%,60%,80%{transform:translate(5px)}}#failed-message{font-size:clamp(1rem,3vw,1.3rem);color:#aaa;margin-bottom:1.5rem}#mission-select{background:#0a0a14f2;display:flex;flex-direction:column;padding:1.5rem 1.5rem 1rem;padding-top:calc(1.5rem + env(safe-area-inset-top,0px));padding-left:calc(1.5rem + env(safe-area-inset-left,0px));padding-right:calc(1.5rem + env(safe-area-inset-right,0px));overflow:hidden;width:100%;height:100%;justify-content:flex-start;border-radius:0}.mission-header{display:flex;justify-content:space-between;align-items:center;width:100%;max-width:680px;margin:0 auto}.mission-header h2{font-size:clamp(1.4rem,4vw,2rem);color:#0f8}#mission-list{flex:1;overflow-y:auto;margin:.5rem auto;display:flex;flex-direction:column;gap:.6rem;padding-right:.25rem;width:100%;max-width:680px;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:rgba(0,255,136,.3) transparent}.mission-card{background:#ffffff0d;border:1px solid rgba(0,255,136,.3);border-radius:.8rem;padding:.75rem 1rem;min-height:3rem;text-align:left;display:flex;justify-content:space-between;align-items:center;gap:.75rem;cursor:pointer;transition:background .2s,border-color .2s,transform .1s}.mission-card:hover{background:#00ff8814;border-color:#00ff8880}.mission-card:active{transform:scale(.98)}.mission-card.locked{opacity:.5;filter:grayscale(1);cursor:not-allowed}.mission-card.locked:hover{background:#ffffff0d;border-color:#00ff884d}.mission-card.next-mission{border-color:#0f89;background:#00ff8814;box-shadow:0 0 12px #00ff8826}.mission-info{flex:1;min-width:0}.mission-info .m-name{font-size:clamp(.9rem,2.5vw,1.1rem);font-weight:700;color:#0f8;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mission-info .m-goal{font-size:clamp(.75rem,2vw,.85rem);color:#aaa;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mission-status{font-size:clamp(.7rem,1.8vw,.85rem);color:gold;flex-shrink:0;text-align:right}#mission-back-btn{flex-shrink:0}@media(max-width:480px){#mission-select{padding:1rem .75rem;padding-top:calc(1rem + env(safe-area-inset-top,0px));border-radius:0}.mission-header{max-width:100%}.mission-card{padding:.6rem .75rem;min-height:2.75rem}.mission-header h2{font-size:1.1rem}#mission-list{gap:.5rem}}@media(min-width:768px){#mission-select{padding:2rem;padding-top:calc(2rem + env(safe-area-inset-top,0px))}.mission-header,#mission-list{max-width:720px}.mission-card{padding:.9rem 1.25rem;min-height:3.5rem}#mission-list{gap:.7rem}}#failed-loot-summary{margin:1rem 0 2rem}#retry-btn{color:#fff;background:#f44}#retry-btn:hover{box-shadow:0 0 20px #f44}.combo-display{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:clamp(2rem,8vw,4rem);font-weight:900;color:gold;text-shadow:0 0 20px rgba(255,215,0,.8);pointer-events:none;opacity:0;transition:opacity .2s;z-index:6}.combo-display.combo-active{opacity:1;animation:comboPulse .3s ease-out}@keyframes comboPulse{0%{transform:translate(-50%,-50%) scale(1.5)}to{transform:translate(-50%,-50%) scale(1)}}.streak-display{position:absolute;top:60px;right:10px;font-size:clamp(.9rem,2.5vw,1.2rem);font-weight:700;color:#ff6b35;text-shadow:0 0 10px rgba(255,107,53,.5);pointer-events:none;z-index:6}#timer-display.time-warning{color:gold}#timer-display.time-critical{color:#f44;animation:none}#timer-display.time-pulse{color:#f44;animation:timerPulse .5s ease-in-out infinite}@keyframes timerPulse{0%,to{opacity:1}50%{opacity:.5}}#timer-display.near-miss{position:relative}.near-miss-msg{position:absolute;top:-25px;left:50%;transform:translate(-50%);font-size:.8rem;font-weight:900;color:#f44;animation:nearMissPulse .5s ease-in-out infinite;white-space:nowrap}@keyframes nearMissPulse{0%,to{opacity:1;transform:translate(-50%) scale(1)}50%{opacity:.7;transform:translate(-50%) scale(1.1)}}.floating-texts-container{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:7}.floating-text{position:absolute;font-size:clamp(1.2rem,4vw,2rem);font-weight:900;color:gold;text-shadow:0 0 10px rgba(255,215,0,.8);transform:translate(-50%,-50%);pointer-events:none;white-space:nowrap}.daily-seed{font-size:clamp(.8rem,2vw,1rem);color:#888;margin-top:.5rem}#upgrade-screen{background:#000000e6;color:#fff;text-align:center;padding:2rem}#upgrade-tokens{font-size:1.2rem;color:gold;margin-bottom:1.5rem}#upgrade-list{display:flex;flex-direction:column;gap:1rem;max-height:60vh;overflow-y:auto;padding:1rem}.meta-upgrade-card{display:flex;align-items:center;gap:1rem;background:#ffffff0d;border:1px solid rgba(255,215,0,.2);border-radius:1rem;padding:1rem;transition:all .2s}.meta-upgrade-card:hover{background:#ffffff1a;border-color:#ffd70080}.meta-upgrade-card.maxed{opacity:.5;border-color:#ffffff1a}.meta-upgrade-icon{font-size:2rem;width:60px;height:60px;display:flex;align-items:center;justify-content:center;background:#ffd7001a;border-radius:.5rem}.meta-upgrade-info{flex:1;text-align:left}.meta-upgrade-name{font-weight:700;color:gold;margin-bottom:.3rem}.meta-upgrade-desc{font-size:.8rem;color:#aaa}.meta-upgrade-buy{background:gold;color:#000;border:none;border-radius:.5rem;padding:.5rem 1rem;font-weight:800;cursor:pointer;min-width:80px}.meta-upgrade-buy.disabled{background:#444;color:#888;cursor:not-allowed}.maxed-badge{background:#4caf50;color:#fff;padding:.3rem .8rem;border-radius:.5rem;font-size:.8rem;font-weight:700}.close-btn{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:50%;width:2.75rem;height:2.75rem;font-size:1.3rem;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;flex-shrink:0;padding:0;margin:0;min-width:44px;min-height:44px}.close-btn:hover{background:#fff3;transform:scale(1.05)}.close-btn:active{transform:scale(.95)}#hud-tokens{color:gold;font-weight:700}.token-reward{font-size:1.5rem;color:gold;font-weight:900;margin:1rem 0;animation:tokenBounce .5s ease-out}@keyframes tokenBounce{0%{transform:scale(0);opacity:0}50%{transform:scale(1.2)}to{transform:scale(1);opacity:1}}
