Why doesn't the animation run if I only define @keyframes but don't add animation properties?
Defining @keyframes only creates the animation steps but does not apply them. You must add animation properties like animation-name and animation-duration to the element to start the animation (see render_step 3 and 4).
💡 Keyframes define 'what', animation properties define 'when and how'
Why does my animation jump instead of moving smoothly?
If animation-timing-function is not set or set to 'step' values, the animation jumps between frames. Using 'linear' or 'ease' creates smooth transitions (see property_table).
💡 Timing function controls smoothness of movement
Why does the element snap back to start after animation ends?
By default, animation-fill-mode is 'none', so after animation finishes, styles revert. Use 'forwards' to keep the last frame visible.
💡 Fill mode controls if final animation state stays visible