*,*:before,*:after{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{height:100%;overflow:hidden;background:#08010f;font-family:Nunito,system-ui,sans-serif;color:#fff;-webkit-user-select:none;user-select:none}::-webkit-scrollbar{width:0;height:0}#root{position:relative;width:100%;height:100%;overflow:hidden;transition:width .2s ease}@media (min-width: 540px){html,body{background:radial-gradient(ellipse 80% 60% at 20% 40%,rgba(123,47,255,.18) 0%,transparent 60%),radial-gradient(ellipse 60% 80% at 80% 70%,rgba(0,212,255,.12) 0%,transparent 55%),radial-gradient(ellipse 100% 100% at 50% 50%,#1e053c,#08010f);display:flex;align-items:center;justify-content:center}#root{width:390px;max-width:390px;height:min(844px,calc(100vh - 40px));border-radius:44px;overflow:hidden;box-shadow:0 0 0 1px #ffffff14,0 0 0 2px #ffffff0a,0 30px 80px -10px #000c,0 0 120px -20px #7b2fff80,0 0 200px -40px #00d4ff40;outline:none}body:before,body:after{content:"";position:fixed;border-radius:50%;pointer-events:none;z-index:-1;animation:desktop-orb-float 8s ease-in-out infinite alternate}body:before{width:320px;height:320px;top:10%;left:calc(50% - 400px);background:radial-gradient(circle,rgba(123,47,255,.22) 0%,transparent 70%);animation-delay:0s}body:after{width:260px;height:260px;bottom:15%;right:calc(50% - 380px);background:radial-gradient(circle,rgba(0,212,255,.18) 0%,transparent 70%);animation-delay:-4s}}@keyframes desktop-orb-float{0%{transform:translate(0) scale(1)}to{transform:translate(20px,-30px) scale(1.08)}}button{font-family:inherit;cursor:pointer}.session-badge{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:600;padding:4px 12px;border-radius:20px;border:1px solid transparent}.session-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.session-badge--amber{background:#ffb4001f;border-color:#ffb40059;color:#ffb400}.session-badge--amber .session-dot{background:#ffb400;animation:pulse .9s ease-in-out infinite alternate}.session-badge--green{background:#2ecc711f;border-color:#2ecc7159;color:#2ecc71}.session-badge--green .session-dot{background:#2ecc71}.session-badge--red{background:#ff46461f;border-color:#ff464659;color:#ff4646}.session-badge--red .session-dot{background:#ff4646}.time-packages-wrap{width:100%;max-width:360px;padding:0 12px}.token-tab{flex-direction:column}.time-packages{display:flex;gap:8px;justify-content:center;flex-wrap:wrap}.pkg-btn:active{transform:scale(.96);background:#ffd70026}.pkg-btn:disabled{opacity:.4;cursor:not-allowed}.pkg-time{font-size:15px;font-weight:700;color:gold}.pkg-price{font-size:11px;color:#ffffff8c;margin-top:2px}.play-hint{font-size:11px;color:#ffffff59}.powerup-bar{display:flex;align-items:center;justify-content:center;gap:16px;width:100%;max-width:360px;padding:0 12px}.powerup-item{display:flex;align-items:center;gap:6px}.powerup-use-btn{display:flex;align-items:center;gap:6px;background:#ffffff14;border:1.5px solid rgba(255,215,0,.35);border-radius:12px;padding:8px 14px;font-size:18px;color:#fff;cursor:pointer;transition:background .1s,transform .1s}.powerup-use-btn span{font-size:13px;font-weight:700;color:gold}.powerup-use-btn:active{transform:scale(.95);background:#ffd70026}.powerup-use-btn:disabled{opacity:.35;cursor:not-allowed}.powerup-buy-btn{background:#ffd70026;border:1.5px solid rgba(255,215,0,.5);border-radius:8px;width:28px;height:28px;font-size:16px;font-weight:700;color:gold;cursor:pointer;transition:background .1s;display:flex;align-items:center;justify-content:center}.powerup-buy-btn:active{background:#ffd7004d}.powerup-buy-btn:disabled{opacity:.35;cursor:not-allowed}.powerup-divider{width:1px;height:36px;background:#ffffff26}.shop-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:#000000b8;display:flex;align-items:flex-end;justify-content:center;animation:nukko-fade-in .2s ease-out}.shop-modal{width:100%;max-width:430px;background:linear-gradient(175deg,#1e0d38,#120828);border:1px solid rgba(255,255,255,.1);border-bottom:none;border-radius:24px 24px 0 0;padding:12px 20px 36px;display:flex;flex-direction:column;gap:14px;animation:nukko-slide-up .28s cubic-bezier(.22,1,.36,1)}.shop-modal h3{font-size:18px;font-weight:800;text-align:center;color:#fff;margin:0}.shop-modal:before{content:"";display:block;width:40px;height:4px;border-radius:2px;background:#ffffff2e;margin:0 auto 16px}.token-tabs{display:flex;gap:8px;justify-content:center}.token-tab{display:flex;flex-direction:column;align-items:center;gap:2px;padding:6px 14px;border-radius:99px;background:transparent;border:1px solid rgba(255,255,255,.15);color:#ffffff73;font-family:Nunito,system-ui;font-size:12px;font-weight:700;cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease}.token-tab.active{background:#00d4ff1f;border-color:#00d4ff80;color:#00d4ff}.token-tab:disabled{opacity:.4;cursor:not-allowed}.token-bal{font-size:10px;color:#fff6;font-weight:400;margin-top:1px}.token-tab.active .token-bal{color:#ffd700a6}.shop-packages{display:flex;gap:10px}.pkg-btn{flex:1;display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;gap:6px;padding:14px 12px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:16px;cursor:pointer;transition:background .15s ease,border-color .15s ease,transform .1s ease;min-height:76px;color:#fff}.pkg-btn:hover{background:#ffffff17;border-color:#fff3}.pkg-btn:active{transform:scale(.96);background:#ffd7001a}.pkg-btn:disabled{opacity:.4;cursor:not-allowed;transform:none}.pkg-qty{font-size:15px;font-weight:800;color:#fff;font-family:Space Mono,monospace}.pkg-price{font-size:11px;color:#ffffff80;font-family:Nunito,system-ui;font-weight:600}.shop-close-btn{background:#ffffff14;border:1px solid rgba(255,255,255,.2);border-radius:12px;padding:10px;font-size:13px;color:#fff9;cursor:pointer;margin-top:4px}.shop-close-btn:active{background:#ffffff24}.toast{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) scale(0);background:#ffd700f2;color:#1a0a2e;font-size:18px;font-weight:800;padding:8px 20px;border-radius:10px;pointer-events:none;transition:transform .15s,opacity .3s;opacity:0;white-space:nowrap}@keyframes nukko-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes nukko-bounce{0%,to{transform:translateY(0) rotate(-3deg)}50%{transform:translateY(-14px) rotate(3deg)}}@keyframes nukko-spin{to{transform:rotate(360deg)}}@keyframes nukko-rotate{to{transform:rotate(360deg)}}@keyframes nukko-rotate-rev{to{transform:rotate(-360deg)}}@keyframes nukko-pulse{0%,to{opacity:.3;transform:scale(.8)}50%{opacity:1;transform:scale(1.1)}}@keyframes nukko-pulse-bg{0%,to{box-shadow:0 0 #ff3b3b66}50%{box-shadow:0 0 0 6px #ff3b3b00}}@keyframes nukko-pop{0%{transform:scale(1)}40%{transform:scale(1.18)}to{transform:scale(1)}}@keyframes nukko-burst{0%{transform:scale(.4);opacity:1}to{transform:scale(2.5);opacity:0}}@keyframes nukko-rise{0%{transform:translate(-50%,-50%) scale(.6);opacity:0}25%{transform:translate(-50%,-85%) scale(1.15);opacity:1}to{transform:translate(-50%,-150%) scale(1);opacity:0}}@keyframes nukko-ripple{0%{transform:translate(-50%,-50%) scale(.6);opacity:.8}to{transform:translate(-50%,-50%) scale(1.6);opacity:0}}@keyframes nukko-danger{0%,to{opacity:.6}50%{opacity:1}}@keyframes nukko-danger-line{0%,to{opacity:.6;transform:scaleY(1)}50%{opacity:1;transform:scaleY(1.6)}}@keyframes nukko-toast{0%{transform:translate(-50%,20px);opacity:0}to{transform:translate(-50%);opacity:1}}@keyframes nukko-confetti{0%{transform:translateY(0) rotate(0);opacity:1}to{transform:translateY(120vh) rotate(720deg);opacity:0}}@keyframes nukko-drop{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes nukko-fade-in{0%{opacity:0}to{opacity:1}}@keyframes nukko-slide-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes nukko-glow-pulse{0%,to{box-shadow:0 0 24px -4px #7b2fff80}50%{box-shadow:0 0 36px -2px #7b2fffd9,0 0 60px -8px #00d4ff66}}@keyframes nukko-score-pop{0%{transform:scale(.8) translateY(10px);opacity:0}60%{transform:scale(1.05) translateY(-4px);opacity:1}to{transform:scale(1) translateY(0);opacity:1}}#game-canvas{display:block;cursor:none;touch-action:none;border-radius:0 0 22px 22px}
