# Task 1: cat runner

Build one complete, self-contained HTML document for a small browser game. Return only the HTML source; do not wrap it in Markdown fences or add an explanation. The file must run by itself when saved as `.html`, with no network access, external assets, libraries, build step, or server.

Make a cat run across a fenced path with flowerpots as obstacles. The obstacle sequence must be fixed and repeat from the same beginning after every restart. The player must be able to jump with Space, ArrowUp, or W, and with click or touch. Score distance while the run is active. A collision with a fence or flowerpot ends the run and shows the final distance. Animate a visible squash/stretch when the cat jumps and lands. Provide an immediate restart control.

Acceptance checks:

1. The document opens offline and shows the cat, path/fence, flowerpots, score, and a usable start/restart state.
2. Each listed keyboard key and click/tap can make the cat jump. A held key or repeated touch must not make the game unusable.
3. The sequence is deterministic: restarting produces the same obstacle order and timing from the beginning; obstacles can be cleared by a correctly timed jump.
4. Distance increases during play. A collision ends scoring and displays the final score.
5. Jump and landing each produce visible squash/stretch motion.
6. Restart immediately restores the initial cat position, score, obstacle positions/order, animation state, and input state. No old collision or score carries into the new run.
7. The layout remains usable on a narrow touch screen, and the restart control can be reached and activated by keyboard.

Keep the implementation compact and understandable. Do not use random obstacle placement, external requests, or hidden remote dependencies. Subjective visual polish is reviewed separately from these pass/fail checks.
