button,[role=button]{touch-action:manipulation;-webkit-tap-highlight-color:transparent}.lesson-root button,.lesson-root [role=button],.lesson-root .interactive{transition:transform .15s cubic-bezier(.34,1.56,.64,1)}.lesson-root button:active,.lesson-root [role=button]:active,.lesson-root .interactive:active{transform:scale(.92)!important}.lesson-root button:hover,.lesson-root [role=button]:hover,.lesson-root .interactive:hover{transform:scale(1.05)}@supports not (min-height: 100dvh){.lesson-root{min-height:-webkit-fill-available!important}}@keyframes floatBubble{0%,to{transform:translateY(0) scale(1)}30%{transform:translateY(-10px) scale(1.03)}70%{transform:translateY(-4px) scale(.98)}}@keyframes snakeBreath{0%,to{transform:scale(1)}50%{transform:scale(1.04)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}@keyframes bubblePopAnim{0%{transform:scale(1);opacity:1}30%{transform:scale(1.4);opacity:.8}60%{transform:scale(1.6);opacity:.3}to{transform:scale(.2);opacity:0}}@keyframes sortLand{0%{transform:translateY(-20px) scale(.8);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}@keyframes barrierShake{0%,to{transform:translate(0)}20%{transform:translate(-4px)}40%{transform:translate(4px)}60%{transform:translate(-3px)}80%{transform:translate(2px)}}@keyframes barrierBreathe{0%,to{transform:scale(1) translateY(0)}50%{transform:scale(1.02) translateY(-2px)}}@keyframes barrierPulse{0%{transform:scale(1)}50%{transform:scale(1.06)}to{transform:scale(1)}}@keyframes barrierGlow{0%{opacity:.1}to{opacity:.25}}@keyframes barrierFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes barrierOrbit{0%{transform:rotate(0) translate(20px) rotate(0)}to{transform:rotate(360deg) translate(20px) rotate(-360deg)}}@keyframes letterFall{0%{transform:translateY(-120px) scale(.6) rotate(-15deg);opacity:0}40%{transform:translateY(10px) scale(1.05) rotate(2deg);opacity:1}55%{transform:translateY(-8px) scale(.98) rotate(-1deg);opacity:1}70%{transform:translateY(4px) scale(1.02) rotate(.5deg);opacity:1}85%{transform:translateY(-2px) scale(1);opacity:1}to{transform:translateY(0) scale(1) rotate(0);opacity:1}}@keyframes slideUp{0%{transform:translateY(30px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes wordGlow{0%,to{box-shadow:0 0 8px #4ecdc420}50%{box-shadow:0 0 16px #4ecdc440}}@keyframes soundPulse{0%,to{transform:scale(1)}50%{transform:scale(1.08)}}@keyframes fadeUp{0%{transform:translateY(10px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes starPop{0%{transform:scale(0) rotate(-30deg);opacity:0}60%{transform:scale(1.3) rotate(5deg);opacity:1}to{transform:scale(1) rotate(0);opacity:1}}@keyframes pendulumSwing{0%,to{transform:rotate(-15deg)}50%{transform:rotate(15deg)}}@keyframes barrierRecognitionPulse{0%{transform:scale(1);filter:drop-shadow(0 0 0 transparent)}50%{transform:scale(1.08);filter:drop-shadow(0 0 16px #FFD93D)}to{transform:scale(1.05);filter:drop-shadow(0 0 10px #FFD93D80)}}@keyframes barrierPathGlow{0%{opacity:0}50%{opacity:1}to{opacity:0}}@keyframes particleBurst{0%{transform:translate(0) scale(1);opacity:1}to{transform:translate(var(--burst-x),var(--burst-y)) scale(0);opacity:0}}@keyframes revealSlideUp{0%{transform:translateY(20px) scale(.9);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}@keyframes zzzFloat{0%,to{transform:translateY(0);opacity:.6}50%{transform:translateY(-6px);opacity:1}}@keyframes snakeTongueFlick{0%,to{transform:scaleX(1)}50%{transform:scaleX(1.3) translate(2px)}}@keyframes progressPulse{0%{transform:scaleY(1)}50%{transform:scaleY(1.15)}to{transform:scaleY(1)}}@keyframes gentleBob{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}@keyframes breathe{0%,to{transform:scaleY(1)}50%{transform:scaleY(1.02)}}@keyframes blink{0%,94%,to{transform:scaleY(1)}96%{transform:scaleY(.1)}}@keyframes tileEntrance{0%{transform:translateY(20px) scale(.7);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}@keyframes snakeIdleSway{0%,to{transform:translate(0) rotate(0)}25%{transform:translate(2px) rotate(.5deg)}75%{transform:translate(-2px) rotate(-.5deg)}}@keyframes snakeBodyUndulate{0%,to{transform:translateY(0)}33%{transform:translateY(-1.5px)}66%{transform:translateY(1px)}}@keyframes snakeHeadBob{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-2px) rotate(1deg)}}@keyframes snakeEyeSquint{0%,85%,to{transform:scaleY(1)}90%{transform:scaleY(.6)}95%{transform:scaleY(.8)}}@keyframes snakeIdleTongue{0%,70%,to{transform:scaleX(0) translate(0);opacity:0}75%{transform:scaleX(1) translate(3px);opacity:1}80%{transform:scaleX(.8) translate(1px);opacity:.8}85%{transform:scaleX(1.1) translate(4px);opacity:1}90%{transform:scaleX(0) translate(0);opacity:0}}@keyframes clockGearSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes clockIdlePendulum{0%,to{transform:rotate(-8deg)}50%{transform:rotate(8deg)}}@keyframes clockMinuteTwitch{0%,90%,to{transform:rotate(0)}95%{transform:rotate(6deg)}}@keyframes bubbleWobble{0%,to{transform:scaleX(1) scaleY(1)}25%{transform:scaleX(1.04) scaleY(.97)}50%{transform:scaleX(.97) scaleY(1.03)}75%{transform:scaleX(1.02) scaleY(.98)}}@keyframes bubbleShimmer{0%,to{opacity:.15;transform:translate(0)}50%{opacity:.35;transform:translate(2px)}}@keyframes mouseHeadBob{0%,to{transform:translateY(0) rotate(0)}30%{transform:translateY(-1px) rotate(1deg)}70%{transform:translateY(.5px) rotate(-.5deg)}}@keyframes mouseEarTwitch{0%,85%,to{transform:rotate(0)}90%{transform:rotate(-8deg)}95%{transform:rotate(3deg)}}@keyframes mouseNoseTwitch{0%,to{transform:translate(0)}20%{transform:translate(.5px)}40%{transform:translate(-.5px)}60%{transform:translate(.3px)}80%{transform:translate(0)}}@keyframes mouseWhiskerTwitch{0%,80%,to{transform:rotate(0)}85%{transform:rotate(3deg)}90%{transform:rotate(-2deg)}95%{transform:rotate(1deg)}}@keyframes mouseTailSwish{0%,to{transform:rotate(0)}25%{transform:rotate(5deg)}75%{transform:rotate(-5deg)}}@keyframes beeHover{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}@keyframes beeAntennaWiggle{0%,to{transform:rotate(0)}25%{transform:rotate(5deg)}75%{transform:rotate(-5deg)}}@keyframes flowerSway{0%,to{transform:rotate(0)}33%{transform:rotate(3deg)}66%{transform:rotate(-2deg)}}@keyframes envCloudDrift{0%{transform:translate(0)}to{transform:translate(-120px)}}@keyframes envFireflyTwinkle{0%,to{opacity:.1;transform:scale(.8)}50%{opacity:.5;transform:scale(1.2)}}@keyframes envGrassSway{0%,to{transform:rotate(0)}30%{transform:rotate(3deg)}70%{transform:rotate(-2deg)}}@keyframes envLeafFall{0%{transform:translateY(0) translate(0) rotate(0);opacity:.1}10%{opacity:.1}50%{transform:translateY(50vh) translate(30px) rotate(120deg);opacity:.08}90%{opacity:.04}to{transform:translateY(105vh) translate(-10px) rotate(240deg);opacity:0}}@keyframes envLetterFloat{0%,to{transform:translateY(0) rotate(0)}25%{transform:translateY(-8px) rotate(3deg)}50%{transform:translateY(-4px) rotate(-2deg)}75%{transform:translateY(-10px) rotate(1deg)}}@keyframes snakeSlitherOff{0%{transform:scale(1.05) translate(0)}15%{transform:scale(.88) rotate(-4deg) translate(-12px)}35%{transform:scale(1.12) rotate(3deg) translate(20px)}to{transform:translate(200px) scale(.35) rotate(-20deg);opacity:.2}}@keyframes bridgeBounce{0%{transform:scaleY(1) scaleX(1)}25%{transform:scaleY(.96) scaleX(1.01)}50%{transform:scaleY(1.04) scaleX(.99)}75%{transform:scaleY(.99) scaleX(1)}to{transform:scaleY(1) scaleX(1)}}@keyframes plankSlam{0%{transform:translateY(-30px) scaleY(.6);opacity:0}50%{transform:translateY(3px) scaleY(1.1);opacity:1}70%{transform:translateY(-2px) scaleY(.96)}to{transform:translateY(0) scaleY(1);opacity:1}}@keyframes plankGolden{0%{transform:scaleX(1) scaleY(1);filter:none}50%{transform:scaleX(1.08) scaleY(1.06);filter:drop-shadow(0 0 8px #FFD54F)}to{transform:scaleX(1) scaleY(1);filter:drop-shadow(0 0 4px #FFD54F80)}}@keyframes clockComeAlive{0%{transform:scale(1)}25%{transform:scale(1.06) rotate(-1deg)}50%{transform:scale(.97) rotate(1deg)}75%{transform:scale(1.03)}to{transform:scale(1)}}@keyframes clockHandSpin{0%{transform:rotate(0)}30%{transform:rotate(400deg)}60%{transform:rotate(690deg)}80%{transform:rotate(715deg)}to{transform:rotate(720deg)}}@keyframes clockPendulumWild{0%{transform:rotate(-25deg)}50%{transform:rotate(25deg)}to{transform:rotate(-25deg)}}@keyframes bubbleChainPop{0%{transform:scale(1);opacity:1}30%{transform:scale(1.4);opacity:.8}60%{transform:scale(.5);opacity:.4}to{transform:scale(0);opacity:0}}@keyframes mouseWiggleFree{0%{transform:translate(0) rotate(0)}15%{transform:translate(-4px,-2px) rotate(-6deg)}30%{transform:translate(5px,-3px) rotate(5deg)}45%{transform:translate(-3px,-5px) rotate(-4deg)}60%{transform:translate(4px,-6px) rotate(3deg)}80%{transform:translate(-1px,-8px) rotate(-1deg)}to{transform:translateY(-12px) rotate(0)}}@keyframes vineSnap{0%{transform:scaleX(1);opacity:.7}30%{transform:scaleX(1.2);opacity:.5}60%{transform:scaleX(.3) translateY(-8px);opacity:.2}to{transform:scaleX(0) translateY(-15px);opacity:0}}@keyframes beeVictoryLoop{0%{transform:translateY(-20px)}20%{transform:translate(15px,-35px) rotate(15deg)}40%{transform:translate(25px,-15px) rotate(30deg)}60%{transform:translate(10px,-5px) rotate(15deg)}80%{transform:translate(-5px,-25px) rotate(-10deg)}to{transform:translateY(-20px) rotate(0)}}@keyframes webDissolve{0%{stroke-dashoffset:0;opacity:.7}50%{stroke-dashoffset:20;opacity:.3}to{stroke-dashoffset:40;opacity:0}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes pop{0%{transform:scale(.8);opacity:0}60%{transform:scale(1.1)}to{transform:scale(1);opacity:1}}@keyframes scaleIn{0%{transform:scale(.7);opacity:0}to{transform:scale(1);opacity:1}}@keyframes levelBounce{0%{transform:scale(1)}30%{transform:scale(.9)}60%{transform:scale(1.2) translateY(-4px)}80%{transform:scale(.95) translateY(0)}to{transform:scale(1) translateY(0)}}@keyframes levelDrop{0%{transform:scale(1)}40%{transform:scale(.85) translateY(3px)}to{transform:scale(1) translateY(0)}}@keyframes hotPulse{0%,to{box-shadow:0 0 4px #ffc10733}50%{box-shadow:0 0 12px #ffc10780}}@keyframes wrongShake{0%{transform:translate(0)}15%{transform:translate(-4px)}30%{transform:translate(4px)}45%{transform:translate(-3px)}60%{transform:translate(3px)}75%{transform:translate(-2px)}90%{transform:translate(1px)}to{transform:translate(0)}}@keyframes wrongFlash{0%{background-color:transparent}30%{background-color:#e74c3c0f}to{background-color:transparent}}@keyframes cgdDrawLeg{0%{stroke-dashoffset:300;opacity:.25}to{stroke-dashoffset:0;opacity:1}}@keyframes cgdStarPop{0%{opacity:0}60%{opacity:1}to{opacity:1}}.cgd-leg-x{stroke-dashoffset:0;animation:cgdDrawLeg .55s ease-out both}.cgd-leg-y{stroke-dashoffset:0;animation:cgdDrawLeg .55s ease-out .5s both}.cgd-star-pop{animation:cgdStarPop .45s ease-out 1s both}@keyframes petFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}@keyframes petCorrectBounce{0%,to{transform:translateY(0) scale(1)}30%{transform:translateY(-12px) scale(1.1)}60%{transform:translateY(0) scale(.95)}}@keyframes petTilt{0%,to{transform:rotate(0)}30%{transform:rotate(-8deg)}60%{transform:rotate(4deg)}}@keyframes petSpin{0%{transform:rotate(0) scale(1)}50%{transform:rotate(180deg) scale(1.15)}to{transform:rotate(360deg) scale(1)}}@keyframes storyBubbleIn{0%{opacity:0;transform:translate(-50%) translateY(10px) scale(.9)}to{opacity:1;transform:translate(-50%) translateY(0) scale(1)}}@keyframes charBounceSelect{0%{transform:scale(1)}20%{transform:scale(.85)}50%{transform:scale(1.2)}70%{transform:scale(.95)}85%{transform:scale(1.05)}to{transform:scale(1)}}@keyframes sparkFloat{0%{transform:translateY(0) scale(1);opacity:1}60%{transform:translateY(-40px) scale(1.2);opacity:.8}to{transform:translateY(-70px) scale(.6);opacity:0}}@keyframes mapPortalPulse{0%,to{transform:scale(1);opacity:.8}50%{transform:scale(1.08);opacity:1}}@keyframes celebrateBounce{0%{transform:scale(1)}30%{transform:scale(1.15)}55%{transform:scale(.95)}75%{transform:scale(1.05)}to{transform:scale(1)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.cgd-leg-x,.cgd-leg-y,.cgd-star-pop{animation:none!important;stroke-dashoffset:0!important;opacity:1!important}}html.app-reduce-motion *,html.app-reduce-motion *:before,html.app-reduce-motion *:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}html.app-reduce-motion{scroll-behavior:auto!important}html.app-reduce-motion .daily-chest-anim{animation:none!important}html.app-reduce-motion button:hover,html.app-reduce-motion button:active{transform:none!important}html.app-reduce-motion .cgd-leg-x,html.app-reduce-motion .cgd-leg-y,html.app-reduce-motion .cgd-star-pop{animation:none!important;stroke-dashoffset:0!important;opacity:1!important}@keyframes petSlowBlink{0%,40%,50%,to{transform:scaleY(1)}45%{transform:scaleY(.1)}}@keyframes petConfusedTilt{0%,to{transform:rotate(0)}30%{transform:rotate(-12deg)}60%{transform:rotate(5deg)}}@keyframes petPawScreen{0%,to{transform:translate(0)}30%{transform:translate(8px) rotate(5deg)}60%{transform:translate(4px) rotate(2deg)}}@keyframes petChaseTail{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes petSniff{0%,to{transform:translateY(0) rotate(0)}40%{transform:translateY(3px) rotate(5deg)}70%{transform:translateY(1px) rotate(-3deg)}}@keyframes petStretch{0%,to{transform:scaleX(1) scaleY(1)}40%{transform:scaleX(1.15) scaleY(.85)}70%{transform:scaleX(.95) scaleY(1.05)}}@keyframes petBackflip{0%{transform:rotateX(0) scale(1)}50%{transform:rotateX(180deg) scale(1.1) translateY(-8px)}to{transform:rotateX(360deg) scale(1)}}@keyframes petTailWag{0%,to{transform:rotate(0)}15%{transform:rotate(8deg)}30%{transform:rotate(-8deg)}45%{transform:rotate(6deg)}60%{transform:rotate(-4deg)}}@keyframes petFireSpark{0%{transform:scale(1);filter:brightness(1)}40%{transform:scale(1.15);filter:brightness(1.4) hue-rotate(10deg)}to{transform:scale(1);filter:brightness(1)}}@keyframes petStealSpark{0%{transform:translate(0)}25%{transform:translate(30px) scale(.9)}50%{transform:translate(20px) scale(.95)}75%{transform:translate(-5px) scale(1.05)}to{transform:translate(0) scale(1)}}@keyframes petFeatherRuffle{0%,to{transform:scale(1)}30%{transform:scale(1.05) rotate(2deg)}60%{transform:scale(1.02) rotate(-1deg)}}@keyframes petHeadTurn{0%,to{transform:rotate(0)}50%{transform:rotate(15deg)}}@keyframes petWisePose{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}@keyframes petWiseNod{0%,50%,to{transform:translateY(0)}20%{transform:translateY(4px)}35%{transform:translateY(-2px)}}@keyframes petSparkleEyes{0%,to{filter:brightness(1)}50%{filter:brightness(1.5) drop-shadow(0 0 6px #FFD700)}}@keyframes petWingFlutter{0%,to{transform:scaleX(1)}25%{transform:scaleX(1.08)}50%{transform:scaleX(.95)}75%{transform:scaleX(1.05)}}@keyframes petBookGesture{0%,to{transform:translate(0) rotate(0)}50%{transform:translate(6px) rotate(5deg)}}@keyframes petNightGlow{0%,to{filter:brightness(1);box-shadow:none}50%{filter:brightness(1.2);box-shadow:0 0 20px #8b735566}}@keyframes petPolishScales{0%,to{transform:rotate(0) scale(1)}30%{transform:rotate(3deg) scale(1.02)}60%{transform:rotate(-2deg) scale(1.01)}}@keyframes petSitTall{0%,to{transform:translateY(0) scaleY(1)}50%{transform:translateY(-4px) scaleY(1.05)}}@keyframes petTinyFlame{0%,to{filter:brightness(1)}50%{filter:brightness(1.2) hue-rotate(15deg)}}@keyframes petDramaticPose{0%,to{transform:rotate(0) scale(1)}50%{transform:rotate(-5deg) scale(1.08) translateY(-3px)}}@keyframes petTriumphRoar{0%{transform:scale(1) translateY(0)}30%{transform:scale(1.2) translateY(-10px)}60%{transform:scale(1.05) translateY(-3px)}to{transform:scale(1) translateY(0)}}@keyframes petFireBurst{0%{transform:scale(1);filter:brightness(1)}40%{transform:scale(1.2);filter:brightness(1.5) hue-rotate(20deg)}to{transform:scale(1);filter:brightness(1)}}@keyframes petVictoryPose{0%,to{transform:rotate(0) scale(1)}50%{transform:rotate(5deg) scale(1.1) translateY(-5px)}}@keyframes petStampFoot{0%,to{transform:translateY(0)}20%{transform:translateY(3px)}40%{transform:translateY(-2px)}60%{transform:translateY(2px)}}@keyframes petDiscoverGem{0%{transform:translate(0)}40%{transform:translate(15px) rotate(10deg)}60%{transform:translate(10px) scale(1.1)}to{transform:translate(0) scale(1)}}@keyframes petHopInPlace{0%,to{transform:translateY(0)}40%{transform:translateY(-10px)}60%{transform:translateY(-3px)}}@keyframes petNoseWiggle{0%,to{transform:scale(1)}25%{transform:scale(1.02) translate(1px)}50%{transform:scale(1.01) translate(-1px)}75%{transform:scale(1.02) translate(1px)}}@keyframes petEarFlop{0%,to{transform:rotate(0) scaleY(1)}50%{transform:rotate(3deg) scaleY(.95)}}@keyframes petCuriousLook{0%,to{transform:rotate(0)}50%{transform:rotate(8deg) translate(3px)}}@keyframes petHappySpin{0%{transform:rotate(0) scale(1)}50%{transform:rotate(180deg) scale(1.1)}to{transform:rotate(360deg) scale(1)}}@keyframes petEarHelicopter{0%{transform:rotate(0) scaleY(1.1)}to{transform:rotate(360deg) scaleY(1)}}@keyframes petBigHop{0%,to{transform:translateY(0) scale(1)}40%{transform:translateY(-15px) scale(1.05)}70%{transform:translateY(-5px) scale(.98)}}@keyframes petEarsDroop{0%,to{transform:scaleY(1) translateY(0)}50%{transform:scaleY(.92) translateY(2px)}}@keyframes petBounceOnElement{0%{transform:translateY(0)}30%{transform:translateY(-20px) translate(15px)}60%{transform:translateY(-5px) translate(10px)}to{transform:translateY(0) translate(0)}}@keyframes petGentleStretch{0%,to{transform:scaleX(1) scaleY(1)}40%{transform:scaleX(1.1) scaleY(.92)}70%{transform:scaleX(.97) scaleY(1.03)}}@keyframes petVisualPurr{0%,to{transform:scale(1)}50%{transform:scale(1.02)}}@keyframes petKneadPaws{0%,to{transform:translateY(0)}25%{transform:translateY(1px) rotate(1deg)}50%{transform:translateY(0) rotate(-1deg)}75%{transform:translateY(1px) rotate(1deg)}}@keyframes petGracefulTwirl{0%{transform:rotate(0) scale(1)}50%{transform:rotate(180deg) scale(1.05)}to{transform:rotate(360deg) scale(1)}}@keyframes petPetalBurst{0%{transform:scale(1);filter:brightness(1)}40%{transform:scale(1.1);filter:brightness(1.15) hue-rotate(-10deg)}to{transform:scale(1);filter:brightness(1)}}@keyframes petContentPurr{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.03)}}@keyframes petGentlePaw{0%,to{transform:translate(0)}50%{transform:translate(4px) rotate(3deg)}}@keyframes petFlowerGrow{0%{transform:scale(1);filter:brightness(1)}50%{transform:scale(1.05);filter:brightness(1.1) saturate(1.3)}to{transform:scale(1);filter:brightness(1)}}.gw-pet-idle{display:block;will-change:transform}@media(prefers-reduced-motion:reduce){[class*=pet]{animation-duration:.01ms!important;transition-duration:.01ms!important}.gw-pet-idle{animation:none!important;will-change:auto!important}}
