- resolvePlaceholders: replace fragile [wo] char class with general
/^(.+?)\.[a-z]+:[0-9a-f-]{36}$/i — handles any type prefix safely
- Add sync stripPlaceholders() helper for card display (no async needed)
- PairsPanel cards now show actual sentence text instead of UUID stubs,
using enriched pair.question / pair.positive_statement data from API
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>