*,*: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(var(--nk-primary-rgb, 255,46,158),.18) 0%,transparent 60%),radial-gradient(ellipse 60% 80% at 80% 70%,rgba(var(--nk-secondary-rgb, 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 rgba(var(--nk-primary-rgb, 255,46,158),.5),0 0 200px -40px rgba(var(--nk-secondary-rgb, 0,212,255),.25);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(var(--nk-primary-rgb, 255,46,158),.22) 0%,transparent 70%);animation-delay:0s}body:after{width:260px;height:260px;bottom:15%;right:calc(50% - 380px);background:radial-gradient(circle,rgba(var(--nk-secondary-rgb, 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}.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-time-hit{0%{transform:scale(1);box-shadow:0 0 #ff3b3be6}22%{transform:scale(1.14);box-shadow:0 0 22px 4px #ff3b3bd9}55%{transform:scale(.98);box-shadow:0 0 14px 2px #ff3b3b80}to{transform:scale(1);box-shadow:0 0 #ff3b3b00}}@keyframes nukko-badge-shake{0%,to{transform:translate(0)}25%{transform:translate(-4px)}75%{transform:translate(4px)}}@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 rgba(var(--nk-primary-rgb, 255,46,158),.5)}50%{box-shadow:0 0 36px -2px rgba(var(--nk-primary-rgb, 255,46,158),.85),0 0 60px -8px rgba(var(--nk-secondary-rgb, 0,212,255),.4)}}@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}@keyframes nk-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes nk-spin-rev{0%{transform:rotate(0)}to{transform:rotate(-360deg)}}@keyframes nk-breathe{0%,to{transform:scale(1)}50%{transform:scale(1.04)}}@keyframes nk-halo{0%,to{opacity:.45;transform:scale(1)}50%{opacity:.8;transform:scale(1.09)}}@keyframes nk-drift-far{0%{transform:translateZ(0)}to{transform:translate3d(-10px,6px,0)}}@keyframes nk-drift-mid{0%{transform:translateZ(0)}to{transform:translate3d(18px,-11px,0)}}@keyframes nk-drift-near{0%{transform:translateZ(0)}to{transform:translate3d(-30px,17px,0)}}@keyframes nk-nebula{0%,to{transform:translateZ(0) scale(1)}50%{transform:translate3d(3%,-2%,0) scale(1.12)}}@keyframes nk-comet{0%,88%{opacity:0;transform:translateZ(0) rotate(30deg)}90%{opacity:.9}to{opacity:0;transform:translate3d(78vw,46vh,0) rotate(30deg)}}@keyframes nk-rise{0%{opacity:0;transform:translate3d(0,16px,0)}to{opacity:1;transform:none}}@keyframes nk-scale-in{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.nk-rise{opacity:0;animation:nk-rise .62s cubic-bezier(.16,1,.3,1) forwards}@keyframes nk-sweep{0%,62%,to{transform:translate3d(-140%,0,0) skew(-18deg)}84%{transform:translate3d(340%,0,0) skew(-18deg)}}@keyframes nk-flicker{0%,to{opacity:.85}50%{opacity:1}}.nk-press{transition:transform .14s cubic-bezier(.16,1,.3,1),background-color .14s ease,border-color .14s ease}.nk-press:active{transform:scale(.975)}.nk-press-sm:active{transform:scale(.94)}@media (prefers-reduced-motion: reduce){.nk-rise{opacity:1;animation:none}.nk-motion,.nk-motion *{animation:none!important}.nk-press,.nk-press-sm{transition:none}}
