*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--page);color:var(--text);overscroll-behavior:none;font-family:DotGothic16,system-ui,sans-serif}.app{place-items:center;height:100%;display:grid}.stage{aspect-ratio:3/4;background:var(--stage);-webkit-user-select:none;user-select:none;width:min(100vw,75dvh);position:relative;overflow:hidden;container-type:inline-size}.screen{position:absolute;inset:0}.sprite{image-rendering:pixelated;display:block}.pixel-box{--bw:1cqw;--bc:var(--text);background:var(--panel);box-shadow:0 calc(var(--bw) * -1) 0 0 var(--bc), 0 var(--bw) 0 0 var(--bc), calc(var(--bw) * -1) 0 0 0 var(--bc), var(--bw) 0 0 0 var(--bc), 0 calc(var(--bw) * 2.2) 0 0 #00000059}.btn{--bw:1cqw;--bc:var(--outline);font:inherit;color:#fff;cursor:pointer;box-shadow:0 calc(var(--bw) * -1) 0 0 var(--bc), 0 var(--bw) 0 0 var(--bc), calc(var(--bw) * -1) 0 0 0 var(--bc), var(--bw) 0 0 0 var(--bc), inset 0 calc(var(--bw) * -1.2) 0 0 #0000004d, 0 calc(var(--bw) * 2.2) 0 0 #0006;text-shadow:.08em .08em #00000059;border:none;border-radius:0;padding:.5em 1.4em;text-decoration:none;display:inline-block}.btn:focus{outline:none}.btn:focus-visible{outline-offset:1.6cqw;outline:.8cqw dashed #fff}.btn:active{transform:translateY(.8cqw)}.title-screen{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:2.8cqw;padding:6cqw;display:flex}.title-thrower{filter:drop-shadow(0 0 4cqw rgba(var(--thrower-glow), .6));animation:2s ease-in-out infinite float}.logo{white-space:nowrap;--bc:var(--primary);margin:0;padding:.35em .7em;font-size:7.4cqw;font-weight:400}.catch-copy{color:#fff;text-shadow:.25cqw .25cqw 0 var(--outline);margin:0;font-size:4.2cqw}.btn-start{background:var(--primary);font-family:"Press Start 2P",monospace;font-size:7cqw}.legend{flex-direction:column;gap:1.5cqw;padding:2cqw 3cqw;display:flex}.legend-row{justify-content:center;align-items:flex-end;gap:2.5cqw;display:flex}.legend-item{flex-direction:column;align-items:center;gap:.6cqw;display:inline-flex}.legend-item small{font-size:3cqw}.legend-bad{align-items:center;font-size:3.6cqw}.how-to{color:#fff;opacity:.85;text-shadow:.25cqw .25cqw 0 var(--outline);margin:0;font-size:3.4cqw}.game-screen{touch-action:none;cursor:none}.game-canvas{width:100%;height:100%;display:block;position:absolute;inset:0}.hud-timer,.hud-score{align-items:center;height:11cqw;font-family:"Press Start 2P",monospace;font-size:5.4cqw;display:flex;position:absolute;top:4cqw}.hud-timer{color:#fff;--panel:var(--timer);--bc:var(--light);gap:2cqw;min-width:25cqw;padding:0 3cqw;left:4cqw}.hud-timer.danger{--panel:var(--timer-danger);animation:1s steps(2,end) infinite pulse}.hud-score{--bc:var(--primary);justify-content:flex-end;min-width:36cqw;padding:0 3cqw;right:4cqw;overflow:hidden}.hidden-score{color:var(--primary)}.ink{pointer-events:none;animation:3s forwards ink-fade;position:absolute;inset:0}.ink span{background:var(--ink);border-radius:45% 55% 40% 60%;position:absolute;box-shadow:inset -1cqw -1cqw #0003}.ink span:first-child{width:60%;height:140%;top:-20%;left:5%}.ink span:nth-child(2){width:45%;height:120%;top:-10%;left:45%}.ink span:nth-child(3){width:25%;height:60%;top:30%;left:75%}.banner{pointer-events:none;--edge:var(--outline);text-shadow:1cqw 0 0 var(--edge), -1cqw 0 0 var(--edge), 0 1cqw 0 var(--edge), 0 -1cqw 0 var(--edge), 1cqw 1cqw 0 var(--edge), -1cqw 1cqw 0 var(--edge), 1cqw -1cqw 0 var(--edge), -1cqw -1cqw 0 var(--edge), 0 2.5cqw 0 #00000073;place-items:center;font-family:"Press Start 2P",monospace;display:grid;position:absolute;inset:0}.banner-count{color:#fff4e0e6;font-size:30cqw;animation:.8s ease-out forwards pop}.banner-go,.banner-finish,.banner-levelup{color:var(--primary);font-size:15cqw;animation:.4s cubic-bezier(.2,1.6,.4,1) both pop-in}.banner-finish{font-size:12cqw}.banner-levelup{color:#ff4d6d;font-size:9cqw}.title-best{color:var(--text);background:var(--accent);margin:0;padding:.3em 1em;font-size:3.8cqw;box-shadow:0 .8cqw #00000059}.title-best strong{margin:0 .15em 0 .3em;font-family:"Press Start 2P",monospace;font-size:3.6cqw;font-weight:400}.btn-sound{z-index:3;background:var(--primary);padding:1.6cqw 2cqw;line-height:0;position:absolute;top:4cqw;right:4cqw}.sound-backdrop{z-index:2;position:absolute;inset:0}.sound-panel{z-index:3;--bc:var(--primary);transform-origin:100% 0;flex-direction:column;gap:3.5cqw;width:62cqw;padding:4cqw;font-size:4.2cqw;animation:.2s ease-out both pop-in;display:flex;position:absolute;top:19cqw;right:4cqw}.sound-row{grid-template-columns:13cqw 1fr 5cqw;align-items:center;gap:2cqw;display:grid}.sound-value{text-align:right;font-family:"Press Start 2P",monospace;font-size:3cqw}.sound-row input[type=range]{appearance:none;background:var(--text);cursor:pointer;width:100%;height:2.4cqw;margin:0}.sound-row input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;background:var(--primary);border:.8cqw solid var(--text);border-radius:0;width:4.4cqw;height:6cqw}.sound-row input[type=range]::-moz-range-thumb{background:var(--primary);border:.8cqw solid var(--text);border-radius:0;width:4.4cqw;height:6cqw}.sound-row input[type=range]:focus-visible{outline:.6cqw dashed var(--primary);outline-offset:1cqw}.btn-mute{background:var(--button);margin-top:1cqw;font-size:4cqw}.btn-pause{background:var(--button);cursor:pointer;justify-content:center;align-items:center;width:11cqw;height:11cqw;padding:0;display:flex;position:absolute;top:4cqw;left:34cqw}.game-screen.paused{cursor:auto}.game-screen.paused .banner,.game-screen.paused .ink,.game-screen.paused .hud-timer{animation-play-state:paused}.pause-overlay{z-index:5;background:radial-gradient(circle at 50% 40%, var(--overlay-in), var(--overlay-out) 75%);justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.pause-menu{text-align:center;--bc:var(--primary);flex-direction:column;align-items:stretch;gap:4.5cqw;width:72cqw;padding:6cqw 6cqw 7cqw;font-size:4.2cqw;animation:.2s ease-out both pop-in;display:flex}.pause-title{color:var(--primary);margin:0;font-family:"Press Start 2P",monospace;font-size:7cqw;font-weight:400}.pause-sound{text-align:left;border-top:.6cqw dashed #1b102840;border-bottom:.6cqw dashed #1b102840;flex-direction:column;gap:3.5cqw;padding:4cqw 0;display:flex}.btn-resume{background:var(--primary);font-size:5cqw}.btn-quit{background:var(--button);font-size:4.2cqw}.quit-confirm{white-space:nowrap;margin:2cqw 0 0;font-size:4.8cqw}.quit-note{opacity:.75;margin:0;font-size:3.6cqw}.quit-actions{grid-template-columns:1fr;gap:4cqw;margin-top:2cqw;display:grid}.btn-quit-no{background:var(--primary);padding-inline:0}.btn-quit-yes{background:var(--quit);padding-inline:0}.result-screen{flex-direction:column;justify-content:center;align-items:center;gap:4cqw;padding:16cqw 7cqw 5cqw;display:flex}.result-card{text-align:center;--bc:var(--primary);width:100%;padding:4.5cqw 4cqw;animation:.5s cubic-bezier(.2,1.6,.4,1) both pop-in;position:relative}.result-lead,.result-tail{margin:0;font-size:5.5cqw}.result-score{margin:3cqw 0;font-size:6cqw}.result-best{opacity:.8;margin:3cqw 0 0;font-size:4.2cqw}.result-best.new{color:var(--text);background:var(--accent);opacity:1;padding:.3em .9em;font-size:4.8cqw;animation:.8s steps(2,end) infinite pulse;display:inline-block}.result-score strong{color:var(--primary);margin-right:.15em;font-family:"Press Start 2P",monospace;font-size:11cqw;font-weight:400}.result-actions{flex-direction:column;gap:4.5cqw;width:72%;display:flex;position:relative}.result-actions .btn{text-align:center;font-size:5.6cqw}.btn-retry{background:#3aa856}.btn-share{background:#1d9bf0}.result-chars{align-items:flex-end;gap:4cqw;animation:2s ease-in-out infinite float;display:flex;position:relative}.confetti span{width:2cqw;height:2cqw;animation:linear infinite fall;position:absolute;top:-5%}@keyframes float{50%{transform:translateY(-2cqw)}}@keyframes pulse{50%{transform:scale(1.06)}}@keyframes pop{0%{opacity:0;transform:scale(1.4)}20%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.9)}}@keyframes pop-in{0%{opacity:0;transform:scale(.2)}to{opacity:1;transform:scale(1)}}@keyframes ink-fade{0%,70%{opacity:1}to{opacity:0}}@keyframes fall{to{top:105%;rotate:720deg}}
