@import"https://fonts.googleapis.com/css2?family=Press+Start+2P&display=swap";:root{--bg: #edffed;--indigo: #6E61F8;--white: #ffffff;--overlay-bg: rgb(237 255 237 / .82);--play-dot-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" shape-rendering="crispEdges"><rect x="0" y="0" width="2" height="2" fill="%236E61F8" fill-opacity="0.1"/></svg>');--frame-stroke: 6px}:root[data-palette=mono]{--bg: #f6f6f6;--indigo: #1f1f1f;--white: #ffffff;--overlay-bg: rgb(246 246 246 / .84);--play-dot-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" shape-rendering="crispEdges"><rect x="0" y="0" width="2" height="2" fill="%231F1F1F" fill-opacity="0.08"/></svg>')}*{box-sizing:border-box}:root.themeSwitching *,:root.themeSwitching *:before,:root.themeSwitching *:after{transition:none!important}html,body,#root{min-height:100%}body{margin:0;background:var(--bg);color:var(--indigo);font-family:"Press Start 2P",Courier New,monospace;image-rendering:pixelated}button{font:inherit}.cursorTrail{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:9999;opacity:0;transition:opacity 70ms steps(1,end)}.cursorTrail[data-visible=true]{opacity:1}.cursorTrailBlock{position:fixed;left:-4px;top:-4px;width:8px;height:8px;background:var(--indigo);opacity:0;image-rendering:pixelated;will-change:opacity,transform}.cursorTrailBlock:nth-child(1){opacity:.72}.cursorTrailBlock:nth-child(2){opacity:.36}.cursorTrailBlock:nth-child(3){opacity:.2}.cursorTrailBlock:nth-child(4){opacity:.1}@media(pointer:fine)and (prefers-reduced-motion:no-preference){body,button,.gameFrame,.restartButton,.titleToggle,.startOverButton{cursor:none}}@media(pointer:coarse),(prefers-reduced-motion:reduce){.cursorTrail{display:none}}.appShell{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;padding:34px 24px}.titleRow{position:relative;width:min(908px,calc(100vw - 48px));height:62px;box-sizing:content-box;display:flex;align-items:center;justify-content:center;background:var(--indigo);border-right:4px solid var(--indigo);border-left:16px solid var(--indigo);margin:0 -4px 0 -16px}h1{margin:0;color:var(--bg);font-size:20px;font-weight:400;line-height:1;text-align:center;text-transform:uppercase;-webkit-font-smoothing:none;font-smooth:never}.titleToggle{position:absolute;top:50%;transform:translateY(-50%);display:grid;place-items:center;min-width:150px;height:44px;padding:0 18px;background:var(--bg);border:0;color:var(--indigo);font-size:14px;line-height:1;text-transform:uppercase;white-space:nowrap;cursor:pointer}.paletteToggle{left:0}.soundToggle{right:12px}.titleToggle:active{background:var(--white);color:var(--indigo)}.titleToggle:focus{outline:0}.titleToggle:focus-visible{outline:3px solid var(--indigo);outline-offset:3px}.gameShell{width:min(908px,calc(100vw - 48px));aspect-ratio:908 / 558;container-type:inline-size}.gameFrame{box-sizing:content-box;position:relative;width:100%;height:100%;margin:-4px -4px -16px -16px;overflow:hidden;background:var(--bg);border-top:4px solid var(--indigo);border-right:4px solid var(--indigo);border-bottom:16px solid var(--indigo);border-left:16px solid var(--indigo);cursor:crosshair;touch-action:none;-webkit-user-select:none;user-select:none}.playArea{position:absolute;top:0;right:0;bottom:0;left:0;background-image:var(--play-dot-image);background-position:7px 7px;background-repeat:repeat;background-size:14px 14px}.aimDot{position:absolute;display:none;background:var(--indigo);pointer-events:none;z-index:1}.aimTarget{position:absolute;background:transparent;border:0;pointer-events:none;z-index:3}.aimTarget:before,.aimTarget:after,.aimTargetMark:before,.aimTargetMark:after{content:"";position:absolute;width:14px;height:14px}.aimTarget:before{top:0;left:0;border-top:3px solid var(--indigo);border-left:3px solid var(--indigo)}.aimTarget:after{right:0;top:0;border-top:3px solid var(--indigo);border-right:3px solid var(--indigo)}.aimTargetMark:before{bottom:0;left:0;border-bottom:3px solid var(--indigo);border-left:3px solid var(--indigo)}.aimTargetMark:after{right:0;bottom:0;border-right:3px solid var(--indigo);border-bottom:3px solid var(--indigo)}.fruitTile{--clear-delay: 0ms;position:absolute;box-sizing:content-box;margin:-.165cqw 0 0 -.165cqw;border:solid var(--indigo);border-width:.165cqw .442cqw .442cqw .165cqw;isolation:isolate;transform-origin:center;transition:opacity .15s linear,transform .15s steps(2)}.fruitTile:before,.fruitTile:after{content:"";position:absolute;pointer-events:none;opacity:0;z-index:2}.fruitTile.clearing{animation:tile-glitch-out .19s steps(1,end) var(--clear-delay) forwards;transition:none;will-change:opacity,transform}.fruitTile.clearing:before{left:5%;top:22%;width:54%;height:7%;background:var(--indigo);box-shadow:1.02cqw 1.22cqw 0 var(--indigo);animation:tile-glitch-slice-a .19s steps(1,end) var(--clear-delay) forwards}.fruitTile.clearing:after{right:4%;bottom:24%;width:42%;height:7%;background:var(--indigo);animation:tile-glitch-slice-b .19s steps(1,end) var(--clear-delay) forwards}.fruitTile.clearing .tileSprite{animation:fruit-glitch-out .19s steps(1,end) var(--clear-delay) forwards;will-change:opacity,transform}.fruitTile.settling{animation:tile-settle .11s steps(2)}@keyframes tile-glitch-out{0%{opacity:1;transform:translate(0) scale(1)}24%{opacity:1;transform:translate(.08cqw,-.06cqw) scale(1)}44%{opacity:.9;transform:translate(-.08cqw,.06cqw) scale(.98)}66%{opacity:.58;transform:translate(0) scale(.94)}to{opacity:0;transform:translateY(-.08cqw) scale(.88)}}@keyframes fruit-glitch-out{0%,28%{opacity:1;transform:translate(0)}42%{opacity:1;transform:translate(.18cqw)}60%{opacity:.72;transform:translate(-.14cqw)}to{opacity:0;transform:translate(0) scale(.92)}}@keyframes tile-glitch-slice-a{0%,24%{opacity:0;transform:translate(0)}36%{opacity:.36;transform:translate(.34cqw,-.08cqw)}50%{opacity:.24;transform:translate(-.18cqw)}64%,to{opacity:0;transform:translate(.5cqw,-.1cqw)}}@keyframes tile-glitch-slice-b{0%,34%{opacity:0;transform:translate(0)}48%{opacity:.28;transform:translate(-.28cqw,.08cqw)}62%,to{opacity:0;transform:translate(-.44cqw,.1cqw)}}@keyframes tile-settle{0%{opacity:0;transform:scale(.82)}to{opacity:1;transform:scale(1)}}@media(prefers-reduced-motion:reduce){.fruitTile.clearing{animation:tile-clear-reduced 80ms steps(1,end) var(--clear-delay) forwards}.fruitTile.clearing:before,.fruitTile.clearing:after,.fruitTile.clearing .tileSprite{animation:none}}@keyframes tile-clear-reduced{to{opacity:0;transform:scale(.9)}}.tileSprite,.fruitSprite{width:100%;height:100%;object-fit:contain;display:block;-webkit-user-select:none;user-select:none;pointer-events:none;image-rendering:pixelated;image-rendering:crisp-edges}.tileSprite{position:relative;z-index:1}.fruitMissing{display:grid;place-items:center;width:100%;aspect-ratio:1;border:4px solid var(--indigo);color:var(--indigo);font-size:10px}.launcherDock{position:absolute;box-sizing:content-box;margin:-.165cqw 0 0 -.165cqw;padding:5px;border:solid var(--indigo);border-width:.165cqw .442cqw .442cqw .165cqw;background:var(--bg);pointer-events:none}.launcherCore{position:relative;width:100%;height:100%;display:grid;place-items:center;background:var(--indigo)}.nextDock{position:absolute;display:grid;place-items:center;border:3px solid var(--indigo);background:var(--bg);pointer-events:none}.projectile{position:absolute;display:grid;place-items:center;background:var(--indigo);pointer-events:none}.launcherCore .fruitSprite,.projectile .fruitSprite,.nextDock .fruitSprite{position:relative;z-index:1;width:100%;height:100%}.nextDock .fruitSprite{width:92%;height:92%}.hud{position:absolute;left:0;right:0;display:grid;grid-template-columns:repeat(3,1fr);background:var(--bg);border-top:var(--frame-stroke) solid var(--indigo);z-index:2}.hudCell{display:grid;place-items:center;min-width:0;border:0;border-right:var(--frame-stroke) solid var(--indigo);background:var(--bg);color:var(--indigo);font-size:clamp(8px,1.76cqw,16px);line-height:1;text-align:center;text-transform:uppercase;white-space:nowrap}.hudReadout{display:flex;flex:1 0 0;align-items:center;justify-content:space-between;padding:16px}.restartButton{padding:0 14px}.scoreCell{position:relative}.scoreCell.scorePulse{animation:score-tick .21s steps(2)}@keyframes score-tick{0%,to{background:var(--bg);color:var(--indigo)}50%{background:var(--indigo);color:var(--white)}}.restartButton{border-right:0;background:var(--indigo);color:var(--white);cursor:pointer}.restartButton:focus{outline:0}.restartButton:focus-visible{outline:3px solid var(--indigo);outline-offset:-6px;outline-color:var(--white)}.overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;background:var(--overlay-bg);cursor:auto;z-index:3;animation:overlay-in .14s steps(2)}@keyframes overlay-in{0%{opacity:0}to{opacity:1}}.overlayPanel{display:grid;justify-items:center;gap:20px;min-width:34%;padding:30px 38px;background:var(--bg);border:var(--frame-stroke) solid var(--indigo);text-align:center}.overlayStats{display:grid;gap:12px}.overlayStats p{margin:0;color:var(--indigo);font-size:clamp(9px,1.4cqw,13px);line-height:1;text-transform:uppercase}.startOverButton{padding:14px 22px;background:var(--indigo);border:0;color:var(--white);font-size:clamp(9px,1.4cqw,13px);line-height:1;text-transform:uppercase;white-space:nowrap;cursor:pointer}.startOverButton:focus{outline:0}.startOverButton:focus-visible{outline:3px solid var(--indigo);outline-offset:3px}.overlayTitle{margin:0;color:var(--indigo);font-size:clamp(12px,2.2cqw,20px);line-height:1;text-transform:uppercase}.overlayHint{margin:0;color:var(--indigo);font-size:clamp(8px,1.1cqw,10px);line-height:1;text-transform:uppercase}@media(max-width:720px){.appShell{--mobile-page-gutter: 20px;justify-content:center;gap:0;padding:16px var(--mobile-page-gutter)}.titleRow,.gameShell{width:100%}.fruitTile{margin:-.3846cqw 0 0 -.3846cqw;border-width:.3846cqw 1.0256cqw 1.0256cqw .3846cqw}.titleRow{width:calc(100% - 6px);height:auto;min-height:0;border-right-width:3px;border-left-width:10px;display:grid;grid-template-columns:1fr 1fr;grid-template-areas:"title title" "bw snd";gap:3px;padding:0 3px;margin:0 -3px 0 -10px}.titleRow h1{grid-area:title;justify-self:center;align-self:center;padding:16px 0 13px}.titleToggle{position:static;transform:none;display:grid;place-items:center;width:100%;min-width:0;height:39px;padding:0 0 3px;font-size:9px}.paletteToggle{grid-area:bw;left:auto;width:calc(100% + 3px);margin-left:-3px}.soundToggle{grid-area:snd;right:auto;width:calc(100% + 3px);margin-right:-3px}.gameFrame{margin:-3px -3px -10px -10px;border-top-width:3px;border-right-width:3px;border-bottom-width:10px;border-left-width:10px}h1{max-width:none;font-size:clamp(12px,3.7vw,14px);text-align:center;white-space:nowrap}.hud{--frame-stroke: 3px;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr}.hudCell{font-size:clamp(10px,3.1cqw,13px)}.hudReadout{justify-content:center;gap:8px;padding:0 8px}.scoreCell{border-right:0}.restartButton{grid-column:1 / -1;padding:var(--frame-stroke) 0 0;border-top:var(--frame-stroke) solid var(--indigo);border-right:0}@media(max-width:360px){.appShell{--mobile-page-gutter: 10px}}.launcherDock{margin:-.3846cqw 0 0 -.3846cqw;padding:4px;border-width:.3846cqw 1.0256cqw 1.0256cqw .3846cqw}.nextDock{border-width:2px}.aimTarget:before,.aimTarget:after,.aimTargetMark:before,.aimTargetMark:after{width:9px;height:9px}.aimTarget:before{border-top-width:2px;border-left-width:2px}.aimTarget:after{border-top-width:2px;border-right-width:2px}.aimTargetMark:before{border-bottom-width:2px;border-left-width:2px}.aimTargetMark:after{border-right-width:2px;border-bottom-width:2px}}@media(max-width:380px){.appShell{--mobile-page-gutter: 10px}}
