fix: PDS sync UX — prevent multiple modals, replace "Local" with sync-aware status
- Cache ensurePdsIdentity() promise to prevent concurrent modal shows
- Clear cache on failure so retries work
- Status chips now reflect actual state: "Saved" (local), "Synced" (PDS),
"Saving…" (in progress), "Error" (failure)
- Default HTML status text changed from "Local" to "Saved"
- Landing page footer updates to "synced to your PDS" when PDS is active
- Toast notifications on identity setup success/failure for user feedback