Animation & Motion

One entrance per slide. Everything else moves only because something changed.

1 · Slide entrance

The whole slide rises in once: 10px, 400ms, cubic-bezier(0.22, 1, 0.36, 1). Leaving is instant. Nothing inside it is staggered.

transition: 'none' in slides.config.ts turns it off between the stages of one scene.

2 · State change

12

Motion answers a click or a "next": the lesson's stages, the step that was just reached, the question reel. It runs once, then the slide holds still.

3 · One accent

Hi!

At most one small pop after the slide lands, usually Momo's speech bubble. It changes again only when the state behind it changes.

Never: element-by-element entrances · loops that run on their own · more than one accent · motion without a reason. All motion respects prefers-reduced-motion and lands on its final frame.
59/60