1dda91fd96
* In-app Back arrow is now deterministic on deep links: if there's in-app history it pops (history.back); otherwise it navigates to the parent screen (game → selection → hub) instead of leaving the site. Device Back stays native. * Canonicalize ?game/?v: unknown game → hub; an invalid v for the game (e.g. word&v=large or wordsearch&v=5) → the game's default, via replaceState so the URL is clean and local-storage keys/status match. Derived variant/size are also clamped so a bad URL can never crash the game with an invalid variant. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>