:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--cat-eye-color:#fff875;-webkit-tap-highlight-color:transparent;background:#000;font-family:system-ui,sans-serif}*{box-sizing:border-box}html,body,#app{overscroll-behavior:none;width:100%;height:100%;margin:0;overflow:hidden}body{-webkit-user-select:none;user-select:none;background:#000}#app,#playfield{touch-action:none;display:block}#app{cursor:pointer}#playfield{width:100%;height:100%}[hidden]{display:none!important}.intro{--intro-pulse-duration:1.2s;z-index:5;pointer-events:none;background:#000;position:fixed;inset:0;overflow:hidden}.intro-speaker{width:clamp(72px,22vw,112px);height:auto;fill:var(--cat-eye-color);stroke:var(--cat-eye-color);stroke-width:4px;stroke-linecap:round;stroke-linejoin:round;position:absolute;top:40%;left:50%;overflow:visible;transform:translate(-50%,-50%)}.intro-speaker>path:first-child{stroke:none}.intro-sound-wave{fill:none;transform-origin:32px 32px;animation:intro-wave-inner var(--intro-pulse-duration) ease-in-out infinite}.intro-sound-wave-outer{animation-name:intro-wave-outer}.tap-feedback-layer{z-index:2;pointer-events:none;position:fixed;inset:0;overflow:hidden}.failure-effect-layer{z-index:4;pointer-events:none;position:fixed;inset:0;overflow:hidden}.failure-shatter,.failure-cracks{width:100%;height:100%;position:absolute;inset:0}.failure-shatter{background:radial-gradient(circle at var(--impact-x) var(--impact-y), #ebf5fa33 0, #b4d2e114 28%, #78a0b408 58%, transparent 82%);animation:.9s ease-out both failure-shatter-fade}.failure-crack{fill:none;stroke:#dcebf5d1;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:1px;vector-effect:non-scaling-stroke;animation:.24s ease-out forwards failure-crack-draw}.failure-crack-branch{stroke-width:1.1px;animation-delay:90ms}.failure-punch{--paw-color:#e6edf2;--paw-glow:#dcebf573;animation:.7s cubic-bezier(.2,.8,.25,1) both failure-paw-punch}.paw-touch{--paw-color:#4b4928;--paw-glow:#4b49281f;opacity:0;pointer-events:none;width:56px;height:52px;position:absolute;transform:translate(-50%,-50%)scale(.65)}.paw-touch.is-success{--paw-color:var(--cat-eye-color);--paw-glow:#fff8754d}.paw-glyph{transform-origin:42% 90%;pointer-events:none;display:block;position:absolute;inset:0}.paw-touch.is-completion.is-tapping{animation:.9s ease-out both completion-paw-container}.paw-touch.is-completion .paw-glyph{animation:.62s ease-in-out .15s both completion-paw-goodbye}.paw-touch.is-completion:after{animation:none}.intro-touch{top:68%;left:50%}.nudge-paw{top:78%;left:50%}.nudge-paw.is-pointer-following{opacity:.32;transform:translate(-50%,-50%)scale(.62)}.nudge-paw.is-nudging{animation:1.1s ease-in-out both touch-nudge}.nudge-paw.is-nudging:after{animation:1.1s ease-out both touch-nudge-ripple}.intro:not(.is-demo) .intro-touch{animation:intro-tap-prompt var(--intro-pulse-duration) ease-in-out infinite}.paw-touch:after{border:2px solid var(--paw-color);opacity:0;content:"";border-radius:50%;position:absolute;inset:5px}.intro-paw-pad,.intro-paw-toe{background:var(--paw-color);filter:drop-shadow(0 0 4px var(--paw-glow));display:block;position:absolute}.intro-paw-pad{border-radius:48% 48% 55% 55%/58% 58% 44% 44%;width:27px;height:23px;top:24px;left:15px}.intro-paw-toe{border-radius:50%;width:11px;height:15px}.intro-paw-toe-1{top:15px;left:3px;transform:rotate(-28deg)}.intro-paw-toe-2{top:3px;left:15px;transform:rotate(-10deg)}.intro-paw-toe-3{top:3px;left:30px;transform:rotate(10deg)}.intro-paw-toe-4{top:15px;left:42px;transform:rotate(28deg)}.paw-touch.is-tapping{animation:.42s ease-out both intro-touch-down}.paw-touch.is-tapping:after{animation:.42s ease-out both intro-touch-ripple}.intro.is-demo .intro-speaker{animation:.6s ease-out both intro-speaker-start}.intro-cat-position{aspect-ratio:2.4;width:min(42vw,190px);position:absolute;top:42%;left:62%;transform:translate(-50%,-50%)}.intro-demo-eyes{width:100%;height:100%;position:relative}@keyframes intro-wave-inner{0%,12%,to{opacity:0;transform:scale(.88)}24%{opacity:1;transform:scale(.96)}38%{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(1.04)}55%{opacity:0;transform:scale(1.06)}}@keyframes intro-wave-outer{0%,30%,to{opacity:0;transform:scale(.9)}38%{opacity:1;transform:scale(.96)}50%{opacity:.85;transform:scale(1.04)}55%{opacity:.75;transform:scale(1.06)}72%{opacity:0;transform:scale(1.12)}}@keyframes intro-tap-prompt{0%,to{opacity:.2;transform:translate(-50%,-50%)scale(.75)}38%{opacity:1;transform:translate(-50%,-50%)scale(.92)}50%{opacity:.6;transform:translate(-50%,-50%)scale(.68)}68%{opacity:.2;transform:translate(-50%,-50%)scale(.78)}}@keyframes intro-speaker-start{0%{opacity:1;transform:translate(-50%,-50%)}70%{opacity:1;transform:translate(-50%,-50%)}to{opacity:0;transform:translate(-50%,-50%)}}@keyframes intro-touch-down{0%{opacity:0;transform:translate(-50%,-50%)scale(1.2)}35%{opacity:1;transform:translate(-50%,-50%)scale(.68)}to{opacity:0;transform:translate(-50%,-50%)scale(.82)}}@keyframes intro-touch-ripple{0%,30%{opacity:.8;transform:scale(.8)}to{opacity:0;transform:scale(2.2)}}@keyframes touch-nudge{0%,to{opacity:0;transform:translate(-50%,-50%)scale(.72)}22%{opacity:.75;transform:translate(-50%,-50%)scale(.94)}42%{opacity:.9;transform:translate(-50%,-50%)scale(.68)}62%{opacity:.55;transform:translate(-50%,-50%)scale(.82)}}@keyframes touch-nudge-ripple{0%,35%{opacity:0;transform:scale(.7)}42%{opacity:.55;transform:scale(.8)}to{opacity:0;transform:scale(2.4)}}@keyframes failure-crack-draw{to{stroke-dashoffset:0}}@keyframes failure-paw-punch{0%{opacity:0;transform:translate(-50%,-50%)scale(2.2)rotate(-18deg)}28%{opacity:1;transform:translate(-50%,-50%)scale(.78)rotate(5deg)}52%{opacity:.95;transform:translate(-50%,-50%)scale(1.05)rotate(0)}to{opacity:0;transform:translate(-50%,-50%)scale(.9)rotate(0)}}@keyframes failure-shatter-fade{0%,55%{opacity:1}to{opacity:0}}@keyframes failure-shatter-fade-reduced{0%,45%{opacity:.75}to{opacity:0}}@keyframes completion-paw-container{0%{opacity:0;transform:translate(-50%,-50%)scale(1.15)}14%,76%{opacity:1;transform:translate(-50%,-50%)scale(.88)}to{opacity:0;transform:translate(-50%,-50%)scale(.65)}}@keyframes completion-paw-goodbye{0%,to{transform:translateY(0)rotate(0)}18%{transform:translateY(-2px)rotate(-15deg)}38%{transform:translateY(-4px)rotate(13deg)}58%{transform:translateY(-5px)rotate(-10deg)}78%{transform:translateY(-5px)rotate(6deg)}}.cat-eyes{--eye-size:38%;--half-eye-gap:4.5%;z-index:3;opacity:0;pointer-events:none;transform-origin:50%;position:fixed}.cat-eyes.is-visible{opacity:1}.cat-eyes.is-debug{opacity:.35}.cat-eyes.is-celebrating{animation:.52s cubic-bezier(.2,.8,.3,1) both cat-eyes-celebrate}@keyframes cat-eyes-celebrate{0%{filter:brightness();transform:scale(1)}42%{filter:brightness(1.3)drop-shadow(0 0 10px #aeaa54a6);transform:scale(1.005)}to{filter:brightness(1.15);transform:scale(1)}}.cat-eyes.is-celebrating .cat-eye{will-change:clip-path;animation:.5s cubic-bezier(.45,0,.55,1) both cat-eye-close}.cat-eyes.is-revealing .cat-eye{will-change:clip-path;animation:.18s cubic-bezier(.45,0,.55,1) reverse both cat-eye-close}.cat-eyes.is-nudging .cat-eye{animation:cat-eye-nudge-blink var(--cat-nudge-duration,.45s) ease-in-out both;will-change:clip-path}.cat-eyes.is-nudging.is-double-blink .cat-eye{animation-name:cat-eye-nudge-double-blink}@keyframes cat-eye-close{0%,24%{clip-path:inset(0 round 50%)}60%{clip-path:inset(48% 0 round 50%)}to{clip-path:inset(50% 0 round 50%)}}@keyframes cat-eye-nudge-blink{0%,20%,80%,to{clip-path:inset(0 round 50%)}46%,56%{clip-path:inset(48% 0 round 50%)}}@keyframes cat-eye-nudge-double-blink{0%,30%,70%,to{clip-path:inset(0 round 50%)}16%,52%{clip-path:inset(48% 0 round 50%)}}@media (prefers-reduced-motion:reduce){.failure-shatter{animation:.4s ease-out both failure-shatter-fade-reduced}.failure-crack{stroke-dashoffset:0;animation:none}.failure-punch{opacity:.8;animation:none;transform:translate(-50%,-50%)scale(.85)}.cat-eyes.is-celebrating{animation:.3s ease-out both cat-eyes-celebrate-reduced}.cat-eyes.is-celebrating .cat-eye,.cat-eyes.is-revealing .cat-eye,.cat-eyes.is-nudging .cat-eye{animation:none}@keyframes cat-eyes-celebrate-reduced{0%{filter:brightness()}50%{filter:brightness(1.8)}to{filter:brightness(1.15)}}}.cat-eye{width:var(--eye-size);aspect-ratio:1;background:var(--cat-eye-color);border-radius:50%;height:auto;position:absolute;top:50%;overflow:hidden;transform:translateY(-50%)}.cat-eye:first-child{left:calc(50% - var(--half-eye-gap) - var(--eye-size))}.cat-eye:last-child{left:calc(50% + var(--half-eye-gap))}.cat-eye:after{content:"";background:#000;border-radius:60%;margin-left:5px;position:absolute;inset:10% 27%}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:fixed;overflow:hidden}.debug-panel{top:max(12px, env(safe-area-inset-top));left:max(12px, env(safe-area-inset-left));z-index:6;color:#fff;white-space:pre;pointer-events:none;background:#000000d1;border-radius:8px;padding:10px 12px;font:12px/1.5 ui-monospace,SFMono-Regular,Menlo,monospace;position:fixed}
