@font-face{font-family:Lilita One;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/lilita-one-latin-400-normal-87r-Z-Re.woff2) format("woff2"),url(/assets/lilita-one-latin-400-normal-DXkechA3.woff) format("woff")}@font-face{font-family:Sniglet;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/sniglet-latin-400-normal-D30bKTdt.woff2) format("woff2"),url(/assets/sniglet-latin-400-normal-DesDcgKt.woff) format("woff")}@font-face{font-family:Sniglet;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/sniglet-latin-800-normal-Db1o7iA-.woff2) format("woff2"),url(/assets/sniglet-latin-800-normal-g3yqKLdc.woff) format("woff")}html{box-sizing:border-box;touch-action:manipulation;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px);-webkit-text-size-adjust:100%}body{margin:0}[hidden]{display:none!important}:root{--wall:#c4cff5;--wall-dot:#b4c2f1;--floor:#eaa665;--floor-line:#d68f4f;--ink:#251d33;--cream:#fff8ef;--red:#e8382c;--red-deep:#c42a21;--pink:#f4b3d4;--plum:#5a3480;--lime:#cddc34;--ice:#e6f6ff;--ground:#8592d8;--ground-dot:#929fe0;--f-display:"Lilita One","Arial Rounded MT Bold",system-ui,sans-serif;--f-body:"Sniglet","Arial Rounded MT Bold",system-ui,sans-serif;color-scheme:light}html,body{height:100%}body{background-color:var(--ground);background-image:radial-gradient(var(--ground-dot) 22%,transparent 23%);background-size:40px 40px;color:var(--ink);font-family:var(--f-body);overflow:hidden;overscroll-behavior:none}#app{height:100%;box-sizing:border-box;padding-block:16px;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}#stage{position:relative;width:100%;height:100%}#scene{position:absolute;left:0;top:0;width:1200px;height:860px;transform-origin:0 0;overflow:hidden;border-radius:40px;background:var(--wall);touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;box-shadow:0 0 0 8px var(--cream),0 24px 56px #251d3359}#scene *{-webkit-tap-highlight-color:transparent}.abs{position:absolute;pointer-events:none}#wall{left:0;top:0;background-image:radial-gradient(var(--wall-dot) 20%,transparent 21%);background-size:46px 46px;background-position:8px 12px}#floor{left:0;background:repeating-linear-gradient(180deg,var(--floor) 0 70px,var(--floor-line) 70px 74px)}#base{left:0;height:20px;background:var(--cream);z-index:1}#rug{border-radius:50%;background:var(--pink);z-index:2;box-shadow:inset 0 0 0 14px var(--pink),inset 0 0 0 19px var(--cream)}#doorWrap{position:absolute;z-index:3;cursor:pointer}#doorWrap svg.dart{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}#doorWrap.knock{animation:knock .3s ease-in-out}@keyframes knock{30%{transform:translate(-4px)}60%{transform:translate(4px)}}#flap{position:absolute;border-radius:12px;background:#e39a5c;transform-origin:50% 0;display:grid;place-items:center}#flap svg{width:36px;height:36px;opacity:.55}#flap.swing{animation:swing .8s ease-out}@keyframes swing{0%{transform:perspective(260px) rotateX(0)}18%{transform:perspective(260px) rotateX(-75deg)}42%{transform:perspective(260px) rotateX(45deg)}62%{transform:perspective(260px) rotateX(-22deg)}80%{transform:perspective(260px) rotateX(9deg)}to{transform:perspective(260px) rotateX(0)}}.win,#shelf{z-index:2}#plant{transform-origin:50% 100%}#plant.wiggle{animation:wiggle .16s linear 10}@keyframes wiggle{0%,to{transform:rotate(0)}25%{transform:rotate(-4deg)}75%{transform:rotate(4deg)}}#fridge{position:absolute;width:130px;height:384px;--fz:92px;--persp:600px;filter:url(#sticker);cursor:pointer}#fridge svg.fbody{position:absolute;top:0;right:0;bottom:0;left:0}.finside{position:absolute;left:12px;right:12px;top:calc(var(--fz) + 18px);bottom:22px;border-radius:12px;background:linear-gradient(180deg,#ffffff,var(--ice) 40%,#cdeeff);display:grid;grid-template-rows:repeat(3,1fr);overflow:hidden}.shelf{display:grid;place-items:center;border-bottom:5px solid #b9e0f6}.shelf:last-child{border-bottom:0}.food-src{width:92%;height:88%;display:grid;place-items:center;cursor:grab;transition:transform .15s}.food-src svg{width:100%;height:100%;max-width:132px;max-height:99px;filter:url(#sticker)}.food-src:active{transform:scale(1.1)}#fridge:not(.open) .food-src{pointer-events:none}.fdoor{position:absolute;left:6px;right:6px;top:calc(var(--fz) + 12px);bottom:16px;border-radius:18px;background-color:#ef4a3b;background-image:radial-gradient(#e03a2e 26%,transparent 27%);background-size:26px 26px;background-position:4px 8px;transform-origin:0 50%;transform:perspective(var(--persp)) rotateY(0);transition:transform .5s cubic-bezier(.3,1.35,.5,1)}#fridge.open .fdoor{transform:perspective(var(--persp)) rotateY(-78deg)}.fdoor .handle{position:absolute;right:10px;top:22px;width:11px;height:76px;border-radius:6px;background:#e7eaf5}.fdoor .note{position:absolute;left:14px;top:96px;width:70px;padding:12px 4px 8px;background:var(--cream);transform:rotate(-6deg);text-align:center;font-family:var(--f-display);color:var(--red);font-size:17px;line-height:1;letter-spacing:.02em}.fdoor .note small{display:block;font-family:var(--f-body);font-weight:800;font-size:12px;color:var(--ink);margin-top:3px;letter-spacing:0}.fdoor .note:before{content:"";position:absolute;left:50%;top:-6px;width:13px;height:13px;margin-left:-6px;border-radius:50%;background:var(--lime)}.closehint{position:absolute;left:12px;top:calc(var(--fz) * .62);padding:4px 12px;border-radius:999px;background:var(--cream);color:var(--ink);font-weight:800;font-size:14px;opacity:0;transform:scale(.6);transition:.25s cubic-bezier(.3,1.6,.5,1)}#fridge.open .closehint{opacity:1;transform:scale(1)}#tubFront{z-index:1600;transform-origin:50% 100%}#tubFront.slosh{animation:slosh .5s ease-out}@keyframes slosh{30%{transform:scale(1.05,.95)}60%{transform:scale(.98,1.03)}}#pillow{transform-origin:50% 100%}#tubFront.hot,#pillow.hot{animation:hotpulse .7s ease-in-out infinite alternate}@keyframes hotpulse{to{transform:scale(1.05)}}.tag{position:absolute;z-index:3050;display:none;align-items:center;gap:8px;padding:8px 22px 8px 14px;border-radius:999px;background:var(--cream);font-family:var(--f-display);font-size:30px;color:var(--plum);transform:translate(-50%,-50%);box-shadow:0 5px #251d332e;pointer-events:none;transition:transform .15s,background .15s,color .15s}.tag svg{width:42px;height:36px}#scene.drag-kitty .tag{display:flex;animation:tagin .3s cubic-bezier(.3,1.6,.5,1)}.tag.hot{background:var(--red);color:var(--cream);transform:translate(-50%,-50%) scale(1.18)}@keyframes tagin{0%{transform:translate(-50%,-50%) scale(.4)}}.kitty{position:absolute;left:0;top:0;width:140px;height:170px;transform-origin:70px 164px;pointer-events:none;will-change:transform}.kitty .bw{position:absolute;top:0;right:0;bottom:0;left:0;transform-origin:70px 18px}.kitty .bob,.kitty .sq{position:absolute;top:0;right:0;bottom:0;left:0;transform-origin:70px 164px}.kitty svg.ksvg{position:absolute;top:0;right:0;bottom:0;left:0;width:140px;height:170px;overflow:visible;transition:transform .18s}.kitty.left svg.ksvg{transform:scaleX(-1)}.khit{position:absolute;left:20px;top:2px;width:100px;height:162px;border-radius:46px;pointer-events:auto;cursor:grab;z-index:2}.kitty.held .khit{cursor:grabbing}.ksvg .eyes-closed,.ksvg .eyes-happy,.ksvg .lids,.ksvg .m,.ksvg .legs,.ksvg .mud,.ksvg .soap,.ksvg .stink{display:none}.ksvg[data-eyes=sleepy] .lids{display:inline}.ksvg[data-eyes=closed] .eyes-open,.ksvg[data-eyes=happy] .eyes-open{display:none}.ksvg[data-eyes=closed] .eyes-closed,.ksvg[data-eyes=happy] .eyes-happy{display:inline}.ksvg .pupil{transform-box:fill-box;transform-origin:center;transition:transform .15s}.ksvg[data-eyes=wide] .pupil{transform:scale(.6)}.ksvg[data-mouth=grin] .m-grin,.ksvg[data-mouth=w] .m-w,.ksvg[data-mouth=o] .m-o,.ksvg[data-mouth=flat] .m-flat,.ksvg[data-mouth=chomp] .m-chomp{display:inline}.m-chomp ellipse{transform-box:fill-box;transform-origin:center;animation:chomp .22s ease-in-out infinite alternate}@keyframes chomp{0%{transform:scaleY(.25)}to{transform:scaleY(1)}}.kitty.dirty .mud,.kitty.dirty .stink,.kitty.soapy .soap,.kitty.held .legs{display:inline}.kitty.held .feet,.kitty.held .shadow,.kitty.bathing .shadow,.kitty.asleep .shadow{display:none}.stink path{animation:stink 1.3s ease-in-out infinite}.stink path:nth-child(2){animation-delay:.6s}@keyframes stink{0%{transform:translateY(6px);opacity:0}40%{opacity:1}to{transform:translateY(-8px);opacity:0}}.tail-g{transform-box:view-box;transform-origin:48px 150px;animation:wag 2.6s ease-in-out infinite}@keyframes wag{0%,to{transform:rotate(0)}50%{transform:rotate(12deg)}}.kitty.held .tail-g{animation:none;transform:rotate(-48deg)}.kitty.walking .bob{animation:bob .42s linear infinite}@keyframes bob{0%,50%,to{transform:translateY(0) rotate(0)}25%{transform:translateY(-7px) rotate(-3deg)}75%{transform:translateY(-7px) rotate(3deg)}}.kitty.soapy .bob,.kitty.playing .bob{animation:scrub .3s ease-in-out infinite}@keyframes scrub{0%,to{transform:rotate(-5deg)}50%{transform:rotate(5deg)}}.bob.shake{animation:shake .5s ease-in-out}@keyframes shake{20%{transform:rotate(-8deg)}40%{transform:rotate(8deg)}60%{transform:rotate(-6deg)}80%{transform:rotate(4deg)}}.sq.squish{animation:squish .45s ease-out}@keyframes squish{30%{transform:scale(1.12,.86)}60%{transform:scale(.95,1.07)}}.sq.land{animation:land .38s ease-out}@keyframes land{25%{transform:scale(1.18,.8)}60%{transform:scale(.95,1.06)}}.sq.stretch{animation:stretch .7s ease-in-out}@keyframes stretch{40%{transform:scale(.9,1.16)}}.kitty.asleep .sq{animation:breathe 2.4s ease-in-out infinite}@keyframes breathe{0%,to{transform:scale(1.08,.84)}50%{transform:scale(1.11,.88)}}.bubble{position:absolute;left:100px;top:-34px;width:66px;height:58px;border-radius:50%;background:var(--cream);display:grid;place-items:center;z-index:3;transform-origin:10px 54px;box-shadow:0 4px #251d3324}.bubble:before,.bubble:after{content:"";position:absolute;border-radius:50%;background:var(--cream)}.bubble:before{left:-2px;bottom:-5px;width:15px;height:15px}.bubble:after{left:-12px;bottom:-16px;width:8px;height:8px}.kitty.bleft .bubble{left:-26px;transform-origin:56px 54px}.kitty.bleft .bubble:before{left:auto;right:-2px}.kitty.bleft .bubble:after{left:auto;right:-12px}.bubble svg{width:46px;height:40px;animation:bfloat 2.2s ease-in-out infinite}.bubble.is-happy svg{animation:beat .9s ease-in-out infinite}.bubble.pop{animation:bpop .45s cubic-bezier(.3,1.7,.5,1)}.bubble.nudge{animation:nudge .5s ease-in-out}@keyframes bfloat{50%{transform:translateY(-3px)}}@keyframes beat{0%,to{transform:scale(1)}20%{transform:scale(1.18)}40%{transform:scale(1)}60%{transform:scale(1.12)}}@keyframes bpop{0%{transform:scale(0)}}@keyframes nudge{30%{transform:scale(1.2) rotate(-8deg)}60%{transform:scale(1.1) rotate(6deg)}}.food{position:absolute;width:118px;height:88px;transform:translate(-50%,-70%);filter:url(#sticker);cursor:grab}.food svg{width:100%;height:100%}.food.drag{z-index:3100!important;transform:translate(-50%,-70%) scale(1.15) rotate(-6deg);cursor:grabbing;pointer-events:none}.food.landing{transition:top .34s cubic-bezier(.55,0,1,.6)}.food.fading{transition:opacity .8s;opacity:0}.fx{position:absolute;pointer-events:none;z-index:3200;transform:translate(-50%,-50%)}.fx-heart svg{width:48px;height:42px}.fx-heart{animation:floatUp 1.2s ease-out forwards}@keyframes floatUp{0%{transform:translate(-50%,-50%) scale(.3);opacity:0}15%{opacity:1;transform:translate(-50%,-80%) scale(1.15)}to{transform:translate(calc(-50% + var(--dx)),-320%) scale(.85);opacity:0}}.fx-z{font-family:var(--f-display);color:var(--plum);font-size:44px;text-shadow:3px 3px 0 var(--cream),-3px -3px 0 var(--cream),3px -3px 0 var(--cream),-3px 3px 0 var(--cream);animation:zfloat 2s ease-out forwards}@keyframes zfloat{0%{transform:translate(-50%,-50%) scale(.4);opacity:0}20%{opacity:1}to{transform:translate(calc(-50% + 56px),-260%) scale(1.2) rotate(12deg);opacity:0}}.fx-say{font-family:var(--f-display);font-size:28px;color:var(--ink);background:var(--cream);padding:3px 14px;border-radius:999px;animation:say 1.1s ease-out forwards;white-space:nowrap}@keyframes say{0%{transform:translate(-50%,-30%) scale(.4);opacity:0}20%{transform:translate(-50%,-70%) scale(1.1);opacity:1}80%{opacity:1}to{transform:translate(-50%,-130%) scale(1);opacity:0}}.fx-fly{animation:fly .8s cubic-bezier(.2,.7,.4,1) forwards}@keyframes fly{0%{transform:translate(-50%,-50%) scale(.6);opacity:1}to{transform:translate(calc(-50% + var(--dx)),calc(-50% + var(--dy))) scale(1);opacity:0}}.fx-drop{width:12px;height:16px;border-radius:50%/60% 60% 40% 40%;background:#6cc4f5}.fx-crumb{width:10px;height:10px;border-radius:50%;background:#c97d45}.fx-dirt{width:15px;height:12px;border-radius:50%;background:#9b6236}.fx-spark svg{width:36px;height:36px}.fx-bub{width:var(--s);height:var(--s);border-radius:50%;border:3px solid #a9dcff;background:#ffffff8c;animation:rise 1.5s ease-out forwards}@keyframes rise{0%{transform:translate(-50%,-50%) scale(.3);opacity:0}20%{opacity:1}to{transform:translate(calc(-50% + var(--dx)),-900%) scale(1);opacity:0}}.hud{position:absolute;top:22px;left:24px;right:24px;display:flex;justify-content:space-between;align-items:center;z-index:4000;pointer-events:none}.hud>*{pointer-events:auto}.score{display:flex;align-items:center;gap:10px;height:84px;padding:0 28px 0 12px;border-radius:999px;background:var(--cream);box-shadow:0 6px #251d3329}.score #scoreIc svg{width:64px;height:56px;display:block}.score .n{font-family:var(--f-display);font-size:52px;line-height:1;font-variant-numeric:tabular-nums;color:var(--red)}.score .l{font-weight:800;font-size:19px;line-height:1.05;letter-spacing:.02em}.score.bump{animation:bpop .45s cubic-bezier(.3,1.7,.5,1)}.btns{display:flex;gap:14px}.rbtn{width:80px;height:80px;border-radius:50%;border:0;background:var(--cream);color:var(--plum);display:grid;place-items:center;cursor:pointer;box-shadow:0 6px #251d3329;font-family:var(--f-display);font-size:44px;padding:0;transition:transform .1s}.rbtn:active{transform:translateY(4px);box-shadow:0 2px #251d3329}.rbtn svg{width:42px;height:42px}.rbtn:focus-visible,#play:focus-visible{outline:5px solid var(--red);outline-offset:4px}#toast{position:absolute;left:50%;top:124px;z-index:4000;width:max-content;max-width:560px;padding:14px 28px;border-radius:32px;background:var(--ink);color:var(--cream);font-weight:800;font-size:25px;line-height:1.25;text-align:center;text-wrap:balance;transform:translate(-50%,-16px) scale(.9);opacity:0;transition:opacity .2s,transform .25s cubic-bezier(.3,1.6,.5,1);pointer-events:none}#toast.show{opacity:1;transform:translate(-50%) scale(1)}.scrim{position:absolute;top:0;right:0;bottom:0;left:0;background:#251d3352;z-index:4900;transition:opacity .25s}.sheet{position:absolute;left:50%;top:50%;width:640px;box-sizing:border-box;z-index:5000;background:var(--cream);border-radius:44px;padding:36px 40px;box-shadow:0 12px #251d332e;transform:translate(-50%,-50%);transition:transform .4s cubic-bezier(.3,1.3,.5,1),opacity .25s}.sheet.closed{transform:translate(-50%,40%);opacity:0;pointer-events:none}.scrim.closed{opacity:0;pointer-events:none}.sheet h1{margin:0;font-family:var(--f-display);font-weight:400;font-size:76px;line-height:.95;color:var(--red);letter-spacing:.01em}.sheet .lede{margin:12px 0 22px;font-size:23px;line-height:1.35;max-width:34ch}.how{list-style:none;margin:0 0 28px;padding:0;display:grid;gap:14px}.how li{display:grid;grid-template-columns:76px 1fr;align-items:center;gap:18px;font-size:24px;line-height:1.25}.how .ic{width:76px;height:68px;border-radius:50%;background:#fff;display:grid;place-items:center;box-shadow:0 4px #251d331a}.how .ic svg{width:54px;height:46px}.how b{font-weight:800}#play{width:100%;height:92px;border:0;border-radius:999px;background:var(--red);color:var(--cream);font-family:var(--f-display);font-size:40px;letter-spacing:.02em;cursor:pointer;box-shadow:0 8px 0 var(--red-deep);transition:transform .1s}#play:active{transform:translateY(5px);box-shadow:0 3px 0 var(--red-deep)}#scene.wide .hud{left:50%;right:auto;transform:translate(-50%);justify-content:center;gap:14px}#scene.wide #toast{top:118px}#scene.wide .sheet{transform:translate(-50%,-50%) scale(.8)}#scene.wide .sheet.closed{transform:translate(-50%,40%) scale(.8)}@media (prefers-reduced-motion: reduce){.kitty .bob,.kitty .sq,.tail-g,.bubble svg,.stink path,#flap,#plant{animation:none!important}}
