When main.js fails to load (network error, CORS, etc.), users were
stuck on "INITIALIZING" forever with no error or recovery option.
Changes:
- Add inline 8s timeout that shows error state if main.js never boots
- Show /api/ui fallback link when workshop is offline
- Update offline message to "WORKSHOP OFFLINE"
Fixes#7
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>