:root{--pink: #fa2993;--dark-green: #0d4148;--plum: #850050;--light-pink: #ffb0c1;--teal: #186a77;--white: #ffffff;--lavender: #dba6e3;--mint: #99dbc0;--coral: #ff8d89;--peach: #ffbd91;--yellow: #f2f3b9;--light-blue: #94caff;--pink-gradient: radial-gradient(125% 125% at 22% 18%, #ffabcd 0%, #fb4198 46%, #e91d86 100%);--plum-deep: #5c0735}@font-face{font-family:Apercu;src:url(public/fonts/Apercu_Regular.otf) format("opentype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Apercu;src:url(public/fonts/Apercu\ Medium.otf) format("opentype");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Apercu;src:url(public/fonts/Apercu\ Bold.otf) format("opentype");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Minecraftia;src:url(public/fonts/Minecraftia-Regular.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}*{margin:0;padding:0;box-sizing:border-box}html,body{width:100%;height:100%;overflow:hidden;font-family:Apercu,Arial,sans-serif;background:var(--pink-gradient);color:var(--white);-webkit-user-select:none;user-select:none;touch-action:none}#gameContainer{position:fixed;top:0;left:0;width:100%;height:100%}#gameCanvas{display:block;width:100%;height:100%;will-change:transform;image-rendering:pixelated}.screen-overlay{position:fixed;top:0;left:0;width:100%;height:100vh;height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:safe center;overflow-y:auto;padding:clamp(16px,4vh,40px) 16px;z-index:10;transition:opacity .3s ease}.screen-overlay.hidden{display:none}#loadingScreen{position:fixed;top:0;left:0;width:100%;height:100vh;height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--pink-gradient);z-index:100;transition:opacity .5s ease}#loadingScreen.fade-out{opacity:0;pointer-events:none}.loading-text{font-family:Minecraftia,monospace;font-size:clamp(20px,3vw,30px);color:var(--white);margin-bottom:26px;letter-spacing:3px;text-shadow:0 3px 0 rgba(120,0,60,.35)}.loading-bar-bg{width:clamp(240px,32vw,380px);height:32px;background:var(--plum-deep);border:4px solid #3d0524;border-radius:4px;overflow:hidden}.loading-bar-fill{height:100%;width:0%;background:var(--pink);transition:width .2s ease}#startScreen{background:var(--pink-gradient)}.start-logo{width:clamp(56px,7vw,80px);height:auto;margin-bottom:18px;filter:drop-shadow(0 5px 12px rgba(120,0,60,.3))}.start-brand{font-family:Minecraftia,monospace;font-size:clamp(13px,1.8vw,18px);color:var(--white);letter-spacing:6px;margin-bottom:28px}.start-title{font-family:Minecraftia,monospace;font-size:clamp(30px,6vw,64px);font-weight:400;color:var(--white);text-align:center;line-height:1.28;margin-bottom:46px;text-transform:uppercase;letter-spacing:4px;text-shadow:0 0 20px rgba(255,255,255,.55),0 4px 0 rgba(120,0,60,.22)}.start-subtitle{display:none}.a2hs-hint{position:fixed;left:50%;bottom:calc(12px + env(safe-area-inset-bottom));transform:translate(-50%);z-index:30;display:flex;align-items:center;gap:10px;width:max-content;max-width:min(440px,90vw);padding:10px 14px;border-radius:12px;background:#0d4148d9;border:1px solid rgba(255,255,255,.3);box-shadow:0 6px 18px #46002359;color:var(--white);font-family:Apercu,Arial,sans-serif;font-size:clamp(12px,3.4vw,15px);line-height:1.35;text-align:left;backdrop-filter:blur(4px)}.a2hs-hint.hidden{display:none}.a2hs-text b{color:var(--peach);font-weight:700}.a2hs-close{flex:none;width:28px;height:28px;border:none;border-radius:50%;background:#ffffff26;color:var(--white);font-size:18px;line-height:1;cursor:pointer;-webkit-tap-highlight-color:transparent}.a2hs-close:active{background:#ffffff4d}#selectScreen{background:var(--pink-gradient);padding:20px;position:relative;overflow:hidden}#selectScreen canvas{display:none}.select-overlay{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;height:100%}.select-title{font-family:Minecraftia,monospace;font-size:clamp(20px,4vw,40px);font-weight:400;color:var(--white);text-align:center;margin-bottom:34px;text-shadow:0 0 16px rgba(255,255,255,.5),0 3px 0 rgba(120,0,60,.25);letter-spacing:4px;text-transform:uppercase}.carousel{position:relative;width:clamp(300px,66vw,600px);height:clamp(240px,42vh,340px)}.carousel-track{position:relative;width:100%;height:100%;cursor:grab;touch-action:pan-y}.carousel-track:active{cursor:grabbing}.power-card2{position:absolute;top:50%;left:50%;width:clamp(150px,24vw,200px);height:clamp(208px,33vw,278px);transform:translate(-50%,-50%);border-radius:18px;background:linear-gradient(180deg,#6e0c41,#470526);border:3px solid rgba(255,255,255,.12);box-shadow:0 10px 24px #46002366;display:flex;align-items:center;justify-content:center;transition:transform .32s ease,opacity .32s ease,border-color .32s ease,box-shadow .32s ease;cursor:pointer}.power-card2 img{width:78%;height:auto;image-rendering:pixelated;-webkit-user-drag:none;user-select:none}.power-card2.pos-center{transform:translate(-50%,-50%) scale(1);opacity:1;z-index:3;border-color:var(--white);box-shadow:0 0 30px #ffffff73,0 12px 28px #46002373}.power-card2.pos-left{transform:translate(-50%,-50%) translate(-112%) scale(.74);opacity:.5;z-index:1}.power-card2.pos-right{transform:translate(-50%,-50%) translate(112%) scale(.74);opacity:.5;z-index:1}.power-card2.pos-hidden{transform:translate(-50%,-50%) scale(.6);opacity:0;z-index:0;pointer-events:none}.power-card2.pos-center:before{content:"\2726";position:absolute;top:-12px;left:-8px;font-size:30px;color:#ffe27a;text-shadow:0 0 12px rgba(255,226,122,.9);z-index:4}.carousel-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:5;background:none;border:none;color:var(--white);font-size:clamp(36px,6vw,58px);line-height:1;cursor:pointer;padding:8px 14px;opacity:.92;transition:transform .15s,opacity .15s;text-shadow:0 3px 0 rgba(120,0,60,.35)}.carousel-arrow:hover{opacity:1;transform:translateY(-50%) scale(1.18)}.carousel-prev{left:calc(50% - 158px)}.carousel-next{right:calc(50% - 158px)}.power-name2{font-family:Minecraftia,monospace;font-size:clamp(18px,3vw,30px);color:var(--white);letter-spacing:3px;text-transform:uppercase;margin:28px 0 20px;text-shadow:0 3px 0 rgba(120,0,60,.3)}.btn{display:inline-block;padding:14px 40px;border:none;border-radius:50px;font-family:Apercu,Arial,sans-serif;font-size:clamp(16px,2.5vw,20px);font-weight:700;cursor:pointer;transition:transform .15s,box-shadow .15s;text-transform:uppercase;letter-spacing:1px}.btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #0000004d}.btn:active{transform:translateY(0)}.btn-primary{background:var(--pink);color:var(--white)}.btn-secondary{background:var(--teal);color:var(--white)}.btn-pixel{font-family:Minecraftia,monospace;font-size:clamp(15px,2.4vw,22px);letter-spacing:3px;text-transform:uppercase;color:var(--white);background:var(--pink);border:none;border-radius:10px;padding:16px 50px;cursor:pointer;box-shadow:0 7px #b3106a,0 9px 14px #46002359;transition:transform .08s ease,box-shadow .08s ease,filter .12s ease}.btn-pixel:hover{filter:brightness(1.07)}.btn-pixel:active{transform:translateY(5px);box-shadow:0 2px #b3106a,0 3px 8px #46002359}.btn-pixel.disabled,.btn-pixel:disabled{opacity:.45;cursor:not-allowed;box-shadow:0 7px #7a0d49;filter:grayscale(.3)}#gameOverScreen,#winScreen{background:#0d4148eb;backdrop-filter:blur(6px)}.result-title{font-family:Minecraftia,monospace;font-size:clamp(24px,4.2vw,40px);font-weight:700;line-height:1.15;margin-bottom:16px}.result-title.win{color:var(--pink)}.result-title.lose{color:var(--coral)}.result-message{font-family:Minecraftia,monospace;font-size:clamp(12px,2vw,16px);line-height:1.5;color:var(--light-pink);margin-bottom:24px;text-align:center;max-width:440px}.score-breakdown{background:#0000004d;border-radius:12px;padding:20px 30px;margin-bottom:24px;min-width:300px}.score-row{display:flex;justify-content:space-between;padding:6px 0;font-size:16px}.score-row.total{border-top:2px solid var(--teal);margin-top:14px;padding-top:12px;font-family:Minecraftia,monospace;font-weight:700;font-size:22px;color:var(--pink)}.score-item{margin-bottom:16px}.score-item-label{font-family:Minecraftia,monospace;font-size:12px;text-transform:uppercase;letter-spacing:1px;color:var(--light-pink);margin-bottom:8px}.score-item-row{display:flex;align-items:center;gap:10px}.score-breakdown .meter-bar-bg{width:120px;height:20px;flex:none}.score-item-val{font-family:Minecraftia,monospace;font-size:16px;color:var(--white);min-width:52px}.score-arrow{margin-left:auto;color:var(--mint);font-size:18px}.score-points{font-family:Minecraftia,monospace;font-size:20px;font-weight:700;color:var(--yellow);min-width:64px;text-align:right}.result-buttons{display:flex;gap:12px;flex-wrap:wrap;justify-content:center}.result-title.grand{font-size:clamp(34px,7vw,68px);color:var(--pink);letter-spacing:1px;animation:grand-pop .5s cubic-bezier(.2,1.4,.4,1) both,grand-glow 1.8s ease-in-out .5s infinite}@keyframes grand-pop{0%{transform:scale(.6);opacity:0}to{transform:scale(1);opacity:1}}@keyframes grand-glow{0%,to{text-shadow:0 0 12px rgba(250,41,147,.45),0 0 4px rgba(250,41,147,.6)}50%{text-shadow:0 0 26px rgba(250,41,147,.85),0 0 10px rgba(255,176,193,.9)}}.confetti{position:absolute;inset:0;overflow:hidden;pointer-events:none;display:none}#winScreen.grand .confetti{display:block}.confetti i{position:absolute;top:-12px;width:9px;height:14px;opacity:0;border-radius:1px;animation:confetti-fall linear infinite}@keyframes confetti-fall{0%{transform:translateY(-20px) rotate(0);opacity:1}to{transform:translateY(105vh) rotate(540deg);opacity:.9}}.leaderboard{display:flex;flex-direction:column;gap:10px;width:min(360px,86vw);margin-bottom:22px}.leaderboard.hidden{display:none}.leaderboard-title{font-family:Minecraftia,monospace;font-size:clamp(13px,2vw,16px);color:var(--mint);text-align:center;margin-bottom:4px}.lb-input{font-family:Minecraftia,monospace;font-size:14px;padding:12px 14px;border-radius:10px;border:2px solid var(--teal);background:#00000059;color:var(--white);outline:none}.lb-input::placeholder{color:#ffffff73}.lb-input:focus{border-color:var(--pink)}.lb-consent{display:flex;gap:8px;align-items:flex-start;font-family:Apercu,Arial,sans-serif;font-size:12px;line-height:1.4;color:var(--light-pink);text-align:left;cursor:pointer}.lb-consent input{margin-top:2px;flex:none;width:16px;height:16px;accent-color:var(--pink)}.lb-status{font-family:Minecraftia,monospace;font-size:12px;min-height:16px;text-align:center;color:var(--mint)}.lb-status.error{color:var(--coral)}#mobileControls{position:fixed;bottom:0;left:0;width:100%;display:none;justify-content:space-between;padding:0 max(16px,env(safe-area-inset-right)) max(20px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));z-index:20;pointer-events:none}.touch-group{display:flex;gap:16px;pointer-events:auto}.touch-btn{width:64px;height:64px;border-radius:50%;border:2px solid rgba(255,255,255,.5);background:#0d4148b3;color:var(--white);font-size:24px;display:flex;align-items:center;justify-content:center;cursor:pointer;-webkit-tap-highlight-color:transparent;backdrop-filter:blur(4px)}.touch-btn:active,.touch-btn.pressed{background:#fa299399;border-color:var(--pink)}.touch-btn-dash{font-size:16px;font-weight:700;font-family:Apercu,Arial,sans-serif}#hud{position:fixed;top:0;left:0;width:100%;pointer-events:none;z-index:5;display:none}.hud-top{position:relative;display:flex;justify-content:space-between;align-items:flex-start;padding:12px 16px}.hud-meter{display:flex;flex-direction:column;gap:4px}.meter-label{font-family:Minecraftia,monospace;font-size:11px;font-weight:400;text-transform:uppercase;letter-spacing:1px;color:var(--light-pink);text-shadow:1px 1px 0 rgba(0,0,0,.5)}.meter-bar-bg{width:248px;height:34px;background:var(--plum-deep);border:5px solid #3d0524;border-radius:4px;overflow:hidden;transition:border-color .2s ease,box-shadow .2s ease;transform-origin:left center}.meter-bar-fill{height:100%;background:var(--pink);transition:width .15s ease,background .2s ease}.meter-bar-bg.low{animation:meterBoxPulse .6s infinite alternate}.meter-bar-bg.low .meter-bar-fill{background:var(--coral);animation:meterFillPulse .6s infinite alternate}@keyframes meterBoxPulse{0%{border-color:#3d0524;box-shadow:none;transform:scale(1)}to{border-color:var(--coral);box-shadow:0 0 16px #ff8d89e6;transform:scale(1.08)}}@keyframes meterFillPulse{0%{opacity:1}to{opacity:.5}}.hud-center{position:absolute;left:50%;top:12px;transform:translate(-50%);text-align:center}.hud-timer{font-family:Minecraftia,monospace;font-size:16px;font-weight:400;color:var(--white);text-shadow:2px 2px 0 rgba(0,0,0,.5)}.hud-dash-cooldown{font-family:Minecraftia,monospace;font-size:10px;color:var(--light-pink);text-shadow:1px 1px 0 rgba(0,0,0,.5)}@media(hover:none)and (pointer:coarse){body.playing #mobileControls,body.playing .home-btn{display:flex}}@media(max-width:480px){.power-cards{gap:10px}.power-card{width:140px;padding:16px 10px}.power-icon{font-size:36px}.power-name{font-size:16px}.touch-btn{width:56px;height:56px;font-size:20px}.meter-bar-bg{width:150px}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.editor-panel{position:fixed;top:10px;left:10px;z-index:50;background:#000000d9;border:1px solid rgba(255,255,255,.3);border-radius:8px;padding:12px;min-width:260px;font-family:monospace;font-size:12px;color:#fff;pointer-events:auto;user-select:none}.editor-panel.hidden{display:none}.editor-header{font-weight:700;font-size:13px;color:#fa2993;margin-bottom:8px;border-bottom:1px solid rgba(255,255,255,.2);padding-bottom:6px}.editor-hint{font-weight:400;font-size:10px;color:#ffffff80}.editor-info{margin:0 0 10px;padding:6px 8px;background:#ffffff14;border-radius:4px;white-space:pre;line-height:1.5;min-height:40px;font-size:11px}.editor-buttons{display:flex;gap:6px;flex-wrap:wrap}.editor-btn{padding:5px 10px;border:1px solid rgba(255,255,255,.3);border-radius:4px;background:#ffffff1a;color:#fff;font-family:monospace;font-size:11px;cursor:pointer;transition:background .15s}.editor-btn:hover{background:#ffffff40}.editor-btn-add{border-color:#32ff3280;color:#5f5}.editor-btn-del{border-color:#ff505080;color:#f66}.editor-toast{position:absolute;bottom:-30px;left:50%;transform:translate(-50%);background:#fa2993;color:#fff;padding:4px 12px;border-radius:4px;font-size:11px;transition:opacity .3s}.editor-toast.hidden{opacity:0;pointer-events:none}#levelSelectScreen{background:linear-gradient(135deg,var(--dark-green) 0%,var(--plum) 100%);padding:40px 20px}.level-cards{display:flex;flex-direction:row;gap:30px;justify-content:center;align-items:stretch;margin-top:40px;flex-wrap:wrap;max-width:1200px}.level-card{background:#ffffff1a;border:3px solid var(--pink);border-radius:20px;padding:30px;width:280px;text-align:center;cursor:pointer;transition:all .3s ease;position:relative;backdrop-filter:blur(10px)}.level-card:hover:not(.locked){transform:translateY(-10px);box-shadow:0 20px 40px #fa299366;background:#ffffff26}.level-card.locked{opacity:.5;cursor:not-allowed;border-color:#666}.level-card.locked .level-number,.level-card.locked .level-name,.level-card.locked .level-desc,.level-card.locked .level-enemies{opacity:.5}.locked-icon{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:48px;opacity:.8}.level-number{font-family:Minecraftia,monospace;font-size:48px;font-weight:700;color:var(--yellow);margin-bottom:10px;text-shadow:3px 3px 0 var(--plum)}.level-name{font-size:24px;font-weight:700;color:var(--pink);margin-bottom:15px;text-transform:uppercase;letter-spacing:1px}.level-desc{font-size:16px;color:var(--light-pink);margin-bottom:20px;line-height:1.4}.level-enemies{font-size:14px;color:var(--coral);font-weight:500;padding:10px;background:#ff8d891a;border-radius:10px}@media(max-width:900px){.level-cards{flex-direction:column;align-items:center;gap:20px}.level-card{width:90%;max-width:320px;padding:20px}.level-number{font-size:36px}.level-name{font-size:20px}}.enemy-alpakka,.enemy-myrskypilvi{image-rendering:pixelated}.mute-btn{position:fixed;top:calc(14px + env(safe-area-inset-top));right:calc(14px + env(safe-area-inset-right));z-index:600;width:46px;height:46px;padding:0;border:2px solid var(--mint);border-radius:50%;background:#0d4148d1;color:var(--white);font-size:20px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:transform .12s ease,background .12s ease,border-color .12s ease;-webkit-tap-highlight-color:transparent}.mute-btn:hover{transform:scale(1.08);background:#0d4148f2;border-color:var(--pink)}.mute-btn:active{transform:scale(.96)}.mute-btn.muted{border-color:var(--coral);opacity:.85}.mute-btn.hidden{display:none}.fs-btn{position:fixed;top:calc(14px + env(safe-area-inset-top));right:calc(68px + env(safe-area-inset-right));z-index:600;width:46px;height:46px;padding:0;border:2px solid var(--mint);border-radius:50%;background:#0d4148d1;color:var(--white);font-size:22px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:transform .12s ease,background .12s ease,border-color .12s ease;-webkit-tap-highlight-color:transparent}.fs-btn:hover{transform:scale(1.08);background:#0d4148f2;border-color:var(--pink)}.fs-btn:active{transform:scale(.96)}.fs-btn.hidden{display:none}.home-btn{position:fixed;top:calc(14px + env(safe-area-inset-top));left:calc(14px + env(safe-area-inset-left));z-index:600;width:46px;height:46px;padding:0;border:2px solid var(--mint);border-radius:50%;background:#0d4148d1;color:var(--white);font-size:24px;line-height:1;cursor:pointer;display:none;align-items:center;justify-content:center;-webkit-tap-highlight-color:transparent;transition:transform .12s ease,border-color .12s ease}.home-btn:active{transform:scale(.96);border-color:var(--pink)}.rotate-overlay{position:fixed;top:0;left:0;width:100%;height:100vh;height:100dvh;z-index:700;display:none;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:24px;background:var(--pink-gradient)}.rotate-overlay.show{display:flex}.rotate-icon{font-size:clamp(54px,14vw,96px);margin-bottom:20px;animation:rotate-hint 1.8s ease-in-out infinite}.rotate-text{font-family:Minecraftia,monospace;font-size:clamp(15px,4.5vw,26px);letter-spacing:1px;color:var(--white);text-shadow:0 3px 0 rgba(120,0,60,.35)}@keyframes rotate-hint{0%,to{transform:rotate(-12deg)}50%{transform:rotate(78deg)}}@media(orientation:landscape)and (pointer:coarse){.screen-overlay{justify-content:flex-start;overflow-y:auto;-webkit-overflow-scrolling:touch;touch-action:pan-y;padding-top:max(12px,env(safe-area-inset-top));padding-bottom:calc(24px + env(safe-area-inset-bottom))}#selectScreen{overflow-y:auto}.select-overlay{height:auto;min-height:100%;justify-content:flex-start}.select-title{margin-bottom:12px}.carousel{height:clamp(160px,34vh,230px)}.power-card2{width:clamp(120px,16vw,160px);height:clamp(140px,30vh,200px)}.power-name2{margin:12px 0 10px}#levelSelectScreen{padding:12px 20px 24px}#levelSelectScreen .select-title{margin-bottom:12px}.level-cards{margin-top:12px;gap:12px}.level-card{padding:14px}#levelSelectHomeBtn{margin-top:16px!important}.start-logo{width:clamp(40px,6vw,56px);margin-bottom:8px}.start-brand{margin-bottom:12px}.start-title{font-size:clamp(24px,5vw,44px);margin-bottom:18px}}
