TTS fixes: - Remove 60-char truncation in FightViewer — let speakAnswer handle limits - Smart truncation at sentence boundaries (period, comma, etc.) up to 200 chars - Chrome keepalive: periodic pause/resume prevents silent 15s cutoff bug - Deduplicated cleanup logic in speakAsync/speakAsyncWithRate Retro mode: - Simplified challenge prompt from verbose wall of text to clean 3-line format Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>