Extract the byte-identical settings card trio (settings-form.ts,
PluginSettingsCard.tsx, settings-card.module.css) that pet, task-board,
remote-web-ui, live-stats, and describe-image each carried, into
shared/client/settings as the single source of truth. A new
scripts/sync-shared.mjs mirrors the trio into the five consumers with a
generated-file header, and its --check mode (wired into test:scripts)
fails on drift. The shared superset keeps every variant behavior:
number-field constraints, per-field in-flight save survival, choice
fields, and the focus-visible styles. The shared package also carries
the first CardForm unit tests (11).