Validates the state model in prd.md (map #29, issue #32). One self-contained HTML file, no backend, no persistence — everything below lives in memory and resets on reload. Use the controls to drive both sides of the flow and watch the state surfaced after every action.