Implement PlayerStore wrapping signal<PlayerState> for player account data. Adds applyLogin(raw) to fill state from login response A group, with: - Mandatory fields get default 0/'' if missing (never undefined) - Optional fields (openid/unionid/province/city) only set if present - Immutable updates via spread operator - Notifies subscribers on state change Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>