Add a root `.prettierrc` (JSON) with `tabWidth: 4` and
`proseWrap: always`, the shared house style, so prettier formatting no
longer depends on host prettier defaults. Drop the now-redundant inline
`--tab-width 4` from `script/fmt` so the config file is the single
source of truth; `script/fmt` still formats only `static/js/*.js` and
`.prettierignore` still keeps the vendored `alpine.min.js` out.
Verified `make fmt` on a clean tree is a no-op: all first-party JS
reports unchanged and the vendored bundle is untouched.
Model: opus-4-8