:root{font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}html,body,#root{width:100%;min-width:320px;height:var(--app-height, 100dvh);margin:0;overflow:hidden;background:#000}button{font-family:inherit}.gameShell{position:fixed;top:0;right:0;bottom:0;left:0;width:100vw;height:var(--app-height, 100dvh);overflow:hidden;background:#000;color:#fff;font-family:Arial,Helvetica,sans-serif;touch-action:none;-webkit-user-select:none;user-select:none}.visuallyHidden{position:absolute;overflow:hidden;width:1px;height:1px;padding:0;border:0;margin:-1px;clip:rect(0 0 0 0);white-space:nowrap}.sceneMount{position:absolute;top:0;right:0;bottom:0;left:0}.sceneMount canvas{display:block;width:100%;height:100%}.overlay{position:absolute;top:0;right:0;bottom:0;left:0;min-height:var(--app-height, 100dvh);z-index:1000;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#000000e8;cursor:pointer}.logo{display:grid;width:min(82vw,600px);aspect-ratio:7.6 / 1;gap:2px}.logoBlock,.logoSpace{aspect-ratio:1 / 1}.logoBlock{background:#fff;opacity:0;transform:translateY(-100vh) scale(0);animation:bounceInFromTop 1s forwards,attractAnimation 7s infinite 10s}.soundToggle{position:absolute;top:max(18px,env(safe-area-inset-top));right:max(18px,env(safe-area-inset-right));z-index:3;display:grid;width:clamp(68px,8vw,84px);aspect-ratio:1;place-items:center;padding:5px;border:0;background:transparent;color:#0ff;cursor:pointer;filter:drop-shadow(0 0 9px rgba(0,255,255,.72));transition:color .15s ease,border-color .15s ease,box-shadow .15s ease,transform .15s ease}.soundToggle:hover{transform:scale(1.08);filter:drop-shadow(0 0 13px rgba(0,255,255,.9))}.soundToggle.muted{color:#f0f;filter:drop-shadow(0 0 9px rgba(255,0,255,.72))}.soundToggle svg{width:100%;height:100%;overflow:visible}.soundSpeaker{fill:currentColor}.soundWaves{fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.startText{margin-top:clamp(22px,4vh,44px);padding:10px;border:0;background:transparent;color:#fff;cursor:pointer;font:inherit;font-size:clamp(32px,6vw,92px);animation:blink .8s step-end infinite}.levelTestMenu{display:grid;gap:10px;margin-top:clamp(22px,4vh,46px);cursor:default}.levelTestLabel{color:#0ff;font-size:clamp(13px,2vw,18px);font-weight:800;letter-spacing:.08em;text-align:center;text-shadow:0 0 8px rgba(0,255,255,.85),0 0 16px rgba(0,90,255,.55)}.levelTestButtons{display:grid;grid-template-columns:repeat(6,minmax(42px,1fr));gap:8px;width:min(86vw,430px)}.levelTestButton{display:grid;min-width:0;height:54px;place-items:center;gap:4px;padding:6px 4px;border:1px solid rgba(255,255,255,.28);border-radius:3px;background:#00000085;color:#fff;cursor:pointer;font:800 18px/1 Arial,Helvetica,sans-serif;text-shadow:0 0 8px rgba(255,255,255,.65);box-shadow:inset 0 0 0 1px #000000a6,0 0 10px #00ffff14}.levelTestButton.selected{border-color:#ff0;color:#ff0;box-shadow:0 0 12px #ffff006b,inset 0 0 0 1px #ffffff3d}.levelTestSwatches{display:flex;gap:2px;width:100%;justify-content:center}.levelTestSwatches span{width:5px;height:5px;border:1px solid rgba(255,255,255,.36);background:var(--swatch-color);box-shadow:0 0 5px var(--swatch-color)}.shapeTestMenu{display:grid;gap:8px;margin-top:18px;cursor:default}.shapeSelect{width:min(88vw,320px);min-height:44px;padding:8px 38px 8px 12px;border:1px solid rgba(0,255,255,.52);border-radius:3px;background:#000000b8;color:#fff;cursor:pointer;font:800 clamp(12px,2vw,16px)/1 Arial,Helvetica,sans-serif;letter-spacing:.05em;text-align:center;text-shadow:0 0 7px rgba(255,255,255,.55);box-shadow:inset 0 0 0 1px #0000009e,0 0 12px #00ffff24}.shapeSelect:focus-visible{outline:3px solid #fff;outline-offset:5px}.difficultyMenu{display:grid;gap:10px;margin-top:18px;cursor:default}.difficultyButtons{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;width:min(88vw,520px)}.difficultyButton{display:grid;min-width:0;min-height:52px;place-items:center;gap:4px;padding:7px 5px;border:1px solid rgba(255,255,255,.24);border-radius:3px;background:#00000080;color:#fff;cursor:pointer;font:800 clamp(10px,2vw,15px)/1 Arial,Helvetica,sans-serif;text-shadow:0 0 7px rgba(255,255,255,.62);box-shadow:inset 0 0 0 1px #0000009e,0 0 10px #ff00ff14}.difficultyButton:first-child{grid-column:1 / -1;min-height:44px}.difficultyButton.selected{border-color:#f0f;color:#f0f;box-shadow:0 0 12px #ff00ff6b,inset 0 0 0 1px #fff3}.difficultyPowerUps{display:flex;min-height:14px;gap:2px;align-items:center;justify-content:center;color:#0ff;font-size:13px;line-height:1;text-shadow:0 0 7px rgba(0,255,255,.85),0 0 12px rgba(0,90,255,.5)}.difficultyProgression{color:#ffffffc2;font-size:clamp(7px,1.35vw,10px);line-height:1;white-space:nowrap;text-shadow:none}.startText:focus-visible,.storedPowerUp:focus-visible,.highScoreButton:focus-visible,.soundToggle:focus-visible,.scoreboardDismiss:focus-visible,.levelTestButton:focus-visible,.difficultyButton:focus-visible{outline:3px solid #fff;outline-offset:5px}.gameOverText{position:relative;margin-top:5vh;font-size:clamp(54px,10vw,156px);font-weight:700;line-height:1;animation:gameOverColorCycle 1.6s ease-in-out infinite,gameOverGlitchBase 5s steps(1,end) infinite}.gameOverText:before,.gameOverText:after{position:absolute;top:0;right:0;bottom:0;left:0;content:attr(data-text);pointer-events:none;opacity:0}.gameOverText:before{color:#f0f;text-shadow:4px 0 12px rgba(255,0,255,.92),-3px 0 8px rgba(255,0,0,.55);transform:translate(-4px);animation:gameOverGlitchTop 5s steps(1,end) infinite}.gameOverText:after{color:#0ff;text-shadow:-4px 0 12px rgba(0,255,255,.92),3px 0 8px rgba(0,80,255,.6);transform:translate(4px);animation:gameOverGlitchBottom 5s steps(1,end) infinite}.highScore{display:inline-flex;align-items:center;justify-content:center;color:gold;font-size:clamp(34px,4.8vw,76px);animation:trophyFlyIn .95s cubic-bezier(.18,.9,.24,1.14) 1.15s both,pulse 1.5s infinite 2.15s}.highScoreButton{position:absolute;bottom:max(20px,env(safe-area-inset-bottom));right:max(18px,env(safe-area-inset-right));display:grid;width:clamp(68px,8vw,84px);aspect-ratio:1;place-items:center;padding:5px;border:0;background:transparent;cursor:pointer;font-family:inherit}.highScoreButton:active{animation:none;transform:scale(.96)}.trophyIcon{width:100%;height:100%;fill:#ffd70029;stroke:gold;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 5px rgba(255,215,0,.95)) drop-shadow(0 0 11px rgba(255,215,0,.48))}.scoreboardOverlay{justify-content:center;padding:max(18px,env(safe-area-inset-top)) max(18px,env(safe-area-inset-right)) max(18px,env(safe-area-inset-bottom)) max(18px,env(safe-area-inset-left));background:repeating-linear-gradient(0deg,rgba(255,255,255,.045) 0,rgba(255,255,255,.045) 1px,transparent 1px,transparent 6px),radial-gradient(circle at 50% 28%,rgba(0,255,255,.12),transparent 44%),#000000f2;cursor:default}.scoreboardPanel{position:relative;display:flex;width:min(94vw,920px);max-height:min(94vh,1200px);flex-direction:column;align-items:stretch;padding:clamp(18px,4vw,34px);border:2px solid rgba(0,255,255,.6);background:#000000b8;box-shadow:0 0 0 2px #ff00ff29,0 0 28px #00ffff57,inset 0 0 34px #00ffff1c;text-align:center;overflow-x:hidden;overflow-y:auto}.clearScoresButton{position:absolute;top:10px;right:10px;z-index:3;display:grid;width:42px;aspect-ratio:1;place-items:center;border:1px solid rgba(0,255,255,.58);background:#000000a3;color:#fff;cursor:pointer;font:700 22px/1 Arial,Helvetica,sans-serif;box-shadow:0 0 12px #00ffff38,inset 0 0 10px #00ffff1a}.clearScoresButton:hover,.clearScoresButton:focus-visible{border-color:#ff0000e6;outline:0;box-shadow:0 0 14px #ff00006b,inset 0 0 10px #ff000029}.clearScoresButton:active{transform:scale(.94)}.scoreboardEyebrow{color:#f0f;font-size:clamp(13px,2vw,18px);font-weight:700;line-height:1;text-shadow:0 0 10px rgba(255,0,255,.7)}.scoreboardTitle{position:relative;margin-top:8px;color:#00dfff;font-size:clamp(56px,12vw,108px);font-weight:700;line-height:.95;text-shadow:0 0 8px rgba(0,255,255,.95),0 0 24px rgba(0,120,255,.58);animation:titleGlitchBase 2.2s steps(1,end) infinite}.scoreboardTitle:before,.scoreboardTitle:after{position:absolute;top:0;right:0;bottom:0;left:0;content:attr(data-text);pointer-events:none;opacity:0}.scoreboardTitle:before{color:#f0f;text-shadow:4px 0 12px rgba(255,0,255,.92),-3px 0 8px rgba(255,0,0,.55);transform:translate(-4px);animation:titleGlitchTop 1.75s steps(1,end) infinite}.scoreboardTitle:after{color:#6effff;text-shadow:-4px 0 12px rgba(0,255,255,.92),3px 0 8px rgba(0,80,255,.6);transform:translate(4px);animation:titleGlitchBottom 1.35s steps(1,end) infinite}.leaderboard{width:min(100%,860px);margin-inline:auto;margin-top:clamp(16px,3vh,28px);color:#fff;font-family:Courier New,Courier,monospace;font-weight:700;font-variant-numeric:tabular-nums;text-shadow:0 0 10px rgba(255,255,255,.62)}.leaderboardHeader,.leaderboardRow{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:center;column-gap:0}.leaderboardHeader{margin-bottom:8px;padding:0 8px;color:#0ff;font-size:clamp(16px,2.8vw,24px);text-shadow:0 0 9px rgba(0,255,255,.72)}.leaderboardRows{display:grid;gap:clamp(6px,.8vh,10px)}.leaderboardRow{min-height:clamp(54px,7vh,72px);padding:8px clamp(14px,2.4vw,24px);border:1px solid rgba(255,255,255,.16);background:#ffffff09;color:#fff;font-size:clamp(28px,4.8vw,44px);text-align:left}.leaderboardRow:nth-child(1){color:#ff0;box-shadow:0 0 16px #ffff002e}.leaderboardRow:nth-child(2){color:#0ff}.leaderboardRow:nth-child(3){color:#f0f}.leaderboardRow.empty{color:#ffffff52;background:#ffffff05;box-shadow:none}.leaderboardRow.highlighted{animation:leaderboardHighlight 1.45s ease-in-out infinite}.leaderboardHeader span:nth-child(3),.leaderboardRow span:nth-child(3){text-align:center}.leaderboardHeader span:nth-child(1),.leaderboardRow span:nth-child(1){text-align:center}.leaderboardHeader span:nth-child(2),.leaderboardRow span:nth-child(2){text-align:center}.initialsForm{display:flex;flex-direction:column;align-items:center;gap:10px;margin-top:16px;padding:14px 0;border-top:1px solid rgba(255,255,255,.16);border-bottom:1px solid rgba(255,255,255,.16)}.initialsScrim{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;display:flex;align-items:center;justify-content:center;padding:clamp(24px,10vh,86px) 0 clamp(24px,10vh,86px);background:#00000094;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.initialsScrim .initialsForm{gap:clamp(18px,4vh,34px);margin:0;padding:0;border:0}.initialsPrompt{color:var(--initials-color, #fff);font:700 clamp(18px,3.4vw,32px)/1 Arial,Helvetica,sans-serif;text-shadow:0 0 10px color-mix(in srgb,var(--initials-color, #fff) 72%,transparent)}.initialsBox{display:grid;box-sizing:border-box;width:4.9ch;min-height:1.36em;grid-template-columns:repeat(3,1fr);align-items:center;padding:.08em .1em .14em;border:2px solid #fff;background:#000;color:var(--initials-color, #fff);cursor:text;font:700 clamp(38px,6vw,76px)/1 Arial,Helvetica,sans-serif;text-align:center;text-transform:uppercase;text-shadow:0 0 12px color-mix(in srgb,var(--initials-color, #fff) 72%,transparent);box-shadow:0 0 18px color-mix(in srgb,var(--initials-color, #fff) 38%,transparent)}.initialsBox:focus-visible,.initialsForm:focus-within .initialsBox{outline:3px solid #00ffff;outline-offset:4px}.initialsSlot{display:grid;min-width:1ch;place-items:center}.initialsSlot.centeredCaret{grid-column:1 / -1}.fakeCaret{display:block;width:.08em;height:.92em;background:var(--initials-color, #4b86ff);box-shadow:0 0 8px color-mix(in srgb,var(--initials-color, #4b86ff) 80%,transparent);animation:caretBlink .85s step-end infinite}.initialsInputNative{position:absolute;width:1px;height:1px;border:0;padding:0;opacity:0;pointer-events:none}.scoreboardDismiss{align-self:center;margin-top:clamp(16px,3vh,28px);border:0;background:transparent;color:#0f0;cursor:pointer;font:700 clamp(22px,4vw,42px)/1 Arial,Helvetica,sans-serif;text-shadow:0 0 14px rgba(0,255,0,.8);animation:blink .9s step-end infinite}.scoreboardDismiss:disabled{color:#ffffff57;cursor:default;text-shadow:none;animation:none}.scoreDisplay{position:absolute;top:50%;left:15vw;z-index:100;transform:translateY(-50%);color:#fff;font-size:clamp(60px,12vw,140px);font-weight:700;line-height:1;text-align:left;text-shadow:0 0 20px rgba(255,255,255,.8)}.scoreDisplay.rewarded span:first-child{display:inline-block;animation:scoreRainbowReward 1.2s ease-out both}.scoreDisplay.targetReached span:first-child{display:inline-block;animation:scoreTargetReached 1.1s cubic-bezier(.16,1,.3,1) both}.speedDisplay{display:block;margin-top:8px;color:#0ff;font:800 clamp(13px,2.6vw,24px)/1 Arial,Helvetica,sans-serif;letter-spacing:0;text-shadow:0 0 8px rgba(0,255,255,.9),0 0 18px rgba(0,90,255,.55)}.scoreRewardPulse{position:absolute;top:50%;left:50%;width:clamp(90px,18vw,210px);aspect-ratio:1;border:4px solid rgba(0,255,255,.86);border-radius:50%;pointer-events:none;transform:translate(-50%,-50%) scale(.2);box-shadow:0 0 14px #00ffffbf,0 0 28px #ff00ff6b,inset 0 0 18px #ffff0059;animation:scoreRewardPulse .9s ease-out forwards}.scoreBurst{position:absolute;z-index:120;color:#fff;font:700 clamp(20px,4vw,42px)/1 Arial,Helvetica,sans-serif;pointer-events:none;text-shadow:0 0 8px rgba(255,255,255,.95),0 0 18px rgba(255,255,255,.55);transform:translate(-50%,-50%);animation:scoreBurstFloat 1.15s ease-out forwards}.storedPowerUps{position:absolute;right:auto;bottom:max(16px,env(safe-area-inset-bottom));left:max(16px,env(safe-area-inset-left));z-index:120;display:flex;flex-direction:column-reverse;align-items:center;gap:10px;transform:none}.storedPowerUps.touchControls{right:auto;bottom:max(16px,env(safe-area-inset-bottom));left:max(16px,env(safe-area-inset-left));flex-direction:column-reverse;align-items:center;gap:12px;transform:none}.storedPowerUps.leftHanded,.storedPowerUps.touchControls.leftHanded{right:max(16px,env(safe-area-inset-right));left:auto}.storedPowerUps.touchControls .storedPowerUp{width:46px;height:46px;font-size:25px}.storedPowerUp{display:grid;width:40px;height:40px;place-items:center;border:0;border-radius:50%;background:#fff;box-shadow:0 0 10px #ffffffb3;color:#fff;cursor:pointer;touch-action:manipulation;font:700 22px/1 Arial,sans-serif;transition:transform .2s ease;animation:rainbowPulse 2s infinite}.storedPowerUp:hover{transform:scale(1.2)}.storedPowerUp:active{transform:scale(.9)}.storedPowerUp:disabled,.storedPowerUp.disabled{background:#9696966b;box-shadow:inset 0 0 0 1px #ffffff24,0 0 8px #ffffff1a;color:#ffffff61;cursor:default;filter:grayscale(1) saturate(.2);opacity:.62;animation:none}.storedPowerUp:disabled:hover,.storedPowerUp.disabled:hover,.storedPowerUp:disabled:active,.storedPowerUp.disabled:active{transform:none}.rainbowTracker{position:absolute;top:max(16px,env(safe-area-inset-top));right:max(16px,env(safe-area-inset-right));z-index:110;display:flex;align-items:center;gap:10px;padding:8px 10px;border:1px solid rgba(255,255,255,.22);border-radius:999px;background:#0000006b;box-shadow:0 0 18px #ffffff1f;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.rainbowTracker.active{animation:rainbowTrackerGlow 1s linear infinite}.rainbowTrackerDots{display:flex;gap:6px}.rainbowDot{width:13px;height:13px;border:1px solid var(--dot-color);border-radius:2px;background:#ffffff14;box-shadow:inset 0 0 0 1px #0000008c}.rainbowDot.earned,.rainbowTracker.active .rainbowDot{background:var(--dot-color);box-shadow:0 0 8px var(--dot-color),inset 0 0 0 1px #ffffff73}.rainbowTracker.active .rainbowDot{border-color:currentColor;animation:rainbowPipSync 1.15s linear infinite}.rainbowTimer{min-width:2ch;color:#fff;font-size:18px;font-weight:700;line-height:1;text-align:center;text-shadow:0 0 8px rgba(255,255,255,.8)}.countdownContainer{position:absolute;top:0;right:0;bottom:0;left:0;z-index:200;display:flex;align-items:center;justify-content:center;pointer-events:none}.countdownContainer.shapeWave .countdownScrim{background:#00000094;-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px)}.countdownContainer.shapeWave .countdownDisplay{animation-duration:1.65s}.countdownContainer.shapeWave .countdownDisplay{line-height:.92}.countdownScrim{position:absolute;top:0;right:0;bottom:0;left:0;background:#000000b8;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px)}.countdownDisplay{position:relative;z-index:1;color:#fff;font-size:clamp(120px,22vw,280px);font-weight:700;line-height:1;text-shadow:0 0 20px rgba(255,255,255,.8);will-change:transform,opacity;animation:countdownPop 1s linear both}.countdownDisplay.go{color:#0f0;font-size:clamp(132px,25vw,320px);text-shadow:0 0 30px rgba(0,255,0,.8)}.countdownDisplay.level{width:min(92vw,980px);color:var(--countdown-color, #00ffff);font-size:clamp(54px,11vw,150px);text-align:center;text-shadow:0 0 16px currentColor,0 0 34px currentColor}.countdownDisplay.online{width:min(96vw,1200px);font-size:min(12vw,18vh,170px,calc(94vw / var(--countdown-characters) * 1.7));white-space:nowrap}.onlineBreak{display:none}.countdownDisplay.rainbowLevel{animation:countdownPop 1s linear both,rainbowTextCycle 1.15s linear infinite}.pausedOverlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:250;display:flex;align-items:center;justify-content:center;width:100%;border:0;background:#0000003d;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);cursor:pointer;font:inherit;touch-action:manipulation}.pausedOverlay:focus-visible{outline:3px solid #fff;outline-offset:-10px}.playIcon{position:relative;z-index:1;width:0;height:0;border-top:clamp(34px,8vw,64px) solid transparent;border-bottom:clamp(34px,8vw,64px) solid transparent;border-left:clamp(54px,12vw,96px) solid rgba(255,255,255,.5);filter:drop-shadow(0 0 8px rgba(255,255,255,.12));transform-origin:33% 50%;animation:playTriangleIdle 1.6s ease-in-out infinite}@keyframes playTriangleIdle{0%,to{border-left-color:#ffffff80;filter:drop-shadow(0 0 8px rgba(255,255,255,.12));transform:scale(1)}50%{border-left-color:#ffffffad;filter:drop-shadow(0 0 16px rgba(255,255,255,.28));transform:scale(1.09)}72%{transform:scale(.98)}}.pauseParticles{position:absolute;width:clamp(220px,52vw,430px);aspect-ratio:1;border-radius:50%;pointer-events:none}.pauseParticles span{position:absolute;top:50%;left:50%;width:clamp(4px,1.2vw,8px);aspect-ratio:1;border-radius:50%;background:#fffffff2;box-shadow:0 0 12px #ffffffdb,0 0 24px #00ffff59;opacity:0;transform:rotate(var(--angle)) translate(clamp(72px,18vw,150px)) scale(.35);animation:pauseParticleDrift 2.8s ease-in-out infinite;animation-delay:var(--delay)}.pauseParticles span:nth-child(1){--angle: 0deg;--delay: -.1s}.pauseParticles span:nth-child(2){--angle: 26deg;--delay: -1.4s}.pauseParticles span:nth-child(3){--angle: 52deg;--delay: -.6s}.pauseParticles span:nth-child(4){--angle: 78deg;--delay: -2.1s}.pauseParticles span:nth-child(5){--angle: 104deg;--delay: -1s}.pauseParticles span:nth-child(6){--angle: 130deg;--delay: -2.4s}.pauseParticles span:nth-child(7){--angle: 156deg;--delay: -.3s}.pauseParticles span:nth-child(8){--angle: 182deg;--delay: -1.8s}.pauseParticles span:nth-child(9){--angle: 208deg;--delay: -.8s}.pauseParticles span:nth-child(10){--angle: 234deg;--delay: -2.7s}.pauseParticles span:nth-child(11){--angle: 260deg;--delay: -1.2s}.pauseParticles span:nth-child(12){--angle: 286deg;--delay: -2s}.pauseParticles span:nth-child(13){--angle: 312deg;--delay: -.5s}.pauseParticles span:nth-child(14){--angle: 338deg;--delay: -1.6s}@keyframes bounceInFromTop{0%{opacity:0;transform:translateY(-100vh) scale(0)}60%{opacity:1;transform:translateY(20px) scale(1.1)}80%{transform:translateY(-10px) scale(.9)}to{opacity:1;transform:translateY(0) scale(1.15)}}@keyframes attractAnimation{0%,to{background:#fff}14.28%{background:red;transform:translateY(-10px) scale(1)}28.57%{background:#00f}42.85%{background:green}57.14%{background:#ff0}71.42%{background:purple;transform:translateY(-10px) scale(.5)}85.71%,to{background:#fff;transform:translateY(0) scale(1.15)}}@keyframes blink{0%,50%{opacity:1}51%,to{opacity:0}}@keyframes colorChange{0%{color:red}33%{color:#ff0}66%{color:#00f}to{color:red}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}@keyframes trophyFlyIn{0%{opacity:0;transform:translate(-120vw) scale(.42) rotate(-18deg)}62%{opacity:1;transform:translate(10px) scale(1.12) rotate(5deg)}82%{transform:translate(-6px) scale(.96) rotate(-2deg)}to{opacity:1;transform:translate(0) scale(1) rotate(0)}}@keyframes rainbowPulse{0%,to{background:red;box-shadow:0 0 15px red}16.7%{background:#f80;box-shadow:0 0 15px #f80}33.3%{background:#ff0;box-shadow:0 0 15px #ff0}50%{background:#0f0;box-shadow:0 0 15px #0f0}66.7%{background:#08f;box-shadow:0 0 15px #08f}83.3%{background:#80f;box-shadow:0 0 15px #80f}}@keyframes countdownPop{0%{opacity:0;transform:scale(1)}12%{opacity:1;transform:scale(1)}55%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(2.15)}}@keyframes rainbowTextCycle{0%,to{color:red;text-shadow:0 0 16px #ff0000,0 0 34px rgba(255,0,0,.82)}16.7%{color:#0f0;text-shadow:0 0 16px #00ff00,0 0 34px rgba(0,255,0,.82)}33.3%{color:#00f;text-shadow:0 0 16px #0000ff,0 0 34px rgba(0,0,255,.82)}50%{color:#ff0;text-shadow:0 0 16px #ffff00,0 0 34px rgba(255,255,0,.82)}66.7%{color:#f0f;text-shadow:0 0 16px #ff00ff,0 0 34px rgba(255,0,255,.82)}83.3%{color:#0ff;text-shadow:0 0 16px #00ffff,0 0 34px rgba(0,255,255,.82)}}@keyframes scoreBurstFloat{0%{opacity:0;transform:translate(-50%,-30%) scale(.55)}18%{opacity:1;transform:translate(-50%,-62%) scale(1.18)}to{opacity:0;transform:translate(-50%,-155%) scale(.92)}}@keyframes scoreRainbowReward{0%{color:#fff;filter:none;text-shadow:0 0 20px rgba(255,255,255,.8);transform:scale(1)}16%{color:red;filter:saturate(1.5);text-shadow:0 0 12px rgba(255,0,0,.95),0 0 28px rgba(255,0,255,.65);transform:scale(1.18)}32%{color:#ff0;text-shadow:0 0 12px rgba(255,255,0,.95),0 0 28px rgba(0,255,0,.55)}50%{color:#0ff;text-shadow:0 0 12px rgba(0,255,255,.95),0 0 30px rgba(0,80,255,.62);transform:scale(1.08)}68%{color:#f0f;text-shadow:0 0 12px rgba(255,0,255,.95),0 0 30px rgba(255,255,0,.52)}to{color:#fff;filter:none;text-shadow:0 0 20px rgba(255,255,255,.8);transform:scale(1)}}@keyframes scoreTargetReached{0%{color:#fff;filter:brightness(1);text-shadow:0 0 20px rgba(255,255,255,.8);transform:scale(1)}28%{color:#ff0;filter:brightness(1.5);text-shadow:0 0 18px #fff,0 0 38px #ffff00,0 0 62px rgba(0,255,255,.8);transform:scale(1.28) rotate(-2deg)}52%{color:#0ff;transform:scale(1.12) rotate(1deg)}to{color:#fff;filter:brightness(1);text-shadow:0 0 20px rgba(255,255,255,.8);transform:scale(1)}}@keyframes scoreRewardPulse{0%{opacity:0;transform:translate(-50%,-50%) scale(.18)}18%{opacity:1}to{opacity:0;transform:translate(-50%,-50%) scale(1.55)}}@keyframes rainbowTrackerGlow{0%,to{border-color:#ff0000b3;box-shadow:0 0 18px #ff000059}33%{border-color:#00ff00b3;box-shadow:0 0 18px #00ff0059}66%{border-color:#0080ffb3;box-shadow:0 0 18px #0080ff59}}@keyframes rainbowPipSync{0%,to{color:red;background:red;box-shadow:0 0 10px red,0 0 18px #ff000080,inset 0 0 0 1px #fff9;transform:scale(1.18)}16.7%{color:#0f0;background:#0f0;box-shadow:0 0 10px #0f0,0 0 18px #00ff0080,inset 0 0 0 1px #fff9;transform:scale(1.02)}33.3%{color:#00f;background:#00f;box-shadow:0 0 10px #00f,0 0 18px #0000ff80,inset 0 0 0 1px #fff9;transform:scale(1.14)}50%{color:#ff0;background:#ff0;box-shadow:0 0 10px #ff0,0 0 18px #ffff007a,inset 0 0 0 1px #fff9;transform:scale(1.02)}66.7%{color:#f0f;background:#f0f;box-shadow:0 0 10px #f0f,0 0 18px #ff00ff7a,inset 0 0 0 1px #fff9;transform:scale(1.14)}83.3%{color:#0ff;background:#0ff;box-shadow:0 0 10px #0ff,0 0 18px #00ffff7a,inset 0 0 0 1px #fff9;transform:scale(1.02)}}@keyframes leaderboardHighlight{0%,to{border-color:#ffff0047;background:#ffff000b;box-shadow:0 0 10px #ffff001f}50%{border-color:#ffff00b8;background:#ffff001c;box-shadow:0 0 20px #ffff0047}}@keyframes gameOverColorCycle{0%{color:red;text-shadow:0 0 10px rgba(255,0,0,.95),0 0 28px rgba(255,0,255,.46)}33%{color:#ff0;text-shadow:0 0 10px rgba(255,255,0,.95),0 0 28px rgba(255,0,0,.46)}66%{color:#00f;text-shadow:0 0 10px rgba(0,80,255,.95),0 0 28px rgba(0,255,255,.46)}to{color:red;text-shadow:0 0 10px rgba(255,0,0,.95),0 0 28px rgba(255,0,255,.46)}}@keyframes caretBlink{0%,48%{opacity:1}49%,to{opacity:0}}@keyframes titleGlitchBase{0%,14%,22%,49%,57%,78%,88%,to{filter:none;transform:translate(0) skew(0)}15%{filter:brightness(1.4);transform:translate(-2px,1px) skew(-3deg)}16%{transform:translate(3px,-1px) skew(4deg)}50%{filter:brightness(1.25) saturate(1.5);transform:translate(2px) skew(2deg)}51%{transform:translate(-4px,1px) skew(-5deg)}79%{filter:hue-rotate(16deg);transform:translate(4px,-1px) skew(5deg)}80%{transform:translate(-2px,1px) skew(-2deg)}81%{transform:translate(0) skew(0)}}@keyframes titleGlitchTop{0%,9%,16%,35%,44%,68%,76%,to{clip-path:inset(0 0 0 0);opacity:0}10%{clip-path:inset(5% 0 72% 0);opacity:.9;transform:translate(-7px,-2px)}11%{clip-path:inset(42% 0 36% 0);opacity:.68;transform:translate(6px,1px)}36%{clip-path:inset(18% 0 58% 0);opacity:.95;transform:translate(-9px)}37%{clip-path:inset(63% 0 17% 0);opacity:.55;transform:translate(8px,2px)}69%{clip-path:inset(30% 0 47% 0);opacity:.78;transform:translate(-5px,-1px)}70%{clip-path:inset(10% 0 78% 0);opacity:.9;transform:translate(9px,1px)}}@keyframes titleGlitchBottom{0%,20%,27%,54%,63%,84%,92%,to{clip-path:inset(0 0 0 0);opacity:0}21%{clip-path:inset(70% 0 8% 0);opacity:.86;transform:translate(8px,2px)}22%{clip-path:inset(28% 0 52% 0);opacity:.7;transform:translate(-7px,-1px)}55%{clip-path:inset(50% 0 28% 0);opacity:.9;transform:translate(10px)}56%{clip-path:inset(82% 0 4% 0);opacity:.62;transform:translate(-10px,2px)}85%{clip-path:inset(38% 0 40% 0);opacity:.78;transform:translate(7px,-1px)}86%{clip-path:inset(76% 0 12% 0);opacity:.92;transform:translate(-9px,1px)}}@keyframes gameOverGlitchBase{0%,6.2%,7.4%,21.5%,23%,34.4%,36%,to{filter:none;transform:translate(0) skew(0)}6.6%{filter:brightness(1.4);transform:translate(-2px,1px) skew(-3deg)}7%{transform:translate(3px,-1px) skew(4deg)}22%{filter:brightness(1.25) saturate(1.5);transform:translate(2px) skew(2deg)}22.4%{transform:translate(-4px,1px) skew(-5deg)}34.8%{filter:hue-rotate(16deg);transform:translate(4px,-1px) skew(5deg)}35.2%{transform:translate(-2px,1px) skew(-2deg)}35.6%{transform:translate(0) skew(0)}}@keyframes gameOverGlitchTop{0%,3.1%,4.2%,12.2%,13.4%,23.8%,25.2%,to{clip-path:inset(0 0 0 0);opacity:0}3.5%{clip-path:inset(5% 0 72% 0);opacity:.9;transform:translate(-7px,-2px)}3.9%{clip-path:inset(42% 0 36% 0);opacity:.68;transform:translate(6px,1px)}12.6%{clip-path:inset(18% 0 58% 0);opacity:.95;transform:translate(-9px)}13%{clip-path:inset(63% 0 17% 0);opacity:.55;transform:translate(8px,2px)}24.2%{clip-path:inset(30% 0 47% 0);opacity:.78;transform:translate(-5px,-1px)}24.5%{clip-path:inset(10% 0 78% 0);opacity:.9;transform:translate(9px,1px)}}@keyframes gameOverGlitchBottom{0%,5.3%,6.3%,14.4%,15.6%,22.5%,23.8%,to{clip-path:inset(0 0 0 0);opacity:0}5.7%{clip-path:inset(70% 0 8% 0);opacity:.86;transform:translate(8px,2px)}5.9%{clip-path:inset(28% 0 52% 0);opacity:.7;transform:translate(-7px,-1px)}14.9%{clip-path:inset(50% 0 28% 0);opacity:.9;transform:translate(10px)}15.1%{clip-path:inset(82% 0 4% 0);opacity:.62;transform:translate(-10px,2px)}23%{clip-path:inset(38% 0 40% 0);opacity:.78;transform:translate(7px,-1px)}23.2%{clip-path:inset(76% 0 12% 0);opacity:.92;transform:translate(-9px,1px)}}@keyframes playIconPulse{0%,to{opacity:.88;transform:scale(1)}50%{opacity:1;transform:scale(1.085)}}@keyframes pauseParticleDrift{0%{opacity:0;transform:rotate(var(--angle)) translate(clamp(68px,17vw,138px)) scale(.25)}38%{opacity:.95}to{opacity:0;transform:rotate(var(--angle)) translate(clamp(118px,29vw,235px)) scale(1)}}@media(orientation:portrait){.logo{width:152vw;max-width:none;gap:1px;transform:scale(.6)}.scoreDisplay{top:max(44px,7vh);right:0;left:0;transform:none;font-size:clamp(84px,30vw,180px);text-align:center}.startText{margin-top:3vh;font-size:clamp(28px,8vw,64px)}.highScore{font-size:clamp(34px,8vw,8vh)}.leaderboard{margin-top:18px}.leaderboardRow{font-size:clamp(28px,6vw,44px)}.countdownDisplay.online{font-size:clamp(68px,18vw,110px);line-height:.9;white-space:normal}.onlineBreak{display:initial}.initialsScrim .initialsForm{gap:clamp(22px,4vh,36px)}.initialsPrompt{font-size:clamp(24px,6vw,34px);letter-spacing:.04em}.initialsBox{width:5.25ch;min-height:1.48em;padding:.1em .12em .16em;border-width:3px;font-size:clamp(68px,18vw,96px)}.initialsScrim .scoreboardDismiss{margin-top:clamp(8px,1.5vh,16px);font-size:clamp(30px,7vw,42px)}}@media(orientation:landscape)and (max-height:520px){.overlay{justify-content:center;padding:7vh 4vw 5vh}.logo{width:min(58vw,420px)}.gameOverText{margin-top:4vh;font-size:clamp(34px,14vh,62px)}.highScore{margin-top:2vh;font-size:clamp(24px,7vh,38px)}.leaderboard{margin-top:2vh}.scoreboardPanel{width:min(82vw,560px);max-height:90vh;padding:14px 22px}.scoreboardEyebrow{font-size:clamp(11px,3.2vh,15px)}.scoreboardTitle{font-size:clamp(30px,12vh,56px)}.leaderboardHeader{margin-bottom:4px;font-size:clamp(11px,3.2vh,15px)}.leaderboardRow{gap:8px;padding:2px 0;min-height:24px;font-size:clamp(13px,4.2vh,20px)}.initialsForm{gap:5px;margin-top:2vh}.initialsScrim{padding:clamp(12px,4vh,28px) 0 clamp(14px,6vh,34px)}.initialsBox{width:5ch;min-height:1.42em;font-size:clamp(32px,10vh,54px)}.scoreboardDismiss{margin-top:2vh;font-size:clamp(16px,5vh,26px)}.startText{margin-top:3vh;font-size:clamp(22px,8vh,38px)}.scoreDisplay{left:12vw;font-size:clamp(72px,28vh,126px)}.rainbowTracker{top:max(10px,env(safe-area-inset-top));right:max(10px,env(safe-area-inset-right));padding:6px 8px}.rainbowDot{width:10px;height:10px}.rainbowTimer{font-size:15px}}.settingsButton,.settingsDone,.settingsSound,.settingsClose{font-family:Arial,Helvetica,sans-serif;font-weight:800}.settingsButton{position:absolute;bottom:max(20px,env(safe-area-inset-bottom));left:max(18px,env(safe-area-inset-left));display:grid;width:clamp(68px,8vw,84px);aspect-ratio:1;place-items:center;padding:0;border:0;background:transparent;color:#0ff;cursor:pointer;filter:drop-shadow(0 0 8px rgba(0,255,255,.72))}.settingsButton svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.settingsScrim{position:absolute;top:0;right:0;bottom:0;left:0;z-index:20;display:grid;place-items:center;padding:max(16px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));background:#000000d1;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);cursor:default}.settingsPanel{width:min(92vw,580px);max-height:min(90vh,760px);display:flex;overflow:hidden;box-sizing:border-box;flex-direction:column;padding:clamp(18px,4vw,30px);border:1px solid rgba(0,255,255,.52);border-radius:5px;background:#00080ef5;box-shadow:0 0 28px #00ffff38}.settingsHeader{display:flex;flex:0 0 auto;align-items:center;justify-content:space-between}.settingsBody{min-height:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;padding:0 6px 18px 0;scrollbar-color:rgba(0,255,255,.34) transparent;scrollbar-width:thin}.settingsBody::-webkit-scrollbar{width:4px}.settingsBody::-webkit-scrollbar-track{background:transparent}.settingsBody::-webkit-scrollbar-thumb{border-radius:999px;background:#00ffff57}.settingsFooter{position:relative;z-index:2;flex:0 0 auto;margin:0 -2px -4px;padding:14px 2px 0;border-top:1px solid rgba(0,255,255,.16);background:linear-gradient(to bottom,#00080eeb,#00080e 42%);box-shadow:0 -14px 22px #00080ee0}.settingsTitle{color:#fff;font-size:clamp(25px,5vw,38px);font-weight:800;letter-spacing:.1em;text-shadow:0 0 14px rgba(0,255,255,.7)}.settingsClose{width:42px;height:42px;border:0;background:transparent;color:#fff;cursor:pointer;font-size:32px}.settingsSound,.settingsDone{width:100%;min-height:44px;border-radius:3px;cursor:pointer;font-size:15px;letter-spacing:.08em}.settingsSound{margin-top:18px;border:1px solid rgba(0,255,255,.62);background:#00ffff14;color:#0ff}.settingsSound.muted{border-color:#ff00ff9e;color:#f0f}.controlModeMenu{margin-top:22px}.controlModeButtons{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-top:8px}.controlModeButton{min-height:44px;border:1px solid rgba(255,255,255,.24);border-radius:3px;background:#00000080;color:#fff;cursor:pointer;font:800 clamp(11px,2vw,15px)/1 Arial,Helvetica,sans-serif}.controlModeButton.selected{border-color:#0ff;color:#0ff;box-shadow:0 0 12px #00ffff61}.controlSideMenu{margin-top:18px}.controlSideButtons{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-top:8px}.controlSideButton{min-height:42px;border:1px solid rgba(255,255,255,.24);border-radius:3px;background:#00000080;color:#fff;cursor:pointer;font:800 clamp(11px,2vw,15px)/1 Arial,Helvetica,sans-serif}.controlSideButton.selected{border-color:#0ff;color:#0ff;box-shadow:0 0 12px #00ffff61}.controlModeHint{margin-top:7px;color:#ffffffb8;font-size:12px;line-height:1.35}.meterVisibilityMenu{margin-top:18px}.meterVisibilityButtons{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:8px}.meterVisibilityButton{min-height:42px;border:1px solid rgba(255,255,255,.24);border-radius:3px;background:#00000080;color:#fff;cursor:pointer;font:800 clamp(11px,2vw,15px)/1 Arial,Helvetica,sans-serif}.meterVisibilityButton.selected{border-color:#f0f;color:#f0f;box-shadow:0 0 12px #ff00ff61}.motionPermissionSetting{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:18px;padding:14px 0;border-top:1px solid rgba(0,255,255,.2);border-bottom:1px solid rgba(0,255,255,.2)}.motionPermissionCopy{min-width:0}.motionPermissionActions{display:grid;flex:0 0 auto;gap:8px;min-width:142px}.motionPermissionHint{max-width:310px;margin-top:5px;color:#ffffffb8;font-size:12px;line-height:1.35}.motionPermissionButton{flex:0 0 auto;min-width:126px;min-height:42px;border:1px solid rgba(0,255,255,.68);border-radius:3px;background:#00ffff14;color:#0ff;cursor:pointer;font:inherit;font-size:12px;letter-spacing:.06em}.useTouchControlsButton{min-height:42px;border:1px solid rgba(255,0,255,.68);border-radius:3px;background:#ff00ff14;color:#f0f;cursor:pointer;font:inherit;font-size:11px;letter-spacing:.05em}.motionPermissionButton.enabled{border-color:#00ff50b3;color:#00ff50}.motionPermissionButton.denied{border-color:#ffff00b8;color:#ff0}.settingsDone{margin-top:0;min-height:48px;border:1px solid rgba(0,255,255,.72);background:linear-gradient(180deg,#00ffff29,#00ffff0f);color:#fff;font-weight:900;text-shadow:0 0 10px rgba(0,255,255,.9);box-shadow:inset 0 0 18px #00ffff0f,0 0 12px #00ffff24;transition:border-color .16s ease,background .16s ease,box-shadow .16s ease}.settingsDone:hover{border-color:#0ff;background:linear-gradient(180deg,#00ffff3d,#00ffff1a);box-shadow:inset 0 0 18px #00ffff1a,0 0 16px #00ffff3d}.settingsVersion{display:flex;align-items:center;justify-content:center;gap:9px;margin-top:12px;color:#ffffff94;font:800 clamp(13px,2.5vw,15px)/1 Arial,Helvetica,sans-serif;letter-spacing:.08em}.settingsVersion strong{color:#00ffffd9;font:inherit}.settingsVersion code{color:#ff00ffb8;font:inherit}.settingsPanel .levelTestMenu,.settingsPanel .difficultyMenu,.settingsPanel .shapeTestMenu,.settingsPanel .cameraViewMenu,.settingsPanel .paddleSpeedMenu{margin-top:22px}.settingsPanel .levelTestButtons,.settingsPanel .difficultyButtons,.settingsPanel .shapeSelect{width:100%}.settingsButton:focus-visible,.settingsClose:focus-visible,.settingsSound:focus-visible,.controlModeButton:focus-visible,.controlSideButton:focus-visible,.meterVisibilityButton:focus-visible,.motionPermissionButton:focus-visible,.useTouchControlsButton:focus-visible,.settingsDone:focus-visible{outline:3px solid #fff;outline-offset:4px}@media(max-width:520px){.motionPermissionSetting{align-items:stretch;flex-direction:column}.motionPermissionActions{grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.motionPermissionActions>:only-child{grid-column:1 / -1}}@media(max-height:650px){.settingsPanel{max-height:calc(100dvh - 24px)}.settingsPanel .levelTestMenu,.settingsPanel .difficultyMenu,.settingsPanel .shapeTestMenu,.settingsPanel .cameraViewMenu,.settingsPanel .paddleSpeedMenu{margin-top:14px}}@media(orientation:landscape){.scoreboardOverlay{padding:max(10px,env(safe-area-inset-top)) max(14px,env(safe-area-inset-right)) max(10px,env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-left))}.scoreboardPanel{width:min(78vw,1040px);max-height:calc(100dvh - 20px);padding:clamp(10px,2vh,20px) clamp(24px,4vw,48px);overflow:hidden}.scoreboardTitle{margin-top:0;font-size:clamp(36px,9vh,82px)}.leaderboard{margin-top:clamp(5px,1vh,10px)}.leaderboardHeader{margin-bottom:4px;font-size:clamp(18px,3.2vh,28px)}.leaderboardRows{gap:clamp(3px,.7vh,7px)}.leaderboardRow{min-height:clamp(38px,7vh,68px);padding:5px clamp(14px,2.4vw,24px);font-size:clamp(26px,5.8vh,48px)}.scoreboardDismiss{margin-top:clamp(5px,1.2vh,12px);font-size:clamp(18px,4vh,30px)}.initialsScrim .initialsForm{gap:clamp(14px,3vh,24px)}.initialsPrompt{font-size:clamp(28px,6vh,40px);letter-spacing:.04em}.initialsBox{width:5.25ch;min-height:1.42em;padding:.08em .12em .14em;border-width:3px;font-size:clamp(58px,15vh,86px)}.initialsScrim .scoreboardDismiss{margin-top:0;font-size:clamp(24px,5vh,34px)}}.cameraViewMenu{display:grid;gap:8px}.cameraViewButtons{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.cameraViewButton{min-height:44px;border:1px solid rgba(255,255,255,.24);border-radius:3px;background:#00000080;color:#fff;cursor:pointer;font:800 clamp(11px,2vw,15px)/1 Arial,Helvetica,sans-serif}.cameraViewButton.selected{border-color:#0ff;color:#0ff;box-shadow:0 0 12px #0ff6}.cameraViewButton:focus-visible{outline:3px solid #fff;outline-offset:4px}.paddleSpeedMenu{display:grid;gap:8px}.paddleSpeedButtons{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.paddleSpeedButton{min-height:44px;border:1px solid rgba(255,255,255,.24);border-radius:3px;background:#00000080;color:#fff;cursor:pointer;font:800 clamp(11px,2vw,15px)/1 Arial,Helvetica,sans-serif}.paddleSpeedButton.selected{border-color:#ff0;color:#ff0;box-shadow:0 0 12px #ff06}.paddleSpeedButton:focus-visible{outline:3px solid #fff;outline-offset:4px}.playtestMenu{display:grid;gap:8px;margin-top:22px}.playtestOptionButtons{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.invincibleButtons{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:8px}.playtestOptionButton{display:grid;min-width:0;min-height:44px;place-items:center;gap:3px;padding:7px 3px;border:1px solid rgba(255,255,255,.24);border-radius:3px;background:#00000080;color:#fff;cursor:pointer;font:800 clamp(9px,1.8vw,14px)/1 Arial,Helvetica,sans-serif}.playtestOptionButton small{color:#ffffff94;font:700 clamp(8px,1.4vw,11px)/1 Arial,Helvetica,sans-serif}.playtestOptionButton.selected{border-color:#0ff;color:#0ff;box-shadow:0 0 12px #00ffff61}.playtestOptionButton.selected small{color:#00ffffbd}.playtestOptionButton.invincible.selected{border-color:#f0f;color:#fff;text-shadow:0 0 8px #00ffff,0 0 12px #ff00ff;box-shadow:0 0 12px #ff00ff61,inset 0 0 12px #00ffff1a}.playtestOptionButton:focus-visible{outline:3px solid #fff;outline-offset:4px}.paddleSpeedometer{position:absolute;right:env(safe-area-inset-right);bottom:env(safe-area-inset-bottom);z-index:110;width:clamp(145px,20vw,270px);aspect-ratio:1;pointer-events:none;opacity:.88;filter:drop-shadow(0 0 12px rgba(0,255,255,.18));transform:translate(9%,9%)}.paddleSpeedometer.interactive{right:0;bottom:0;width:clamp(280px,min(40vw,75vh),520px);pointer-events:auto;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}.paddleSpeedometer.leftHanded{right:auto;left:env(safe-area-inset-left);transform:translate(-9%,9%)}.paddleSpeedometer.interactive.leftHanded{right:auto;left:0}.paddleSpeedometer.interactive{transition:opacity .55s ease-in-out}.paddleSpeedometer.interactive.lowVisibility{opacity:.1}.paddleSpeedometer.interactive.dimmed{opacity:.25}.paddleSpeedometer.interactive.hiddenMeter{opacity:0}.paddleSpeedometer.interactive:active{cursor:grabbing}.paddleSpeedometer svg{width:100%;height:100%;overflow:visible}.speedometerArc{fill:none;stroke-linecap:round}.speedometerArc{stroke:url(#speedometerArc);stroke-width:3;filter:url(#speedometerGlow)}.speedometerArcTrail{fill:none;stroke:url(#speedometerArc);stroke-width:3.5;stroke-linecap:round;opacity:.18;filter:url(#speedometerGlow)}.speedometerArcMarker{fill:url(#speedometerArc);stroke:#fff;stroke-width:1.2;opacity:.95;filter:url(#speedometerGlow)}.speedometerArcMarkerGlow{fill:url(#speedometerArc);opacity:.25;filter:url(#speedometerGlow);pointer-events:none}.speedometerTick{stroke:#ffffffb8;stroke-width:1.4;filter:url(#speedometerGlow)}.speedometerTick.major{stroke-width:2.5}.speedometerLabel{fill:#fff;font-family:Arial,Helvetica,sans-serif;font-weight:800}.speedometerLabel{font-size:8px}.speedometerLabel.left{fill:#0ff;text-anchor:end}.speedometerLabel.center{fill:#fff;text-anchor:middle}.speedometerLabel.right{fill:#f0f;text-anchor:end}.paddleSpeedometer.leftHanded .speedometerLabel.left,.paddleSpeedometer.leftHanded .speedometerLabel.right{text-anchor:start}.speedometerNeedle{fill:#fff;stroke:#0ff;stroke-width:1.2;filter:url(#speedometerGlow)}.speedometerHubOuter{fill:#00141ce6;stroke:#0ff;stroke-width:2;filter:url(#speedometerGlow)}.speedometerHub{fill:#9fffff;stroke:#fff;stroke-width:1.5}@media(orientation:landscape)and (max-height:520px){.storedPowerUps.touchControls{bottom:max(12px,env(safe-area-inset-bottom));left:max(12px,env(safe-area-inset-left));gap:8px}.storedPowerUps.touchControls.leftHanded{right:max(12px,env(safe-area-inset-right));left:auto}.storedPowerUps.touchControls .storedPowerUp{width:40px;height:40px;font-size:22px}}@media(orientation:portrait){.playtestMenu{display:grid;gap:8px;margin-top:22px}.playtestOptionButtons{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.invincibleButtons{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:8px}.playtestOptionButton{display:grid;min-width:0;min-height:44px;place-items:center;gap:3px;padding:7px 3px;border:1px solid rgba(255,255,255,.24);border-radius:3px;background:#00000080;color:#fff;cursor:pointer;font:800 clamp(9px,1.8vw,14px)/1 Arial,Helvetica,sans-serif}.playtestOptionButton small{color:#ffffff94;font:700 clamp(8px,1.4vw,11px)/1 Arial,Helvetica,sans-serif}.playtestOptionButton.selected{border-color:#0ff;color:#0ff;box-shadow:0 0 12px #00ffff61}.playtestOptionButton.selected small{color:#00ffffbd}.playtestOptionButton.invincible.selected{border-color:#f0f;color:#fff;text-shadow:0 0 8px #00ffff,0 0 12px #ff00ff;box-shadow:0 0 12px #ff00ff61,inset 0 0 12px #00ffff1a}.playtestOptionButton:focus-visible{outline:3px solid #fff;outline-offset:4px}.paddleSpeedometer{width:clamp(130px,31vw,185px)}.paddleSpeedometer.interactive{width:clamp(260px,62vw,370px)}}
