createAnimate
createAnimate returns a [scope, animate] tuple. Attach scope to a wrapper, then call
animate with elements or selectors inside that wrapper. The returned controls are awaitable, so
sequences can be written with normal await flow.
Selector queries
Selectors are resolved inside the scoped ref. That keeps orchestration local without creating a ref for every child:
await animate('.card', { y: -10 }, { delay: stagger(0.05) })