* 🛟 fix: Auto-Recover from Stale Service Worker Assets After Deploys
- 404 missing static assets in the SPA fallback instead of serving index.html
- inline recovery script unregisters stale SWs and reloads once on chunk failure
- route vite:preloadError into the same recovery path for stale lazy chunks
* 🛟 fix: Address Review — SW-Side Recovery, Scoped Unregister, Shared Fallback
- importScripts'd sw-heal.js pings window clients on activation and reloads
ones that can't pong: stale pages carry no recovery code of their own
- scope SW unregistration to the deployment base for subpath installs
- preventDefault vite:preloadError only when a recovery reload was initiated
- extract createSpaFallback and apply the asset 404 guard to experimental.js