*{margin:0;padding:0;box-sizing:border-box}html,body{width:100%;height:100%;overflow:hidden;background:#0a0a0f;font-family:Segoe UI,system-ui,-apple-system,sans-serif;color:#fff;user-select:none;-webkit-user-select:none;touch-action:none}#game-container{position:relative;width:100%;height:100%}#game-canvas{display:block;width:100%;height:100%;position:absolute;top:0;left:0;z-index:1}#ui-layer{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:10}#ui-layer>*{pointer-events:auto}.hud{position:absolute;padding:20px;font-size:18px}.hud-top-left{top:0;left:0}.hud-top-right{top:0;right:0;text-align:right;display:flex;flex-direction:column;align-items:flex-end;gap:6px}.hud-top-center{top:0;left:50%;transform:translate(-50%);text-align:center}.hud-bottom-center{bottom:0;left:50%;transform:translate(-50%);text-align:center;padding-bottom:30px}.hud-bottom-right{bottom:0;right:0}.score{font-size:32px;font-weight:600;text-shadow:0 0 20px rgba(100,200,255,.5)}.pause-button{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;margin-bottom:10px;background:#ffffff14;border:1px solid rgba(255,255,255,.18);border-radius:12px;color:#fff;font-size:18px;cursor:pointer;transition:all .2s ease;opacity:.85;touch-action:manipulation}.pause-button:hover{background:#ffffff2e;opacity:1}.pause-button:active{transform:scale(.95)}.level{font-size:24px;opacity:.9}.menu-toggle{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;background:#ffffff14;border:1px solid rgba(255,255,255,.2);border-radius:10px;color:#fff;font-size:18px;cursor:pointer;transition:all .2s ease;opacity:.8;margin-bottom:10px;touch-action:manipulation}.menu-toggle:hover{background:#ffffff2e;border-color:#fff6;opacity:1}.menu-toggle:active{transform:scale(.95)}.settings-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#00000059;opacity:1;transition:opacity .2s ease;z-index:30}.settings-panel{position:absolute;top:70px;left:20px;width:300px;background:#0c0c14eb;border:1px solid rgba(255,255,255,.12);border-radius:16px;padding:16px;box-shadow:0 20px 40px #0006;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);z-index:35;transform:translateY(0);opacity:1;transition:opacity .2s ease,transform .2s ease}#ui-layer .settings-panel.hidden,#ui-layer .settings-backdrop.hidden{opacity:0;pointer-events:none;visibility:hidden}#ui-layer .settings-panel.hidden{transform:translateY(-6px)}.settings-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.settings-title{font-size:16px;font-weight:600;letter-spacing:.5px}.settings-close{background:#ffffff14;border:1px solid rgba(255,255,255,.15);color:#fff;width:28px;height:28px;border-radius:8px;cursor:pointer;opacity:.8;transition:all .2s ease}.settings-close:hover{opacity:1;background:#ffffff2e}.settings-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-top:1px solid rgba(255,255,255,.06)}.settings-item:first-of-type{border-top:none}.settings-item-column{flex-direction:column;align-items:stretch}.settings-label{font-size:14px;opacity:.8}.settings-control{display:flex;align-items:center;gap:10px}.settings-control input[type=range]{flex:1;min-width:140px;height:4px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#fff3;border-radius:2px}.settings-control input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:16px;height:16px;background:#64c8ff;border-radius:50%;cursor:pointer}.settings-value{font-size:13px;opacity:.8;min-width:44px;text-align:right}.toggle-button{background:#ffffff14;border:1px solid rgba(255,255,255,.18);color:#fff;padding:6px 16px;border-radius:20px;font-size:13px;cursor:pointer;transition:all .2s ease}.toggle-button.active{background:#64c8ff33;border-color:#64c8ff99}.segmented-control{display:flex;gap:6px}.segmented-control button{flex:1;background:#ffffff14;border:1px solid rgba(255,255,255,.15);color:#fff;padding:6px 10px;border-radius:12px;font-size:12px;cursor:pointer;transition:all .2s ease}.segmented-control button.active{background:#64c8ff33;border-color:#64c8ff99}.mode-selector{display:flex;gap:8px;flex-wrap:wrap}.mode-button{display:flex;flex-direction:column;align-items:center;gap:4px;flex:1;min-width:70px;background:#ffffff0f;border:1px solid rgba(255,255,255,.12);border-radius:12px;padding:10px 8px;cursor:pointer;transition:all .2s ease;color:#fff}.mode-button:hover{background:#ffffff1f;border-color:#ffffff40}.mode-button.active{background:#64c8ff26;border-color:#64c8ff80;box-shadow:0 0 12px #64c8ff33}.mode-icon{font-size:20px;line-height:1}.mode-name{font-size:11px;font-weight:500;opacity:.85;text-transform:uppercase;letter-spacing:.5px}.settings-button{background:#ffffff14;border:1px solid rgba(255,255,255,.18);color:#fff;padding:6px 16px;border-radius:20px;font-size:13px;cursor:pointer;transition:all .2s ease}.combo{font-size:28px;font-weight:600;color:#fa0;text-shadow:0 0 20px rgba(255,170,0,.5);opacity:0;transition:opacity .2s ease}.combo.active{opacity:1}.bomb-button{display:flex;align-items:center;justify-content:center;background:#ff64004d;border:2px solid rgba(255,150,50,.5);border-radius:50px;width:62px;height:62px;padding:0;cursor:pointer;transition:all .2s ease;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.bomb-button:hover{background:#ff640080;border-color:#ff9632cc;transform:scale(1.05)}.bomb-button:active{background:#ff6400b3;transform:scale(.95)}.bomb-icon{font-size:30px}.audio-controls{display:flex;align-items:center;gap:12px;background:#00000080;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:12px 20px;border-radius:30px;margin-bottom:10px}.settings-panel .audio-controls{width:100%;background:#ffffff0f;border:1px solid rgba(255,255,255,.12);border-radius:14px;padding:10px 12px;margin-bottom:0;flex-wrap:wrap;justify-content:flex-start}.splash-card .audio-controls{width:100%;background:#ffffff0a;border:1px solid rgba(255,255,255,.1);border-radius:14px;padding:10px 12px;margin-bottom:0;flex-wrap:wrap;justify-content:flex-start}.settings-panel .audio-controls .track-name{flex:1 1 100%;order:3;max-width:100%;opacity:.6}.settings-panel .audio-controls .volume-slider{flex:1 1 100%;order:4;width:100%}.splash-card .audio-controls .track-name{flex:1 1 100%;order:3;max-width:100%;opacity:.6}.splash-card .audio-controls .volume-slider{flex:1 1 100%;order:4;width:100%}.audio-controls button{background:none;border:none;color:#fff;font-size:20px;cursor:pointer;opacity:.8;transition:opacity .2s,transform .1s;padding:5px}.audio-controls button:hover{opacity:1;transform:scale(1.1)}.audio-controls .track-name{font-size:14px;max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;opacity:.7}.volume-slider{width:80px;height:4px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#ffffff4d;border-radius:2px;cursor:pointer}.volume-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:14px;height:14px;background:#fff;border-radius:50%;cursor:pointer}.menu-overlay{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#0a0a14e6;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);z-index:100}.menu-overlay.hidden{display:none}.splash-screen{background:#0a0a0f url(/voidfall_background.jpeg) center center / cover no-repeat;overflow-y:auto;padding:40px 0;justify-content:flex-start;position:relative}.splash-screen:before{content:"";position:fixed;top:0;left:0;width:100vw;height:100vh;background:linear-gradient(180deg,#0006,#00000026 40%,#00000026 60%,#00000080);pointer-events:none;z-index:0}.splash-content{position:relative;z-index:1;width:min(920px,92vw);display:grid;gap:24px;text-align:center}.splash-hero{display:grid;gap:16px;align-items:center}.splash-title-wrap{position:relative;display:flex;justify-content:center;align-items:center;padding:32px 0}.splash-title{font-family:SF Mono,Fira Code,Cascadia Code,Consolas,Courier New,monospace;font-size:clamp(48px,12vw,96px);font-weight:700;letter-spacing:.15em;color:#ffd0a0;text-shadow:0 0 30px rgba(255,180,80,.5),0 0 60px rgba(255,150,50,.25),0 0 120px rgba(255,120,20,.15);margin:0;animation:titlePulse 4s ease-in-out infinite;position:relative;z-index:2}.splash-title-space{letter-spacing:.35em}@keyframes titlePulse{0%,to{text-shadow:0 0 30px rgba(255,180,80,.5),0 0 60px rgba(255,150,50,.25),0 0 120px rgba(255,120,20,.15)}50%{text-shadow:0 0 40px rgba(255,180,80,.65),0 0 80px rgba(255,150,50,.35),0 0 140px rgba(255,120,20,.25)}}.orb{position:absolute;border-radius:50%;pointer-events:none;z-index:1}.orb-1{width:18px;height:18px;background:radial-gradient(circle at 35% 35%,#a0e8ff,#64c8ff 40%,#64c8ff00 70%);box-shadow:0 0 20px 8px #64c8ff59,0 0 40px 16px #64c8ff26;top:15%;left:8%;animation:orbFloat1 6s ease-in-out infinite}.orb-2{width:12px;height:12px;background:radial-gradient(circle at 35% 35%,#d4a0ff,#a855f7 40%,#a855f700 70%);box-shadow:0 0 16px 6px #a855f766,0 0 32px 12px #a855f726;top:25%;right:12%;animation:orbFloat2 7s ease-in-out infinite}.orb-3{width:22px;height:22px;background:radial-gradient(circle at 35% 35%,#ffe0a0,gold 40%,#ffd70000 70%);box-shadow:0 0 24px 10px #ffd7004d,0 0 48px 20px #ffd7001a;bottom:20%;left:15%;animation:orbFloat3 8s ease-in-out infinite}.orb-4{width:10px;height:10px;background:radial-gradient(circle at 35% 35%,#a0ffc8,#2f8 40%,#2f80 70%);box-shadow:0 0 14px 5px #22ff8859,0 0 28px 10px #22ff881f;bottom:30%;right:8%;animation:orbFloat4 5.5s ease-in-out infinite}.orb-5{width:14px;height:14px;background:radial-gradient(circle at 35% 35%,#a0d0ff,#64c8ff 40%,#64c8ff00 70%);box-shadow:0 0 18px 7px #64c8ff4d,0 0 36px 14px #64c8ff1a;top:55%;left:5%;animation:orbFloat5 7.5s ease-in-out infinite}@keyframes orbFloat1{0%,to{transform:translate(0) scale(1);opacity:.7}33%{transform:translate(12px,-8px) scale(1.1);opacity:1}66%{transform:translate(-6px,6px) scale(.9);opacity:.5}}@keyframes orbFloat2{0%,to{transform:translate(0) scale(1);opacity:.6}40%{transform:translate(-10px,10px) scale(1.15);opacity:1}70%{transform:translate(8px,-4px) scale(.85);opacity:.45}}@keyframes orbFloat3{0%,to{transform:translate(0) scale(1);opacity:.65}30%{transform:translate(8px,-12px) scale(1.1);opacity:.9}60%{transform:translate(-10px,4px) scale(.95);opacity:.5}}@keyframes orbFloat4{0%,to{transform:translate(0) scale(1);opacity:.6}50%{transform:translate(-8px,-10px) scale(1.2);opacity:1}}@keyframes orbFloat5{0%,to{transform:translate(0) scale(1);opacity:.5}35%{transform:translate(10px,8px) scale(1.1);opacity:.85}65%{transform:translate(-4px,-12px) scale(.9);opacity:.6}}.splash-tagline{font-size:14px;letter-spacing:3px;text-transform:uppercase;opacity:.5;font-family:SF Mono,Fira Code,Cascadia Code,Consolas,Courier New,monospace}.splash-status{font-size:14px;opacity:.6}.splash-actions{display:grid;gap:12px;justify-items:center}.splash-actions .high-score{margin-top:0;opacity:.5}.splash-start:disabled{opacity:.5;cursor:not-allowed;transform:none}.splash-panels{display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));text-align:left}.splash-card{background:#080810bf;border:1px solid rgba(255,255,255,.1);border-radius:18px;padding:18px;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:0 20px 40px #0006}.splash-card-title{font-size:15px;font-weight:600;margin-bottom:10px;letter-spacing:.5px}.splash-instructions{font-size:14px;line-height:1.6;display:flex;flex-direction:column;gap:8px}.control-row{display:flex;align-items:center;gap:12px}.control-key{background:#ffffff14;border:1px solid rgba(255,255,255,.15);border-radius:6px;padding:4px 10px;font-size:12px;font-weight:500;min-width:56px;text-align:center;color:#ffffffe6}.control-desc{opacity:.7;font-size:13px}.splash-footer{font-size:12px;opacity:.45;letter-spacing:.6px;text-transform:uppercase}.menu-button{background:linear-gradient(135deg,#64c8ff26,#a855f726);border:1px solid rgba(255,255,255,.2);color:#fff;font-family:SF Mono,Fira Code,Cascadia Code,Consolas,Courier New,monospace;font-size:18px;letter-spacing:3px;text-transform:uppercase;padding:14px 56px;border-radius:30px;cursor:pointer;transition:all .3s ease;margin:10px}.menu-button:hover{background:linear-gradient(135deg,#64c8ff4d,#a855f74d);border-color:#fff6;transform:scale(1.05)}.high-score{margin-top:40px;font-size:16px;opacity:.5}.level-transition{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:64px;font-weight:700;color:#fff;text-shadow:0 0 40px rgba(100,200,255,.8);opacity:0;pointer-events:none;z-index:50}.level-transition.show{animation:levelUp 1.5s ease-out forwards}@keyframes levelUp{0%{opacity:0;transform:translate(-50%,-50%) scale(.5)}20%{opacity:1;transform:translate(-50%,-50%) scale(1.2)}80%{opacity:1;transform:translate(-50%,-50%) scale(1)}to{opacity:0;transform:translate(-50%,-50%) scale(1)}}.floating-score{position:absolute;font-size:24px;font-weight:600;color:#64c8ff;text-shadow:0 0 10px rgba(100,200,255,.5);pointer-events:none;animation:floatUp 1s ease-out forwards}.floating-score.bonus{color:gold;font-size:32px}@keyframes floatUp{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-60px)}}.game-over-stats{text-align:center;margin:30px 0}.game-over-stats .stat{font-size:20px;margin:10px 0;opacity:.8}.game-over-stats .final-score{font-size:48px;font-weight:700;color:#64c8ff;margin:20px 0}.zen-message{font-size:16px;font-style:italic;opacity:.5;margin-top:30px;max-width:300px;line-height:1.6}.pause-indicator{position:absolute;top:20px;left:50%;transform:translate(-50%);background:#000000b3;padding:10px 30px;border-radius:20px;font-size:16px;opacity:0;transition:opacity .3s}.pause-indicator.show{opacity:1}.version-display{position:fixed;bottom:10px;left:10px;font-size:11px;color:#ffffff40;pointer-events:none;z-index:5}@media (max-width: 768px){.game-title{font-size:48px;letter-spacing:4px}.score{font-size:24px}.level{font-size:18px}.hud{padding:15px}.audio-controls{padding:8px 15px;gap:8px}.audio-controls .track-name{display:none}.settings-panel .audio-controls .track-name,.splash-card .audio-controls .track-name{display:inline}.menu-toggle{width:32px;height:32px;font-size:16px;margin-bottom:8px}.settings-panel{top:60px;left:12px;width:min(92vw,320px);padding:14px}.settings-control input[type=range]{min-width:120px}.pause-button{width:34px;height:34px;font-size:16px;margin-bottom:6px}.bomb-button{width:54px;height:54px}.splash-content{gap:18px}.splash-panels{grid-template-columns:1fr}.splash-card{padding:14px}.splash-tagline{font-size:11px;letter-spacing:2px}.splash-title-wrap{padding:20px 0}.splash-screen{padding:28px 0 24px}}
