Implement Peft's trust-based player seat recovery after refresh in this game. First check whether this feature is already implemented. Verify existing behavior against the requirements and acceptance cases below, using tests and available runtime checks. If it already satisfies them, leave working code unchanged and report the verification evidence. If it is partial or broken, implement only the missing behavior or fixes; do not duplicate integrations, callbacks, or state. Report anything you could not verify instead of assuming success. Prerequisite: Peft room links and direct joining must already work. Inspect the current game, preserve its gameplay/networking and existing integrations, and implement this feature within the existing protocol. If prerequisite or server changes are unavailable, report that limitation explicitly. - A player must be able to hard-refresh or reopen the same room URL, enter the same screen name, and reclaim the existing seat with gameplay progress intact, even after gameplay starts. - Do not require a resume token, browser storage, original device, or original connection. - This is intentionally trust-based for friends: anyone knowing a screen name may reclaim that seat. Screen names are not verified identity. Never apply this rule to Peft Google authentication, approvals, administration, or runtime capabilities. - Identify seats by room and screen name with consistent normalization: trim surrounding whitespace and compare case-insensitively. Require nonempty names and prevent duplicate normalized seats. - Retain disconnected seats and their authoritative gameplay state on the host/server until the room ends or the host explicitly removes them. Preserve cards, chips/score, team, inventory, turns/status, and relevant progress. - Matching names reclaim seats even when full or already started. Capacity and late-join restrictions continue to apply to genuinely new names. - Replace an old connection atomically when the same seat reconnects. Notify/close it and ignore its later actions and disconnect callbacks; it must not control or remove the reclaimed seat. - Never reset gameplay or create another room silently after reconnect failure. Show clear reconnecting, reclaimed, room-ended, and offline-host states. - Host-page refresh requires authoritative state retained elsewhere. Document when a peer-hosted room cannot survive losing its host; do not claim recovery using only in-memory state on that page. Add focused host/server and client tests. Exercise two players, begin gameplay, fill the table, then hard-refresh/reopen a participant using the same screen name without tokens/storage. Verify state survives, case/whitespace variants reclaim one seat, and delayed actions/disconnects from the old connection have no effect. Verify genuinely new names obey capacity/late-join rules. Report changed files, exact recovery behavior, test commands/results, necessary external changes, and host-survival limitations. Do not claim multiplayer acceptance unless actually exercised.