pub fn estimate_tokens(text: &str) -> usize
Estimate token count for text (rough approximation: ~4 chars per token)