pub fn normalize_line_endings(s: &str) -> String
Normalize CRLF → LF. Matches the TS normalizer exactly.