.robot-motion{width:var(--rm-size,auto);height:var(--rm-size,auto);flex:none;display:block;position:relative}.robot-motion img{object-fit:contain;transform-origin:50% 92%;width:100%;height:100%;display:block}.robot-motion .robot-motion-from{opacity:0;position:absolute;inset:0}.live-robot{overflow:visible}.live-robot .live-robot-poster{object-fit:contain;width:100%;height:100%;position:absolute;inset:0}.live-robot .live-robot-host{display:block;position:absolute;inset:0}.live-robot .live-robot-host svg{width:100%;height:100%;display:block;overflow:visible}.live-robot[data-live-on] .live-robot-poster{visibility:hidden}.robot-motion[data-play][data-reaction=correct] .robot-motion-from{animation:.38s step-end both rm-show,.38s ease-in-out both rm-nod}.robot-motion[data-play][data-reaction=correct] .robot-motion-to{animation:.38s step-end both rm-hide,.7s cubic-bezier(.3,1.4,.5,1) .38s both rm-jump}.robot-motion[data-play][data-reaction=wrong] .robot-motion-from{animation:.95s step-end both rm-show,.9s ease-in-out both rm-tilt}.robot-motion[data-play][data-reaction=wrong] .robot-motion-to{animation:.95s step-end both rm-hide,.5s ease-in-out .95s both rm-nod}.robot-motion[data-play][data-reaction=start] .robot-motion-from{animation:.9s step-end both rm-show,.8s ease-in-out both rm-wiggle}.robot-motion[data-play][data-reaction=start] .robot-motion-to{animation:.9s step-end both rm-hide,.5s ease-in-out .9s both rm-nod}.robot-motion[data-play][data-reaction=complete] .robot-motion-from,.robot-motion[data-play][data-reaction=celebrate] .robot-motion-from{animation:.6s step-end both rm-show,.5s ease-in-out .1s both rm-nod}.robot-motion[data-play][data-reaction=complete] .robot-motion-to{animation:.6s step-end both rm-hide,.7s cubic-bezier(.3,1.4,.5,1) .6s both rm-jump}.robot-motion[data-play][data-reaction=settle] .robot-motion-from{animation:.6s step-end both rm-show,.5s ease-in-out .1s both rm-nod}.robot-motion[data-play][data-reaction=settle] .robot-motion-to{animation:.6s step-end both rm-hide,.5s ease-in-out .6s both rm-nod}.robot-motion[data-play][data-reaction=celebrate] .robot-motion-to{animation:.6s step-end both rm-hide,.62s cubic-bezier(.3,1.4,.5,1) .6s 2 both rm-jump,2.4s ease-in-out 1.9s 2 rm-idle}@keyframes rm-show{0%{opacity:1}to{opacity:0}}@keyframes rm-hide{0%{opacity:0}to{opacity:1}}@keyframes rm-jump{0%{transform:none}20%{transform:scale(1.08,.88)}45%{transform:translateY(-18%)scale(.95,1.06)}70%{transform:translateY(0)scale(1.06,.92)}85%{transform:scale(.98,1.02)}to{transform:none}}@keyframes rm-tilt{0%{transform:none}30%{transform:rotate(-9deg)}60%{transform:rotate(-7deg)}to{transform:none}}@keyframes rm-nod{0%,to{transform:none}40%{transform:translateY(3%)scale(1.03,.96)}}@keyframes rm-wiggle{0%,to{transform:none}25%{transform:rotate(6deg)}55%{transform:rotate(-5deg)}80%{transform:rotate(2deg)}}@keyframes rm-idle{0%,to{transform:none}50%{transform:translateY(-3%)}}.lesson-character:has(.robot-motion[data-play])[data-scene=complete]~*{animation:.3s ease-out .45s both rm-rise}.lesson-character:has(.robot-motion[data-play])[data-scene=start]~.journey li{animation:.3s ease-out both rm-slide}.lesson-character:has(.robot-motion[data-play])[data-scene=start]~.journey li:first-child{animation-delay:.3s}.lesson-character:has(.robot-motion[data-play])[data-scene=start]~.journey li:nth-child(2){animation-delay:.42s}.lesson-character:has(.robot-motion[data-play])[data-scene=start]~.journey li:nth-child(n+3){animation-delay:.54s}@keyframes rm-rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes rm-slide{0%{opacity:0;transform:translate(-10px)}to{opacity:1;transform:none}}.count-done{animation:.7s cubic-bezier(.34,1.56,.64,1) rm-count-land;display:inline-block}@keyframes rm-count-land{0%{text-shadow:0 0 14px #ffc93cf2;transform:scale(1.18)}60%{text-shadow:0 0 8px #ffc93c99}to{text-shadow:none;transform:none}}@media (prefers-reduced-motion:reduce){.count-done{animation:none}.robot-motion[data-play] .robot-motion-from{opacity:0;animation:none}.robot-motion[data-play] .robot-motion-to,.lesson-character:has(.robot-motion[data-play])~*,.lesson-character:has(.robot-motion[data-play])~.journey li{animation:none}}
