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>