Fix Spellbook layout, missing images, and CSS delivery
- Fixed duplicate H1 title on Spellbook detail pages (regex in slug renderer now correctly strips the leading `# Title` line)
- Removed 6 broken local-vault image paths from D1 spellbook records (cmux, ghostty, opencli-skill ×2, katana, ghost-os)
- Fixed Service Worker cache poisoning — bumped to v3, added `response.ok` guard to prevent caching 404 responses
- Fixed CI pipeline — added `astro sync` step before typecheck so Astro virtual module types are generated
- Fixed TypeScript errors blocking all deployments (tsconfig scripts exclusion, caches.default type cast, test body type casts)
- Fixed build error `self is not defined` from image-js in Node.js build environment