@font-face{font-family:Rubik;src:url('../Assets/Fonts/Rubik-Black.ttf') format('truetype');font-style:normal;font-weight:300 900;font-display:swap}
@font-face{font-family:Rubik;src:url('../Assets/Fonts/Rubik-BlackItalic.ttf') format('truetype');font-style:italic;font-weight:300 900;font-display:swap}
:root{--blue:#0155a6;--red:#ec1c34;--ink:#242423;--cream:#fdf6f3;--ease-out:cubic-bezier(.23,1,.32,1);--spring:cubic-bezier(.2,1.45,.4,1);color:var(--ink);font-family:Rubik,sans-serif;font-weight:900;background:var(--cream)}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{margin:0;width:100%;height:100%;overflow:hidden;overscroll-behavior:none}
body{display:grid;place-items:center}
button,input,a{touch-action:manipulation}
button{font:inherit;color:inherit;border:0;padding:0;background:none;cursor:pointer;user-select:none;-webkit-user-select:none}
button:focus-visible,a:focus-visible{outline:7px solid var(--blue);outline-offset:9px}
button:disabled{cursor:default}
img{display:block;user-select:none;-webkit-user-drag:none;pointer-events:none}
[hidden]{display:none!important}
.game-shell{height:100dvh;width:100%;max-width:600px;position:relative;overflow:hidden;background:var(--cream);isolation:isolate;touch-action:none}
.is-preview .game-shell{max-width:min(600px,56.25dvh)}
.stage{width:1080px;height:1920px;position:absolute;left:0;top:0;transform-origin:top left;overflow:hidden;--safe-top:0px;--safe-bottom:0px}
.screen{position:absolute;inset:0;overflow:hidden;background-position:center;background-size:100% 100%}
.home,.score{background-image:url('../Assets/UI/home_background.webp')}
.game{background-image:url('../Assets/UI/game_background.webp')}
.screen.screen-enter{animation:screen-in 450ms var(--ease-out) both}
.screen.screen-exit{z-index:30;pointer-events:none;animation:screen-out 240ms var(--ease-out) both}
.splash{z-index:20;background:var(--cream)}
.splash video{width:100%;height:100%;object-fit:cover}
.text-button{font-weight:800;letter-spacing:-.04em;transition:transform 120ms var(--ease-out),opacity 120ms}
.text-button:active{transform:scale(.94)}
.splash-skip{position:absolute;bottom:calc(4% + var(--safe-bottom));right:6%;font-size:34px;color:var(--blue);background:#fffdf7e8;border-radius:50px;padding:22px 34px}
.image-button{position:absolute;transition:transform 120ms var(--ease-out),filter 120ms,opacity 180ms;transform-origin:center;line-height:0}
.image-button img{width:100%;height:auto}
.image-button:active,.image-button.is-held{transform:translateY(8px) scale(.97);filter:brightness(.96)}
.image-button:disabled{opacity:.65}
.home-logo{position:absolute;top:14.8%;left:50%;width:380px;transform:translateX(-50%)}
.name-field{position:absolute;top:43%;width:100%;text-align:center}
.name-field label{display:block;color:var(--blue);font-size:64px;line-height:1;letter-spacing:-.055em}
.name-input-wrap{width:804px;height:153px;margin:18px auto 0;background:url('../Assets/UI/sign_in.webp') center/100% 100% no-repeat;transition:transform 160ms var(--ease-out)}
.name-input-wrap:focus-within{transform:scale(1.025)}
.name-input-wrap input{width:100%;height:100%;border:0;outline:0;background:transparent;text-align:center;padding:20px 52px 29px;font-family:Rubik,'Apple Color Emoji','Segoe UI Emoji',sans-serif;font-size:57px;font-weight:900;color:var(--ink);letter-spacing:-.045em;border-radius:100px;user-select:text;-webkit-user-select:text}
.play-button{width:601px;top:59.4%;left:239.5px}
.home-hills{position:absolute;width:188px;left:446px;bottom:10.5%}
.how-to-open{position:absolute;left:239.5px;width:601px;top:calc(59.4% + 210px);font-size:31px;color:var(--blue);padding:23px 30px}
.home-enter .home-logo{animation:home-logo-in 680ms var(--spring) 160ms both}
.home-enter .name-field label{animation:home-label-in 440ms var(--ease-out) 300ms both}
.home-enter .name-input-wrap{animation:home-input-in 520ms var(--spring) 370ms both}
.home-enter .play-button{animation:home-play-in 540ms var(--spring) 460ms both}
.home-enter .how-to-open{animation:home-detail-in 380ms var(--ease-out) 590ms both}
.home-enter .home-hills{animation:home-hills-in 450ms var(--ease-out) 650ms both}
.sound-button{position:absolute;right:24px;top:calc(23px + var(--safe-top));z-index:40;width:100px;height:100px;border-radius:50%;display:grid;place-items:center;color:var(--blue);background:#ffffff80;transition:transform 130ms var(--ease-out)}
.sound-button svg{width:43px;height:43px}
.sound-button:active{transform:scale(.9)}
.sound-button[aria-pressed=true] .sound-cross,.sound-button[aria-pressed=false] .sound-waves{display:none}
.game-hud{position:absolute;inset:0;z-index:7;pointer-events:none}
.paw-progress{position:absolute;top:calc(2.4% + var(--safe-top));left:25.7%;width:48.6%;display:flex;align-items:center;justify-content:space-between;gap:10px}
.paw{width:43px;height:35px;background:var(--ink);opacity:.2;mask:url('../Assets/UI/paw_icon.webp') center/contain no-repeat;-webkit-mask:url('../Assets/UI/paw_icon.webp') center/contain no-repeat}
.paw.is-fed{background:var(--red);opacity:1;animation:paw-pop 300ms var(--spring)}
.timer{position:absolute;top:calc(6.5% + var(--safe-top));left:50%;transform:translateX(-50%);color:var(--red);text-align:center}
.timer img{width:128px;height:82px;margin:auto}
.timer>span{display:block;font-size:154px;line-height:.96;letter-spacing:-.08em;font-style:italic;padding-right:14px}
.timer b{font:inherit;font-variant-numeric:tabular-nums}
.timer.is-urgent{animation:timer-beat 600ms ease-in-out infinite}
.game-hint{position:absolute;top:20%;width:100%;text-align:center;color:var(--blue);font-size:27px;letter-spacing:-.04em;line-height:1.12;margin:0;transition:opacity 160ms}
.game-hint.is-gone{opacity:0}
.pet-scene{position:absolute;left:0;right:0;bottom:580px;height:calc(73% - 580px);min-height:670px;z-index:6;transform-origin:50% 100%}
.pet-button{position:absolute;inset:0;outline-offset:-24px;touch-action:none}
.pet-crop{position:absolute;bottom:0;left:50%;height:100%;max-height:900px;aspect-ratio:var(--pet-ratio, .66);display:block;overflow:hidden;transform:translateX(-50%);transform-origin:center bottom;animation:pet-breathe var(--idle-duration,2.7s) ease-in-out infinite}
.pet-crop[data-idle=sway]{animation-name:pet-sway}
.pet-crop[data-idle=curious]{animation-name:pet-curious}
.pet-crop[data-idle=bounce]{animation-name:pet-bounce}
.pet-crop[data-idle=shiver]{animation-name:pet-shiver}
.pet-crop img{position:absolute;max-width:none}
.pet-button:active .pet-crop{filter:brightness(1.03)}
.pet-scene.pet-in{animation:pet-in 300ms var(--ease-out) both}
.pet-scene.pet-in[data-entrance=left]{animation-name:pet-in-left}
.pet-scene.pet-in[data-entrance=hop]{animation-name:pet-in-hop}
.pet-scene.pet-out{animation:pet-out 220ms var(--ease-out) both}
.pet-scene.pet-happy .pet-crop{animation:pet-happy 430ms var(--ease-out) both}
.pet-scene.pet-happy[data-celebration=dance] .pet-crop{animation-name:pet-dance}
.pet-scene.pet-happy[data-celebration=squish] .pet-crop{animation-name:pet-squish}
.pet-scene.pet-wiggle .pet-crop{animation:pet-wiggle 250ms ease-out both}
.request-bubble{position:absolute;right:39px;top:59%;background:white;padding:34px 28px 36px;border-radius:28px;font-size:72px;letter-spacing:-.06em;line-height:1;box-shadow:0 8px 25px #24242324;transform:rotate(.6deg);pointer-events:none}
.request-bubble:before{content:'';position:absolute;top:0;left:-35px;width:75px;height:45px;background:white;clip-path:polygon(0 0,100% 0,100% 100%)}
.request-bubble.is-exact{color:var(--blue)}
.plate{position:absolute;width:1080px;height:608px;left:0;bottom:0}
.plate-back{z-index:10}
.plate-front{z-index:14}
.food-canvas{position:absolute;inset:0;width:100%;height:100%;z-index:12;pointer-events:none}
.vase{position:absolute;z-index:18;width:390px;right:-60px;top:27%;opacity:0;transform:translate(120px,-25px) rotate(-105deg);transform-origin:50% 70%;transition:opacity 100ms,transform 190ms var(--ease-out);pointer-events:none}
.vase.is-pouring{opacity:1;transform:translate(0,0) rotate(-105deg)}
.weight-meter{position:absolute;z-index:16;left:50%;right:10.5%;bottom:420px;display:flex;align-items:baseline;gap:17px;pointer-events:none;color:white;font-size:57px;font-style:italic;line-height:1;letter-spacing:-.055em;transition:transform 90ms linear}
.weight-line{flex:1;border-top:3px dashed white;align-self:center;opacity:.95}
.weight-meter b{font:inherit;font-variant-numeric:tabular-nums}
.portion-button{width:371px;bottom:0;z-index:25;touch-action:none}
.portion-button:disabled{opacity:1}
.minus-button{left:0;transform-origin:left bottom}
.plus-button{right:0;transform-origin:right bottom}
.feedback{position:absolute;inset:0;z-index:21;pointer-events:none}
.floating-heart{position:absolute;background:var(--red);mask:url('../Assets/UI/heart.webp') center/contain no-repeat;-webkit-mask:url('../Assets/UI/heart.webp') center/contain no-repeat;animation:heart-float 750ms var(--ease-out) both}
.touch-burst{position:absolute;width:1px;height:1px}
.touch-burst i{position:absolute;width:18px;height:65px;border-radius:20px;background:var(--red);transform-origin:50% 100%;transform:rotate(var(--angle)) translateY(-36px);animation:burst 440ms var(--ease-out) both}
.portion-feedback{position:absolute;z-index:22;top:19.3%;left:0;width:100%;font-size:39px;line-height:1;text-align:center;letter-spacing:-.055em;color:var(--red);pointer-events:none}
.portion-feedback.pop{animation:label-pop 600ms var(--ease-out) both}
.challenge-notice{position:absolute;top:calc(6.5% + 250px + var(--safe-top));left:165px;width:750px;padding:22px 20px 25px;border-radius:38px;background:white;box-shadow:0 10px 26px #24242315;text-align:center;animation:challenge-in 330ms var(--spring) both}
.challenge-notice strong{display:block;font-size:59px;line-height:.95;letter-spacing:-.065em;color:var(--red)}
.challenge-notice span{display:block;margin-top:12px;font-size:29px;line-height:1;letter-spacing:-.04em;color:var(--blue)}
.end-message{position:absolute;z-index:28;inset:0;background:#fdf6f3bb;display:grid;place-content:center;text-align:center;font-size:171px;line-height:.84;letter-spacing:-.08em;color:var(--red);animation:screen-in 350ms var(--spring) both}
.game.is-ending .game-hud,.game.is-ending .pet-scene,.game.is-ending .plate,.game.is-ending .food-canvas,.game.is-ending .portion-button,.game.is-ending .weight-meter{opacity:0;transition:opacity 200ms}
.score-card{position:absolute;top:7%;left:144px;width:792px;height:59%;background:#fff;border-radius:104px;text-align:center;box-shadow:0 12px 28px #9e532005}
.score-logo{position:absolute;top:6.2%;left:50%;width:275px;transform:translateX(-50%)}
.score-card h1{position:absolute;top:33.2%;left:0;width:100%;margin:0;color:var(--blue);font-size:48px;line-height:1;letter-spacing:-.06em}
.score-points{position:absolute;top:42.4%;left:0;width:100%;margin:0;color:var(--red);font-size:184px;line-height:.79;letter-spacing:-.08em;font-weight:900}
.points-word{display:block;font-size:86px;line-height:.95;letter-spacing:-.065em;margin-top:13px}
.score-breakdown{position:absolute;top:71.7%;left:175px;right:175px;font-size:38px;line-height:.9;letter-spacing:-.06em;text-align:left}
.score-breakdown div{display:flex;align-items:baseline;gap:5px;white-space:nowrap}
.score-breakdown b{font:inherit}
.score-breakdown i{height:7px;min-width:12px;background:var(--ink);flex:1}
.score-pets{position:absolute;left:91px;right:91px;bottom:8.2%;height:70px;display:flex;align-items:flex-end;gap:12px}
.pet-thumbnail{display:block;position:relative;flex:1;min-width:0;height:70px}
.pet-thumbnail canvas{width:100%;height:100%;object-fit:contain;object-position:bottom}
.pet-thumbnail.is-locked{filter:brightness(0)}
.share-button{top:69.3%;left:492px;width:88px;min-height:100px;padding:8px 0}
.share-status{position:absolute;top:74%;width:100%;font-size:24px;line-height:1.1;text-align:center;color:var(--blue);padding:0 90px;margin:0}
.play-again{top:75.7%;left:298px;width:484px}
.score-hills{position:absolute;width:148px;left:466px;bottom:4.2%}
.overlay{position:absolute;inset:0;z-index:60;background:#fdf6f3d9;backdrop-filter:blur(12px);display:grid;place-content:center}
.mini-card{width:820px;background:white;border-radius:70px;padding:80px 60px;text-align:center;box-shadow:0 25px 80px #24242318}
.mini-card>img{width:130px;margin:0 auto 40px}
.mini-card h2{color:var(--blue);font-size:104px;letter-spacing:-.07em;line-height:.9;margin:0 0 36px}
.mini-card p{font-size:38px;line-height:1.35;font-weight:600;letter-spacing:-.035em;margin:25px 0 40px}
.mini-card .heart-key{font-size:33px;line-height:1.25;color:var(--red);font-weight:900}
.mini-card .small-note{font-size:25px;font-weight:400;margin-bottom:36px}
.help-card{width:840px;padding:44px 45px 48px;max-height:calc(var(--stage-height,1920px) - 120px);overflow-y:auto;overscroll-behavior:contain}
.help-card h2{font-size:72px;line-height:1;letter-spacing:-.065em;margin:0 0 28px}
.tutorial-board{position:relative;width:700px;height:780px;margin:auto;border-radius:42px;overflow:hidden;background:url('../Assets/UI/game_background.webp') center/100% 100% no-repeat;isolation:isolate}
.tutorial-timer{position:absolute;left:0;right:0;top:24px;color:var(--red);font-size:62px;font-style:italic;line-height:.9;letter-spacing:-.065em}
.tutorial-timer span{display:block;margin-top:10px;font-size:23px;line-height:1;font-style:normal;letter-spacing:-.035em;color:var(--blue)}
.tutorial-pet{position:absolute;width:310px;height:465px;left:195px;top:92px}
.tutorial-target{position:absolute;right:46px;top:321px;padding:16px 18px;background:white;border-radius:20px;color:var(--ink);font-size:40px;line-height:1;letter-spacing:-.06em;box-shadow:0 5px 18px #24242318}
.tutorial-plate{position:absolute;left:0;bottom:0;width:700px;height:auto}
.tutorial-back{z-index:1}
.tutorial-front{z-index:3}
.tutorial-food{position:absolute;left:65px;top:490px;width:570px;height:66px;z-index:2;display:flex;align-items:center;animation:tutorial-food 4.8s ease-in-out infinite}
.tutorial-food img{width:75px;height:auto;margin-left:-12px;transform:rotate(-18deg)}
.tutorial-food img:nth-child(2n){transform:translateY(-14px) rotate(22deg)}
.tutorial-food img:nth-child(3n){transform:translateY(8px) rotate(-36deg)}
.tutorial-weight{position:absolute;right:75px;top:481px;color:white;font-size:33px;font-style:italic;line-height:1;letter-spacing:-.055em;z-index:4}
.tutorial-plus,.tutorial-minus{position:absolute;bottom:0;width:241px;z-index:4}
.tutorial-plus{right:0}.tutorial-minus{left:0}
.tutorial-callout{position:absolute;z-index:6;font-size:28px;line-height:1.04;letter-spacing:-.055em;color:var(--blue);max-width:175px;text-align:center}
.tutorial-callout b{display:block;background:var(--blue);color:white;font-size:31px;line-height:52px;width:52px;height:52px;border-radius:50%;margin:0 auto 10px}
.tutorial-fill{left:262px;top:514px;color:white}
.tutorial-fill b{background:white;color:var(--blue)}
.tutorial-feed{left:30px;top:159px}
.tutorial-feed b{background:var(--red)}
.tutorial-arrows{position:absolute;inset:0;width:100%;height:100%;fill:none;stroke-width:5;stroke-linecap:round;stroke-linejoin:round;z-index:5}
.fill-arrow{stroke:white}.feed-arrow{stroke:var(--red)}
.tutorial-touch{position:absolute;z-index:6;width:82px;height:82px;border:6px solid var(--blue);border-radius:50%;pointer-events:none}
.tutorial-touch-plus{right:47px;bottom:30px;animation:tutorial-fill-touch 4.8s ease-out infinite}
.tutorial-touch-minus{left:47px;bottom:30px;animation:tutorial-fill-touch 4.8s ease-out 250ms infinite}
.tutorial-touch-pet{left:290px;top:280px;width:120px;height:120px;border-color:var(--red);animation:tutorial-pet-touch 4.8s ease-out infinite}
.tutorial-legend{display:flex;justify-content:space-around;gap:18px;margin:25px 0 0;font-size:24px;line-height:1;letter-spacing:-.045em}
.tutorial-legend>span{flex:1;display:flex;flex-direction:column;align-items:center;gap:13px}
.tutorial-legend i{display:flex;height:30px;gap:6px}
.tutorial-legend img{width:32px;object-fit:contain}
.help-card .tutorial-level{font-size:25px;line-height:1.1;color:var(--blue);font-weight:900;letter-spacing:-.04em;margin:26px 0 0}
.help-card .small-note{font-size:21px;line-height:1.2;margin:18px 0 27px}
.solid-button{background:var(--blue);color:white;min-height:124px;width:100%;border-radius:90px;padding:25px 40px;font-size:49px;letter-spacing:-.055em;box-shadow:0 12px 0 #103c6c;transition:transform 130ms var(--ease-out)}
.solid-button:active{transform:translateY(7px) scale(.98)}
.desktop-gate{display:none;text-align:center}
.desktop-logo{width:195px;margin:0 auto 32px}
.desktop-gate h1{font-size:54px;letter-spacing:-.075em;line-height:.95;color:var(--blue);margin:0 0 20px}
.desktop-gate p{font-size:18px;font-weight:600;letter-spacing:-.035em;line-height:1.4}
.desktop-qr{width:150px;height:150px;margin:24px auto 15px}
.desktop-gate a{font-size:13px;color:var(--blue);font-weight:500}
.rotate-gate{display:none;position:fixed;inset:0;z-index:100;background:var(--cream);place-content:center;text-align:center;padding:20px}
.rotate-gate img{width:60px;margin:0 auto 25px}
.rotate-gate h2{font-size:40px;letter-spacing:-.06em;color:var(--blue);line-height:1;margin:0 0 10px}
.rotate-gate p{font-size:15px;font-weight:500}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(min-width:761px) and (pointer:fine){body:not(.is-preview) .game-shell{display:none}body:not(.is-preview) .desktop-gate{display:block}}
@media(orientation:landscape) and (max-height:600px) and (pointer:coarse){.rotate-gate{display:grid}}
@media(hover:hover) and (pointer:fine){.image-button:not(:disabled):hover{filter:brightness(1.05)}.text-button:hover{opacity:.75}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:1ms!important;animation-iteration-count:1!important;transition-duration:1ms!important}.pet-crop{animation:none}.screen-enter,.pet-in,.pet-out{filter:none!important}}
@keyframes screen-in{from{opacity:0;transform:translateY(65px) scale(.96);filter:blur(8px)}to{opacity:1;transform:none;filter:blur(0)}}
@keyframes screen-out{to{opacity:0;transform:translateY(-60px) scale(1.035);filter:blur(10px)}}
@keyframes home-logo-in{from{opacity:0;transform:translateX(-50%) translateY(-75px) rotate(-7deg) scale(.92);filter:blur(5px)}to{opacity:1;transform:translateX(-50%);filter:blur(0)}}
@keyframes home-label-in{from{opacity:0;transform:translateX(-48px);filter:blur(6px)}to{opacity:1;transform:none;filter:blur(0)}}
@keyframes home-input-in{from{opacity:0;transform:translateX(65px) scale(.95)}to{opacity:1;transform:none}}
@keyframes home-play-in{from{opacity:0;transform:translateY(45px) rotate(4deg) scale(.92)}to{opacity:1;transform:none}}
@keyframes home-detail-in{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
@keyframes home-hills-in{from{opacity:0;transform:scale(.92);filter:blur(4px)}to{opacity:1;transform:none;filter:blur(0)}}
@keyframes pet-in{from{opacity:0;transform:translateX(850px) skewX(-9deg);filter:blur(20px)}to{opacity:1;transform:none;filter:blur(0)}}
@keyframes pet-in-left{from{opacity:0;transform:translateX(-850px) skewX(9deg);filter:blur(20px)}to{opacity:1;transform:none;filter:blur(0)}}
@keyframes pet-in-hop{from{opacity:0;transform:translateY(100px) scale(.95,.92);filter:blur(14px)}65%{opacity:1;transform:translateY(-18px) scale(1.01,1.01);filter:blur(0)}to{opacity:1;transform:none;filter:blur(0)}}
@keyframes pet-out{to{opacity:0;transform:translateX(-950px) skewX(9deg);filter:blur(22px)}}
@keyframes pet-breathe{0%,100%{transform:translateX(-50%) scale(1,1)}50%{transform:translateX(-50%) scale(1.018,1.024)}}
@keyframes pet-sway{0%,100%{transform:translateX(-50%) rotate(-1.4deg)}50%{transform:translateX(-50%) rotate(1.4deg) scale(1.008,1.012)}}
@keyframes pet-curious{0%,55%,100%{transform:translateX(-50%)}18%,33%{transform:translateX(-50%) rotate(-2.1deg) scale(1.015)}72%,84%{transform:translateX(-50%) rotate(1.4deg)}}
@keyframes pet-bounce{0%,45%,100%{transform:translateX(-50%)}15%{transform:translateX(-50%) translateY(-14px) scale(.995,1.012)}30%{transform:translateX(-50%) scale(1.012,.99)}70%{transform:translateX(-50%) translateY(-8px)}}
@keyframes pet-shiver{0%,36%,62%,100%{transform:translateX(-50%) scale(1,1.008)}42%,54%{transform:translateX(calc(-50% - 4px)) rotate(-.6deg)}48%,58%{transform:translateX(calc(-50% + 4px)) rotate(.6deg)}}
@keyframes pet-happy{0%,100%{transform:translateX(-50%) scale(1)}30%{transform:translateX(-50%) translateY(-35px) scale(1.035,.97)}62%{transform:translateX(-50%) scale(.98,1.03)}}
@keyframes pet-dance{0%,100%{transform:translateX(-50%)}25%{transform:translateX(-50%) rotate(-4deg) translateY(-10px)}65%{transform:translateX(-50%) rotate(4deg) translateY(-14px)}}
@keyframes pet-squish{0%,100%{transform:translateX(-50%)}30%{transform:translateX(-50%) scale(1.065,.95)}65%{transform:translateX(-50%) scale(.97,1.04) translateY(-15px)}}
@keyframes pet-wiggle{0%,100%{transform:translateX(-50%) rotate(0)}25%{transform:translateX(-50%) rotate(-2deg)}65%{transform:translateX(-50%) rotate(2deg)}}
@keyframes paw-pop{0%{transform:scale(.9)}55%{transform:scale(1.2)}100%{transform:scale(1)}}
@keyframes timer-beat{50%{opacity:.68}}
@keyframes heart-float{0%{opacity:0;transform:translateY(30px) scale(.9) rotate(-8deg)}20%{opacity:1}80%{opacity:1}100%{opacity:0;transform:translateY(-180px) scale(1.08) rotate(9deg)}}
@keyframes burst{0%{opacity:1;transform:rotate(var(--angle)) translateY(-25px) scale(.9)}100%{opacity:0;transform:rotate(var(--angle)) translateY(-150px) scale(.7)}}
@keyframes label-pop{0%{opacity:0;transform:translateY(10px) scale(.96)}20%,75%{opacity:1;transform:none}100%{opacity:0;transform:translateY(-20px)}}
@keyframes challenge-in{from{opacity:0;transform:translateY(-18px) scale(.95)}to{opacity:1;transform:none}}
@keyframes tutorial-fill-touch{0%,48%,100%{opacity:0;transform:scale(.95)}10%,28%{opacity:1;transform:scale(1.12)}20%,40%{opacity:.45;transform:scale(1)}}
@keyframes tutorial-pet-touch{0%,50%,92%,100%{opacity:0;transform:scale(.95)}62%,78%{opacity:1;transform:scale(1.12)}70%,86%{opacity:.45;transform:scale(1)}}
@keyframes tutorial-food{0%,6%,95%,100%{opacity:.25;transform:translateY(20px)}30%,70%{opacity:1;transform:none}85%{opacity:0;transform:translateY(-8px)}}
