f8cf03c888
- Add family training mode where users select an opening family (e.g. "Italian Game") and can play any variation within that family - Create variation tree data structure to efficiently track which variations match the current move sequence - FamilySelector now navigates directly to /learning/openings/family/[familyName] instead of showing a second selector for individual variations - OpeningTrainer displays matching variations, possible moves, and current line - LLM tutor explains which variation is being played and mentions alternatives - Remove the OpeningSelector step from the flow for a simpler UX The new flow: 1. User selects an opening family (e.g. "Sicilian Defense") 2. Training starts immediately with all variations loaded 3. User can play any move that exists in any variation 4. The UI shows which variations are still possible 5. The AI tutor guides the user through the repertoire