Switch to @alpinejs/csp to remove unsafe-eval from Content Security Policy
Replaces standard alpinejs with @alpinejs/csp build, which avoids
new Function() and allows dropping 'unsafe-eval' from script-src.
Moves Math.min logic from inline x-bind expression into a progressWidth
getter on the backfillProgress component since globals aren't available
in the CSP build. Documents the CSP build constraint in CLAUDE.md.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>