@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Press+Start+2P&display=swap";html,body,#root{margin:0;padding:0;width:100%;height:100%;overflow:hidden;background-color:#000;touch-action:none;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;position:fixed;overscroll-behavior:none}body{overscroll-behavior-y:none;-webkit-overflow-scrolling:touch}button,.touch-button{touch-action:manipulation}:root{--vw: 1920px;--vh: 1080px;--vmin: 1080px;--vmax: 1920px;--ui-scale: 1;--base-font-size: 16px;--font-ui: "Inter", "Segoe UI", system-ui, -apple-system, sans-serif;--font-title: "Press Start 2P", "Inter", "Segoe UI", system-ui, sans-serif}*{box-sizing:border-box}html,body{width:100%;height:100%;margin:0;padding:0;overflow:hidden;position:fixed;touch-action:none;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;font-family:var(--font-ui)}#root{width:100vw;height:100vh;min-height:100vh;overflow:hidden;position:fixed;inset:0}canvas{display:block;width:100%;height:100%;touch-action:none;position:absolute;top:0;left:0}.ui-container{position:absolute;top:0;left:0;width:100%;padding:calc(var(--vmin) * .02);color:#fff;font-family:var(--font-ui);z-index:100;display:flex;justify-content:flex-start;align-items:flex-start;box-sizing:border-box;gap:calc(var(--vmin) * .015);pointer-events:none}body.is-desktop .ui-container{padding:calc(var(--vmin) * .02);flex-wrap:nowrap;gap:calc(var(--vmin) * .015)}body.is-desktop .score{font-size:calc(var(--vmin) * .08);padding:calc(var(--vmin) * .015) calc(var(--vmin) * .02)}body.is-desktop .mission-status{font-size:calc(var(--vmin) * .12);padding:0 calc(var(--vmin) * .03)}.ui-container>*{pointer-events:auto}.score{font-size:calc(var(--vmin) * .08);font-weight:700;background-color:transparent;padding:calc(var(--vmin) * .015) calc(var(--vmin) * .02);border-radius:calc(var(--vmin) * .01);text-shadow:0 0 5px #ff00ff,0 0 10px #ff00ff;white-space:nowrap;flex-shrink:0;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.mission-status{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:calc(var(--vmin) * .12);font-weight:700;color:#fff;text-shadow:0 0 10px #ff00ff,0 0 20px #ff00ff;z-index:101;text-align:center;padding:0 calc(var(--vmin) * .03);word-wrap:break-word;pointer-events:none;max-width:95vw}body.is-mobile .ui-container{padding:calc(var(--vmin) * .015);flex-wrap:wrap}body.is-mobile.is-portrait .ui-container{align-items:flex-start;gap:calc(var(--vmin) * .01)}body.is-mobile .score{font-size:calc(var(--vmin) * .06)}body.is-mobile.is-portrait .score{font-size:calc(var(--vmin) * .05)}.home-screen{width:100vw;height:100vh;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;background-color:#000010;background-image:linear-gradient(180deg,#00000061,#00000094),url(/assets/background-D6SsnBtS.png);background-size:cover;background-position:center;background-repeat:no-repeat;color:#fff;font-family:var(--font-ui);padding:calc(var(--vmin) * .03);box-sizing:border-box;overflow-y:auto;-webkit-overflow-scrolling:touch;position:relative}body.is-desktop .home-screen{padding:calc(var(--vmin) * .03);justify-content:center}body.is-desktop .home-screen h1{font-size:calc(var(--vmin) * .12);padding:0 calc(var(--vmin) * .03)}body.is-desktop .home-screen h2{font-size:calc(var(--vmin) * .05);padding:0 calc(var(--vmin) * .03)}body.is-desktop .button-container{gap:calc(var(--vmin) * .03);max-width:90vw;padding:0 calc(var(--vmin) * .03)}body.is-desktop .home-screen button{margin-top:calc(var(--vmin) * .05);padding:calc(var(--vmin) * .02) calc(var(--vmin) * .04);font-size:calc(var(--vmin) * .04);max-width:90vw}body.is-desktop .home-money-display{font-size:calc(var(--vmin) * .05);padding:calc(var(--vmin) * .015) calc(var(--vmin) * .025)}.home-money-display{position:absolute;top:calc(var(--vmin) * .03);right:calc(var(--vmin) * .03);font-size:calc(var(--vmin) * .05);font-weight:700;background-color:transparent;padding:calc(var(--vmin) * .015) calc(var(--vmin) * .025);border-radius:calc(var(--vmin) * .01);text-shadow:0 0 5px #ff00ff,0 0 10px #ff00ff;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border:1px solid rgba(255,0,255,.3)}.home-screen h1{font-size:clamp(26px,8vw,calc(var(--vmin) * .085));font-family:var(--font-title);letter-spacing:.06em;margin:0;text-align:center;line-height:1.2;word-wrap:break-word;padding:0 calc(var(--vmin) * .03);max-width:100%;box-sizing:border-box;color:#fff;background:linear-gradient(90deg,#b15a3ad1,#6be8ffd9,#b15a3ad1);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;text-shadow:0 0 10px rgba(107,232,255,.22),0 0 12px rgba(177,90,58,.32);animation:titleGlow 9s ease-in-out infinite;transform:translateY(calc(var(--vh, 100vh) * -.25))}@keyframes titleGlow{0%{filter:drop-shadow(0 0 6px rgba(177,90,58,.36)) drop-shadow(0 0 10px rgba(107,232,255,.28));opacity:1}50%{filter:drop-shadow(0 0 12px rgba(177,90,58,.6)) drop-shadow(0 0 16px rgba(107,232,255,.48));opacity:.35}to{filter:drop-shadow(0 0 6px rgba(177,90,58,.36)) drop-shadow(0 0 10px rgba(107,232,255,.28));opacity:1}}@media (max-width: 768px){.home-screen h1{transform:translateY(calc(var(--vh, 100vh) * -.12));animation:none;opacity:.95;text-shadow:0 0 6px rgba(107,232,255,.25),0 0 8px rgba(177,90,58,.28)}}@keyframes btnGlow{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes btnPulse{0%{transform:scale(1)}50%{transform:scale(1.02)}to{transform:scale(1)}}@media (max-width: 768px){.home-screen{padding:calc(var(--vmin) * .04)}.home-screen h1{animation:none;opacity:.9;text-shadow:0 0 6px rgba(107,232,255,.18),0 0 6px rgba(177,90,58,.2);filter:none;transform:translateY(calc(var(--vh, 100vh) * -.15))}}.home-screen h2{font-size:calc(var(--vmin) * .05);text-shadow:0 0 5px #ff00ff,0 0 10px #ff00ff;font-family:var(--font-ui);margin:calc(var(--vmin) * .03) 0;text-align:center;line-height:1.3;word-wrap:break-word;padding:0 calc(var(--vmin) * .03);max-width:100%;box-sizing:border-box}.home-screen button{margin-top:calc(var(--vmin) * .05);padding:calc(var(--vmin) * .026) calc(var(--vmin) * .055);font-size:calc(var(--vmin) * .05);font-family:var(--font-title);letter-spacing:.05em;background:transparent;color:#ffffffad;border:1.5px solid rgba(255,255,255,.18);border-radius:calc(var(--vmin) * .025);cursor:pointer;text-shadow:0 0 3px rgba(255,255,255,.18);box-shadow:0 10px 28px #00000073;transition:all .2s ease;min-width:calc(var(--vmin) * .32);touch-action:manipulation;-webkit-tap-highlight-color:transparent;width:auto;max-width:90vw;box-sizing:border-box;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background-size:200% 200%;animation:btnGlow 6s ease-in-out infinite;animation:btnGlow 6s ease-in-out infinite,btnPulse 3.5s ease-in-out infinite}.home-screen button:active{transform:scale(.95);background:transparent}.home-screen button:hover{border-color:transparent;background:transparent;border:1.5px solid rgba(255,255,255,.35);color:#fff;text-shadow:0 0 6px rgba(255,255,255,.55)}.button-container{display:flex;gap:calc(var(--vmin) * .03);flex-wrap:wrap;justify-content:center;width:100%;max-width:90vw;padding:0 calc(var(--vmin) * .03);box-sizing:border-box}.button-container button:nth-child(2){box-shadow:0 8px 24px #00000059,0 0 10px #6be8ff66}body.is-mobile .home-screen{padding:calc(var(--vmin) * .1) calc(var(--vmin) * .04);justify-content:center}body.is-mobile .home-screen h1{margin-bottom:calc(var(--vmin) * .03);font-size:calc(var(--vmin) * .15);text-align:center;padding:0 calc(var(--vmin) * .02)}body.is-mobile .home-screen h2{font-size:calc(var(--vmin) * .07);text-align:center}body.is-mobile .button-container{flex-direction:column;align-items:center;gap:calc(var(--vmin) * .018);max-width:100%;padding:0 calc(var(--vmin) * .02);margin-top:calc(var(--vmin) * .015);margin-bottom:0;flex-shrink:0}body.is-mobile .home-screen button{width:auto;max-width:90vw;font-size:calc(var(--vmin) * .06);padding:calc(var(--vmin) * .025) calc(var(--vmin) * .045);margin-top:0}body.is-mobile .home-screen button:first-child{margin-top:0}body.is-mobile.is-portrait .home-screen h1{font-size:calc(var(--vmin) * .14);text-align:center}body.is-mobile.is-portrait .home-screen h2{font-size:calc(var(--vmin) * .065)}body.is-mobile.is-portrait .home-screen button{font-size:calc(var(--vmin) * .055);padding:calc(var(--vmin) * .022) calc(var(--vmin) * .04)}body.is-mobile .home-money-display{font-size:calc(var(--vmin) * .055);padding:calc(var(--vmin) * .012) calc(var(--vmin) * .02)}body.is-mobile.is-portrait .home-money-display{font-size:calc(var(--vmin) * .05);padding:calc(var(--vmin) * .01) calc(var(--vmin) * .018)}.game-over-container{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;background-color:#00000080;z-index:100}.restart-button{margin-top:calc(var(--base-font-size) * 1.875);padding:calc(var(--base-font-size) * .9375) calc(var(--base-font-size) * 1.875);font-size:calc(var(--base-font-size) * 1.875);font-family:Courier New,Courier,monospace;background-color:#f0f;color:#fff;border:none;border-radius:10px;cursor:pointer;text-shadow:0 0 5px #ffffff,0 0 10px #ffffff}.challenge-hud{position:fixed;top:20px;left:50%;transform:translate(-50%);background:#000c;border:2px solid rgba(100,200,255,.5);border-radius:12px;padding:16px 24px;min-width:300px;z-index:1000;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 4px 20px #00000080}.challenge-progress{margin-bottom:12px}.challenge-progress-bar{width:100%;height:8px;background:#fff3;border-radius:4px;overflow:hidden;margin-bottom:4px}.challenge-progress-fill{height:100%;background:linear-gradient(90deg,#64c8ff,#0f8);transition:width .1s ease-out;box-shadow:0 0 10px #64c8ff99}.challenge-progress-text{text-align:center;color:#fff;font-size:12px;font-weight:700}.challenge-timer{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;color:#fff;font-size:14px}.timer-label{font-weight:600}.timer-value{font-weight:700;font-size:18px;color:#64c8ff}.timer-value.timer-warning{color:#f44;animation:pulse 1s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.challenge-score{text-align:center;color:#fff;font-size:16px;font-weight:700;margin-bottom:8px}.challenge-bonuses{display:flex;flex-direction:column;gap:6px;margin-top:8px}.challenge-bonus{display:flex;align-items:center;gap:8px;background:#64c8ff33;padding:6px 12px;border-radius:6px;font-size:12px}.bonus-icon{font-size:16px}.bonus-text{flex:1;color:#fff;font-weight:600}.bonus-multiplier{color:#0f8;font-weight:700}.challenge-selector-overlay{position:fixed;inset:0;background:#000000b3;z-index:1999;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.challenge-selector{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:#000000f2;border:2px solid rgba(100,200,255,.5);border-radius:16px;padding:24px;min-width:400px;max-width:600px;z-index:2000;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);box-shadow:0 8px 32px #000c}.challenge-selector-title{color:#fff;text-align:center;margin-bottom:20px;font-size:24px;font-weight:700;text-shadow:0 0 10px rgba(100,200,255,.5)}.challenge-list{display:flex;flex-direction:column;gap:16px}.challenge-item{background:#ffffff0d;border:1px solid rgba(100,200,255,.3);border-radius:12px;padding:16px;transition:all .3s ease}.challenge-item:hover{background:#ffffff1a;border-color:#64c8ff99;transform:translateY(-2px)}.challenge-header h4{color:#64c8ff;margin:0 0 8px;font-size:18px;font-weight:700}.challenge-header p{color:#ffffffb3;margin:0 0 12px;font-size:14px}.challenge-difficulties{display:flex;gap:8px;flex-wrap:wrap}.difficulty-btn{padding:8px 16px;border:2px solid;border-radius:8px;background:transparent;color:#fff;font-weight:600;cursor:pointer;transition:all .2s ease;font-size:14px}.difficulty-btn:hover{transform:scale(1.05);box-shadow:0 4px 12px #0006}.difficulty-easy{border-color:#0f8;color:#0f8}.difficulty-easy:hover{background:#0f83}.difficulty-normal{border-color:#64c8ff;color:#64c8ff}.difficulty-normal:hover{background:#64c8ff33}.difficulty-hard{border-color:#fa0;color:#fa0}.difficulty-hard:hover{background:#fa03}.difficulty-expert{border-color:#f44;color:#f44}.difficulty-expert:hover{background:#f443}.challenge-selector-hint{position:fixed;bottom:20px;left:50%;transform:translate(-50%);color:#fff9;font-size:12px;z-index:2001;text-align:center}.challenge-selector-hint kbd{background:#ffffff1a;border:1px solid rgba(255,255,255,.3);border-radius:4px;padding:2px 6px;font-family:monospace;font-size:11px;margin:0 2px}.combo-display{position:fixed;top:calc(var(--vmin) * .15);right:calc(var(--vmin) * .02);background:#000000d9;border:2px solid rgba(255,215,0,.6);border-radius:12px;padding:12px 16px;min-width:180px;z-index:100;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 4px 20px #ffd7004d;animation:comboPulse 2s ease-in-out infinite}@keyframes comboPulse{0%,to{box-shadow:0 4px 20px #ffd7004d;border-color:#ffd70099}50%{box-shadow:0 4px 30px #ffd70099;border-color:#ffd700e6}}.combo-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;padding-bottom:6px;border-bottom:1px solid rgba(255,215,0,.3)}.combo-label{color:#ffffffb3;font-size:11px;font-weight:600;letter-spacing:1px;text-transform:uppercase}.combo-count{color:gold;font-size:18px;font-weight:700;text-shadow:0 0 10px rgba(255,215,0,.8)}.combo-multiplier{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.multiplier-label{color:#ffffffb3;font-size:11px;font-weight:600;letter-spacing:1px;text-transform:uppercase}.multiplier-value{color:#0f8;font-size:20px;font-weight:700;text-shadow:0 0 10px rgba(0,255,136,.8);animation:multiplierGlow 1.5s ease-in-out infinite}@keyframes multiplierGlow{0%,to{text-shadow:0 0 10px rgba(0,255,136,.8)}50%{text-shadow:0 0 20px rgba(0,255,136,1)}}.difficulty-level{display:flex;justify-content:space-between;align-items:center;padding-top:6px;border-top:1px solid rgba(255,215,0,.3)}.difficulty-label{color:#ffffffb3;font-size:11px;font-weight:600;letter-spacing:1px;text-transform:uppercase}.difficulty-value{color:#ff6b6b;font-size:18px;font-weight:700;text-shadow:0 0 10px rgba(255,107,107,.8)}@media (max-width: 768px){.combo-display{top:calc(var(--vmin) * .18);right:calc(var(--vmin) * .015);min-width:150px;padding:10px 12px}.combo-count{font-size:16px}.multiplier-value{font-size:18px}.difficulty-value{font-size:16px}}.cruise-mode-indicator{position:fixed;top:calc(var(--vmin) * .02);left:50%;transform:translate(-50%);background:linear-gradient(135deg,#ff00ff4d,#00ffff4d);border:2px solid #ff00ff;border-radius:6px;padding:10px 18px;display:flex;align-items:center;gap:12px;z-index:150;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);box-shadow:0 0 20px #f0f9,0 0 40px #0ff6,inset 0 0 20px #f0f3;animation:cruisePulse 3s ease-in-out infinite}@keyframes cruisePulse{0%,to{box-shadow:0 0 20px #f0f9,0 0 40px #0ff6,inset 0 0 20px #f0f3;border-color:#f0f}50%{box-shadow:0 0 30px #ff00ffe6,0 0 60px #0ff9,inset 0 0 30px #ff00ff4d;border-color:#0ff}}.cruise-text{color:#0ff;font-size:calc(var(--vmin) * .025);font-weight:700;letter-spacing:3px;text-transform:uppercase;text-shadow:0 0 10px rgba(0,255,255,1),0 0 20px rgba(255,0,255,.8),0 0 30px rgba(255,0,255,.6);font-family:Courier New,monospace;animation:textGlow 2s ease-in-out infinite alternate}@keyframes textGlow{0%{text-shadow:0 0 10px rgba(0,255,255,1),0 0 20px rgba(255,0,255,.8),0 0 30px rgba(255,0,255,.6);color:#0ff}to{text-shadow:0 0 15px rgba(255,0,255,1),0 0 25px rgba(0,255,255,.8),0 0 35px rgba(0,255,255,.6);color:#f0f}}.cruise-exit-button{background:linear-gradient(135deg,#f0f6,#9d00ff66);border:2px solid #ff00ff;border-radius:5px;color:#fff;padding:6px 12px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:calc(var(--vmin) * .018);font-weight:700;letter-spacing:1.5px;text-transform:uppercase;transition:all .3s ease;margin-left:auto;text-shadow:0 0 10px rgba(255,0,255,.8);box-shadow:0 0 15px #ff00ff80;font-family:Courier New,monospace}.cruise-exit-button:hover{background:linear-gradient(135deg,#f0f9,#9d00ff99);border-color:#0ff;box-shadow:0 0 20px #0ffc,0 0 30px #f0f9;transform:scale(1.05);text-shadow:0 0 15px rgba(0,255,255,1)}.cruise-exit-button:active{transform:scale(.98);box-shadow:0 0 10px #f0f6}@media (max-width: 768px){.cruise-mode-indicator{top:calc(var(--vmin) * .015);padding:8px 14px;gap:10px}.cruise-text{font-size:calc(var(--vmin) * .022);letter-spacing:2px}.cruise-exit-button{padding:5px 10px;font-size:calc(var(--vmin) * .016);letter-spacing:1px}}.game-over-screen{width:100vw;height:100vh;position:fixed;inset:0;display:flex;align-items:center;justify-content:center;overflow:hidden;background-color:#000010;background-image:linear-gradient(180deg,#0006,#0009),url(/assets/background3-DU6dJVep.png);background-size:cover;background-position:center;background-repeat:no-repeat;background-color:#000;z-index:9999}.go-overlay{position:absolute;inset:0;background:linear-gradient(180deg,#00000059,#0000008c)}.go-content{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:18px;padding:28px 22px;border-radius:14px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0006;border:1px solid rgba(255,255,255,.12);box-shadow:0 18px 40px #00000080}.go-title{font-family:var(--font-title);font-size:clamp(20px,6vw,42px);letter-spacing:.08em;color:#fff;background:linear-gradient(90deg,#b15a3acc,#6be8ffd9,#b15a3acc);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;text-shadow:0 0 10px rgba(107,232,255,.22),0 0 12px rgba(177,90,58,.28)}.go-subtitle{font-family:var(--font-title);font-size:clamp(14px,4vw,20px);color:#ffffffd1;text-shadow:0 0 6px rgba(255,255,255,.25);font-style:italic}.go-button{margin-top:8px;padding:12px 22px;font-size:clamp(16px,5vw,22px);font-family:var(--font-title);letter-spacing:.05em;background:transparent;color:#ffffffe6;border:1.5px solid rgba(255,255,255,.24);border-radius:18px;cursor:pointer;text-shadow:0 0 4px rgba(255,255,255,.35);box-shadow:0 10px 28px #00000073;transition:all .2s ease;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.go-button:hover{border:1.5px solid rgba(255,255,255,.42);color:#fff;text-shadow:0 0 6px rgba(255,255,255,.5)}.go-button:active{transform:scale(.97)}.level-select-screen{width:100vw;height:100vh;display:flex;flex-direction:column;justify-content:center;align-items:center;background-color:#000010;background-image:linear-gradient(180deg,#00000061,#00000094),url(/assets/background2-DSCCakhr.png);background-size:cover;background-position:center;background-repeat:no-repeat;color:#fff;font-family:"SF Pro Display",-apple-system,BlinkMacSystemFont,"Segoe UI",var(--font-ui),sans-serif;padding:calc(var(--vmin) * .02);padding-bottom:calc(var(--vmin) * .02);box-sizing:border-box;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;gap:calc(var(--vmin) * .015)}body.is-desktop .level-select-screen{padding:calc(var(--vmin) * .03);justify-content:center}body.is-desktop .level-select-screen h1{font-size:calc(var(--vmin) * .08);padding:0 calc(var(--vmin) * .02);margin:calc(var(--vmin) * .015) 0}body.is-desktop .level-select-subtitle{font-size:calc(var(--vmin) * .028);margin-bottom:calc(var(--vmin) * .025)}body.is-desktop .levels-grid{grid-template-columns:repeat(2,minmax(200px,320px));gap:calc(var(--vmin) * .015);max-width:700px;justify-content:center}body.is-desktop .level-button{padding:calc(var(--vmin) * .015);font-size:calc(var(--vmin) * .018);min-height:calc(var(--vmin) * .1)}body.is-desktop .level-number{font-size:calc(var(--vmin) * .022)}body.is-desktop .level-description{font-size:calc(var(--vmin) * .016)}body.is-desktop .level-subtitle,body.is-desktop .level-stats{font-size:calc(var(--vmin) * .014)}body.is-desktop .back-button{font-size:calc(var(--vmin) * .025);padding:calc(var(--vmin) * .015) calc(var(--vmin) * .04);margin-top:calc(var(--vmin) * .02);margin-bottom:calc(var(--vmin) * .08);min-width:calc(var(--vmin) * .2)}.level-select-screen h1{font-family:var(--font-title);font-size:calc(var(--vmin) * .12);text-shadow:0 0 10px rgba(255,255,255,.28),0 0 16px rgba(255,255,255,.18);margin:calc(var(--vmin) * .02) 0;text-align:center;line-height:1.2;word-wrap:break-word;padding:0 calc(var(--vmin) * .03);max-width:100%;box-sizing:border-box}.level-select-subtitle{font-size:calc(var(--vmin) * .04);text-shadow:0 0 6px rgba(255,255,255,.18);margin:0 0 calc(var(--vmin) * .03) 0;text-align:center;opacity:.8;font-family:var(--font-title);letter-spacing:.05em}.levels-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:calc(var(--vmin) * .016);width:100%;max-width:1100px;margin:calc(var(--vmin) * .015) auto;padding:0 calc(var(--vmin) * .015);box-sizing:border-box}.level-button{padding:calc(var(--vmin) * .02);font-size:calc(var(--vmin) * .03);font-family:"SF Pro Display",-apple-system,BlinkMacSystemFont,"Segoe UI",var(--font-ui),sans-serif;background:transparent;color:#ffffffd1;border:1.5px solid rgba(255,255,255,.18);border-radius:calc(var(--vmin) * .025);cursor:pointer;text-shadow:0 0 3px rgba(255,255,255,.2);transition:all .2s ease;touch-action:manipulation;-webkit-tap-highlight-color:transparent;display:flex;flex-direction:column;align-items:center;gap:calc(var(--vmin) * .01);min-height:calc(var(--vmin) * .13);box-sizing:border-box;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.level-button:hover{background:transparent;transform:scale(1.05);box-shadow:0 0 15px #ffffff40;border:1.5px solid rgba(255,255,255,.35);color:#fff;text-shadow:0 0 6px rgba(255,255,255,.45)}.level-button:active{transform:scale(.95);background:transparent}.level-number{font-size:calc(var(--vmin) * .028);font-weight:700;font-family:var(--font-title);letter-spacing:.08em;color:#fff;background:linear-gradient(90deg,#b15a3ad1,#6be8ffd9,#b15a3ad1);-webkit-background-clip:text;-webkit-text-fill-color:transparent;text-shadow:0 0 8px rgba(177,90,58,.32),0 0 8px rgba(107,232,255,.28);animation:levelNumberGlow 8s ease-in-out infinite}@keyframes levelNumberGlow{0%{filter:drop-shadow(0 0 6px rgba(177,90,58,.32)) drop-shadow(0 0 10px rgba(107,232,255,.28));opacity:1}50%{filter:drop-shadow(0 0 10px rgba(177,90,58,.48)) drop-shadow(0 0 14px rgba(107,232,255,.42));opacity:.2}to{filter:drop-shadow(0 0 6px rgba(177,90,58,.32)) drop-shadow(0 0 10px rgba(107,232,255,.28));opacity:1}}.level-description{font-size:calc(var(--vmin) * .025);opacity:.9;text-align:center;font-weight:600;font-style:italic}.level-subtitle{font-size:calc(var(--vmin) * .022);opacity:.7;text-align:center;font-style:italic;margin-top:calc(var(--vmin) * .005)}.level-stats{font-size:calc(var(--vmin) * .022);opacity:.7;display:flex;flex-direction:column;gap:calc(var(--vmin) * .005);text-align:center}.level-button.locked{opacity:.5;cursor:not-allowed;background-color:#64646433;border-color:#666}.level-button.locked:hover{background-color:#64646433;transform:none;box-shadow:none}.level-button:disabled{cursor:not-allowed}.locked-indicator{font-size:calc(var(--vmin) * .025);color:#fa0;text-shadow:0 0 5px #ffaa00;margin-top:calc(var(--vmin) * .01);font-weight:700}.back-button{margin-top:calc(var(--vmin) * .03);padding:calc(var(--vmin) * .02) calc(var(--vmin) * .04);font-size:calc(var(--vmin) * .04);font-family:var(--font-title);background:transparent;color:#ffffffd1;border:1.5px solid rgba(255,255,255,.18);border-radius:calc(var(--vmin) * .025);cursor:pointer;text-shadow:0 0 3px rgba(255,255,255,.2);transition:all .2s ease;min-width:calc(var(--vmin) * .3);touch-action:manipulation;-webkit-tap-highlight-color:transparent;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.back-button:hover{background:transparent;border:1.5px solid rgba(255,255,255,.35);color:#fff;text-shadow:0 0 6px rgba(255,255,255,.45)}.back-button:active{transform:scale(.95);background:transparent}body.is-mobile .level-select-screen{padding:calc(var(--vmin) * .02);padding-bottom:calc(var(--vmin) * .04);justify-content:center}body.is-mobile .level-select-screen h1{font-size:calc(var(--vmin) * .09);margin:calc(var(--vmin) * .01) 0}body.is-mobile .level-select-subtitle{font-size:calc(var(--vmin) * .04);margin-bottom:calc(var(--vmin) * .015)}body.is-mobile .levels-grid{grid-template-columns:repeat(2,1fr);gap:calc(var(--vmin) * .016);margin:calc(var(--vmin) * .01) 0}body.is-mobile .level-button{padding:calc(var(--vmin) * .01);font-size:calc(var(--vmin) * .028);min-height:calc(var(--vmin) * .1);gap:calc(var(--vmin) * .005)}body.is-mobile .level-number{font-size:calc(var(--vmin) * .032)}body.is-mobile .level-description{font-size:calc(var(--vmin) * .022)}body.is-mobile .level-subtitle{font-size:calc(var(--vmin) * .018);margin-top:calc(var(--vmin) * .002)}body.is-mobile .level-stats{font-size:calc(var(--vmin) * .02)}body.is-mobile .back-button{font-size:calc(var(--vmin) * .035);padding:calc(var(--vmin) * .012) calc(var(--vmin) * .03);margin-top:calc(var(--vmin) * .015);min-width:calc(var(--vmin) * .2)}body.is-mobile.is-portrait .levels-grid{grid-template-columns:repeat(2,1fr)}body.is-mobile.is-portrait .level-select-screen h1{font-size:calc(var(--vmin) * .085)}body.is-mobile.is-portrait .level-select-subtitle{font-size:calc(var(--vmin) * .038)}.touch-controls{position:fixed;bottom:calc(var(--vmin) * .02 + env(safe-area-inset-bottom,0px));left:0;right:0;display:flex;justify-content:space-between;align-items:flex-end;padding:0 calc(var(--vmin) * .03);z-index:200;user-select:none;-webkit-user-select:none;touch-action:none;pointer-events:none}.touch-controls>*{pointer-events:auto}.touch-controls-left,.touch-controls-right{display:flex;align-items:center;gap:calc(var(--vmin) * .01)}.touch-button-accelerator{width:calc(var(--vmin) * .08)!important;height:calc(var(--vmin) * .08)!important;min-width:50px!important;min-height:50px!important;font-size:calc(var(--vmin) * .04)!important}.touch-button{width:calc(var(--vmin) * .07);height:calc(var(--vmin) * .07);min-width:45px;min-height:45px;border-radius:50%;background-color:#ff00ff4d;border:calc(var(--vmin) * .003) solid rgba(255,0,255,.8);color:#fff;font-size:calc(var(--vmin) * .035);font-weight:700;display:flex;align-items:center;justify-content:center;cursor:pointer;touch-action:none;-webkit-tap-highlight-color:transparent;box-shadow:0 0 10px #ff00ff80;transition:all .1s ease;user-select:none;-webkit-user-select:none}.touch-button:active,.touch-button.active{background-color:#f0f9;transform:scale(.95);box-shadow:0 0 20px #f0fc}body.is-mobile .touch-controls{bottom:calc(var(--vmin) * .04 + env(safe-area-inset-bottom,0px));padding:0 calc(var(--vmin) * .03)}body.is-mobile .touch-controls-left,body.is-mobile .touch-controls-right{gap:calc(var(--vmin) * .015)}body.is-mobile .touch-button{width:calc(var(--vmin) * .07);height:calc(var(--vmin) * .07);min-width:48px;min-height:48px;font-size:calc(var(--vmin) * .035)}body.is-mobile .touch-button-accelerator{width:calc(var(--vmin) * .085)!important;height:calc(var(--vmin) * .085)!important;min-width:54px!important;min-height:54px!important;font-size:calc(var(--vmin) * .042)!important}body.is-mobile.is-portrait .touch-controls{bottom:calc(var(--vmin) * .045 + env(safe-area-inset-bottom,0px))}.music-controls-wrapper{position:fixed;bottom:calc(var(--vmin) * .02);left:50%;transform:translate(-50%);z-index:100;display:flex;flex-direction:column;align-items:center;gap:calc(var(--vmin) * .008)}body.is-desktop .music-controls-wrapper{bottom:calc(var(--vmin) * .02);gap:calc(var(--vmin) * .008)}body.is-desktop .vaporwave-screen{padding:calc(var(--vmin) * .006) calc(var(--vmin) * .012);min-width:calc(var(--vmin) * .2);max-width:calc(var(--vmin) * .4)}body.is-desktop .screen-text{font-size:calc(var(--vmin) * .012)}body.is-desktop .music-controls{padding:calc(var(--vmin) * .008) calc(var(--vmin) * .015);gap:calc(var(--vmin) * .008)}body.is-desktop .music-control-button{width:calc(var(--vmin) * .035);height:calc(var(--vmin) * .035);min-width:26px;min-height:26px;font-size:calc(var(--vmin) * .018)}.vaporwave-screen{background:linear-gradient(135deg,#f0f3,#0ff3);border:1px solid rgba(255,0,255,.5);border-radius:calc(var(--vmin) * .005);padding:calc(var(--vmin) * .006) calc(var(--vmin) * .012);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);box-shadow:0 0 5px #ff00ff80,inset 0 0 10px #0ff3;min-width:calc(var(--vmin) * .2);max-width:calc(var(--vmin) * .4);cursor:pointer;transition:all .2s ease;user-select:none;-webkit-user-select:none}.vaporwave-screen:hover{background:linear-gradient(135deg,#ff00ff4d,#00ffff4d);border-color:#f0fc;box-shadow:0 0 8px #ff00ffb3,inset 0 0 15px #00ffff4d;transform:scale(1.02)}.vaporwave-screen:active{transform:scale(.98)}.screen-text{font-family:Courier New,Courier,monospace;font-size:calc(var(--vmin) * .012);color:#0ff;text-shadow:0 0 2px #00ffff,0 0 4px rgba(255,0,255,.8);text-align:center;white-space:nowrap;overflow:visible;text-overflow:clip;letter-spacing:.3px;font-weight:700;text-transform:none;font-style:italic;cursor:pointer;padding:calc(var(--vmin) * .004) calc(var(--vmin) * .006);margin-bottom:calc(var(--vmin) * .004);user-select:none;-webkit-user-select:none}.music-controls{display:flex;flex-direction:column;align-items:center;gap:calc(var(--vmin) * .008);background:linear-gradient(135deg,#ff00ff26,#00ffff26);padding:calc(var(--vmin) * .012) calc(var(--vmin) * .02);border-radius:calc(var(--vmin) * .01);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:2px solid rgba(255,0,255,.5);box-shadow:0 0 10px #f0f6,0 0 20px #0ff3,inset 0 0 15px #ff00ff1a}.music-control-button{width:calc(var(--vmin) * .035);height:calc(var(--vmin) * .035);min-width:26px;min-height:26px;border-radius:calc(var(--vmin) * .005);background:linear-gradient(135deg,#f0f6,#0ff6);border:2px solid rgba(255,0,255,1);color:#fff;font-size:calc(var(--vmin) * .018);display:flex;align-items:center;justify-content:center;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:all .3s cubic-bezier(.4,0,.2,1);user-select:none;-webkit-user-select:none;box-shadow:0 0 15px #f0f9,0 0 30px #0ff6,inset 0 0 20px #ffffff1a,inset 0 2px 4px #ff00ff4d;position:relative;overflow:hidden}.music-control-button:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle,rgba(255,255,255,.2) 0%,transparent 70%);opacity:0;transition:opacity .3s ease}.music-control-button:hover{background:linear-gradient(135deg,#f0f9,#0ff9);transform:scale(1.08);border-color:#0ff;box-shadow:0 0 20px #f0fc,0 0 40px #0ff9,0 0 60px #f0f6,inset 0 0 25px #fff3,inset 0 2px 4px #0ff6}.music-control-button:hover:before{opacity:1}.music-control-button:active{transform:scale(.92);box-shadow:0 0 10px #ff00ff80,0 0 20px #00ffff4d,inset 0 2px 8px #0000004d}.button-row{display:flex;align-items:center;gap:calc(var(--vmin) * .008);justify-content:center}.volume-control{display:flex;align-items:center;justify-content:center;width:100%}.volume-slider{width:100%;height:4px;-webkit-appearance:none;appearance:none;background:linear-gradient(90deg,#ff00ff4d,#00ffff4d);border-radius:3px;outline:none;cursor:pointer;box-shadow:inset 0 0 5px #0000004d,0 0 5px #ff00ff4d}.volume-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:12px;height:12px;border-radius:50%;background:linear-gradient(135deg,#f0f,#0ff);cursor:pointer;border:2px solid rgba(255,255,255,.8);box-shadow:0 0 8px #f0fc,0 0 15px #0ff9,inset 0 0 8px #ffffff4d;transition:all .2s ease}.volume-slider::-webkit-slider-thumb:hover{transform:scale(1.15);box-shadow:0 0 12px #f0f,0 0 25px #0ffc,inset 0 0 12px #fff6}.volume-slider::-moz-range-thumb{width:12px;height:12px;border-radius:50%;background:linear-gradient(135deg,#f0f,#0ff);cursor:pointer;border:2px solid rgba(255,255,255,.8);box-shadow:0 0 8px #f0fc,0 0 15px #0ff9,inset 0 0 8px #ffffff4d;transition:all .2s ease}.volume-slider::-moz-range-thumb:hover{transform:scale(1.15);box-shadow:0 0 12px #f0f,0 0 25px #0ffc,inset 0 0 12px #fff6}body.is-mobile .music-controls-wrapper{bottom:calc(var(--vmin) * .03 + env(safe-area-inset-bottom,0px));left:50%;transform:translate(-50%);gap:0;width:auto;padding:0;box-sizing:border-box}body.is-mobile.game-playing .music-controls-wrapper{bottom:calc(var(--vmin) * .18 + env(safe-area-inset-bottom,0px))}body.is-mobile .radio-button{padding:calc(var(--vmin) * .012) calc(var(--vmin) * .02);min-width:calc(var(--vmin) * .18);max-width:calc(var(--vmin) * .34)}body.is-mobile .vaporwave-screen{padding:calc(var(--vmin) * .025) calc(var(--vmin) * .045);min-width:calc(var(--vmin) * .4);max-width:calc(var(--vmin) * .75)}body.is-mobile .radio-button .screen-text{font-size:calc(var(--vmin) * .035);letter-spacing:.6px;font-style:italic;overflow:visible;text-overflow:clip;padding:0;margin:0;width:auto;box-sizing:border-box}body.is-mobile .music-controls{padding:calc(var(--vmin) * .025) calc(var(--vmin) * .035);gap:calc(var(--vmin) * .018);border-width:2px;min-width:calc(var(--vmin) * .4);max-width:calc(var(--vmin) * .75)}body.is-mobile .button-row{gap:calc(var(--vmin) * .015)}body.is-mobile .music-control-button{width:calc(var(--vmin) * .06);height:calc(var(--vmin) * .06);min-width:48px;min-height:48px;font-size:calc(var(--vmin) * .0675);border-width:2px}body.is-mobile .volume-control{width:100%}body.is-mobile .volume-slider{width:100%;height:4px}body.is-mobile .volume-slider::-webkit-slider-thumb{width:12px;height:12px}body.is-mobile .volume-slider::-moz-range-thumb{width:12px;height:12px}body.is-mobile.is-portrait .music-controls-wrapper{bottom:calc(var(--vmin) * .035 + env(safe-area-inset-bottom,0px));gap:0}body.is-mobile.is-portrait.game-playing .music-controls-wrapper{bottom:calc(var(--vmin) * .2 + env(safe-area-inset-bottom,0px))}body.is-mobile.is-portrait .radio-button{padding:calc(var(--vmin) * .01) calc(var(--vmin) * .018);min-width:calc(var(--vmin) * .17);max-width:calc(var(--vmin) * .32)}body.is-mobile.is-portrait .vaporwave-screen{min-width:calc(var(--vmin) * .38);max-width:calc(var(--vmin) * .72);padding:calc(var(--vmin) * .022) calc(var(--vmin) * .04)}body.is-mobile.is-portrait .radio-button .screen-text{font-size:calc(var(--vmin) * .032);letter-spacing:.5px;font-style:italic;overflow:visible;text-overflow:clip;padding:0;margin:0;width:auto;box-sizing:border-box}body.is-mobile.is-portrait .music-controls{padding:calc(var(--vmin) * .022) calc(var(--vmin) * .03);gap:calc(var(--vmin) * .015);min-width:calc(var(--vmin) * .38);max-width:calc(var(--vmin) * .72)}body.is-mobile.is-portrait .music-control-button{width:calc(var(--vmin) * .058);height:calc(var(--vmin) * .058);min-width:46px;min-height:46px;font-size:calc(var(--vmin) * .063)}body.is-mobile.is-portrait .volume-slider{width:100%}.playlist-modal-overlay{position:fixed;inset:0;background-color:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:200;display:flex;align-items:center;justify-content:center;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.playlist-modal{background:linear-gradient(135deg,#000000f2,#140028f2);border:2px solid rgba(255,0,255,.5);border-radius:calc(var(--vmin) * .02);padding:calc(var(--vmin) * .03);max-width:calc(var(--vmin) * .5);width:90%;max-height:70vh;box-shadow:0 0 20px #ff00ff80,inset 0 0 30px #00ffff1a;animation:slideUp .3s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.playlist-modal-header{display:flex;justify-content:center;align-items:center;margin-bottom:calc(var(--vmin) * .02);padding-bottom:calc(var(--vmin) * .015);border-bottom:1px solid rgba(255,0,255,.3);position:relative}.playlist-modal-header h2{font-family:Courier New,Courier,monospace;font-size:calc(var(--vmin) * .025);color:#0ff;text-shadow:0 0 5px #00ffff,0 0 10px rgba(255,0,255,.8);margin:0;text-transform:none;letter-spacing:.1em;font-style:italic;font-weight:700}.playlist-close-button{background:transparent;border:1px solid rgba(255,0,255,.5);color:#f0f;width:calc(var(--vmin) * .025);height:calc(var(--vmin) * .025);min-width:20px;min-height:20px;border-radius:50%;cursor:pointer;font-size:calc(var(--vmin) * .01);display:flex;align-items:center;justify-content:center;transition:all .2s ease;text-shadow:0 0 5px rgba(255,0,255,.8);position:absolute;top:0;right:0}.playlist-close-button:hover{background-color:#f0f3;transform:scale(1.1);box-shadow:0 0 10px #ff00ff80}.playlist-content{color:#0ff;font-family:Courier New,Courier,monospace;font-size:calc(var(--vmin) * .018);text-shadow:0 0 3px rgba(0,255,255,.8);padding:calc(var(--vmin) * .01)}.modal-music-controls{display:flex;flex-direction:column;align-items:center;gap:calc(var(--vmin) * .015);margin-bottom:calc(var(--vmin) * .02);padding-bottom:calc(var(--vmin) * .02);border-bottom:1px solid rgba(255,0,255,.3)}.modal-music-controls .button-row{display:flex;align-items:center;gap:calc(var(--vmin) * .015);justify-content:center;width:100%;flex-wrap:wrap}.modal-music-controls .volume-control{flex:1;display:flex;align-items:center;justify-content:center;min-width:150px;max-width:300px}.modal-music-controls .volume-slider{width:100%}.radio-button{background:#0a0e19c7;border:1.5px solid #ff4fd8;border-radius:calc(var(--vmin) * .008);padding:calc(var(--vmin) * .008) calc(var(--vmin) * .016);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);box-shadow:0 6px 18px #00000073,0 0 8px #ff4fd859;cursor:pointer;transition:all .2s ease;user-select:none;-webkit-user-select:none;color:#fff;font-family:var(--font-ui, "Inter", "Segoe UI", system-ui, -apple-system, sans-serif);font-weight:600;letter-spacing:.01em}.radio-button:hover{background:#0a0e19e6;border-color:#ff7bea;box-shadow:0 8px 22px #00000080,0 0 10px #ff7bea73;transform:scale(1.015)}.radio-button:active{transform:scale(.98)}.song-list{list-style:none;padding:0;margin:0}.song-item{padding:calc(var(--vmin) * .012) calc(var(--vmin) * .015);margin-bottom:calc(var(--vmin) * .008);border-radius:calc(var(--vmin) * .005);transition:all .2s ease;cursor:pointer;text-transform:capitalize;user-select:none;-webkit-user-select:none}.song-item:hover{background-color:#ff00ff1a;text-shadow:0 0 5px rgba(0,255,255,1),0 0 10px rgba(255,0,255,.8)}.song-item:active{transform:scale(.98)}.song-item.active{background-color:#f0f3;border-left:3px solid rgba(255,0,255,.8);text-shadow:0 0 8px rgba(0,255,255,1),0 0 15px rgba(255,0,255,.9);font-weight:700}body.is-mobile .song-item{padding:calc(var(--vmin) * .015) calc(var(--vmin) * .02);font-size:calc(var(--vmin) * .04)}body.is-mobile .song-item.active{background-color:#ff00ff40;border-left:4px solid rgba(255,0,255,.9);padding-left:calc(var(--vmin) * .018)}body.is-mobile .playlist-modal{max-width:85%;padding:calc(var(--vmin) * .03)}body.is-mobile .playlist-modal-header h2{font-size:calc(var(--vmin) * .045)}body.is-mobile .playlist-content{font-size:calc(var(--vmin) * .038)}body.is-mobile .modal-music-controls{gap:calc(var(--vmin) * .02);margin-bottom:calc(var(--vmin) * .025);padding-bottom:calc(var(--vmin) * .025)}body.is-mobile .modal-music-controls .button-row{gap:calc(var(--vmin) * .02);width:100%}body.is-mobile .modal-music-controls .music-control-button{width:calc(var(--vmin) * .06);height:calc(var(--vmin) * .06);min-width:48px;min-height:48px;font-size:calc(var(--vmin) * .0675);flex-shrink:0}body.is-mobile .modal-music-controls .volume-control{flex:1;min-width:calc(var(--vmin) * .25);max-width:100%}body.is-mobile .modal-music-controls .volume-slider{width:100%}body.is-mobile .playlist-close-button{width:calc(var(--vmin) * .035);height:calc(var(--vmin) * .035);min-width:28px;min-height:28px;font-size:calc(var(--vmin) * .02)}
