pub fn visual_len(s: &str) -> usize
Visual width of a string in terminal columns, ignoring ANSI escape sequences and accounting for wide characters (emoji, CJK = 2 columns).