What changed, and why
On the win/lose debrief, the Chronicle epilogue — the prose telling of your run — rendered at only about two-thirds the column width, while every section around it (the dispatches, the stats, the timeline) filled the full column. The prose read as an oddly narrow block next to its siblings.
The cause was a single Tailwind utility: the epilogue <article> carried max-w-[62ch]. That is a deliberate readability line-length, but the rest of the debrief sits in the page's max-w-4xl container with no inner cap, so 62ch read as ~2/3 width beside everything else. The fix is one move: drop the cap so the epilogue fills the column like its neighbours. It lives in two mirrored places — the live end screen and the read-only retrospective — so both change together.
The cap, removed — EndGameScreen
This is the live win/lose takeover. The epilogue is rendered inline here (not via the in-game Chronicle component), so the <article> on line 41 was the only thing narrowing the prose. With the cap gone, the article is a plain block element that fills its parent — and its parent is the max-w-4xl page container on line 5, the exact measure the dispatches, stats, and timeline already use.
Line 41 is the epilogue article (now uncapped); line 5 is the max-w-4xl column it inherits. The paragraphs on line 43 were never capped, so nothing else holds the width back.
components/EndGameScreen.vue · 235 lines
⋯ 4 lines hidden (lines 1–4)
⋯ 29 lines hidden (lines 6–34)
⋯ 190 lines hidden (lines 46–235)
The mirror, and what's deliberately left alone
RunView replays a saved run read-only, and it mirrors the end screen's epilogue markup exactly — so it carried the same cap and gets the same one-line fix.
The retrospective's epilogue article, now uncapped to match EndGameScreen.
components/RunView.vue · 114 lines
⋯ 29 lines hidden (lines 1–29)
⋯ 77 lines hidden (lines 38–114)
The regression tests
Each component spec gains one discriminating test: it renders the epilogue and asserts the article carries no max-w-[62ch] class. These pin the exact thing that changed — re-adding the cap to either component turns the suite red — without padding coverage. The full suite stays green (817 passed) and nuxt typecheck is clean.
Mounts a victory state with a chronicle, then asserts the epilogue body fills the column (no 62ch cap).
tests/unit/components/EndGameScreen.spec.ts · 205 lines
⋯ 143 lines hidden (lines 1–143)
⋯ 41 lines hidden (lines 165–205)
The same guard for the retrospective, selecting the article inside the run-chronicle block.