pub async fn run_tui(progress: SharedProgress) -> Result<()>
Run the TUI event loop (call from tokio::spawn)