Router: strip query string from hash path before route matching, and merge
hash query params (e.g. ?url=) into the params passed to route handlers.
Add /watch/replay route (without :id) so ?url= links work without a path ID.
Embed: fall back to demo replay when the match replay is not found in R2/B2
instead of showing "Failed to fetch" (handles test match IDs with no replay).
App: extend skeleton and PIP checks to match /watch/replay (with or without :id).
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>