*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html,body{width:100%;height:100%;overflow:hidden;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}body{background:var(--bg-void, #0a0a12);font-family:Segoe UI,system-ui,-apple-system,sans-serif;color:var(--neon-cyan, #00f5ff)}#game-container{width:100%;height:100%;display:flex;align-items:center;justify-content:center;position:relative}#game-canvas{display:block;width:100%;height:100%;background:var(--bg-void, #0a0a12)}@supports (padding: env(safe-area-inset-top)){#game-container{padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom);padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}}.ui-overlay{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none}.ui-overlay>*{pointer-events:auto}.btn{display:inline-flex;align-items:center;justify-content:center;padding:12px 24px;border:2px solid var(--neon-cyan);background:transparent;color:var(--neon-cyan);font-size:16px;font-weight:600;text-transform:uppercase;letter-spacing:2px;cursor:pointer;transition:all .2s ease;position:relative;overflow:hidden}.btn:hover,.btn:active{background:var(--neon-cyan);color:var(--bg-void);box-shadow:0 0 20px var(--neon-cyan)}.btn-primary{border-color:var(--neon-green);color:var(--neon-green)}.btn-primary:hover,.btn-primary:active{background:var(--neon-green);box-shadow:0 0 20px var(--neon-green)}.loading-screen{position:fixed;top:0;left:0;width:100%;height:100%;background:var(--bg-void);display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:1000}.loading-text{font-size:24px;color:var(--neon-cyan);animation:pulse 1.5s ease-in-out infinite}::-webkit-scrollbar{display:none}:focus-visible{outline:2px solid var(--neon-cyan);outline-offset:2px}:root{--bg-void: #0a0a12;--bg-surface: #1a1a2e;--bg-elevated: #252540;--neon-cyan: #00f5ff;--neon-cyan-dim: #007a80;--neon-pink: #ff00ff;--neon-pink-dim: #800080;--neon-yellow: #ffff00;--neon-yellow-dim: #808000;--neon-green: #00ff88;--neon-green-dim: #008044;--neon-red: #ff0044;--neon-red-dim: #800022;--neon-purple: #aa00ff;--neon-purple-dim: #550080;--neon-orange: #ff8800;--neon-orange-dim: #804400;--ball-core: #ffffff;--ball-glow: #00f5ff;--ball-trail: rgba(0, 245, 255, .5);--wall-color: #1a1a2e;--wall-edge: #00f5ff;--wall-edge-glow: rgba(0, 245, 255, .5);--floor-color: #0f0f1a;--floor-grid: rgba(0, 245, 255, .1);--hole-color: #000000;--hole-glow: #ff0044;--hole-warning: rgba(255, 0, 68, .3);--goal-color: #00ff88;--goal-glow: rgba(0, 255, 136, .5);--goal-pulse: rgba(0, 255, 136, .8);--gem-color: #ff00ff;--gem-glow: rgba(255, 0, 255, .5);--star-color: #ffff00;--star-glow: rgba(255, 255, 0, .5);--text-primary: #ffffff;--text-secondary: #a0a0b0;--text-accent: #00f5ff;--glow-small: 5px;--glow-medium: 10px;--glow-large: 20px;--glow-extra: 30px;--transition-fast: .15s;--transition-normal: .3s;--transition-slow: .5s}.world-neon-city{--wall-edge: #00f5ff;--goal-color: #00ff88}.world-cyber-grid{--wall-edge: #ff00ff;--goal-color: #00f5ff}.world-neon-jungle{--wall-edge: #00ff88;--goal-color: #ffff00}.world-digital-storm{--wall-edge: #aa00ff;--goal-color: #00f5ff}.world-gravity-core{--wall-edge: #ff8800;--goal-color: #00ff88}@keyframes neon-pulse{0%,to{filter:drop-shadow(0 0 10px var(--neon-cyan));opacity:1}50%{filter:drop-shadow(0 0 20px var(--neon-cyan)) drop-shadow(0 0 30px var(--neon-cyan));opacity:.9}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes slide-in-right{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes slide-in-left{0%{transform:translate(-100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes slide-in-up{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes star-pop{0%{transform:scale(0);opacity:0}50%{transform:scale(1.3)}70%{transform:scale(.9)}to{transform:scale(1);opacity:1}}@keyframes shake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-5px)}20%,40%,60%,80%{transform:translate(5px)}}@keyframes portal-swirl{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes beacon{0%,to{box-shadow:0 0 10px var(--goal-color),0 0 20px var(--goal-color);transform:scale(1)}50%{box-shadow:0 0 20px var(--goal-color),0 0 40px var(--goal-color),0 0 60px var(--goal-color);transform:scale(1.1)}}@keyframes countdown-pulse{0%{transform:scale(1.5);opacity:1}to{transform:scale(1);opacity:.8}}@keyframes loading-dots{0%,20%{opacity:0}40%{opacity:1}to{opacity:0}}@keyframes hole-warning{0%,to{box-shadow:0 0 10px var(--hole-glow)}50%{box-shadow:0 0 20px var(--hole-glow),0 0 30px var(--hole-glow)}}@keyframes arrow-flow{0%{transform:translateY(0);opacity:1}to{transform:translateY(-20px);opacity:0}}@keyframes crumble-shake{0%,to{transform:translate(0)}25%{transform:translate(-2px,1px)}50%{transform:translate(2px,-1px)}75%{transform:translate(-1px,2px)}}@keyframes victory-burst{0%{transform:scale(0);opacity:1}to{transform:scale(3);opacity:0}}.animate-pulse{animation:neon-pulse 2s ease-in-out infinite}.animate-float{animation:float 2s ease-in-out infinite}.animate-rotate{animation:rotate 3s linear infinite}.animate-fade-in{animation:fade-in .3s ease-out forwards}.animate-slide-in-right{animation:slide-in-right .3s ease-out forwards}.animate-slide-in-left{animation:slide-in-left .3s ease-out forwards}.animate-slide-in-up{animation:slide-in-up .3s ease-out forwards}.animate-star-pop{animation:star-pop .5s ease-out forwards}.animate-shake{animation:shake .5s ease-in-out}
