Adds a Recoil atom (chatInputDraftAtom) to store the chat input draft,
which persists the text when the chat component unmounts/remounts during
mobile/desktop mode transitions.
Changes:
- Add chatInputDraftAtom to ClientConfigStore
- Update ChatTextField to save draft on input change
- Restore draft when component mounts
- Clear draft when message is sent
Closes#3615