1. Shared fitting contract
- [x] 1.1 Add a pure title-fit helper that measures a complete string, shrinks 22px to 16px in 1px steps, and wraps at word boundaries without adding an ellipsis. Narrow fallback callers may request up to three lines.
- [x] 1.2 Return fitted lines, font size, line height, and overflow status from one helper; each scene adds its owning-region geometry to that result.
- [ ] 1.3 Add focused tests for one-line, shrink-only, two-line, long-word, empty-title, and reduced-motion settled results. The current focused suite covers the first four cases plus the narrow three-line fallback; empty-title and reduced-motion assertions remain open.
2. Scene integration
- [x] 2.1 Apply the helper to the Proof HUD using the measured region between the number tile and step counter with 16px insets.
- [x] 2.2 Move the Proof subline and board down as one group for wrapped titles
while retaining at least 40px HUD-to-board clearance. On the narrow fallback,
keep
STEPS 02right aligned on the subline row. - [x] 2.3 Apply the same helper to the INDEX banner without changing its banner or pointer hit geometry.
- [x] 2.4 Apply the same helper to the Win card without changing its actions or input hit geometry.
- [x] 2.5 Verify desktop and 390x844 mobile, including the long-title INDEX, Proof, and Win browser path. The captured mobile fallback uses the full band, shared subline counter, and no ellipsis.
3. Verification and handoff
- [x] 3.1 Run focused title/layout tests and the full Node suite.
- [x] 3.2 Run the production build and browser checks for Proof, INDEX, Win, mobile layout, navigation, and pointer actions.
- [x] 3.3 Confirm no engine, input, diagnostics-envelope, or pointer semantics changed; retain the >32-character W11 warning while enforcing the 64-character loader ceiling.
- [ ] 3.4 Post the local long-title screenshots and layout evidence to the design inbox and receive final design review before publishing a preview revision.