What changed, and why
When a run ends, it is saved to your "your runs" history. The retrospective side already makes that history easy to reach: the run-detail page has a ← Your runs link, and the account popover has a ◷ Your past runs link. The live win/lose screen had no equivalent. Its footer offered only "Try a new timeline" (Play Again), so the moment a run became part of your history, there was no obvious way from that screen to go see it.
This adds a "Your runs" link to /runs in the end-screen footer, beside Play Again. The whole change is one element in one component, plus the unit and e2e tests that pin it. No store, routing, or data changes — the destination page and the saved-runs history already exist.
Proving it: unit + e2e
The unit suite mounts EndGameScreen with bare @vue/test-utils, which has no router, so a real NuxtLink renders empty there. The fix is a per-mount stub: a tiny anchor that echoes to into href. A mountEnd() helper applies it on every mount in the file, so the new link can be asserted directly and the older tests stop emitting a "can't resolve RouterLink" warning. The stub is scoped to each mount, not a shared global, so nothing leaks into other component specs.
The stub helper, and the two assertions: the link exists on win and loss, says 'Your runs', points at /runs.
tests/unit/components/EndGameScreen.spec.ts · 209 lines
⋯ 25 lines hidden (lines 1–25)
⋯ 139 lines hidden (lines 33–171)
⋯ 21 lines hidden (lines 189–209)
The unit test asserts against the stub, so the e2e closes the loop on the real render. In the victory flow, against a real browser and the real NuxtLink, it checks the link is visible beside Play Again and that its href is exactly /runs.
Real-browser proof: visible, and href='/runs'.