pub fn validate_character_name(name: &str) -> Result<()>
Shared client-side check (server enforces the same rules).