ViewSet for sub-levels.

GET /api/sub-levels/?format=api&page=2
HTTP 200 OK
Allow: GET, POST, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "count": 96,
    "next": "http://roskov.driad.fr/api/sub-levels/?format=api&page=3",
    "previous": "http://roskov.driad.fr/api/sub-levels/?format=api",
    "results": [
        {
            "id": 21,
            "level": 4,
            "level_display": "Basic Adjectives",
            "sub_level": 8,
            "title": "Adjectifs de sentiment et émotion",
            "description": "Adjectifs pour décrire les sentiments et émotions",
            "order": 8,
            "word_pairs": [
                {
                    "id": 326,
                    "french_word": "anxieux",
                    "russian_word": "тревожный",
                    "category": "adjective",
                    "category_display": "Adjective",
                    "level": 4,
                    "level_display": "Basic Adjectives",
                    "comment": "Masculin, singulier, nominatif, forme longue",
                    "tags": [
                        {
                            "id": 7,
                            "name": "nominative",
                            "category": "case",
                            "category_display": "Case (Declension)",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:46.144909Z",
                            "updated_at": "2026-01-17T18:41:46.144920Z"
                        },
                        {
                            "id": 9,
                            "name": "long-form",
                            "category": "form",
                            "category_display": "Form",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:46.575658Z",
                            "updated_at": "2026-01-17T18:41:46.575675Z"
                        },
                        {
                            "id": 2,
                            "name": "masculine",
                            "category": "gender",
                            "category_display": "Gender",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:46.131757Z",
                            "updated_at": "2026-01-17T18:41:46.131774Z"
                        },
                        {
                            "id": 5,
                            "name": "singular",
                            "category": "number",
                            "category_display": "Number",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:46.139686Z",
                            "updated_at": "2026-01-17T18:41:46.139698Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:47.667251Z",
                    "updated_at": "2026-01-17T18:41:47.667275Z",
                    "is_active": true
                },
                {
                    "id": 250,
                    "french_word": "calme",
                    "russian_word": "спокойный",
                    "category": "adjective",
                    "category_display": "Adjective",
                    "level": 4,
                    "level_display": "Basic Adjectives",
                    "comment": "Masculin, singulier, nominatif, forme longue",
                    "tags": [
                        {
                            "id": 7,
                            "name": "nominative",
                            "category": "case",
                            "category_display": "Case (Declension)",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:46.144909Z",
                            "updated_at": "2026-01-17T18:41:46.144920Z"
                        },
                        {
                            "id": 9,
                            "name": "long-form",
                            "category": "form",
                            "category_display": "Form",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:46.575658Z",
                            "updated_at": "2026-01-17T18:41:46.575675Z"
                        },
                        {
                            "id": 2,
                            "name": "masculine",
                            "category": "gender",
                            "category_display": "Gender",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:46.131757Z",
                            "updated_at": "2026-01-17T18:41:46.131774Z"
                        },
                        {
                            "id": 5,
                            "name": "singular",
                            "category": "number",
                            "category_display": "Number",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:46.139686Z",
                            "updated_at": "2026-01-17T18:41:46.139698Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:47.266951Z",
                    "updated_at": "2026-01-17T18:41:47.266965Z",
                    "is_active": true
                },
                {
                    "id": 251,
                    "french_word": "calme (féminin)",
                    "russian_word": "спокойная",
                    "category": "adjective",
                    "category_display": "Adjective",
                    "level": 4,
                    "level_display": "Basic Adjectives",
                    "comment": "Féminin, singulier, nominatif, forme longue",
                    "tags": [
                        {
                            "id": 7,
                            "name": "nominative",
                            "category": "case",
                            "category_display": "Case (Declension)",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:46.144909Z",
                            "updated_at": "2026-01-17T18:41:46.144920Z"
                        },
                        {
                            "id": 9,
                            "name": "long-form",
                            "category": "form",
                            "category_display": "Form",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:46.575658Z",
                            "updated_at": "2026-01-17T18:41:46.575675Z"
                        },
                        {
                            "id": 3,
                            "name": "feminine",
                            "category": "gender",
                            "category_display": "Gender",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:46.134507Z",
                            "updated_at": "2026-01-17T18:41:46.134524Z"
                        },
                        {
                            "id": 5,
                            "name": "singular",
                            "category": "number",
                            "category_display": "Number",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:46.139686Z",
                            "updated_at": "2026-01-17T18:41:46.139698Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:47.272180Z",
                    "updated_at": "2026-01-17T18:41:47.272193Z",
                    "is_active": true
                },
                {
                    "id": 332,
                    "french_word": "confiant",
                    "russian_word": "уверенный",
                    "category": "adjective",
                    "category_display": "Adjective",
                    "level": 4,
                    "level_display": "Basic Adjectives",
                    "comment": "Masculin, singulier, nominatif, forme longue",
                    "tags": [
                        {
                            "id": 7,
                            "name": "nominative",
                            "category": "case",
                            "category_display": "Case (Declension)",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:46.144909Z",
                            "updated_at": "2026-01-17T18:41:46.144920Z"
                        },
                        {
                            "id": 9,
                            "name": "long-form",
                            "category": "form",
                            "category_display": "Form",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:46.575658Z",
                            "updated_at": "2026-01-17T18:41:46.575675Z"
                        },
                        {
                            "id": 2,
                            "name": "masculine",
                            "category": "gender",
                            "category_display": "Gender",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:46.131757Z",
                            "updated_at": "2026-01-17T18:41:46.131774Z"
                        },
                        {
                            "id": 5,
                            "name": "singular",
                            "category": "number",
                            "category_display": "Number",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:46.139686Z",
                            "updated_at": "2026-01-17T18:41:46.139698Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:47.704217Z",
                    "updated_at": "2026-01-17T18:41:47.704241Z",
                    "is_active": true
                },
                {
                    "id": 333,
                    "french_word": "confiante",
                    "russian_word": "уверенная",
                    "category": "adjective",
                    "category_display": "Adjective",
                    "level": 4,
                    "level_display": "Basic Adjectives",
                    "comment": "Féminin, singulier, nominatif, forme longue",
                    "tags": [
                        {
                            "id": 7,
                            "name": "nominative",
                            "category": "case",
                            "category_display": "Case (Declension)",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:46.144909Z",
                            "updated_at": "2026-01-17T18:41:46.144920Z"
                        },
                        {
                            "id": 9,
                            "name": "long-form",
                            "category": "form",
                            "category_display": "Form",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:46.575658Z",
                            "updated_at": "2026-01-17T18:41:46.575675Z"
                        },
                        {
                            "id": 3,
                            "name": "feminine",
                            "category": "gender",
                            "category_display": "Gender",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:46.134507Z",
                            "updated_at": "2026-01-17T18:41:46.134524Z"
                        },
                        {
                            "id": 5,
                            "name": "singular",
                            "category": "number",
                            "category_display": "Number",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:46.139686Z",
                            "updated_at": "2026-01-17T18:41:46.139698Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:47.709305Z",
                    "updated_at": "2026-01-17T18:41:47.709326Z",
                    "is_active": true
                },
                {
                    "id": 312,
                    "french_word": "content",
                    "russian_word": "довольный",
                    "category": "adjective",
                    "category_display": "Adjective",
                    "level": 4,
                    "level_display": "Basic Adjectives",
                    "comment": "Masculin, singulier, nominatif, forme longue",
                    "tags": [
                        {
                            "id": 7,
                            "name": "nominative",
                            "category": "case",
                            "category_display": "Case (Declension)",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:46.144909Z",
                            "updated_at": "2026-01-17T18:41:46.144920Z"
                        },
                        {
                            "id": 9,
                            "name": "long-form",
                            "category": "form",
                            "category_display": "Form",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:46.575658Z",
                            "updated_at": "2026-01-17T18:41:46.575675Z"
                        },
                        {
                            "id": 2,
                            "name": "masculine",
                            "category": "gender",
                            "category_display": "Gender",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:46.131757Z",
                            "updated_at": "2026-01-17T18:41:46.131774Z"
                        },
                        {
                            "id": 5,
                            "name": "singular",
                            "category": "number",
                            "category_display": "Number",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:46.139686Z",
                            "updated_at": "2026-01-17T18:41:46.139698Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:47.586952Z",
                    "updated_at": "2026-01-17T18:41:47.586967Z",
                    "is_active": true
                },
                {
                    "id": 313,
                    "french_word": "contente",
                    "russian_word": "довольная",
                    "category": "adjective",
                    "category_display": "Adjective",
                    "level": 4,
                    "level_display": "Basic Adjectives",
                    "comment": "Féminin, singulier, nominatif, forme longue",
                    "tags": [
                        {
                            "id": 7,
                            "name": "nominative",
                            "category": "case",
                            "category_display": "Case (Declension)",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:46.144909Z",
                            "updated_at": "2026-01-17T18:41:46.144920Z"
                        },
                        {
                            "id": 9,
                            "name": "long-form",
                            "category": "form",
                            "category_display": "Form",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:46.575658Z",
                            "updated_at": "2026-01-17T18:41:46.575675Z"
                        },
                        {
                            "id": 3,
                            "name": "feminine",
                            "category": "gender",
                            "category_display": "Gender",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:46.134507Z",
                            "updated_at": "2026-01-17T18:41:46.134524Z"
                        },
                        {
                            "id": 5,
                            "name": "singular",
                            "category": "number",
                            "category_display": "Number",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:46.139686Z",
                            "updated_at": "2026-01-17T18:41:46.139698Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:47.592380Z",
                    "updated_at": "2026-01-17T18:41:47.592392Z",
                    "is_active": true
                },
                {
                    "id": 334,
                    "french_word": "déçu",
                    "russian_word": "разочарованный",
                    "category": "adjective",
                    "category_display": "Adjective",
                    "level": 4,
                    "level_display": "Basic Adjectives",
                    "comment": "Masculin, singulier, nominatif, forme longue",
                    "tags": [
                        {
                            "id": 7,
                            "name": "nominative",
                            "category": "case",
                            "category_display": "Case (Declension)",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:46.144909Z",
                            "updated_at": "2026-01-17T18:41:46.144920Z"
                        },
                        {
                            "id": 9,
                            "name": "long-form",
                            "category": "form",
                            "category_display": "Form",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:46.575658Z",
                            "updated_at": "2026-01-17T18:41:46.575675Z"
                        },
                        {
                            "id": 2,
                            "name": "masculine",
                            "category": "gender",
                            "category_display": "Gender",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:46.131757Z",
                            "updated_at": "2026-01-17T18:41:46.131774Z"
                        },
                        {
                            "id": 5,
                            "name": "singular",
                            "category": "number",
                            "category_display": "Number",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:46.139686Z",
                            "updated_at": "2026-01-17T18:41:46.139698Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:47.714515Z",
                    "updated_at": "2026-01-17T18:41:47.714538Z",
                    "is_active": true
                },
                {
                    "id": 335,
                    "french_word": "déçue",
                    "russian_word": "разочарованная",
                    "category": "adjective",
                    "category_display": "Adjective",
                    "level": 4,
                    "level_display": "Basic Adjectives",
                    "comment": "Féminin, singulier, nominatif, forme longue",
                    "tags": [
                        {
                            "id": 7,
                            "name": "nominative",
                            "category": "case",
                            "category_display": "Case (Declension)",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:46.144909Z",
                            "updated_at": "2026-01-17T18:41:46.144920Z"
                        },
                        {
                            "id": 9,
                            "name": "long-form",
                            "category": "form",
                            "category_display": "Form",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:46.575658Z",
                            "updated_at": "2026-01-17T18:41:46.575675Z"
                        },
                        {
                            "id": 3,
                            "name": "feminine",
                            "category": "gender",
                            "category_display": "Gender",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:46.134507Z",
                            "updated_at": "2026-01-17T18:41:46.134524Z"
                        },
                        {
                            "id": 5,
                            "name": "singular",
                            "category": "number",
                            "category_display": "Number",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:46.139686Z",
                            "updated_at": "2026-01-17T18:41:46.139698Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:47.721932Z",
                    "updated_at": "2026-01-17T18:41:47.721955Z",
                    "is_active": true
                },
                {
                    "id": 324,
                    "french_word": "excité",
                    "russian_word": "взволнованный",
                    "category": "adjective",
                    "category_display": "Adjective",
                    "level": 4,
                    "level_display": "Basic Adjectives",
                    "comment": "Masculin, singulier, nominatif, forme longue",
                    "tags": [
                        {
                            "id": 7,
                            "name": "nominative",
                            "category": "case",
                            "category_display": "Case (Declension)",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:46.144909Z",
                            "updated_at": "2026-01-17T18:41:46.144920Z"
                        },
                        {
                            "id": 9,
                            "name": "long-form",
                            "category": "form",
                            "category_display": "Form",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:46.575658Z",
                            "updated_at": "2026-01-17T18:41:46.575675Z"
                        },
                        {
                            "id": 2,
                            "name": "masculine",
                            "category": "gender",
                            "category_display": "Gender",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:46.131757Z",
                            "updated_at": "2026-01-17T18:41:46.131774Z"
                        },
                        {
                            "id": 5,
                            "name": "singular",
                            "category": "number",
                            "category_display": "Number",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:46.139686Z",
                            "updated_at": "2026-01-17T18:41:46.139698Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:47.656184Z",
                    "updated_at": "2026-01-17T18:41:47.656203Z",
                    "is_active": true
                },
                {
                    "id": 325,
                    "french_word": "excitée",
                    "russian_word": "взволнованная",
                    "category": "adjective",
                    "category_display": "Adjective",
                    "level": 4,
                    "level_display": "Basic Adjectives",
                    "comment": "Féminin, singulier, nominatif, forme longue",
                    "tags": [
                        {
                            "id": 7,
                            "name": "nominative",
                            "category": "case",
                            "category_display": "Case (Declension)",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:46.144909Z",
                            "updated_at": "2026-01-17T18:41:46.144920Z"
                        },
                        {
                            "id": 9,
                            "name": "long-form",
                            "category": "form",
                            "category_display": "Form",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:46.575658Z",
                            "updated_at": "2026-01-17T18:41:46.575675Z"
                        },
                        {
                            "id": 3,
                            "name": "feminine",
                            "category": "gender",
                            "category_display": "Gender",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:46.134507Z",
                            "updated_at": "2026-01-17T18:41:46.134524Z"
                        },
                        {
                            "id": 5,
                            "name": "singular",
                            "category": "number",
                            "category_display": "Number",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:46.139686Z",
                            "updated_at": "2026-01-17T18:41:46.139698Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:47.661607Z",
                    "updated_at": "2026-01-17T18:41:47.661625Z",
                    "is_active": true
                },
                {
                    "id": 154,
                    "french_word": "heureux",
                    "russian_word": "счастливый",
                    "category": "adjective",
                    "category_display": "Adjective",
                    "level": 4,
                    "level_display": "Basic Adjectives",
                    "comment": "Masculin, singulier, nominatif, forme longue",
                    "tags": [
                        {
                            "id": 7,
                            "name": "nominative",
                            "category": "case",
                            "category_display": "Case (Declension)",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:46.144909Z",
                            "updated_at": "2026-01-17T18:41:46.144920Z"
                        },
                        {
                            "id": 9,
                            "name": "long-form",
                            "category": "form",
                            "category_display": "Form",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:46.575658Z",
                            "updated_at": "2026-01-17T18:41:46.575675Z"
                        },
                        {
                            "id": 2,
                            "name": "masculine",
                            "category": "gender",
                            "category_display": "Gender",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:46.131757Z",
                            "updated_at": "2026-01-17T18:41:46.131774Z"
                        },
                        {
                            "id": 5,
                            "name": "singular",
                            "category": "number",
                            "category_display": "Number",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:46.139686Z",
                            "updated_at": "2026-01-17T18:41:46.139698Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:46.783081Z",
                    "updated_at": "2026-01-17T18:41:46.783094Z",
                    "is_active": true
                },
                {
                    "id": 330,
                    "french_word": "inquiet",
                    "russian_word": "беспокойный",
                    "category": "adjective",
                    "category_display": "Adjective",
                    "level": 4,
                    "level_display": "Basic Adjectives",
                    "comment": "Masculin, singulier, nominatif, forme longue",
                    "tags": [
                        {
                            "id": 7,
                            "name": "nominative",
                            "category": "case",
                            "category_display": "Case (Declension)",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:46.144909Z",
                            "updated_at": "2026-01-17T18:41:46.144920Z"
                        },
                        {
                            "id": 9,
                            "name": "long-form",
                            "category": "form",
                            "category_display": "Form",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:46.575658Z",
                            "updated_at": "2026-01-17T18:41:46.575675Z"
                        },
                        {
                            "id": 2,
                            "name": "masculine",
                            "category": "gender",
                            "category_display": "Gender",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:46.131757Z",
                            "updated_at": "2026-01-17T18:41:46.131774Z"
                        },
                        {
                            "id": 5,
                            "name": "singular",
                            "category": "number",
                            "category_display": "Number",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:46.139686Z",
                            "updated_at": "2026-01-17T18:41:46.139698Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:47.689584Z",
                    "updated_at": "2026-01-17T18:41:47.689606Z",
                    "is_active": true
                },
                {
                    "id": 318,
                    "french_word": "insatisfait",
                    "russian_word": "неудовлетворённый",
                    "category": "adjective",
                    "category_display": "Adjective",
                    "level": 4,
                    "level_display": "Basic Adjectives",
                    "comment": "Masculin, singulier, nominatif, forme longue",
                    "tags": [
                        {
                            "id": 7,
                            "name": "nominative",
                            "category": "case",
                            "category_display": "Case (Declension)",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:46.144909Z",
                            "updated_at": "2026-01-17T18:41:46.144920Z"
                        },
                        {
                            "id": 9,
                            "name": "long-form",
                            "category": "form",
                            "category_display": "Form",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:46.575658Z",
                            "updated_at": "2026-01-17T18:41:46.575675Z"
                        },
                        {
                            "id": 2,
                            "name": "masculine",
                            "category": "gender",
                            "category_display": "Gender",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:46.131757Z",
                            "updated_at": "2026-01-17T18:41:46.131774Z"
                        },
                        {
                            "id": 5,
                            "name": "singular",
                            "category": "number",
                            "category_display": "Number",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:46.139686Z",
                            "updated_at": "2026-01-17T18:41:46.139698Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:47.618417Z",
                    "updated_at": "2026-01-17T18:41:47.618448Z",
                    "is_active": true
                },
                {
                    "id": 319,
                    "french_word": "insatisfaite",
                    "russian_word": "неудовлетворённая",
                    "category": "adjective",
                    "category_display": "Adjective",
                    "level": 4,
                    "level_display": "Basic Adjectives",
                    "comment": "Féminin, singulier, nominatif, forme longue",
                    "tags": [
                        {
                            "id": 7,
                            "name": "nominative",
                            "category": "case",
                            "category_display": "Case (Declension)",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:46.144909Z",
                            "updated_at": "2026-01-17T18:41:46.144920Z"
                        },
                        {
                            "id": 9,
                            "name": "long-form",
                            "category": "form",
                            "category_display": "Form",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:46.575658Z",
                            "updated_at": "2026-01-17T18:41:46.575675Z"
                        },
                        {
                            "id": 3,
                            "name": "feminine",
                            "category": "gender",
                            "category_display": "Gender",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:46.134507Z",
                            "updated_at": "2026-01-17T18:41:46.134524Z"
                        },
                        {
                            "id": 5,
                            "name": "singular",
                            "category": "number",
                            "category_display": "Number",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:46.139686Z",
                            "updated_at": "2026-01-17T18:41:46.139698Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:47.627032Z",
                    "updated_at": "2026-01-17T18:41:47.627064Z",
                    "is_active": true
                },
                {
                    "id": 320,
                    "french_word": "joyeux",
                    "russian_word": "радостный",
                    "category": "adjective",
                    "category_display": "Adjective",
                    "level": 4,
                    "level_display": "Basic Adjectives",
                    "comment": "Masculin, singulier, nominatif, forme longue",
                    "tags": [
                        {
                            "id": 7,
                            "name": "nominative",
                            "category": "case",
                            "category_display": "Case (Declension)",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:46.144909Z",
                            "updated_at": "2026-01-17T18:41:46.144920Z"
                        },
                        {
                            "id": 9,
                            "name": "long-form",
                            "category": "form",
                            "category_display": "Form",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:46.575658Z",
                            "updated_at": "2026-01-17T18:41:46.575675Z"
                        },
                        {
                            "id": 2,
                            "name": "masculine",
                            "category": "gender",
                            "category_display": "Gender",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:46.131757Z",
                            "updated_at": "2026-01-17T18:41:46.131774Z"
                        },
                        {
                            "id": 5,
                            "name": "singular",
                            "category": "number",
                            "category_display": "Number",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:46.139686Z",
                            "updated_at": "2026-01-17T18:41:46.139698Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:47.633926Z",
                    "updated_at": "2026-01-17T18:41:47.633955Z",
                    "is_active": true
                },
                {
                    "id": 314,
                    "french_word": "mécontent",
                    "russian_word": "недовольный",
                    "category": "adjective",
                    "category_display": "Adjective",
                    "level": 4,
                    "level_display": "Basic Adjectives",
                    "comment": "Masculin, singulier, nominatif, forme longue",
                    "tags": [
                        {
                            "id": 7,
                            "name": "nominative",
                            "category": "case",
                            "category_display": "Case (Declension)",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:46.144909Z",
                            "updated_at": "2026-01-17T18:41:46.144920Z"
                        },
                        {
                            "id": 9,
                            "name": "long-form",
                            "category": "form",
                            "category_display": "Form",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:46.575658Z",
                            "updated_at": "2026-01-17T18:41:46.575675Z"
                        },
                        {
                            "id": 2,
                            "name": "masculine",
                            "category": "gender",
                            "category_display": "Gender",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:46.131757Z",
                            "updated_at": "2026-01-17T18:41:46.131774Z"
                        },
                        {
                            "id": 5,
                            "name": "singular",
                            "category": "number",
                            "category_display": "Number",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:46.139686Z",
                            "updated_at": "2026-01-17T18:41:46.139698Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:47.597288Z",
                    "updated_at": "2026-01-17T18:41:47.597304Z",
                    "is_active": true
                },
                {
                    "id": 315,
                    "french_word": "mécontente",
                    "russian_word": "недовольная",
                    "category": "adjective",
                    "category_display": "Adjective",
                    "level": 4,
                    "level_display": "Basic Adjectives",
                    "comment": "Féminin, singulier, nominatif, forme longue",
                    "tags": [
                        {
                            "id": 7,
                            "name": "nominative",
                            "category": "case",
                            "category_display": "Case (Declension)",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:46.144909Z",
                            "updated_at": "2026-01-17T18:41:46.144920Z"
                        },
                        {
                            "id": 9,
                            "name": "long-form",
                            "category": "form",
                            "category_display": "Form",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:46.575658Z",
                            "updated_at": "2026-01-17T18:41:46.575675Z"
                        },
                        {
                            "id": 3,
                            "name": "feminine",
                            "category": "gender",
                            "category_display": "Gender",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:46.134507Z",
                            "updated_at": "2026-01-17T18:41:46.134524Z"
                        },
                        {
                            "id": 5,
                            "name": "singular",
                            "category": "number",
                            "category_display": "Number",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:46.139686Z",
                            "updated_at": "2026-01-17T18:41:46.139698Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:47.602269Z",
                    "updated_at": "2026-01-17T18:41:47.602283Z",
                    "is_active": true
                },
                {
                    "id": 322,
                    "french_word": "mélancolique",
                    "russian_word": "меланхоличный",
                    "category": "adjective",
                    "category_display": "Adjective",
                    "level": 4,
                    "level_display": "Basic Adjectives",
                    "comment": "Masculin, singulier, nominatif, forme longue",
                    "tags": [
                        {
                            "id": 7,
                            "name": "nominative",
                            "category": "case",
                            "category_display": "Case (Declension)",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:46.144909Z",
                            "updated_at": "2026-01-17T18:41:46.144920Z"
                        },
                        {
                            "id": 9,
                            "name": "long-form",
                            "category": "form",
                            "category_display": "Form",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:46.575658Z",
                            "updated_at": "2026-01-17T18:41:46.575675Z"
                        },
                        {
                            "id": 2,
                            "name": "masculine",
                            "category": "gender",
                            "category_display": "Gender",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:46.131757Z",
                            "updated_at": "2026-01-17T18:41:46.131774Z"
                        },
                        {
                            "id": 5,
                            "name": "singular",
                            "category": "number",
                            "category_display": "Number",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:46.139686Z",
                            "updated_at": "2026-01-17T18:41:46.139698Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:47.645447Z",
                    "updated_at": "2026-01-17T18:41:47.645469Z",
                    "is_active": true
                },
                {
                    "id": 323,
                    "french_word": "mélancolique (féminin)",
                    "russian_word": "меланхоличная",
                    "category": "adjective",
                    "category_display": "Adjective",
                    "level": 4,
                    "level_display": "Basic Adjectives",
                    "comment": "Féminin, singulier, nominatif, forme longue",
                    "tags": [
                        {
                            "id": 7,
                            "name": "nominative",
                            "category": "case",
                            "category_display": "Case (Declension)",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:46.144909Z",
                            "updated_at": "2026-01-17T18:41:46.144920Z"
                        },
                        {
                            "id": 9,
                            "name": "long-form",
                            "category": "form",
                            "category_display": "Form",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:46.575658Z",
                            "updated_at": "2026-01-17T18:41:46.575675Z"
                        },
                        {
                            "id": 3,
                            "name": "feminine",
                            "category": "gender",
                            "category_display": "Gender",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:46.134507Z",
                            "updated_at": "2026-01-17T18:41:46.134524Z"
                        },
                        {
                            "id": 5,
                            "name": "singular",
                            "category": "number",
                            "category_display": "Number",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:46.139686Z",
                            "updated_at": "2026-01-17T18:41:46.139698Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:47.650751Z",
                    "updated_at": "2026-01-17T18:41:47.650769Z",
                    "is_active": true
                },
                {
                    "id": 252,
                    "french_word": "nerveux",
                    "russian_word": "нервный",
                    "category": "adjective",
                    "category_display": "Adjective",
                    "level": 4,
                    "level_display": "Basic Adjectives",
                    "comment": "Masculin, singulier, nominatif, forme longue",
                    "tags": [
                        {
                            "id": 7,
                            "name": "nominative",
                            "category": "case",
                            "category_display": "Case (Declension)",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:46.144909Z",
                            "updated_at": "2026-01-17T18:41:46.144920Z"
                        },
                        {
                            "id": 9,
                            "name": "long-form",
                            "category": "form",
                            "category_display": "Form",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:46.575658Z",
                            "updated_at": "2026-01-17T18:41:46.575675Z"
                        },
                        {
                            "id": 2,
                            "name": "masculine",
                            "category": "gender",
                            "category_display": "Gender",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:46.131757Z",
                            "updated_at": "2026-01-17T18:41:46.131774Z"
                        },
                        {
                            "id": 5,
                            "name": "singular",
                            "category": "number",
                            "category_display": "Number",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:46.139686Z",
                            "updated_at": "2026-01-17T18:41:46.139698Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:47.277670Z",
                    "updated_at": "2026-01-17T18:41:47.277682Z",
                    "is_active": true
                },
                {
                    "id": 316,
                    "french_word": "satisfait",
                    "russian_word": "удовлетворённый",
                    "category": "adjective",
                    "category_display": "Adjective",
                    "level": 4,
                    "level_display": "Basic Adjectives",
                    "comment": "Masculin, singulier, nominatif, forme longue",
                    "tags": [
                        {
                            "id": 7,
                            "name": "nominative",
                            "category": "case",
                            "category_display": "Case (Declension)",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:46.144909Z",
                            "updated_at": "2026-01-17T18:41:46.144920Z"
                        },
                        {
                            "id": 9,
                            "name": "long-form",
                            "category": "form",
                            "category_display": "Form",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:46.575658Z",
                            "updated_at": "2026-01-17T18:41:46.575675Z"
                        },
                        {
                            "id": 2,
                            "name": "masculine",
                            "category": "gender",
                            "category_display": "Gender",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:46.131757Z",
                            "updated_at": "2026-01-17T18:41:46.131774Z"
                        },
                        {
                            "id": 5,
                            "name": "singular",
                            "category": "number",
                            "category_display": "Number",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:46.139686Z",
                            "updated_at": "2026-01-17T18:41:46.139698Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:47.607986Z",
                    "updated_at": "2026-01-17T18:41:47.607997Z",
                    "is_active": true
                },
                {
                    "id": 317,
                    "french_word": "satisfaite",
                    "russian_word": "удовлетворённая",
                    "category": "adjective",
                    "category_display": "Adjective",
                    "level": 4,
                    "level_display": "Basic Adjectives",
                    "comment": "Féminin, singulier, nominatif, forme longue",
                    "tags": [
                        {
                            "id": 7,
                            "name": "nominative",
                            "category": "case",
                            "category_display": "Case (Declension)",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:46.144909Z",
                            "updated_at": "2026-01-17T18:41:46.144920Z"
                        },
                        {
                            "id": 9,
                            "name": "long-form",
                            "category": "form",
                            "category_display": "Form",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:46.575658Z",
                            "updated_at": "2026-01-17T18:41:46.575675Z"
                        },
                        {
                            "id": 3,
                            "name": "feminine",
                            "category": "gender",
                            "category_display": "Gender",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:46.134507Z",
                            "updated_at": "2026-01-17T18:41:46.134524Z"
                        },
                        {
                            "id": 5,
                            "name": "singular",
                            "category": "number",
                            "category_display": "Number",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:46.139686Z",
                            "updated_at": "2026-01-17T18:41:46.139698Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:47.613019Z",
                    "updated_at": "2026-01-17T18:41:47.613032Z",
                    "is_active": true
                },
                {
                    "id": 328,
                    "french_word": "serein",
                    "russian_word": "спокойный",
                    "category": "adjective",
                    "category_display": "Adjective",
                    "level": 4,
                    "level_display": "Basic Adjectives",
                    "comment": "Masculin, singulier, nominatif, forme longue",
                    "tags": [
                        {
                            "id": 7,
                            "name": "nominative",
                            "category": "case",
                            "category_display": "Case (Declension)",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:46.144909Z",
                            "updated_at": "2026-01-17T18:41:46.144920Z"
                        },
                        {
                            "id": 9,
                            "name": "long-form",
                            "category": "form",
                            "category_display": "Form",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:46.575658Z",
                            "updated_at": "2026-01-17T18:41:46.575675Z"
                        },
                        {
                            "id": 2,
                            "name": "masculine",
                            "category": "gender",
                            "category_display": "Gender",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:46.131757Z",
                            "updated_at": "2026-01-17T18:41:46.131774Z"
                        },
                        {
                            "id": 5,
                            "name": "singular",
                            "category": "number",
                            "category_display": "Number",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:46.139686Z",
                            "updated_at": "2026-01-17T18:41:46.139698Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:47.678330Z",
                    "updated_at": "2026-01-17T18:41:47.678352Z",
                    "is_active": true
                },
                {
                    "id": 329,
                    "french_word": "sereine",
                    "russian_word": "спокойная",
                    "category": "adjective",
                    "category_display": "Adjective",
                    "level": 4,
                    "level_display": "Basic Adjectives",
                    "comment": "Féminin, singulier, nominatif, forme longue",
                    "tags": [
                        {
                            "id": 7,
                            "name": "nominative",
                            "category": "case",
                            "category_display": "Case (Declension)",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:46.144909Z",
                            "updated_at": "2026-01-17T18:41:46.144920Z"
                        },
                        {
                            "id": 9,
                            "name": "long-form",
                            "category": "form",
                            "category_display": "Form",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:46.575658Z",
                            "updated_at": "2026-01-17T18:41:46.575675Z"
                        },
                        {
                            "id": 3,
                            "name": "feminine",
                            "category": "gender",
                            "category_display": "Gender",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:46.134507Z",
                            "updated_at": "2026-01-17T18:41:46.134524Z"
                        },
                        {
                            "id": 5,
                            "name": "singular",
                            "category": "number",
                            "category_display": "Number",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:46.139686Z",
                            "updated_at": "2026-01-17T18:41:46.139698Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:47.684099Z",
                    "updated_at": "2026-01-17T18:41:47.684121Z",
                    "is_active": true
                },
                {
                    "id": 156,
                    "french_word": "triste",
                    "russian_word": "грустный",
                    "category": "adjective",
                    "category_display": "Adjective",
                    "level": 4,
                    "level_display": "Basic Adjectives",
                    "comment": "Masculin, singulier, nominatif, forme longue",
                    "tags": [
                        {
                            "id": 7,
                            "name": "nominative",
                            "category": "case",
                            "category_display": "Case (Declension)",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:46.144909Z",
                            "updated_at": "2026-01-17T18:41:46.144920Z"
                        },
                        {
                            "id": 9,
                            "name": "long-form",
                            "category": "form",
                            "category_display": "Form",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:46.575658Z",
                            "updated_at": "2026-01-17T18:41:46.575675Z"
                        },
                        {
                            "id": 2,
                            "name": "masculine",
                            "category": "gender",
                            "category_display": "Gender",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:46.131757Z",
                            "updated_at": "2026-01-17T18:41:46.131774Z"
                        },
                        {
                            "id": 5,
                            "name": "singular",
                            "category": "number",
                            "category_display": "Number",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:46.139686Z",
                            "updated_at": "2026-01-17T18:41:46.139698Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:46.793874Z",
                    "updated_at": "2026-01-17T18:41:46.793887Z",
                    "is_active": true
                },
                {
                    "id": 157,
                    "french_word": "triste (féminin)",
                    "russian_word": "грустная",
                    "category": "adjective",
                    "category_display": "Adjective",
                    "level": 4,
                    "level_display": "Basic Adjectives",
                    "comment": "Féminin, singulier, nominatif, forme longue",
                    "tags": [
                        {
                            "id": 7,
                            "name": "nominative",
                            "category": "case",
                            "category_display": "Case (Declension)",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:46.144909Z",
                            "updated_at": "2026-01-17T18:41:46.144920Z"
                        },
                        {
                            "id": 9,
                            "name": "long-form",
                            "category": "form",
                            "category_display": "Form",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:46.575658Z",
                            "updated_at": "2026-01-17T18:41:46.575675Z"
                        },
                        {
                            "id": 3,
                            "name": "feminine",
                            "category": "gender",
                            "category_display": "Gender",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:46.134507Z",
                            "updated_at": "2026-01-17T18:41:46.134524Z"
                        },
                        {
                            "id": 5,
                            "name": "singular",
                            "category": "number",
                            "category_display": "Number",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:46.139686Z",
                            "updated_at": "2026-01-17T18:41:46.139698Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:46.798570Z",
                    "updated_at": "2026-01-17T18:41:46.798581Z",
                    "is_active": true
                }
            ],
            "steps": [
                {
                    "id": 80,
                    "sub_level": 21,
                    "order": 1,
                    "step_type": "learning_card",
                    "step_type_display": "Learning Card",
                    "title": "Introduction - Adjectifs de sentiment et émotion",
                    "description": "Adjectifs pour décrire les sentiments et émotions",
                    "is_required": true,
                    "config": {
                        "content": "Adjectifs pour décrire les sentiments et émotions",
                        "concept_type": "grammar"
                    },
                    "is_active": true,
                    "is_completed": false,
                    "progress": {
                        "is_completed": false,
                        "completed_at": null,
                        "score": null,
                        "attempts": 0,
                        "best_score": null
                    },
                    "created_at": "2026-01-17T18:41:48.070783Z",
                    "updated_at": "2026-01-17T18:41:48.070795Z"
                },
                {
                    "id": 81,
                    "sub_level": 21,
                    "order": 2,
                    "step_type": "game_matching",
                    "step_type_display": "Game - Matching",
                    "title": "Matching - Adjectifs de sentiment et émotion",
                    "description": "Matching - Adjectifs de sentiment et émotion",
                    "is_required": true,
                    "config": {
                        "game_mode": "matching",
                        "instructions": "Pratiquez les adjectifs avec le mode matching",
                        "min_score": 75,
                        "level": 4,
                        "sub_level": 8
                    },
                    "is_active": true,
                    "is_completed": false,
                    "progress": {
                        "is_completed": false,
                        "completed_at": null,
                        "score": null,
                        "attempts": 0,
                        "best_score": null
                    },
                    "created_at": "2026-01-17T18:41:48.074141Z",
                    "updated_at": "2026-01-17T18:41:48.074151Z"
                },
                {
                    "id": 82,
                    "sub_level": 21,
                    "order": 3,
                    "step_type": "game_flashcard",
                    "step_type_display": "Game - Flashcard",
                    "title": "Flashcard - Adjectifs de sentiment et émotion",
                    "description": "Flashcard - Adjectifs de sentiment et émotion",
                    "is_required": false,
                    "config": {
                        "game_mode": "flashcard",
                        "instructions": "Pratiquez les adjectifs avec le mode flashcard",
                        "min_score": 75,
                        "level": 4,
                        "sub_level": 8
                    },
                    "is_active": true,
                    "is_completed": false,
                    "progress": {
                        "is_completed": false,
                        "completed_at": null,
                        "score": null,
                        "attempts": 0,
                        "best_score": null
                    },
                    "created_at": "2026-01-17T18:41:48.077320Z",
                    "updated_at": "2026-01-17T18:41:48.077330Z"
                },
                {
                    "id": 83,
                    "sub_level": 21,
                    "order": 4,
                    "step_type": "game_multiple_choice",
                    "step_type_display": "Game - Multiple Choice",
                    "title": "Multiple Choice - Adjectifs de sentiment et émotion",
                    "description": "Multiple Choice - Adjectifs de sentiment et émotion",
                    "is_required": false,
                    "config": {
                        "game_mode": "multiple_choice",
                        "instructions": "Pratiquez les adjectifs avec le mode multiple_choice",
                        "min_score": 75,
                        "level": 4,
                        "sub_level": 8
                    },
                    "is_active": true,
                    "is_completed": false,
                    "progress": {
                        "is_completed": false,
                        "completed_at": null,
                        "score": null,
                        "attempts": 0,
                        "best_score": null
                    },
                    "created_at": "2026-01-17T18:41:48.080693Z",
                    "updated_at": "2026-01-17T18:41:48.080703Z"
                }
            ],
            "videos": [],
            "learning_cards": [
                {
                    "id": 80,
                    "sub_level": 21,
                    "order": 1,
                    "step_type": "learning_card",
                    "step_type_display": "Learning Card",
                    "title": "Introduction - Adjectifs de sentiment et émotion",
                    "description": "Adjectifs pour décrire les sentiments et émotions",
                    "is_required": true,
                    "config": {
                        "content": "Adjectifs pour décrire les sentiments et émotions",
                        "concept_type": "grammar"
                    },
                    "is_active": true,
                    "is_completed": false,
                    "progress": {
                        "is_completed": false,
                        "completed_at": null,
                        "score": null,
                        "attempts": 0,
                        "best_score": null
                    },
                    "created_at": "2026-01-17T18:41:48.070783Z",
                    "updated_at": "2026-01-17T18:41:48.070795Z"
                }
            ],
            "exercises": [],
            "total_words": 27,
            "is_unlocked": false,
            "is_completed": false,
            "progress": {
                "words_mastered": 0,
                "total_words": 27,
                "completion_percentage": 0.0,
                "steps": []
            },
            "is_active": true,
            "created_at": "2026-01-17T18:41:48.041997Z",
            "updated_at": "2026-01-17T18:41:48.042007Z"
        },
        {
            "id": 22,
            "level": 5,
            "level_display": "Small Phrases",
            "sub_level": 1,
            "title": "Phrases de base",
            "description": "Phrases essentielles pour communiquer",
            "order": 1,
            "word_pairs": [
                {
                    "id": 373,
                    "french_word": "appelez la police",
                    "russian_word": "вызовите полицию",
                    "category": "phrase",
                    "category_display": "Phrase",
                    "level": 5,
                    "level_display": "Small Phrases",
                    "comment": "Call the police",
                    "tags": [],
                    "created_at": "2026-01-17T18:41:48.210087Z",
                    "updated_at": "2026-01-17T18:41:48.210099Z",
                    "is_active": true
                },
                {
                    "id": 372,
                    "french_word": "appelez un médecin",
                    "russian_word": "вызовите врача",
                    "category": "phrase",
                    "category_display": "Phrase",
                    "level": 5,
                    "level_display": "Small Phrases",
                    "comment": "Call a doctor",
                    "tags": [],
                    "created_at": "2026-01-17T18:41:48.207158Z",
                    "updated_at": "2026-01-17T18:41:48.207167Z",
                    "is_active": true
                },
                {
                    "id": 382,
                    "french_word": "assez",
                    "russian_word": "достаточно",
                    "category": "adverb",
                    "category_display": "Adverb",
                    "level": 5,
                    "level_display": "Small Phrases",
                    "comment": "Enough",
                    "tags": [
                        {
                            "id": 27,
                            "name": "adverb",
                            "category": "category",
                            "category_display": "category",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:53.615110Z",
                            "updated_at": "2026-01-17T18:41:53.615125Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:48.238455Z",
                    "updated_at": "2026-01-17T18:41:53.784611Z",
                    "is_active": true
                },
                {
                    "id": 37,
                    "french_word": "au revoir",
                    "russian_word": "до свидания",
                    "category": "interjection",
                    "category_display": "Interjection",
                    "level": 2,
                    "level_display": "Basic Words",
                    "comment": "Goodbye",
                    "tags": [
                        {
                            "id": 29,
                            "name": "interjection",
                            "category": "category",
                            "category_display": "category",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:54.259134Z",
                            "updated_at": "2026-01-17T18:41:54.259150Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:45.974137Z",
                    "updated_at": "2026-01-17T18:41:54.272608Z",
                    "is_active": true
                },
                {
                    "id": 371,
                    "french_word": "au secours!",
                    "russian_word": "помогите!",
                    "category": "phrase",
                    "category_display": "Phrase",
                    "level": 5,
                    "level_display": "Small Phrases",
                    "comment": "Help!",
                    "tags": [],
                    "created_at": "2026-01-17T18:41:48.204496Z",
                    "updated_at": "2026-01-17T18:41:48.204506Z",
                    "is_active": true
                },
                {
                    "id": 55,
                    "french_word": "aujourd'hui",
                    "russian_word": "сегодня",
                    "category": "adverb",
                    "category_display": "Adverb",
                    "level": 2,
                    "level_display": "Basic Words",
                    "comment": "Today",
                    "tags": [
                        {
                            "id": 27,
                            "name": "adverb",
                            "category": "category",
                            "category_display": "category",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:53.615110Z",
                            "updated_at": "2026-01-17T18:41:53.615125Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:46.023034Z",
                    "updated_at": "2026-01-17T18:41:53.629718Z",
                    "is_active": true
                },
                {
                    "id": 52,
                    "french_word": "beaucoup",
                    "russian_word": "много",
                    "category": "adverb",
                    "category_display": "Adverb",
                    "level": 2,
                    "level_display": "Basic Words",
                    "comment": "Much/Many",
                    "tags": [
                        {
                            "id": 27,
                            "name": "adverb",
                            "category": "category",
                            "category_display": "category",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:53.615110Z",
                            "updated_at": "2026-01-17T18:41:53.615125Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:46.014668Z",
                    "updated_at": "2026-01-17T18:41:53.769119Z",
                    "is_active": true
                },
                {
                    "id": 375,
                    "french_word": "bon appétit",
                    "russian_word": "приятного аппетита",
                    "category": "phrase",
                    "category_display": "Phrase",
                    "level": 5,
                    "level_display": "Small Phrases",
                    "comment": "Enjoy your meal",
                    "tags": [],
                    "created_at": "2026-01-17T18:41:48.216212Z",
                    "updated_at": "2026-01-17T18:41:48.216222Z",
                    "is_active": true
                },
                {
                    "id": 34,
                    "french_word": "bonjour",
                    "russian_word": "здравствуйте",
                    "category": "interjection",
                    "category_display": "Interjection",
                    "level": 2,
                    "level_display": "Basic Words",
                    "comment": "Hello/Good day",
                    "tags": [
                        {
                            "id": 29,
                            "name": "interjection",
                            "category": "category",
                            "category_display": "category",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:54.259134Z",
                            "updated_at": "2026-01-17T18:41:54.259150Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:45.966456Z",
                    "updated_at": "2026-01-17T18:41:54.267344Z",
                    "is_active": true
                },
                {
                    "id": 40,
                    "french_word": "bonne nuit",
                    "russian_word": "спокойной ночи",
                    "category": "phrase",
                    "category_display": "Phrase",
                    "level": 2,
                    "level_display": "Basic Words",
                    "comment": "Good night",
                    "tags": [],
                    "created_at": "2026-01-17T18:41:45.982203Z",
                    "updated_at": "2026-01-17T18:41:48.092497Z",
                    "is_active": true
                },
                {
                    "id": 41,
                    "french_word": "bonsoir",
                    "russian_word": "добрый вечер",
                    "category": "phrase",
                    "category_display": "Phrase",
                    "level": 2,
                    "level_display": "Basic Words",
                    "comment": "Good evening",
                    "tags": [],
                    "created_at": "2026-01-17T18:41:45.985420Z",
                    "updated_at": "2026-01-17T18:41:48.089699Z",
                    "is_active": true
                },
                {
                    "id": 369,
                    "french_word": "c'est bon marché",
                    "russian_word": "это дёшево",
                    "category": "phrase",
                    "category_display": "Phrase",
                    "level": 5,
                    "level_display": "Small Phrases",
                    "comment": "It's cheap",
                    "tags": [],
                    "created_at": "2026-01-17T18:41:48.198616Z",
                    "updated_at": "2026-01-17T18:41:48.198628Z",
                    "is_active": true
                },
                {
                    "id": 368,
                    "french_word": "c'est cher",
                    "russian_word": "это дорого",
                    "category": "phrase",
                    "category_display": "Phrase",
                    "level": 5,
                    "level_display": "Small Phrases",
                    "comment": "It's expensive",
                    "tags": [],
                    "created_at": "2026-01-17T18:41:48.196052Z",
                    "updated_at": "2026-01-17T18:41:48.196065Z",
                    "is_active": true
                },
                {
                    "id": 377,
                    "french_word": "c'est délicieux",
                    "russian_word": "это вкусно",
                    "category": "phrase",
                    "category_display": "Phrase",
                    "level": 5,
                    "level_display": "Small Phrases",
                    "comment": "It's delicious",
                    "tags": [],
                    "created_at": "2026-01-17T18:41:48.221757Z",
                    "updated_at": "2026-01-17T18:41:48.221769Z",
                    "is_active": true
                },
                {
                    "id": 366,
                    "french_word": "combien ça coûte?",
                    "russian_word": "сколько это стоит?",
                    "category": "phrase",
                    "category_display": "Phrase",
                    "level": 5,
                    "level_display": "Small Phrases",
                    "comment": "How much does it cost?",
                    "tags": [],
                    "created_at": "2026-01-17T18:41:48.190816Z",
                    "updated_at": "2026-01-17T18:41:48.190829Z",
                    "is_active": true
                },
                {
                    "id": 380,
                    "french_word": "combien?",
                    "russian_word": "сколько?",
                    "category": "phrase",
                    "category_display": "Phrase",
                    "level": 5,
                    "level_display": "Small Phrases",
                    "comment": "How many?",
                    "tags": [],
                    "created_at": "2026-01-17T18:41:48.230046Z",
                    "updated_at": "2026-01-17T18:41:48.230059Z",
                    "is_active": true
                },
                {
                    "id": 340,
                    "french_word": "comment allez-vous?",
                    "russian_word": "как дела?",
                    "category": "phrase",
                    "category_display": "Phrase",
                    "level": 5,
                    "level_display": "Small Phrases",
                    "comment": "How are you?",
                    "tags": [],
                    "created_at": "2026-01-17T18:41:48.115875Z",
                    "updated_at": "2026-01-17T18:41:48.115890Z",
                    "is_active": true
                },
                {
                    "id": 344,
                    "french_word": "comment vous appelez-vous?",
                    "russian_word": "как вас зовут?",
                    "category": "phrase",
                    "category_display": "Phrase",
                    "level": 5,
                    "level_display": "Small Phrases",
                    "comment": "What is your name?",
                    "tags": [],
                    "created_at": "2026-01-17T18:41:48.125994Z",
                    "updated_at": "2026-01-17T18:41:48.126010Z",
                    "is_active": true
                },
                {
                    "id": 338,
                    "french_word": "de rien",
                    "russian_word": "пожалуйста",
                    "category": "interjection",
                    "category_display": "Interjection",
                    "level": 5,
                    "level_display": "Small Phrases",
                    "comment": "You're welcome",
                    "tags": [
                        {
                            "id": 29,
                            "name": "interjection",
                            "category": "category",
                            "category_display": "category",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:54.259134Z",
                            "updated_at": "2026-01-17T18:41:54.259150Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:48.105554Z",
                    "updated_at": "2026-01-17T18:41:54.293527Z",
                    "is_active": true
                },
                {
                    "id": 56,
                    "french_word": "demain",
                    "russian_word": "завтра",
                    "category": "adverb",
                    "category_display": "Adverb",
                    "level": 2,
                    "level_display": "Basic Words",
                    "comment": "Tomorrow",
                    "tags": [
                        {
                            "id": 27,
                            "name": "adverb",
                            "category": "category",
                            "category_display": "category",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:53.615110Z",
                            "updated_at": "2026-01-17T18:41:53.615125Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:46.025804Z",
                    "updated_at": "2026-01-17T18:41:53.635545Z",
                    "is_active": true
                },
                {
                    "id": 39,
                    "french_word": "excusez-moi",
                    "russian_word": "извините",
                    "category": "interjection",
                    "category_display": "Interjection",
                    "level": 2,
                    "level_display": "Basic Words",
                    "comment": "Excuse me",
                    "tags": [
                        {
                            "id": 29,
                            "name": "interjection",
                            "category": "category",
                            "category_display": "category",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:54.259134Z",
                            "updated_at": "2026-01-17T18:41:54.259150Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:45.979369Z",
                    "updated_at": "2026-01-17T18:41:54.303967Z",
                    "is_active": true
                },
                {
                    "id": 57,
                    "french_word": "hier",
                    "russian_word": "вчера",
                    "category": "adverb",
                    "category_display": "Adverb",
                    "level": 2,
                    "level_display": "Basic Words",
                    "comment": "Yesterday",
                    "tags": [
                        {
                            "id": 27,
                            "name": "adverb",
                            "category": "category",
                            "category_display": "category",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:53.615110Z",
                            "updated_at": "2026-01-17T18:41:53.615125Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:46.028504Z",
                    "updated_at": "2026-01-17T18:41:53.641404Z",
                    "is_active": true
                },
                {
                    "id": 361,
                    "french_word": "ici",
                    "russian_word": "здесь",
                    "category": "adverb",
                    "category_display": "Adverb",
                    "level": 5,
                    "level_display": "Small Phrases",
                    "comment": "Here",
                    "tags": [
                        {
                            "id": 27,
                            "name": "adverb",
                            "category": "category",
                            "category_display": "category",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:53.615110Z",
                            "updated_at": "2026-01-17T18:41:53.615125Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:48.177816Z",
                    "updated_at": "2026-01-17T18:41:53.734257Z",
                    "is_active": true
                },
                {
                    "id": 384,
                    "french_word": "il fait beau",
                    "russian_word": "хорошая погода",
                    "category": "phrase",
                    "category_display": "Phrase",
                    "level": 5,
                    "level_display": "Small Phrases",
                    "comment": "Nice weather",
                    "tags": [],
                    "created_at": "2026-01-17T18:41:48.243938Z",
                    "updated_at": "2026-01-17T18:41:48.243950Z",
                    "is_active": true
                },
                {
                    "id": 388,
                    "french_word": "il fait chaud",
                    "russian_word": "жарко",
                    "category": "phrase",
                    "category_display": "Phrase",
                    "level": 5,
                    "level_display": "Small Phrases",
                    "comment": "It's hot",
                    "tags": [],
                    "created_at": "2026-01-17T18:41:48.255344Z",
                    "updated_at": "2026-01-17T18:41:48.255356Z",
                    "is_active": true
                },
                {
                    "id": 387,
                    "french_word": "il fait froid",
                    "russian_word": "холодно",
                    "category": "phrase",
                    "category_display": "Phrase",
                    "level": 5,
                    "level_display": "Small Phrases",
                    "comment": "It's cold",
                    "tags": [],
                    "created_at": "2026-01-17T18:41:48.252440Z",
                    "updated_at": "2026-01-17T18:41:48.252452Z",
                    "is_active": true
                }
            ],
            "steps": [
                {
                    "id": 84,
                    "sub_level": 22,
                    "order": 1,
                    "step_type": "learning_card",
                    "step_type_display": "Learning Card",
                    "title": "Introduction - Phrases de base",
                    "description": "Phrases essentielles pour communiquer",
                    "is_required": true,
                    "config": {
                        "content": "Phrases essentielles pour communiquer",
                        "concept_type": "vocabulary"
                    },
                    "is_active": true,
                    "is_completed": false,
                    "progress": {
                        "is_completed": false,
                        "completed_at": null,
                        "score": null,
                        "attempts": 0,
                        "best_score": null
                    },
                    "created_at": "2026-01-17T18:41:48.321788Z",
                    "updated_at": "2026-01-17T18:41:48.321799Z"
                },
                {
                    "id": 85,
                    "sub_level": 22,
                    "order": 2,
                    "step_type": "game_matching",
                    "step_type_display": "Game - Matching",
                    "title": "Reconstruisez la phrase - Phrases de base",
                    "description": "Reconstruisez la phrase - Phrases de base",
                    "is_required": true,
                    "config": {
                        "game_mode": "phrase_reconstruction",
                        "instructions": "Reconstruisez la phrase",
                        "min_score": 70,
                        "level": 5,
                        "sub_level": 1
                    },
                    "is_active": true,
                    "is_completed": false,
                    "progress": {
                        "is_completed": false,
                        "completed_at": null,
                        "score": null,
                        "attempts": 0,
                        "best_score": null
                    },
                    "created_at": "2026-01-17T18:41:48.325915Z",
                    "updated_at": "2026-01-17T18:41:48.325926Z"
                },
                {
                    "id": 86,
                    "sub_level": 22,
                    "order": 3,
                    "step_type": "game_multiple_choice",
                    "step_type_display": "Game - Multiple Choice",
                    "title": "Complétez la phrase - Phrases de base",
                    "description": "Complétez la phrase - Phrases de base",
                    "is_required": true,
                    "config": {
                        "game_mode": "phrase_completion",
                        "instructions": "Complétez la phrase",
                        "min_score": 70,
                        "level": 5,
                        "sub_level": 1
                    },
                    "is_active": true,
                    "is_completed": false,
                    "progress": {
                        "is_completed": false,
                        "completed_at": null,
                        "score": null,
                        "attempts": 0,
                        "best_score": null
                    },
                    "created_at": "2026-01-17T18:41:48.329438Z",
                    "updated_at": "2026-01-17T18:41:48.329449Z"
                },
                {
                    "id": 87,
                    "sub_level": 22,
                    "order": 4,
                    "step_type": "game_matching",
                    "step_type_display": "Game - Matching",
                    "title": "Associez les phrases - Phrases de base",
                    "description": "Associez les phrases - Phrases de base",
                    "is_required": false,
                    "config": {
                        "game_mode": "matching",
                        "instructions": "Associez les phrases",
                        "min_score": 70,
                        "level": 5,
                        "sub_level": 1
                    },
                    "is_active": true,
                    "is_completed": false,
                    "progress": {
                        "is_completed": false,
                        "completed_at": null,
                        "score": null,
                        "attempts": 0,
                        "best_score": null
                    },
                    "created_at": "2026-01-17T18:41:48.333043Z",
                    "updated_at": "2026-01-17T18:41:48.333053Z"
                }
            ],
            "videos": [],
            "learning_cards": [
                {
                    "id": 84,
                    "sub_level": 22,
                    "order": 1,
                    "step_type": "learning_card",
                    "step_type_display": "Learning Card",
                    "title": "Introduction - Phrases de base",
                    "description": "Phrases essentielles pour communiquer",
                    "is_required": true,
                    "config": {
                        "content": "Phrases essentielles pour communiquer",
                        "concept_type": "vocabulary"
                    },
                    "is_active": true,
                    "is_completed": false,
                    "progress": {
                        "is_completed": false,
                        "completed_at": null,
                        "score": null,
                        "attempts": 0,
                        "best_score": null
                    },
                    "created_at": "2026-01-17T18:41:48.321788Z",
                    "updated_at": "2026-01-17T18:41:48.321799Z"
                }
            ],
            "exercises": [],
            "total_words": 26,
            "is_unlocked": false,
            "is_completed": false,
            "progress": {
                "words_mastered": 0,
                "total_words": 26,
                "completion_percentage": 0.0,
                "steps": []
            },
            "is_active": true,
            "created_at": "2026-01-17T18:41:48.313981Z",
            "updated_at": "2026-01-17T18:41:48.313992Z"
        },
        {
            "id": 23,
            "level": 5,
            "level_display": "Small Phrases",
            "sub_level": 2,
            "title": "Questions courantes",
            "description": "Apprenez à poser des questions",
            "order": 2,
            "word_pairs": [
                {
                    "id": 386,
                    "french_word": "il neige",
                    "russian_word": "идёт снег",
                    "category": "phrase",
                    "category_display": "Phrase",
                    "level": 5,
                    "level_display": "Small Phrases",
                    "comment": "It's snowing",
                    "tags": [],
                    "created_at": "2026-01-17T18:41:48.249707Z",
                    "updated_at": "2026-01-17T18:41:48.249719Z",
                    "is_active": true
                },
                {
                    "id": 385,
                    "french_word": "il pleut",
                    "russian_word": "идёт дождь",
                    "category": "phrase",
                    "category_display": "Phrase",
                    "level": 5,
                    "level_display": "Small Phrases",
                    "comment": "It's raining",
                    "tags": [],
                    "created_at": "2026-01-17T18:41:48.246885Z",
                    "updated_at": "2026-01-17T18:41:48.246897Z",
                    "is_active": true
                },
                {
                    "id": 398,
                    "french_word": "j'ai",
                    "russian_word": "у меня есть",
                    "category": "phrase",
                    "category_display": "Phrase",
                    "level": 5,
                    "level_display": "Small Phrases",
                    "comment": "I have",
                    "tags": [],
                    "created_at": "2026-01-17T18:41:48.280892Z",
                    "updated_at": "2026-01-17T18:41:48.280902Z",
                    "is_active": true
                },
                {
                    "id": 356,
                    "french_word": "j'ai chaud",
                    "russian_word": "мне жарко",
                    "category": "phrase",
                    "category_display": "Phrase",
                    "level": 5,
                    "level_display": "Small Phrases",
                    "comment": "I'm hot",
                    "tags": [],
                    "created_at": "2026-01-17T18:41:48.164911Z",
                    "updated_at": "2026-01-17T18:41:48.164930Z",
                    "is_active": true
                },
                {
                    "id": 353,
                    "french_word": "j'ai faim",
                    "russian_word": "я хочу есть",
                    "category": "phrase",
                    "category_display": "Phrase",
                    "level": 5,
                    "level_display": "Small Phrases",
                    "comment": "I'm hungry",
                    "tags": [],
                    "created_at": "2026-01-17T18:41:48.156936Z",
                    "updated_at": "2026-01-17T18:41:48.156949Z",
                    "is_active": true
                },
                {
                    "id": 355,
                    "french_word": "j'ai froid",
                    "russian_word": "мне холодно",
                    "category": "phrase",
                    "category_display": "Phrase",
                    "level": 5,
                    "level_display": "Small Phrases",
                    "comment": "I'm cold",
                    "tags": [],
                    "created_at": "2026-01-17T18:41:48.162152Z",
                    "updated_at": "2026-01-17T18:41:48.162162Z",
                    "is_active": true
                },
                {
                    "id": 354,
                    "french_word": "j'ai soif",
                    "russian_word": "я хочу пить",
                    "category": "phrase",
                    "category_display": "Phrase",
                    "level": 5,
                    "level_display": "Small Phrases",
                    "comment": "I'm thirsty",
                    "tags": [],
                    "created_at": "2026-01-17T18:41:48.159471Z",
                    "updated_at": "2026-01-17T18:41:48.159481Z",
                    "is_active": true
                },
                {
                    "id": 357,
                    "french_word": "j'ai sommeil",
                    "russian_word": "я хочу спать",
                    "category": "phrase",
                    "category_display": "Phrase",
                    "level": 5,
                    "level_display": "Small Phrases",
                    "comment": "I'm sleepy",
                    "tags": [],
                    "created_at": "2026-01-17T18:41:48.167530Z",
                    "updated_at": "2026-01-17T18:41:48.167545Z",
                    "is_active": true
                },
                {
                    "id": 379,
                    "french_word": "j'aime",
                    "russian_word": "мне нравится",
                    "category": "phrase",
                    "category_display": "Phrase",
                    "level": 5,
                    "level_display": "Small Phrases",
                    "comment": "I like",
                    "tags": [],
                    "created_at": "2026-01-17T18:41:48.227109Z",
                    "updated_at": "2026-01-17T18:41:48.227122Z",
                    "is_active": true
                },
                {
                    "id": 348,
                    "french_word": "je comprends",
                    "russian_word": "я понимаю",
                    "category": "phrase",
                    "category_display": "Phrase",
                    "level": 5,
                    "level_display": "Small Phrases",
                    "comment": "I understand",
                    "tags": [],
                    "created_at": "2026-01-17T18:41:48.136075Z",
                    "updated_at": "2026-01-17T18:41:48.136091Z",
                    "is_active": true
                },
                {
                    "id": 396,
                    "french_word": "je fais",
                    "russian_word": "я делаю",
                    "category": "phrase",
                    "category_display": "Phrase",
                    "level": 5,
                    "level_display": "Small Phrases",
                    "comment": "I'm doing",
                    "tags": [],
                    "created_at": "2026-01-17T18:41:48.275894Z",
                    "updated_at": "2026-01-17T18:41:48.275907Z",
                    "is_active": true
                },
                {
                    "id": 345,
                    "french_word": "je m'appelle",
                    "russian_word": "меня зовут",
                    "category": "phrase",
                    "category_display": "Phrase",
                    "level": 5,
                    "level_display": "Small Phrases",
                    "comment": "My name is",
                    "tags": [],
                    "created_at": "2026-01-17T18:41:48.128480Z",
                    "updated_at": "2026-01-17T18:41:48.128495Z",
                    "is_active": true
                },
                {
                    "id": 378,
                    "french_word": "je n'aime pas",
                    "russian_word": "мне не нравится",
                    "category": "phrase",
                    "category_display": "Phrase",
                    "level": 5,
                    "level_display": "Small Phrases",
                    "comment": "I don't like",
                    "tags": [],
                    "created_at": "2026-01-17T18:41:48.224361Z",
                    "updated_at": "2026-01-17T18:41:48.224371Z",
                    "is_active": true
                },
                {
                    "id": 349,
                    "french_word": "je ne comprends pas",
                    "russian_word": "я не понимаю",
                    "category": "phrase",
                    "category_display": "Phrase",
                    "level": 5,
                    "level_display": "Small Phrases",
                    "comment": "I don't understand",
                    "tags": [],
                    "created_at": "2026-01-17T18:41:48.138767Z",
                    "updated_at": "2026-01-17T18:41:48.138777Z",
                    "is_active": true
                },
                {
                    "id": 397,
                    "french_word": "je suis",
                    "russian_word": "я есть",
                    "category": "phrase",
                    "category_display": "Phrase",
                    "level": 5,
                    "level_display": "Small Phrases",
                    "comment": "I am",
                    "tags": [],
                    "created_at": "2026-01-17T18:41:48.278385Z",
                    "updated_at": "2026-01-17T18:41:48.278401Z",
                    "is_active": true
                },
                {
                    "id": 399,
                    "french_word": "je suis content",
                    "russian_word": "я доволен",
                    "category": "phrase",
                    "category_display": "Phrase",
                    "level": 5,
                    "level_display": "Small Phrases",
                    "comment": "I'm happy",
                    "tags": [],
                    "created_at": "2026-01-17T18:41:48.283608Z",
                    "updated_at": "2026-01-17T18:41:48.283618Z",
                    "is_active": true
                },
                {
                    "id": 401,
                    "french_word": "je suis en colère",
                    "russian_word": "я злой",
                    "category": "phrase",
                    "category_display": "Phrase",
                    "level": 5,
                    "level_display": "Small Phrases",
                    "comment": "I'm angry",
                    "tags": [],
                    "created_at": "2026-01-17T18:41:48.288725Z",
                    "updated_at": "2026-01-17T18:41:48.288735Z",
                    "is_active": true
                },
                {
                    "id": 358,
                    "french_word": "je suis fatigué",
                    "russian_word": "я устал",
                    "category": "phrase",
                    "category_display": "Phrase",
                    "level": 5,
                    "level_display": "Small Phrases",
                    "comment": "I'm tired",
                    "tags": [],
                    "created_at": "2026-01-17T18:41:48.170135Z",
                    "updated_at": "2026-01-17T18:41:48.170145Z",
                    "is_active": true
                },
                {
                    "id": 402,
                    "french_word": "je suis surpris",
                    "russian_word": "я удивлён",
                    "category": "phrase",
                    "category_display": "Phrase",
                    "level": 5,
                    "level_display": "Small Phrases",
                    "comment": "I'm surprised",
                    "tags": [],
                    "created_at": "2026-01-17T18:41:48.291272Z",
                    "updated_at": "2026-01-17T18:41:48.291285Z",
                    "is_active": true
                },
                {
                    "id": 400,
                    "french_word": "je suis triste",
                    "russian_word": "мне грустно",
                    "category": "phrase",
                    "category_display": "Phrase",
                    "level": 5,
                    "level_display": "Small Phrases",
                    "comment": "I'm sad",
                    "tags": [],
                    "created_at": "2026-01-17T18:41:48.286124Z",
                    "updated_at": "2026-01-17T18:41:48.286139Z",
                    "is_active": true
                },
                {
                    "id": 394,
                    "french_word": "je vais",
                    "russian_word": "я иду",
                    "category": "phrase",
                    "category_display": "Phrase",
                    "level": 5,
                    "level_display": "Small Phrases",
                    "comment": "I'm going",
                    "tags": [],
                    "created_at": "2026-01-17T18:41:48.271007Z",
                    "updated_at": "2026-01-17T18:41:48.271017Z",
                    "is_active": true
                },
                {
                    "id": 343,
                    "french_word": "je vais bien",
                    "russian_word": "у меня всё хорошо",
                    "category": "phrase",
                    "category_display": "Phrase",
                    "level": 5,
                    "level_display": "Small Phrases",
                    "comment": "I'm doing well",
                    "tags": [],
                    "created_at": "2026-01-17T18:41:48.123406Z",
                    "updated_at": "2026-01-17T18:41:48.123416Z",
                    "is_active": true
                },
                {
                    "id": 370,
                    "french_word": "je vais payer",
                    "russian_word": "я заплачу",
                    "category": "phrase",
                    "category_display": "Phrase",
                    "level": 5,
                    "level_display": "Small Phrases",
                    "comment": "I'll pay",
                    "tags": [],
                    "created_at": "2026-01-17T18:41:48.201971Z",
                    "updated_at": "2026-01-17T18:41:48.201986Z",
                    "is_active": true
                },
                {
                    "id": 395,
                    "french_word": "je viens",
                    "russian_word": "я прихожу",
                    "category": "phrase",
                    "category_display": "Phrase",
                    "level": 5,
                    "level_display": "Small Phrases",
                    "comment": "I'm coming",
                    "tags": [],
                    "created_at": "2026-01-17T18:41:48.273356Z",
                    "updated_at": "2026-01-17T18:41:48.273366Z",
                    "is_active": true
                },
                {
                    "id": 367,
                    "french_word": "je voudrais",
                    "russian_word": "я хотел бы",
                    "category": "phrase",
                    "category_display": "Phrase",
                    "level": 5,
                    "level_display": "Small Phrases",
                    "comment": "I would like",
                    "tags": [],
                    "created_at": "2026-01-17T18:41:48.193356Z",
                    "updated_at": "2026-01-17T18:41:48.193366Z",
                    "is_active": true
                },
                {
                    "id": 376,
                    "french_word": "l'addition, s'il vous plaît",
                    "russian_word": "счёт, пожалуйста",
                    "category": "phrase",
                    "category_display": "Phrase",
                    "level": 5,
                    "level_display": "Small Phrases",
                    "comment": "The check, please",
                    "tags": [],
                    "created_at": "2026-01-17T18:41:48.219029Z",
                    "updated_at": "2026-01-17T18:41:48.219041Z",
                    "is_active": true
                }
            ],
            "steps": [
                {
                    "id": 88,
                    "sub_level": 23,
                    "order": 1,
                    "step_type": "learning_card",
                    "step_type_display": "Learning Card",
                    "title": "Introduction - Questions courantes",
                    "description": "Apprenez à poser des questions",
                    "is_required": true,
                    "config": {
                        "content": "Apprenez à poser des questions",
                        "concept_type": "vocabulary"
                    },
                    "is_active": true,
                    "is_completed": false,
                    "progress": {
                        "is_completed": false,
                        "completed_at": null,
                        "score": null,
                        "attempts": 0,
                        "best_score": null
                    },
                    "created_at": "2026-01-17T18:41:48.344020Z",
                    "updated_at": "2026-01-17T18:41:48.344036Z"
                },
                {
                    "id": 89,
                    "sub_level": 23,
                    "order": 2,
                    "step_type": "game_matching",
                    "step_type_display": "Game - Matching",
                    "title": "Reconstruisez la phrase - Questions courantes",
                    "description": "Reconstruisez la phrase - Questions courantes",
                    "is_required": true,
                    "config": {
                        "game_mode": "phrase_reconstruction",
                        "instructions": "Reconstruisez la phrase",
                        "min_score": 70,
                        "level": 5,
                        "sub_level": 2
                    },
                    "is_active": true,
                    "is_completed": false,
                    "progress": {
                        "is_completed": false,
                        "completed_at": null,
                        "score": null,
                        "attempts": 0,
                        "best_score": null
                    },
                    "created_at": "2026-01-17T18:41:48.348264Z",
                    "updated_at": "2026-01-17T18:41:48.348276Z"
                },
                {
                    "id": 90,
                    "sub_level": 23,
                    "order": 3,
                    "step_type": "game_multiple_choice",
                    "step_type_display": "Game - Multiple Choice",
                    "title": "Complétez la phrase - Questions courantes",
                    "description": "Complétez la phrase - Questions courantes",
                    "is_required": true,
                    "config": {
                        "game_mode": "phrase_completion",
                        "instructions": "Complétez la phrase",
                        "min_score": 70,
                        "level": 5,
                        "sub_level": 2
                    },
                    "is_active": true,
                    "is_completed": false,
                    "progress": {
                        "is_completed": false,
                        "completed_at": null,
                        "score": null,
                        "attempts": 0,
                        "best_score": null
                    },
                    "created_at": "2026-01-17T18:41:48.351629Z",
                    "updated_at": "2026-01-17T18:41:48.351640Z"
                },
                {
                    "id": 91,
                    "sub_level": 23,
                    "order": 4,
                    "step_type": "game_matching",
                    "step_type_display": "Game - Matching",
                    "title": "Associez les phrases - Questions courantes",
                    "description": "Associez les phrases - Questions courantes",
                    "is_required": false,
                    "config": {
                        "game_mode": "matching",
                        "instructions": "Associez les phrases",
                        "min_score": 70,
                        "level": 5,
                        "sub_level": 2
                    },
                    "is_active": true,
                    "is_completed": false,
                    "progress": {
                        "is_completed": false,
                        "completed_at": null,
                        "score": null,
                        "attempts": 0,
                        "best_score": null
                    },
                    "created_at": "2026-01-17T18:41:48.355069Z",
                    "updated_at": "2026-01-17T18:41:48.355079Z"
                }
            ],
            "videos": [],
            "learning_cards": [
                {
                    "id": 88,
                    "sub_level": 23,
                    "order": 1,
                    "step_type": "learning_card",
                    "step_type_display": "Learning Card",
                    "title": "Introduction - Questions courantes",
                    "description": "Apprenez à poser des questions",
                    "is_required": true,
                    "config": {
                        "content": "Apprenez à poser des questions",
                        "concept_type": "vocabulary"
                    },
                    "is_active": true,
                    "is_completed": false,
                    "progress": {
                        "is_completed": false,
                        "completed_at": null,
                        "score": null,
                        "attempts": 0,
                        "best_score": null
                    },
                    "created_at": "2026-01-17T18:41:48.344020Z",
                    "updated_at": "2026-01-17T18:41:48.344036Z"
                }
            ],
            "exercises": [],
            "total_words": 26,
            "is_unlocked": false,
            "is_completed": false,
            "progress": {
                "words_mastered": 0,
                "total_words": 26,
                "completion_percentage": 0.0,
                "steps": []
            },
            "is_active": true,
            "created_at": "2026-01-17T18:41:48.335768Z",
            "updated_at": "2026-01-17T18:41:48.335785Z"
        },
        {
            "id": 24,
            "level": 5,
            "level_display": "Small Phrases",
            "sub_level": 3,
            "title": "Expressions utiles",
            "description": "Expressions pour la vie quotidienne",
            "order": 3,
            "word_pairs": [
                {
                    "id": 362,
                    "french_word": "là",
                    "russian_word": "там",
                    "category": "adverb",
                    "category_display": "Adverb",
                    "level": 5,
                    "level_display": "Small Phrases",
                    "comment": "There",
                    "tags": [
                        {
                            "id": 27,
                            "name": "adverb",
                            "category": "category",
                            "category_display": "category",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:53.615110Z",
                            "updated_at": "2026-01-17T18:41:53.615125Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:48.180331Z",
                    "updated_at": "2026-01-17T18:41:53.747546Z",
                    "is_active": true
                },
                {
                    "id": 389,
                    "french_word": "ma famille",
                    "russian_word": "моя семья",
                    "category": "phrase",
                    "category_display": "Phrase",
                    "level": 5,
                    "level_display": "Small Phrases",
                    "comment": "My family",
                    "tags": [],
                    "created_at": "2026-01-17T18:41:48.258000Z",
                    "updated_at": "2026-01-17T18:41:48.258019Z",
                    "is_active": true
                },
                {
                    "id": 391,
                    "french_word": "ma mère",
                    "russian_word": "моя мать",
                    "category": "phrase",
                    "category_display": "Phrase",
                    "level": 5,
                    "level_display": "Small Phrases",
                    "comment": "My mother",
                    "tags": [],
                    "created_at": "2026-01-17T18:41:48.263163Z",
                    "updated_at": "2026-01-17T18:41:48.263176Z",
                    "is_active": true
                },
                {
                    "id": 393,
                    "french_word": "ma sœur",
                    "russian_word": "моя сестра",
                    "category": "phrase",
                    "category_display": "Phrase",
                    "level": 5,
                    "level_display": "Small Phrases",
                    "comment": "My sister",
                    "tags": [],
                    "created_at": "2026-01-17T18:41:48.268633Z",
                    "updated_at": "2026-01-17T18:41:48.268648Z",
                    "is_active": true
                },
                {
                    "id": 351,
                    "french_word": "maintenant",
                    "russian_word": "сейчас",
                    "category": "adverb",
                    "category_display": "Adverb",
                    "level": 5,
                    "level_display": "Small Phrases",
                    "comment": "Now",
                    "tags": [
                        {
                            "id": 27,
                            "name": "adverb",
                            "category": "category",
                            "category_display": "category",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:53.615110Z",
                            "updated_at": "2026-01-17T18:41:53.615125Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:48.151919Z",
                    "updated_at": "2026-01-17T18:41:53.617877Z",
                    "is_active": true
                },
                {
                    "id": 36,
                    "french_word": "merci",
                    "russian_word": "спасибо",
                    "category": "interjection",
                    "category_display": "Interjection",
                    "level": 2,
                    "level_display": "Basic Words",
                    "comment": "Thank you",
                    "tags": [
                        {
                            "id": 29,
                            "name": "interjection",
                            "category": "category",
                            "category_display": "category",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:54.259134Z",
                            "updated_at": "2026-01-17T18:41:54.259150Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:45.971527Z",
                    "updated_at": "2026-01-17T18:41:54.288155Z",
                    "is_active": true
                },
                {
                    "id": 337,
                    "french_word": "merci beaucoup",
                    "russian_word": "большое спасибо",
                    "category": "phrase",
                    "category_display": "Phrase",
                    "level": 5,
                    "level_display": "Small Phrases",
                    "comment": "Thank you very much",
                    "tags": [],
                    "created_at": "2026-01-17T18:41:48.103053Z",
                    "updated_at": "2026-01-17T18:41:48.103063Z",
                    "is_active": true
                },
                {
                    "id": 392,
                    "french_word": "mon frère",
                    "russian_word": "мой брат",
                    "category": "phrase",
                    "category_display": "Phrase",
                    "level": 5,
                    "level_display": "Small Phrases",
                    "comment": "My brother",
                    "tags": [],
                    "created_at": "2026-01-17T18:41:48.266201Z",
                    "updated_at": "2026-01-17T18:41:48.266211Z",
                    "is_active": true
                },
                {
                    "id": 390,
                    "french_word": "mon père",
                    "russian_word": "мой отец",
                    "category": "phrase",
                    "category_display": "Phrase",
                    "level": 5,
                    "level_display": "Small Phrases",
                    "comment": "My father",
                    "tags": [],
                    "created_at": "2026-01-17T18:41:48.260526Z",
                    "updated_at": "2026-01-17T18:41:48.260536Z",
                    "is_active": true
                },
                {
                    "id": 347,
                    "french_word": "non",
                    "russian_word": "нет",
                    "category": "interjection",
                    "category_display": "Interjection",
                    "level": 5,
                    "level_display": "Small Phrases",
                    "comment": "No",
                    "tags": [
                        {
                            "id": 29,
                            "name": "interjection",
                            "category": "category",
                            "category_display": "category",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:54.259134Z",
                            "updated_at": "2026-01-17T18:41:54.259150Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:48.133517Z",
                    "updated_at": "2026-01-17T18:41:54.282927Z",
                    "is_active": true
                },
                {
                    "id": 346,
                    "french_word": "oui",
                    "russian_word": "да",
                    "category": "interjection",
                    "category_display": "Interjection",
                    "level": 5,
                    "level_display": "Small Phrases",
                    "comment": "Yes",
                    "tags": [
                        {
                            "id": 29,
                            "name": "interjection",
                            "category": "category",
                            "category_display": "category",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:54.259134Z",
                            "updated_at": "2026-01-17T18:41:54.259150Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:48.131005Z",
                    "updated_at": "2026-01-17T18:41:54.277823Z",
                    "is_active": true
                },
                {
                    "id": 374,
                    "french_word": "où est l'hôpital?",
                    "russian_word": "где больница?",
                    "category": "phrase",
                    "category_display": "Phrase",
                    "level": 5,
                    "level_display": "Small Phrases",
                    "comment": "Where is the hospital?",
                    "tags": [],
                    "created_at": "2026-01-17T18:41:48.212901Z",
                    "updated_at": "2026-01-17T18:41:48.212913Z",
                    "is_active": true
                },
                {
                    "id": 359,
                    "french_word": "où est...?",
                    "russian_word": "где...?",
                    "category": "phrase",
                    "category_display": "Phrase",
                    "level": 5,
                    "level_display": "Small Phrases",
                    "comment": "Where is...?",
                    "tags": [],
                    "created_at": "2026-01-17T18:41:48.172715Z",
                    "updated_at": "2026-01-17T18:41:48.172725Z",
                    "is_active": true
                },
                {
                    "id": 360,
                    "french_word": "où sont...?",
                    "russian_word": "где...?",
                    "category": "phrase",
                    "category_display": "Phrase",
                    "level": 5,
                    "level_display": "Small Phrases",
                    "comment": "Where are...?",
                    "tags": [],
                    "created_at": "2026-01-17T18:41:48.175250Z",
                    "updated_at": "2026-01-17T18:41:48.175260Z",
                    "is_active": true
                },
                {
                    "id": 339,
                    "french_word": "pardon",
                    "russian_word": "простите",
                    "category": "interjection",
                    "category_display": "Interjection",
                    "level": 5,
                    "level_display": "Small Phrases",
                    "comment": "Sorry",
                    "tags": [
                        {
                            "id": 29,
                            "name": "interjection",
                            "category": "category",
                            "category_display": "category",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:54.259134Z",
                            "updated_at": "2026-01-17T18:41:54.259150Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:48.113195Z",
                    "updated_at": "2026-01-17T18:41:54.309270Z",
                    "is_active": true
                },
                {
                    "id": 352,
                    "french_word": "plus tard",
                    "russian_word": "позже",
                    "category": "phrase",
                    "category_display": "Phrase",
                    "level": 5,
                    "level_display": "Small Phrases",
                    "comment": "Later",
                    "tags": [],
                    "created_at": "2026-01-17T18:41:48.154381Z",
                    "updated_at": "2026-01-17T18:41:48.154394Z",
                    "is_active": true
                },
                {
                    "id": 350,
                    "french_word": "quelle heure est-il?",
                    "russian_word": "который час?",
                    "category": "phrase",
                    "category_display": "Phrase",
                    "level": 5,
                    "level_display": "Small Phrases",
                    "comment": "What time is it?",
                    "tags": [],
                    "created_at": "2026-01-17T18:41:48.141374Z",
                    "updated_at": "2026-01-17T18:41:48.141384Z",
                    "is_active": true
                },
                {
                    "id": 38,
                    "french_word": "s'il vous plaît",
                    "russian_word": "пожалуйста",
                    "category": "interjection",
                    "category_display": "Interjection",
                    "level": 2,
                    "level_display": "Basic Words",
                    "comment": "Please",
                    "tags": [
                        {
                            "id": 29,
                            "name": "interjection",
                            "category": "category",
                            "category_display": "category",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:54.259134Z",
                            "updated_at": "2026-01-17T18:41:54.259150Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:45.976728Z",
                    "updated_at": "2026-01-17T18:41:54.298752Z",
                    "is_active": true
                },
                {
                    "id": 365,
                    "french_word": "tout droit",
                    "russian_word": "прямо",
                    "category": "phrase",
                    "category_display": "Phrase",
                    "level": 5,
                    "level_display": "Small Phrases",
                    "comment": "Straight ahead",
                    "tags": [],
                    "created_at": "2026-01-17T18:41:48.188116Z",
                    "updated_at": "2026-01-17T18:41:48.188126Z",
                    "is_active": true
                },
                {
                    "id": 383,
                    "french_word": "trop",
                    "russian_word": "слишком",
                    "category": "adverb",
                    "category_display": "Adverb",
                    "level": 5,
                    "level_display": "Small Phrases",
                    "comment": "Too much",
                    "tags": [
                        {
                            "id": 27,
                            "name": "adverb",
                            "category": "category",
                            "category_display": "category",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:53.615110Z",
                            "updated_at": "2026-01-17T18:41:53.615125Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:48.241200Z",
                    "updated_at": "2026-01-17T18:41:53.790154Z",
                    "is_active": true
                },
                {
                    "id": 381,
                    "french_word": "un peu",
                    "russian_word": "немного",
                    "category": "phrase",
                    "category_display": "Phrase",
                    "level": 5,
                    "level_display": "Small Phrases",
                    "comment": "A little",
                    "tags": [],
                    "created_at": "2026-01-17T18:41:48.232770Z",
                    "updated_at": "2026-01-17T18:41:48.232783Z",
                    "is_active": true
                },
                {
                    "id": 336,
                    "french_word": "à bientôt",
                    "russian_word": "до скорого",
                    "category": "phrase",
                    "category_display": "Phrase",
                    "level": 5,
                    "level_display": "Small Phrases",
                    "comment": "Farewell - see you soon",
                    "tags": [],
                    "created_at": "2026-01-17T18:41:48.097978Z",
                    "updated_at": "2026-01-17T18:41:48.097988Z",
                    "is_active": true
                },
                {
                    "id": 363,
                    "french_word": "à droite",
                    "russian_word": "направо",
                    "category": "phrase",
                    "category_display": "Phrase",
                    "level": 5,
                    "level_display": "Small Phrases",
                    "comment": "To the right",
                    "tags": [],
                    "created_at": "2026-01-17T18:41:48.182998Z",
                    "updated_at": "2026-01-17T18:41:48.183010Z",
                    "is_active": true
                },
                {
                    "id": 364,
                    "french_word": "à gauche",
                    "russian_word": "налево",
                    "category": "phrase",
                    "category_display": "Phrase",
                    "level": 5,
                    "level_display": "Small Phrases",
                    "comment": "To the left",
                    "tags": [],
                    "created_at": "2026-01-17T18:41:48.185532Z",
                    "updated_at": "2026-01-17T18:41:48.185542Z",
                    "is_active": true
                },
                {
                    "id": 342,
                    "french_word": "ça va bien",
                    "russian_word": "всё хорошо",
                    "category": "phrase",
                    "category_display": "Phrase",
                    "level": 5,
                    "level_display": "Small Phrases",
                    "comment": "I'm fine",
                    "tags": [],
                    "created_at": "2026-01-17T18:41:48.120928Z",
                    "updated_at": "2026-01-17T18:41:48.120939Z",
                    "is_active": true
                },
                {
                    "id": 341,
                    "french_word": "ça va?",
                    "russian_word": "как дела?",
                    "category": "phrase",
                    "category_display": "Phrase",
                    "level": 5,
                    "level_display": "Small Phrases",
                    "comment": "How are you? (informal)",
                    "tags": [],
                    "created_at": "2026-01-17T18:41:48.118384Z",
                    "updated_at": "2026-01-17T18:41:48.118399Z",
                    "is_active": true
                }
            ],
            "steps": [
                {
                    "id": 92,
                    "sub_level": 24,
                    "order": 1,
                    "step_type": "learning_card",
                    "step_type_display": "Learning Card",
                    "title": "Introduction - Expressions utiles",
                    "description": "Expressions pour la vie quotidienne",
                    "is_required": true,
                    "config": {
                        "content": "Expressions pour la vie quotidienne",
                        "concept_type": "vocabulary"
                    },
                    "is_active": true,
                    "is_completed": false,
                    "progress": {
                        "is_completed": false,
                        "completed_at": null,
                        "score": null,
                        "attempts": 0,
                        "best_score": null
                    },
                    "created_at": "2026-01-17T18:41:48.365863Z",
                    "updated_at": "2026-01-17T18:41:48.365877Z"
                },
                {
                    "id": 93,
                    "sub_level": 24,
                    "order": 2,
                    "step_type": "game_matching",
                    "step_type_display": "Game - Matching",
                    "title": "Reconstruisez la phrase - Expressions utiles",
                    "description": "Reconstruisez la phrase - Expressions utiles",
                    "is_required": true,
                    "config": {
                        "game_mode": "phrase_reconstruction",
                        "instructions": "Reconstruisez la phrase",
                        "min_score": 70,
                        "level": 5,
                        "sub_level": 3
                    },
                    "is_active": true,
                    "is_completed": false,
                    "progress": {
                        "is_completed": false,
                        "completed_at": null,
                        "score": null,
                        "attempts": 0,
                        "best_score": null
                    },
                    "created_at": "2026-01-17T18:41:48.369345Z",
                    "updated_at": "2026-01-17T18:41:48.369357Z"
                },
                {
                    "id": 94,
                    "sub_level": 24,
                    "order": 3,
                    "step_type": "game_multiple_choice",
                    "step_type_display": "Game - Multiple Choice",
                    "title": "Complétez la phrase - Expressions utiles",
                    "description": "Complétez la phrase - Expressions utiles",
                    "is_required": true,
                    "config": {
                        "game_mode": "phrase_completion",
                        "instructions": "Complétez la phrase",
                        "min_score": 70,
                        "level": 5,
                        "sub_level": 3
                    },
                    "is_active": true,
                    "is_completed": false,
                    "progress": {
                        "is_completed": false,
                        "completed_at": null,
                        "score": null,
                        "attempts": 0,
                        "best_score": null
                    },
                    "created_at": "2026-01-17T18:41:48.372828Z",
                    "updated_at": "2026-01-17T18:41:48.372841Z"
                },
                {
                    "id": 95,
                    "sub_level": 24,
                    "order": 4,
                    "step_type": "game_matching",
                    "step_type_display": "Game - Matching",
                    "title": "Associez les phrases - Expressions utiles",
                    "description": "Associez les phrases - Expressions utiles",
                    "is_required": false,
                    "config": {
                        "game_mode": "matching",
                        "instructions": "Associez les phrases",
                        "min_score": 70,
                        "level": 5,
                        "sub_level": 3
                    },
                    "is_active": true,
                    "is_completed": false,
                    "progress": {
                        "is_completed": false,
                        "completed_at": null,
                        "score": null,
                        "attempts": 0,
                        "best_score": null
                    },
                    "created_at": "2026-01-17T18:41:48.376657Z",
                    "updated_at": "2026-01-17T18:41:48.376674Z"
                }
            ],
            "videos": [],
            "learning_cards": [
                {
                    "id": 92,
                    "sub_level": 24,
                    "order": 1,
                    "step_type": "learning_card",
                    "step_type_display": "Learning Card",
                    "title": "Introduction - Expressions utiles",
                    "description": "Expressions pour la vie quotidienne",
                    "is_required": true,
                    "config": {
                        "content": "Expressions pour la vie quotidienne",
                        "concept_type": "vocabulary"
                    },
                    "is_active": true,
                    "is_completed": false,
                    "progress": {
                        "is_completed": false,
                        "completed_at": null,
                        "score": null,
                        "attempts": 0,
                        "best_score": null
                    },
                    "created_at": "2026-01-17T18:41:48.365863Z",
                    "updated_at": "2026-01-17T18:41:48.365877Z"
                }
            ],
            "exercises": [],
            "total_words": 26,
            "is_unlocked": false,
            "is_completed": false,
            "progress": {
                "words_mastered": 0,
                "total_words": 26,
                "completion_percentage": 0.0,
                "steps": []
            },
            "is_active": true,
            "created_at": "2026-01-17T18:41:48.357866Z",
            "updated_at": "2026-01-17T18:41:48.357882Z"
        },
        {
            "id": 25,
            "level": 5,
            "level_display": "Small Phrases",
            "sub_level": 4,
            "title": "Proverbes russes",
            "description": "Proverbes et expressions idiomatiques russes",
            "order": 4,
            "word_pairs": [
                {
                    "id": 408,
                    "french_word": "comme un partisan sous interrogatoire",
                    "russian_word": "как партизан на допросе",
                    "category": "phrase",
                    "category_display": "Phrase",
                    "level": 5,
                    "level_display": "Small Phrases",
                    "comment": "Proverb - Like a partisan under interrogation",
                    "tags": [],
                    "created_at": "2026-01-17T18:41:48.307848Z",
                    "updated_at": "2026-01-17T18:41:48.307862Z",
                    "is_active": true
                },
                {
                    "id": 407,
                    "french_word": "il ne manquera pas le sien",
                    "russian_word": "своего не упустит",
                    "category": "phrase",
                    "category_display": "Phrase",
                    "level": 5,
                    "level_display": "Small Phrases",
                    "comment": "Proverb - He won't miss his own",
                    "tags": [],
                    "created_at": "2026-01-17T18:41:48.305250Z",
                    "updated_at": "2026-01-17T18:41:48.305261Z",
                    "is_active": true
                },
                {
                    "id": 404,
                    "french_word": "ne réveille pas le mal tant qu'il est calme",
                    "russian_word": "не буди лихо пока лихо тихо",
                    "category": "phrase",
                    "category_display": "Phrase",
                    "level": 5,
                    "level_display": "Small Phrases",
                    "comment": "Proverb - Don't wake trouble while it's quiet",
                    "tags": [],
                    "created_at": "2026-01-17T18:41:48.296732Z",
                    "updated_at": "2026-01-17T18:41:48.296744Z",
                    "is_active": true
                },
                {
                    "id": 403,
                    "french_word": "on ne cherche pas le bien du bien",
                    "russian_word": "от добра добро не ищут",
                    "category": "phrase",
                    "category_display": "Phrase",
                    "level": 5,
                    "level_display": "Small Phrases",
                    "comment": "Proverb - Don't look for good from good",
                    "tags": [],
                    "created_at": "2026-01-17T18:41:48.293834Z",
                    "updated_at": "2026-01-17T18:41:48.293847Z",
                    "is_active": true
                },
                {
                    "id": 406,
                    "french_word": "on ne va pas en visite avec son propre samovar",
                    "russian_word": "в гости со своим самоваром не ходят",
                    "category": "phrase",
                    "category_display": "Phrase",
                    "level": 5,
                    "level_display": "Small Phrases",
                    "comment": "Proverb - Don't bring your own samovar when visiting",
                    "tags": [],
                    "created_at": "2026-01-17T18:41:48.302440Z",
                    "updated_at": "2026-01-17T18:41:48.302456Z",
                    "is_active": true
                },
                {
                    "id": 409,
                    "french_word": "tu te mordras les coudes après",
                    "russian_word": "ты будешь кусать локти потом",
                    "category": "phrase",
                    "category_display": "Phrase",
                    "level": 5,
                    "level_display": "Small Phrases",
                    "comment": "Proverb - You will bite your elbows later",
                    "tags": [],
                    "created_at": "2026-01-17T18:41:48.310451Z",
                    "updated_at": "2026-01-17T18:41:48.310466Z",
                    "is_active": true
                },
                {
                    "id": 405,
                    "french_word": "vivre sa vie n'est pas traverser un champ",
                    "russian_word": "жизнь прожить не поле перейти",
                    "category": "phrase",
                    "category_display": "Phrase",
                    "level": 5,
                    "level_display": "Small Phrases",
                    "comment": "Proverb - Living life is not crossing a field",
                    "tags": [],
                    "created_at": "2026-01-17T18:41:48.299790Z",
                    "updated_at": "2026-01-17T18:41:48.299801Z",
                    "is_active": true
                }
            ],
            "steps": [
                {
                    "id": 96,
                    "sub_level": 25,
                    "order": 1,
                    "step_type": "learning_card",
                    "step_type_display": "Learning Card",
                    "title": "Introduction - Proverbes russes",
                    "description": "Proverbes et expressions idiomatiques russes",
                    "is_required": true,
                    "config": {
                        "content": "Proverbes et expressions idiomatiques russes",
                        "concept_type": "vocabulary"
                    },
                    "is_active": true,
                    "is_completed": false,
                    "progress": {
                        "is_completed": false,
                        "completed_at": null,
                        "score": null,
                        "attempts": 0,
                        "best_score": null
                    },
                    "created_at": "2026-01-17T18:41:48.387090Z",
                    "updated_at": "2026-01-17T18:41:48.387115Z"
                },
                {
                    "id": 97,
                    "sub_level": 25,
                    "order": 2,
                    "step_type": "game_matching",
                    "step_type_display": "Game - Matching",
                    "title": "Reconstruisez la phrase - Proverbes russes",
                    "description": "Reconstruisez la phrase - Proverbes russes",
                    "is_required": true,
                    "config": {
                        "game_mode": "phrase_reconstruction",
                        "instructions": "Reconstruisez la phrase",
                        "min_score": 70,
                        "level": 5,
                        "sub_level": 4
                    },
                    "is_active": true,
                    "is_completed": false,
                    "progress": {
                        "is_completed": false,
                        "completed_at": null,
                        "score": null,
                        "attempts": 0,
                        "best_score": null
                    },
                    "created_at": "2026-01-17T18:41:48.391173Z",
                    "updated_at": "2026-01-17T18:41:48.391189Z"
                },
                {
                    "id": 98,
                    "sub_level": 25,
                    "order": 3,
                    "step_type": "game_multiple_choice",
                    "step_type_display": "Game - Multiple Choice",
                    "title": "Complétez la phrase - Proverbes russes",
                    "description": "Complétez la phrase - Proverbes russes",
                    "is_required": true,
                    "config": {
                        "game_mode": "phrase_completion",
                        "instructions": "Complétez la phrase",
                        "min_score": 70,
                        "level": 5,
                        "sub_level": 4
                    },
                    "is_active": true,
                    "is_completed": false,
                    "progress": {
                        "is_completed": false,
                        "completed_at": null,
                        "score": null,
                        "attempts": 0,
                        "best_score": null
                    },
                    "created_at": "2026-01-17T18:41:48.395025Z",
                    "updated_at": "2026-01-17T18:41:48.395037Z"
                },
                {
                    "id": 99,
                    "sub_level": 25,
                    "order": 4,
                    "step_type": "game_matching",
                    "step_type_display": "Game - Matching",
                    "title": "Associez les phrases - Proverbes russes",
                    "description": "Associez les phrases - Proverbes russes",
                    "is_required": false,
                    "config": {
                        "game_mode": "matching",
                        "instructions": "Associez les phrases",
                        "min_score": 70,
                        "level": 5,
                        "sub_level": 4
                    },
                    "is_active": true,
                    "is_completed": false,
                    "progress": {
                        "is_completed": false,
                        "completed_at": null,
                        "score": null,
                        "attempts": 0,
                        "best_score": null
                    },
                    "created_at": "2026-01-17T18:41:48.399203Z",
                    "updated_at": "2026-01-17T18:41:48.399215Z"
                }
            ],
            "videos": [],
            "learning_cards": [
                {
                    "id": 96,
                    "sub_level": 25,
                    "order": 1,
                    "step_type": "learning_card",
                    "step_type_display": "Learning Card",
                    "title": "Introduction - Proverbes russes",
                    "description": "Proverbes et expressions idiomatiques russes",
                    "is_required": true,
                    "config": {
                        "content": "Proverbes et expressions idiomatiques russes",
                        "concept_type": "vocabulary"
                    },
                    "is_active": true,
                    "is_completed": false,
                    "progress": {
                        "is_completed": false,
                        "completed_at": null,
                        "score": null,
                        "attempts": 0,
                        "best_score": null
                    },
                    "created_at": "2026-01-17T18:41:48.387090Z",
                    "updated_at": "2026-01-17T18:41:48.387115Z"
                }
            ],
            "exercises": [],
            "total_words": 7,
            "is_unlocked": false,
            "is_completed": false,
            "progress": {
                "words_mastered": 0,
                "total_words": 7,
                "completion_percentage": 0.0,
                "steps": []
            },
            "is_active": true,
            "created_at": "2026-01-17T18:41:48.379526Z",
            "updated_at": "2026-01-17T18:41:48.379542Z"
        },
        {
            "id": 26,
            "level": 6,
            "level_display": "Verbs & Conjugations",
            "sub_level": 1,
            "title": "Verbes du 1er groupe",
            "description": "Conjugaison des verbes du premier groupe",
            "order": 1,
            "word_pairs": [
                {
                    "id": 411,
                    "french_word": "appeler",
                    "russian_word": "звать",
                    "category": "verb",
                    "category_display": "Verb",
                    "level": 6,
                    "level_display": "Verbs & Conjugations",
                    "comment": "Premier groupe - Infinitif",
                    "tags": [
                        {
                            "id": 10,
                            "name": "infinitive",
                            "category": "form",
                            "category_display": "Form",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:48.405964Z",
                            "updated_at": "2026-01-17T18:41:48.405981Z"
                        },
                        {
                            "id": 11,
                            "name": "present",
                            "category": "tense",
                            "category_display": "Tense (Conjugation)",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:48.408735Z",
                            "updated_at": "2026-01-17T18:41:48.408752Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:48.417117Z",
                    "updated_at": "2026-01-17T18:41:48.417133Z",
                    "is_active": true
                },
                {
                    "id": 413,
                    "french_word": "boire",
                    "russian_word": "пить",
                    "category": "verb",
                    "category_display": "Verb",
                    "level": 6,
                    "level_display": "Verbs & Conjugations",
                    "comment": "Premier groupe - Infinitif",
                    "tags": [
                        {
                            "id": 10,
                            "name": "infinitive",
                            "category": "form",
                            "category_display": "Form",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:48.405964Z",
                            "updated_at": "2026-01-17T18:41:48.405981Z"
                        },
                        {
                            "id": 11,
                            "name": "present",
                            "category": "tense",
                            "category_display": "Tense (Conjugation)",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:48.408735Z",
                            "updated_at": "2026-01-17T18:41:48.408752Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:48.433748Z",
                    "updated_at": "2026-01-17T18:41:48.433765Z",
                    "is_active": true
                },
                {
                    "id": 410,
                    "french_word": "prendre",
                    "russian_word": "брать",
                    "category": "verb",
                    "category_display": "Verb",
                    "level": 6,
                    "level_display": "Verbs & Conjugations",
                    "comment": "Premier groupe - Infinitif",
                    "tags": [
                        {
                            "id": 10,
                            "name": "infinitive",
                            "category": "form",
                            "category_display": "Form",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:48.405964Z",
                            "updated_at": "2026-01-17T18:41:48.405981Z"
                        },
                        {
                            "id": 11,
                            "name": "present",
                            "category": "tense",
                            "category_display": "Tense (Conjugation)",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:48.408735Z",
                            "updated_at": "2026-01-17T18:41:48.408752Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:48.411517Z",
                    "updated_at": "2026-01-17T18:41:48.411532Z",
                    "is_active": true
                },
                {
                    "id": 414,
                    "french_word": "s'occuper / pratiquer",
                    "russian_word": "заниматься",
                    "category": "verb",
                    "category_display": "Verb",
                    "level": 6,
                    "level_display": "Verbs & Conjugations",
                    "comment": "Premier groupe - Infinitif (réfléchi)",
                    "tags": [
                        {
                            "id": 10,
                            "name": "infinitive",
                            "category": "form",
                            "category_display": "Form",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:48.405964Z",
                            "updated_at": "2026-01-17T18:41:48.405981Z"
                        },
                        {
                            "id": 11,
                            "name": "present",
                            "category": "tense",
                            "category_display": "Tense (Conjugation)",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:48.408735Z",
                            "updated_at": "2026-01-17T18:41:48.408752Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:48.439241Z",
                    "updated_at": "2026-01-17T18:41:48.439257Z",
                    "is_active": true
                },
                {
                    "id": 412,
                    "french_word": "savoir",
                    "russian_word": "знать",
                    "category": "verb",
                    "category_display": "Verb",
                    "level": 6,
                    "level_display": "Verbs & Conjugations",
                    "comment": "Premier groupe - Infinitif",
                    "tags": [
                        {
                            "id": 10,
                            "name": "infinitive",
                            "category": "form",
                            "category_display": "Form",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:48.405964Z",
                            "updated_at": "2026-01-17T18:41:48.405981Z"
                        },
                        {
                            "id": 11,
                            "name": "present",
                            "category": "tense",
                            "category_display": "Tense (Conjugation)",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:48.408735Z",
                            "updated_at": "2026-01-17T18:41:48.408752Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:48.428310Z",
                    "updated_at": "2026-01-17T18:41:48.428327Z",
                    "is_active": true
                },
                {
                    "id": 415,
                    "french_word": "vouloir",
                    "russian_word": "хотеть",
                    "category": "verb",
                    "category_display": "Verb",
                    "level": 6,
                    "level_display": "Verbs & Conjugations",
                    "comment": "Premier groupe - Infinitif (irrégulier)",
                    "tags": [
                        {
                            "id": 10,
                            "name": "infinitive",
                            "category": "form",
                            "category_display": "Form",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:48.405964Z",
                            "updated_at": "2026-01-17T18:41:48.405981Z"
                        },
                        {
                            "id": 11,
                            "name": "present",
                            "category": "tense",
                            "category_display": "Tense (Conjugation)",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:48.408735Z",
                            "updated_at": "2026-01-17T18:41:48.408752Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:48.448702Z",
                    "updated_at": "2026-01-17T18:41:48.448718Z",
                    "is_active": true
                }
            ],
            "steps": [
                {
                    "id": 100,
                    "sub_level": 26,
                    "order": 1,
                    "step_type": "learning_card",
                    "step_type_display": "Learning Card",
                    "title": "Introduction - Premier groupe de conjugaison",
                    "description": "# Premier groupe de conjugaison\n\nEn russe, il existe deux grands types de conjugaisons pour les verbes. Le **premier groupe (première conjugaison)** se caractérise par des terminaisons spécifiques à l",
                    "is_required": true,
                    "config": {
                        "content": "# Premier groupe de conjugaison\n\nEn russe, il existe deux grands types de conjugaisons pour les verbes. Le **premier groupe (première conjugaison)** se caractérise par des terminaisons spécifiques à l'infinitif : `-ать`, `-ять`, `-еть`, `-уть`, `-оть`, `-ыть`, `-ти`, `-сть`, `-зть`, `-чть`.\n\n## Terminaisons du premier groupe\n\n- **я** : -у / -ю\n- **ты** : -ешь / -ёшь\n- **он/она** : -ет / -ёт\n- **мы** : -ем / -ём\n- **вы** : -ете / -ёте\n- **они** : -ут / -ют\n\n## Exemples de verbes du premier groupe\n\n- брать (prendre)\n- звать (appeler)\n- идти (aller - trajet déterminé)\n- знать (savoir)\n- пить (boire)\n- заниматься (s'occuper, pratiquer)\n- хотеть (vouloir - irrégulier)\n\nPratiquez ces verbes pour maîtriser les terminaisons du premier groupe !",
                        "concept_type": "conjugation"
                    },
                    "is_active": true,
                    "is_completed": false,
                    "progress": {
                        "is_completed": false,
                        "completed_at": null,
                        "score": null,
                        "attempts": 0,
                        "best_score": null
                    },
                    "created_at": "2026-01-17T18:41:48.671897Z",
                    "updated_at": "2026-01-17T18:41:48.671909Z"
                },
                {
                    "id": 101,
                    "sub_level": 26,
                    "order": 2,
                    "step_type": "game_matching",
                    "step_type_display": "Game - Matching",
                    "title": "Pratiquez la conjugaison - Verbes du 1er groupe",
                    "description": "Pratiquez la conjugaison - Verbes du 1er groupe",
                    "is_required": true,
                    "config": {
                        "game_mode": "conjugation",
                        "instructions": "Pratiquez la conjugaison",
                        "min_score": 75,
                        "level": 6,
                        "sub_level": 1
                    },
                    "is_active": true,
                    "is_completed": false,
                    "progress": {
                        "is_completed": false,
                        "completed_at": null,
                        "score": null,
                        "attempts": 0,
                        "best_score": null
                    },
                    "created_at": "2026-01-17T18:41:48.675178Z",
                    "updated_at": "2026-01-17T18:41:48.675187Z"
                },
                {
                    "id": 102,
                    "sub_level": 26,
                    "order": 3,
                    "step_type": "game_matching",
                    "step_type_display": "Game - Matching",
                    "title": "Associez les formes conjuguées - Verbes du 1er groupe",
                    "description": "Associez les formes conjuguées - Verbes du 1er groupe",
                    "is_required": true,
                    "config": {
                        "game_mode": "matching",
                        "instructions": "Associez les formes conjuguées",
                        "min_score": 75,
                        "level": 6,
                        "sub_level": 1
                    },
                    "is_active": true,
                    "is_completed": false,
                    "progress": {
                        "is_completed": false,
                        "completed_at": null,
                        "score": null,
                        "attempts": 0,
                        "best_score": null
                    },
                    "created_at": "2026-01-17T18:41:48.678505Z",
                    "updated_at": "2026-01-17T18:41:48.678515Z"
                },
                {
                    "id": 103,
                    "sub_level": 26,
                    "order": 4,
                    "step_type": "game_multiple_choice",
                    "step_type_display": "Game - Multiple Choice",
                    "title": "Choisissez la bonne conjugaison - Verbes du 1er groupe",
                    "description": "Choisissez la bonne conjugaison - Verbes du 1er groupe",
                    "is_required": false,
                    "config": {
                        "game_mode": "multiple_choice",
                        "instructions": "Choisissez la bonne conjugaison",
                        "min_score": 75,
                        "level": 6,
                        "sub_level": 1
                    },
                    "is_active": true,
                    "is_completed": false,
                    "progress": {
                        "is_completed": false,
                        "completed_at": null,
                        "score": null,
                        "attempts": 0,
                        "best_score": null
                    },
                    "created_at": "2026-01-17T18:41:48.681994Z",
                    "updated_at": "2026-01-17T18:41:48.682003Z"
                }
            ],
            "videos": [],
            "learning_cards": [
                {
                    "id": 100,
                    "sub_level": 26,
                    "order": 1,
                    "step_type": "learning_card",
                    "step_type_display": "Learning Card",
                    "title": "Introduction - Premier groupe de conjugaison",
                    "description": "# Premier groupe de conjugaison\n\nEn russe, il existe deux grands types de conjugaisons pour les verbes. Le **premier groupe (première conjugaison)** se caractérise par des terminaisons spécifiques à l",
                    "is_required": true,
                    "config": {
                        "content": "# Premier groupe de conjugaison\n\nEn russe, il existe deux grands types de conjugaisons pour les verbes. Le **premier groupe (première conjugaison)** se caractérise par des terminaisons spécifiques à l'infinitif : `-ать`, `-ять`, `-еть`, `-уть`, `-оть`, `-ыть`, `-ти`, `-сть`, `-зть`, `-чть`.\n\n## Terminaisons du premier groupe\n\n- **я** : -у / -ю\n- **ты** : -ешь / -ёшь\n- **он/она** : -ет / -ёт\n- **мы** : -ем / -ём\n- **вы** : -ете / -ёте\n- **они** : -ут / -ют\n\n## Exemples de verbes du premier groupe\n\n- брать (prendre)\n- звать (appeler)\n- идти (aller - trajet déterminé)\n- знать (savoir)\n- пить (boire)\n- заниматься (s'occuper, pratiquer)\n- хотеть (vouloir - irrégulier)\n\nPratiquez ces verbes pour maîtriser les terminaisons du premier groupe !",
                        "concept_type": "conjugation"
                    },
                    "is_active": true,
                    "is_completed": false,
                    "progress": {
                        "is_completed": false,
                        "completed_at": null,
                        "score": null,
                        "attempts": 0,
                        "best_score": null
                    },
                    "created_at": "2026-01-17T18:41:48.671897Z",
                    "updated_at": "2026-01-17T18:41:48.671909Z"
                }
            ],
            "exercises": [],
            "total_words": 6,
            "is_unlocked": false,
            "is_completed": false,
            "progress": {
                "words_mastered": 0,
                "total_words": 6,
                "completion_percentage": 0.0,
                "steps": []
            },
            "is_active": true,
            "created_at": "2026-01-17T18:41:48.665390Z",
            "updated_at": "2026-01-17T18:41:48.665400Z"
        },
        {
            "id": 27,
            "level": 6,
            "level_display": "Verbs & Conjugations",
            "sub_level": 2,
            "title": "Verbes du 2ème groupe",
            "description": "Conjugaison des verbes du deuxième groupe",
            "order": 2,
            "word_pairs": [
                {
                    "id": 418,
                    "french_word": "aimer",
                    "russian_word": "любить",
                    "category": "verb",
                    "category_display": "Verb",
                    "level": 6,
                    "level_display": "Verbs & Conjugations",
                    "comment": "Second groupe - Infinitif",
                    "tags": [
                        {
                            "id": 10,
                            "name": "infinitive",
                            "category": "form",
                            "category_display": "Form",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:48.405964Z",
                            "updated_at": "2026-01-17T18:41:48.405981Z"
                        },
                        {
                            "id": 11,
                            "name": "present",
                            "category": "tense",
                            "category_display": "Tense (Conjugation)",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:48.408735Z",
                            "updated_at": "2026-01-17T18:41:48.408752Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:48.465178Z",
                    "updated_at": "2026-01-17T18:41:48.465194Z",
                    "is_active": true
                },
                {
                    "id": 419,
                    "french_word": "aller (répétition)",
                    "russian_word": "ходить",
                    "category": "verb",
                    "category_display": "Verb",
                    "level": 6,
                    "level_display": "Verbs & Conjugations",
                    "comment": "Second groupe - Infinitif (mouvement répété)",
                    "tags": [
                        {
                            "id": 10,
                            "name": "infinitive",
                            "category": "form",
                            "category_display": "Form",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:48.405964Z",
                            "updated_at": "2026-01-17T18:41:48.405981Z"
                        },
                        {
                            "id": 11,
                            "name": "present",
                            "category": "tense",
                            "category_display": "Tense (Conjugation)",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:48.408735Z",
                            "updated_at": "2026-01-17T18:41:48.408752Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:48.471101Z",
                    "updated_at": "2026-01-17T18:41:48.471120Z",
                    "is_active": true
                },
                {
                    "id": 428,
                    "french_word": "chercher",
                    "russian_word": "искать",
                    "category": "verb",
                    "category_display": "Verb",
                    "level": 6,
                    "level_display": "Verbs & Conjugations",
                    "comment": "Second groupe - Infinitif",
                    "tags": [
                        {
                            "id": 10,
                            "name": "infinitive",
                            "category": "form",
                            "category_display": "Form",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:48.405964Z",
                            "updated_at": "2026-01-17T18:41:48.405981Z"
                        },
                        {
                            "id": 11,
                            "name": "present",
                            "category": "tense",
                            "category_display": "Tense (Conjugation)",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:48.408735Z",
                            "updated_at": "2026-01-17T18:41:48.408752Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:48.519078Z",
                    "updated_at": "2026-01-17T18:41:48.519090Z",
                    "is_active": true
                },
                {
                    "id": 436,
                    "french_word": "comprendre",
                    "russian_word": "понимать",
                    "category": "verb",
                    "category_display": "Verb",
                    "level": 6,
                    "level_display": "Verbs & Conjugations",
                    "comment": "Second groupe - Infinitif",
                    "tags": [
                        {
                            "id": 10,
                            "name": "infinitive",
                            "category": "form",
                            "category_display": "Form",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:48.405964Z",
                            "updated_at": "2026-01-17T18:41:48.405981Z"
                        },
                        {
                            "id": 11,
                            "name": "present",
                            "category": "tense",
                            "category_display": "Tense (Conjugation)",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:48.408735Z",
                            "updated_at": "2026-01-17T18:41:48.408752Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:48.558701Z",
                    "updated_at": "2026-01-17T18:41:48.558712Z",
                    "is_active": true
                },
                {
                    "id": 422,
                    "french_word": "demander",
                    "russian_word": "просить",
                    "category": "verb",
                    "category_display": "Verb",
                    "level": 6,
                    "level_display": "Verbs & Conjugations",
                    "comment": "Second groupe - Infinitif",
                    "tags": [
                        {
                            "id": 10,
                            "name": "infinitive",
                            "category": "form",
                            "category_display": "Form",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:48.405964Z",
                            "updated_at": "2026-01-17T18:41:48.405981Z"
                        },
                        {
                            "id": 11,
                            "name": "present",
                            "category": "tense",
                            "category_display": "Tense (Conjugation)",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:48.408735Z",
                            "updated_at": "2026-01-17T18:41:48.408752Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:48.491272Z",
                    "updated_at": "2026-01-17T18:41:48.491283Z",
                    "is_active": true
                },
                {
                    "id": 437,
                    "french_word": "dire",
                    "russian_word": "говорить",
                    "category": "verb",
                    "category_display": "Verb",
                    "level": 6,
                    "level_display": "Verbs & Conjugations",
                    "comment": "Second groupe - Infinitif",
                    "tags": [
                        {
                            "id": 10,
                            "name": "infinitive",
                            "category": "form",
                            "category_display": "Form",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:48.405964Z",
                            "updated_at": "2026-01-17T18:41:48.405981Z"
                        },
                        {
                            "id": 11,
                            "name": "present",
                            "category": "tense",
                            "category_display": "Tense (Conjugation)",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:48.408735Z",
                            "updated_at": "2026-01-17T18:41:48.408752Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:48.568572Z",
                    "updated_at": "2026-01-17T18:41:48.568583Z",
                    "is_active": true
                },
                {
                    "id": 433,
                    "french_word": "dormir",
                    "russian_word": "спать",
                    "category": "verb",
                    "category_display": "Verb",
                    "level": 6,
                    "level_display": "Verbs & Conjugations",
                    "comment": "Second groupe - Infinitif",
                    "tags": [
                        {
                            "id": 10,
                            "name": "infinitive",
                            "category": "form",
                            "category_display": "Form",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:48.405964Z",
                            "updated_at": "2026-01-17T18:41:48.405981Z"
                        },
                        {
                            "id": 11,
                            "name": "present",
                            "category": "tense",
                            "category_display": "Tense (Conjugation)",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:48.408735Z",
                            "updated_at": "2026-01-17T18:41:48.408752Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:48.543606Z",
                    "updated_at": "2026-01-17T18:41:48.543617Z",
                    "is_active": true
                },
                {
                    "id": 425,
                    "french_word": "enseigner",
                    "russian_word": "учить",
                    "category": "verb",
                    "category_display": "Verb",
                    "level": 6,
                    "level_display": "Verbs & Conjugations",
                    "comment": "Second groupe - Infinitif",
                    "tags": [
                        {
                            "id": 10,
                            "name": "infinitive",
                            "category": "form",
                            "category_display": "Form",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:48.405964Z",
                            "updated_at": "2026-01-17T18:41:48.405981Z"
                        },
                        {
                            "id": 11,
                            "name": "present",
                            "category": "tense",
                            "category_display": "Tense (Conjugation)",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:48.408735Z",
                            "updated_at": "2026-01-17T18:41:48.408752Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:48.505182Z",
                    "updated_at": "2026-01-17T18:41:48.505194Z",
                    "is_active": true
                },
                {
                    "id": 431,
                    "french_word": "habiter",
                    "russian_word": "жить",
                    "category": "verb",
                    "category_display": "Verb",
                    "level": 6,
                    "level_display": "Verbs & Conjugations",
                    "comment": "Second groupe - Infinitif",
                    "tags": [
                        {
                            "id": 10,
                            "name": "infinitive",
                            "category": "form",
                            "category_display": "Form",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:48.405964Z",
                            "updated_at": "2026-01-17T18:41:48.405981Z"
                        },
                        {
                            "id": 11,
                            "name": "present",
                            "category": "tense",
                            "category_display": "Tense (Conjugation)",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:48.408735Z",
                            "updated_at": "2026-01-17T18:41:48.408752Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:48.533695Z",
                    "updated_at": "2026-01-17T18:41:48.533710Z",
                    "is_active": true
                },
                {
                    "id": 434,
                    "french_word": "lire",
                    "russian_word": "читать",
                    "category": "verb",
                    "category_display": "Verb",
                    "level": 6,
                    "level_display": "Verbs & Conjugations",
                    "comment": "Second groupe - Infinitif",
                    "tags": [
                        {
                            "id": 10,
                            "name": "infinitive",
                            "category": "form",
                            "category_display": "Form",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:48.405964Z",
                            "updated_at": "2026-01-17T18:41:48.405981Z"
                        },
                        {
                            "id": 11,
                            "name": "present",
                            "category": "tense",
                            "category_display": "Tense (Conjugation)",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:48.408735Z",
                            "updated_at": "2026-01-17T18:41:48.408752Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:48.548440Z",
                    "updated_at": "2026-01-17T18:41:48.548451Z",
                    "is_active": true
                },
                {
                    "id": 432,
                    "french_word": "manger",
                    "russian_word": "есть",
                    "category": "verb",
                    "category_display": "Verb",
                    "level": 6,
                    "level_display": "Verbs & Conjugations",
                    "comment": "Second groupe - Infinitif",
                    "tags": [
                        {
                            "id": 10,
                            "name": "infinitive",
                            "category": "form",
                            "category_display": "Form",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:48.405964Z",
                            "updated_at": "2026-01-17T18:41:48.405981Z"
                        },
                        {
                            "id": 11,
                            "name": "present",
                            "category": "tense",
                            "category_display": "Tense (Conjugation)",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:48.408735Z",
                            "updated_at": "2026-01-17T18:41:48.408752Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:48.538799Z",
                    "updated_at": "2026-01-17T18:41:48.538817Z",
                    "is_active": true
                },
                {
                    "id": 427,
                    "french_word": "marcher",
                    "russian_word": "ходить",
                    "category": "verb",
                    "category_display": "Verb",
                    "level": 6,
                    "level_display": "Verbs & Conjugations",
                    "comment": "Second groupe - Infinitif",
                    "tags": [
                        {
                            "id": 10,
                            "name": "infinitive",
                            "category": "form",
                            "category_display": "Form",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:48.405964Z",
                            "updated_at": "2026-01-17T18:41:48.405981Z"
                        },
                        {
                            "id": 11,
                            "name": "present",
                            "category": "tense",
                            "category_display": "Tense (Conjugation)",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:48.408735Z",
                            "updated_at": "2026-01-17T18:41:48.408752Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:48.514429Z",
                    "updated_at": "2026-01-17T18:41:48.514440Z",
                    "is_active": true
                },
                {
                    "id": 426,
                    "french_word": "penser",
                    "russian_word": "думать",
                    "category": "verb",
                    "category_display": "Verb",
                    "level": 6,
                    "level_display": "Verbs & Conjugations",
                    "comment": "Second groupe - Infinitif",
                    "tags": [
                        {
                            "id": 10,
                            "name": "infinitive",
                            "category": "form",
                            "category_display": "Form",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:48.405964Z",
                            "updated_at": "2026-01-17T18:41:48.405981Z"
                        },
                        {
                            "id": 11,
                            "name": "present",
                            "category": "tense",
                            "category_display": "Tense (Conjugation)",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:48.408735Z",
                            "updated_at": "2026-01-17T18:41:48.408752Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:48.509823Z",
                    "updated_at": "2026-01-17T18:41:48.509835Z",
                    "is_active": true
                },
                {
                    "id": 424,
                    "french_word": "répondre",
                    "russian_word": "отвечать",
                    "category": "verb",
                    "category_display": "Verb",
                    "level": 6,
                    "level_display": "Verbs & Conjugations",
                    "comment": "Second groupe - Infinitif",
                    "tags": [
                        {
                            "id": 10,
                            "name": "infinitive",
                            "category": "form",
                            "category_display": "Form",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:48.405964Z",
                            "updated_at": "2026-01-17T18:41:48.405981Z"
                        },
                        {
                            "id": 11,
                            "name": "present",
                            "category": "tense",
                            "category_display": "Tense (Conjugation)",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:48.408735Z",
                            "updated_at": "2026-01-17T18:41:48.408752Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:48.500540Z",
                    "updated_at": "2026-01-17T18:41:48.500551Z",
                    "is_active": true
                },
                {
                    "id": 429,
                    "french_word": "travailler",
                    "russian_word": "работать",
                    "category": "verb",
                    "category_display": "Verb",
                    "level": 6,
                    "level_display": "Verbs & Conjugations",
                    "comment": "Second groupe - Infinitif",
                    "tags": [
                        {
                            "id": 10,
                            "name": "infinitive",
                            "category": "form",
                            "category_display": "Form",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:48.405964Z",
                            "updated_at": "2026-01-17T18:41:48.405981Z"
                        },
                        {
                            "id": 11,
                            "name": "present",
                            "category": "tense",
                            "category_display": "Tense (Conjugation)",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:48.408735Z",
                            "updated_at": "2026-01-17T18:41:48.408752Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:48.524032Z",
                    "updated_at": "2026-01-17T18:41:48.524046Z",
                    "is_active": true
                },
                {
                    "id": 421,
                    "french_word": "vivre",
                    "russian_word": "жить",
                    "category": "verb",
                    "category_display": "Verb",
                    "level": 6,
                    "level_display": "Verbs & Conjugations",
                    "comment": "Second groupe - Infinitif",
                    "tags": [
                        {
                            "id": 10,
                            "name": "infinitive",
                            "category": "form",
                            "category_display": "Form",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:48.405964Z",
                            "updated_at": "2026-01-17T18:41:48.405981Z"
                        },
                        {
                            "id": 11,
                            "name": "present",
                            "category": "tense",
                            "category_display": "Tense (Conjugation)",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:48.408735Z",
                            "updated_at": "2026-01-17T18:41:48.408752Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:48.486573Z",
                    "updated_at": "2026-01-17T18:41:48.486584Z",
                    "is_active": true
                },
                {
                    "id": 420,
                    "french_word": "voir",
                    "russian_word": "видеть",
                    "category": "verb",
                    "category_display": "Verb",
                    "level": 6,
                    "level_display": "Verbs & Conjugations",
                    "comment": "Second groupe - Infinitif",
                    "tags": [
                        {
                            "id": 10,
                            "name": "infinitive",
                            "category": "form",
                            "category_display": "Form",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:48.405964Z",
                            "updated_at": "2026-01-17T18:41:48.405981Z"
                        },
                        {
                            "id": 11,
                            "name": "present",
                            "category": "tense",
                            "category_display": "Tense (Conjugation)",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:48.408735Z",
                            "updated_at": "2026-01-17T18:41:48.408752Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:48.476521Z",
                    "updated_at": "2026-01-17T18:41:48.476539Z",
                    "is_active": true
                },
                {
                    "id": 423,
                    "french_word": "écouter",
                    "russian_word": "слушать",
                    "category": "verb",
                    "category_display": "Verb",
                    "level": 6,
                    "level_display": "Verbs & Conjugations",
                    "comment": "Second groupe - Infinitif",
                    "tags": [
                        {
                            "id": 10,
                            "name": "infinitive",
                            "category": "form",
                            "category_display": "Form",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:48.405964Z",
                            "updated_at": "2026-01-17T18:41:48.405981Z"
                        },
                        {
                            "id": 11,
                            "name": "present",
                            "category": "tense",
                            "category_display": "Tense (Conjugation)",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:48.408735Z",
                            "updated_at": "2026-01-17T18:41:48.408752Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:48.495938Z",
                    "updated_at": "2026-01-17T18:41:48.495957Z",
                    "is_active": true
                },
                {
                    "id": 435,
                    "french_word": "écrire",
                    "russian_word": "писать",
                    "category": "verb",
                    "category_display": "Verb",
                    "level": 6,
                    "level_display": "Verbs & Conjugations",
                    "comment": "Second groupe - Infinitif",
                    "tags": [
                        {
                            "id": 10,
                            "name": "infinitive",
                            "category": "form",
                            "category_display": "Form",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:48.405964Z",
                            "updated_at": "2026-01-17T18:41:48.405981Z"
                        },
                        {
                            "id": 11,
                            "name": "present",
                            "category": "tense",
                            "category_display": "Tense (Conjugation)",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:48.408735Z",
                            "updated_at": "2026-01-17T18:41:48.408752Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:48.553876Z",
                    "updated_at": "2026-01-17T18:41:48.553889Z",
                    "is_active": true
                },
                {
                    "id": 430,
                    "french_word": "étudier",
                    "russian_word": "учиться",
                    "category": "verb",
                    "category_display": "Verb",
                    "level": 6,
                    "level_display": "Verbs & Conjugations",
                    "comment": "Second groupe - Infinitif",
                    "tags": [
                        {
                            "id": 10,
                            "name": "infinitive",
                            "category": "form",
                            "category_display": "Form",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:48.405964Z",
                            "updated_at": "2026-01-17T18:41:48.405981Z"
                        },
                        {
                            "id": 11,
                            "name": "present",
                            "category": "tense",
                            "category_display": "Tense (Conjugation)",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:48.408735Z",
                            "updated_at": "2026-01-17T18:41:48.408752Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:48.528927Z",
                    "updated_at": "2026-01-17T18:41:48.528945Z",
                    "is_active": true
                }
            ],
            "steps": [
                {
                    "id": 104,
                    "sub_level": 27,
                    "order": 1,
                    "step_type": "learning_card",
                    "step_type_display": "Learning Card",
                    "title": "Introduction - Second groupe de conjugaison",
                    "description": "# Second groupe de conjugaison\n\nLe **second groupe (deuxième conjugaison)** comprend surtout les verbes à l'infinitif se terminant par **-ить**.\n\n## Terminaisons du second groupe\n\n- **я** : -у / -ю\n- ",
                    "is_required": true,
                    "config": {
                        "content": "# Second groupe de conjugaison\n\nLe **second groupe (deuxième conjugaison)** comprend surtout les verbes à l'infinitif se terminant par **-ить**.\n\n## Terminaisons du second groupe\n\n- **я** : -у / -ю\n- **ты** : -ишь\n- **он/она** : -ит\n- **мы** : -им\n- **вы** : -ите\n- **они** : -ат / -ят\n\n## Exemples de verbes du second groupe\n\n- любить (aimer)\n- ходить (aller - de façon répétée)\n- видеть (voir)\n\n**Note** : Il existe des exceptions. Certains verbes en -ить appartiennent au premier type (comme брить, стелить), et certains verbes avec d'autres terminaisons appartiennent au second type.\n\nPratiquez ces verbes pour maîtriser les terminaisons du second groupe !",
                        "concept_type": "conjugation"
                    },
                    "is_active": true,
                    "is_completed": false,
                    "progress": {
                        "is_completed": false,
                        "completed_at": null,
                        "score": null,
                        "attempts": 0,
                        "best_score": null
                    },
                    "created_at": "2026-01-17T18:41:48.691593Z",
                    "updated_at": "2026-01-17T18:41:48.691603Z"
                },
                {
                    "id": 105,
                    "sub_level": 27,
                    "order": 2,
                    "step_type": "game_matching",
                    "step_type_display": "Game - Matching",
                    "title": "Pratiquez la conjugaison - Verbes du 2ème groupe",
                    "description": "Pratiquez la conjugaison - Verbes du 2ème groupe",
                    "is_required": true,
                    "config": {
                        "game_mode": "conjugation",
                        "instructions": "Pratiquez la conjugaison",
                        "min_score": 75,
                        "level": 6,
                        "sub_level": 2
                    },
                    "is_active": true,
                    "is_completed": false,
                    "progress": {
                        "is_completed": false,
                        "completed_at": null,
                        "score": null,
                        "attempts": 0,
                        "best_score": null
                    },
                    "created_at": "2026-01-17T18:41:48.695380Z",
                    "updated_at": "2026-01-17T18:41:48.695390Z"
                },
                {
                    "id": 106,
                    "sub_level": 27,
                    "order": 3,
                    "step_type": "game_matching",
                    "step_type_display": "Game - Matching",
                    "title": "Associez les formes conjuguées - Verbes du 2ème groupe",
                    "description": "Associez les formes conjuguées - Verbes du 2ème groupe",
                    "is_required": true,
                    "config": {
                        "game_mode": "matching",
                        "instructions": "Associez les formes conjuguées",
                        "min_score": 75,
                        "level": 6,
                        "sub_level": 2
                    },
                    "is_active": true,
                    "is_completed": false,
                    "progress": {
                        "is_completed": false,
                        "completed_at": null,
                        "score": null,
                        "attempts": 0,
                        "best_score": null
                    },
                    "created_at": "2026-01-17T18:41:48.698953Z",
                    "updated_at": "2026-01-17T18:41:48.698963Z"
                },
                {
                    "id": 107,
                    "sub_level": 27,
                    "order": 4,
                    "step_type": "game_multiple_choice",
                    "step_type_display": "Game - Multiple Choice",
                    "title": "Choisissez la bonne conjugaison - Verbes du 2ème groupe",
                    "description": "Choisissez la bonne conjugaison - Verbes du 2ème groupe",
                    "is_required": false,
                    "config": {
                        "game_mode": "multiple_choice",
                        "instructions": "Choisissez la bonne conjugaison",
                        "min_score": 75,
                        "level": 6,
                        "sub_level": 2
                    },
                    "is_active": true,
                    "is_completed": false,
                    "progress": {
                        "is_completed": false,
                        "completed_at": null,
                        "score": null,
                        "attempts": 0,
                        "best_score": null
                    },
                    "created_at": "2026-01-17T18:41:48.702201Z",
                    "updated_at": "2026-01-17T18:41:48.702212Z"
                }
            ],
            "videos": [],
            "learning_cards": [
                {
                    "id": 104,
                    "sub_level": 27,
                    "order": 1,
                    "step_type": "learning_card",
                    "step_type_display": "Learning Card",
                    "title": "Introduction - Second groupe de conjugaison",
                    "description": "# Second groupe de conjugaison\n\nLe **second groupe (deuxième conjugaison)** comprend surtout les verbes à l'infinitif se terminant par **-ить**.\n\n## Terminaisons du second groupe\n\n- **я** : -у / -ю\n- ",
                    "is_required": true,
                    "config": {
                        "content": "# Second groupe de conjugaison\n\nLe **second groupe (deuxième conjugaison)** comprend surtout les verbes à l'infinitif se terminant par **-ить**.\n\n## Terminaisons du second groupe\n\n- **я** : -у / -ю\n- **ты** : -ишь\n- **он/она** : -ит\n- **мы** : -им\n- **вы** : -ите\n- **они** : -ат / -ят\n\n## Exemples de verbes du second groupe\n\n- любить (aimer)\n- ходить (aller - de façon répétée)\n- видеть (voir)\n\n**Note** : Il existe des exceptions. Certains verbes en -ить appartiennent au premier type (comme брить, стелить), et certains verbes avec d'autres terminaisons appartiennent au second type.\n\nPratiquez ces verbes pour maîtriser les terminaisons du second groupe !",
                        "concept_type": "conjugation"
                    },
                    "is_active": true,
                    "is_completed": false,
                    "progress": {
                        "is_completed": false,
                        "completed_at": null,
                        "score": null,
                        "attempts": 0,
                        "best_score": null
                    },
                    "created_at": "2026-01-17T18:41:48.691593Z",
                    "updated_at": "2026-01-17T18:41:48.691603Z"
                }
            ],
            "exercises": [],
            "total_words": 20,
            "is_unlocked": false,
            "is_completed": false,
            "progress": {
                "words_mastered": 0,
                "total_words": 20,
                "completion_percentage": 0.0,
                "steps": []
            },
            "is_active": true,
            "created_at": "2026-01-17T18:41:48.684402Z",
            "updated_at": "2026-01-17T18:41:48.684413Z"
        },
        {
            "id": 28,
            "level": 6,
            "level_display": "Verbs & Conjugations",
            "sub_level": 3,
            "title": "Verbes irréguliers",
            "description": "Les verbes avec conjugaisons particulières",
            "order": 3,
            "word_pairs": [
                {
                    "id": 417,
                    "french_word": "avoir",
                    "russian_word": "иметь",
                    "category": "verb",
                    "category_display": "Verb",
                    "level": 6,
                    "level_display": "Verbs & Conjugations",
                    "comment": "Verbe irrégulier - Infinitif",
                    "tags": [
                        {
                            "id": 10,
                            "name": "infinitive",
                            "category": "form",
                            "category_display": "Form",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:48.405964Z",
                            "updated_at": "2026-01-17T18:41:48.405981Z"
                        },
                        {
                            "id": 11,
                            "name": "present",
                            "category": "tense",
                            "category_display": "Tense (Conjugation)",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:48.408735Z",
                            "updated_at": "2026-01-17T18:41:48.408752Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:48.459446Z",
                    "updated_at": "2026-01-17T18:41:48.459461Z",
                    "is_active": true
                },
                {
                    "id": 415,
                    "french_word": "vouloir",
                    "russian_word": "хотеть",
                    "category": "verb",
                    "category_display": "Verb",
                    "level": 6,
                    "level_display": "Verbs & Conjugations",
                    "comment": "Premier groupe - Infinitif (irrégulier)",
                    "tags": [
                        {
                            "id": 10,
                            "name": "infinitive",
                            "category": "form",
                            "category_display": "Form",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:48.405964Z",
                            "updated_at": "2026-01-17T18:41:48.405981Z"
                        },
                        {
                            "id": 11,
                            "name": "present",
                            "category": "tense",
                            "category_display": "Tense (Conjugation)",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:48.408735Z",
                            "updated_at": "2026-01-17T18:41:48.408752Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:48.448702Z",
                    "updated_at": "2026-01-17T18:41:48.448718Z",
                    "is_active": true
                },
                {
                    "id": 416,
                    "french_word": "être",
                    "russian_word": "быть",
                    "category": "verb",
                    "category_display": "Verb",
                    "level": 6,
                    "level_display": "Verbs & Conjugations",
                    "comment": "Verbe irrégulier - Infinitif",
                    "tags": [
                        {
                            "id": 10,
                            "name": "infinitive",
                            "category": "form",
                            "category_display": "Form",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:48.405964Z",
                            "updated_at": "2026-01-17T18:41:48.405981Z"
                        },
                        {
                            "id": 11,
                            "name": "present",
                            "category": "tense",
                            "category_display": "Tense (Conjugation)",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:48.408735Z",
                            "updated_at": "2026-01-17T18:41:48.408752Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:48.454154Z",
                    "updated_at": "2026-01-17T18:41:48.454172Z",
                    "is_active": true
                }
            ],
            "steps": [
                {
                    "id": 108,
                    "sub_level": 28,
                    "order": 1,
                    "step_type": "learning_card",
                    "step_type_display": "Learning Card",
                    "title": "Introduction - Verbes irréguliers",
                    "description": "# Verbes irréguliers\n\nCertains verbes russes ne suivent pas exactement les règles des premier et second groupes. Ces verbes irréguliers ont des conjugaisons particulières qu'il faut apprendre par cœur",
                    "is_required": true,
                    "config": {
                        "content": "# Verbes irréguliers\n\nCertains verbes russes ne suivent pas exactement les règles des premier et second groupes. Ces verbes irréguliers ont des conjugaisons particulières qu'il faut apprendre par cœur.\n\n## Exemples de verbes irréguliers\n\n- хотеть (vouloir) - présente des variations dans sa conjugaison\n- быть (être) - très irrégulier\n- идти (aller) - peut être considéré comme irrégulier dans certains contextes\n\nCes verbes sont essentiels et fréquemment utilisés, il est donc important de bien les maîtriser !",
                        "concept_type": "conjugation"
                    },
                    "is_active": true,
                    "is_completed": false,
                    "progress": {
                        "is_completed": false,
                        "completed_at": null,
                        "score": null,
                        "attempts": 0,
                        "best_score": null
                    },
                    "created_at": "2026-01-17T18:41:48.711248Z",
                    "updated_at": "2026-01-17T18:41:48.711258Z"
                },
                {
                    "id": 109,
                    "sub_level": 28,
                    "order": 2,
                    "step_type": "game_matching",
                    "step_type_display": "Game - Matching",
                    "title": "Pratiquez la conjugaison - Verbes irréguliers",
                    "description": "Pratiquez la conjugaison - Verbes irréguliers",
                    "is_required": true,
                    "config": {
                        "game_mode": "conjugation",
                        "instructions": "Pratiquez la conjugaison",
                        "min_score": 75,
                        "level": 6,
                        "sub_level": 3
                    },
                    "is_active": true,
                    "is_completed": false,
                    "progress": {
                        "is_completed": false,
                        "completed_at": null,
                        "score": null,
                        "attempts": 0,
                        "best_score": null
                    },
                    "created_at": "2026-01-17T18:41:48.714654Z",
                    "updated_at": "2026-01-17T18:41:48.714664Z"
                },
                {
                    "id": 110,
                    "sub_level": 28,
                    "order": 3,
                    "step_type": "game_matching",
                    "step_type_display": "Game - Matching",
                    "title": "Associez les formes conjuguées - Verbes irréguliers",
                    "description": "Associez les formes conjuguées - Verbes irréguliers",
                    "is_required": true,
                    "config": {
                        "game_mode": "matching",
                        "instructions": "Associez les formes conjuguées",
                        "min_score": 75,
                        "level": 6,
                        "sub_level": 3
                    },
                    "is_active": true,
                    "is_completed": false,
                    "progress": {
                        "is_completed": false,
                        "completed_at": null,
                        "score": null,
                        "attempts": 0,
                        "best_score": null
                    },
                    "created_at": "2026-01-17T18:41:48.717990Z",
                    "updated_at": "2026-01-17T18:41:48.718000Z"
                },
                {
                    "id": 111,
                    "sub_level": 28,
                    "order": 4,
                    "step_type": "game_multiple_choice",
                    "step_type_display": "Game - Multiple Choice",
                    "title": "Choisissez la bonne conjugaison - Verbes irréguliers",
                    "description": "Choisissez la bonne conjugaison - Verbes irréguliers",
                    "is_required": false,
                    "config": {
                        "game_mode": "multiple_choice",
                        "instructions": "Choisissez la bonne conjugaison",
                        "min_score": 75,
                        "level": 6,
                        "sub_level": 3
                    },
                    "is_active": true,
                    "is_completed": false,
                    "progress": {
                        "is_completed": false,
                        "completed_at": null,
                        "score": null,
                        "attempts": 0,
                        "best_score": null
                    },
                    "created_at": "2026-01-17T18:41:48.721374Z",
                    "updated_at": "2026-01-17T18:41:48.721385Z"
                }
            ],
            "videos": [],
            "learning_cards": [
                {
                    "id": 108,
                    "sub_level": 28,
                    "order": 1,
                    "step_type": "learning_card",
                    "step_type_display": "Learning Card",
                    "title": "Introduction - Verbes irréguliers",
                    "description": "# Verbes irréguliers\n\nCertains verbes russes ne suivent pas exactement les règles des premier et second groupes. Ces verbes irréguliers ont des conjugaisons particulières qu'il faut apprendre par cœur",
                    "is_required": true,
                    "config": {
                        "content": "# Verbes irréguliers\n\nCertains verbes russes ne suivent pas exactement les règles des premier et second groupes. Ces verbes irréguliers ont des conjugaisons particulières qu'il faut apprendre par cœur.\n\n## Exemples de verbes irréguliers\n\n- хотеть (vouloir) - présente des variations dans sa conjugaison\n- быть (être) - très irrégulier\n- идти (aller) - peut être considéré comme irrégulier dans certains contextes\n\nCes verbes sont essentiels et fréquemment utilisés, il est donc important de bien les maîtriser !",
                        "concept_type": "conjugation"
                    },
                    "is_active": true,
                    "is_completed": false,
                    "progress": {
                        "is_completed": false,
                        "completed_at": null,
                        "score": null,
                        "attempts": 0,
                        "best_score": null
                    },
                    "created_at": "2026-01-17T18:41:48.711248Z",
                    "updated_at": "2026-01-17T18:41:48.711258Z"
                }
            ],
            "exercises": [],
            "total_words": 3,
            "is_unlocked": false,
            "is_completed": false,
            "progress": {
                "words_mastered": 0,
                "total_words": 3,
                "completion_percentage": 0.0,
                "steps": []
            },
            "is_active": true,
            "created_at": "2026-01-17T18:41:48.704761Z",
            "updated_at": "2026-01-17T18:41:48.704779Z"
        },
        {
            "id": 29,
            "level": 7,
            "level_display": "Declensions & Cases",
            "sub_level": 1,
            "title": "Nominatif",
            "description": "Le cas nominatif (sujet)",
            "order": 1,
            "word_pairs": [
                {
                    "id": 462,
                    "french_word": "c'est une table",
                    "russian_word": "это стол",
                    "category": "other",
                    "category_display": "Other",
                    "level": 7,
                    "level_display": "Declensions & Cases",
                    "comment": "Nominatif - это стол",
                    "tags": [
                        {
                            "id": 7,
                            "name": "nominative",
                            "category": "case",
                            "category_display": "Case (Declension)",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:46.144909Z",
                            "updated_at": "2026-01-17T18:41:46.144920Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:48.906311Z",
                    "updated_at": "2026-01-17T18:41:48.906336Z",
                    "is_active": true
                },
                {
                    "id": 441,
                    "french_word": "chat",
                    "russian_word": "кот",
                    "category": "animal",
                    "category_display": "Animal",
                    "level": 7,
                    "level_display": "Declensions & Cases",
                    "comment": "Cat",
                    "tags": [
                        {
                            "id": 7,
                            "name": "nominative",
                            "category": "case",
                            "category_display": "Case (Declension)",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:46.144909Z",
                            "updated_at": "2026-01-17T18:41:46.144920Z"
                        },
                        {
                            "id": 19,
                            "name": "animal",
                            "category": "category",
                            "category_display": "category",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:50.852846Z",
                            "updated_at": "2026-01-17T18:41:50.852856Z"
                        },
                        {
                            "id": 5,
                            "name": "singular",
                            "category": "number",
                            "category_display": "Number",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:46.139686Z",
                            "updated_at": "2026-01-17T18:41:46.139698Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:48.751457Z",
                    "updated_at": "2026-01-17T18:41:50.861009Z",
                    "is_active": true
                },
                {
                    "id": 439,
                    "french_word": "fenêtre",
                    "russian_word": "окно",
                    "category": "other",
                    "category_display": "Other",
                    "level": 7,
                    "level_display": "Declensions & Cases",
                    "comment": "Neutre, 2ème déclinaison",
                    "tags": [
                        {
                            "id": 7,
                            "name": "nominative",
                            "category": "case",
                            "category_display": "Case (Declension)",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:46.144909Z",
                            "updated_at": "2026-01-17T18:41:46.144920Z"
                        },
                        {
                            "id": 5,
                            "name": "singular",
                            "category": "number",
                            "category_display": "Number",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:46.139686Z",
                            "updated_at": "2026-01-17T18:41:46.139698Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:48.733150Z",
                    "updated_at": "2026-01-17T18:41:48.733160Z",
                    "is_active": true
                },
                {
                    "id": 449,
                    "french_word": "genre féminin",
                    "russian_word": "женский род",
                    "category": "other",
                    "category_display": "Other",
                    "level": 7,
                    "level_display": "Declensions & Cases",
                    "comment": "Terminaison: а ou я au nominatif",
                    "tags": [
                        {
                            "id": 7,
                            "name": "nominative",
                            "category": "case",
                            "category_display": "Case (Declension)",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:46.144909Z",
                            "updated_at": "2026-01-17T18:41:46.144920Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:48.822353Z",
                    "updated_at": "2026-01-17T18:41:48.822377Z",
                    "is_active": true
                },
                {
                    "id": 448,
                    "french_word": "genre masculin",
                    "russian_word": "мужской род",
                    "category": "other",
                    "category_display": "Other",
                    "level": 7,
                    "level_display": "Declensions & Cases",
                    "comment": "Terminaison: consonne ou й au nominatif",
                    "tags": [
                        {
                            "id": 7,
                            "name": "nominative",
                            "category": "case",
                            "category_display": "Case (Declension)",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:46.144909Z",
                            "updated_at": "2026-01-17T18:41:46.144920Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:48.816589Z",
                    "updated_at": "2026-01-17T18:41:48.816617Z",
                    "is_active": true
                },
                {
                    "id": 450,
                    "french_word": "genre neutre",
                    "russian_word": "средний род",
                    "category": "other",
                    "category_display": "Other",
                    "level": 7,
                    "level_display": "Declensions & Cases",
                    "comment": "Terminaison: о ou е au nominatif",
                    "tags": [
                        {
                            "id": 7,
                            "name": "nominative",
                            "category": "case",
                            "category_display": "Case (Declension)",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:46.144909Z",
                            "updated_at": "2026-01-17T18:41:46.144920Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:48.827725Z",
                    "updated_at": "2026-01-17T18:41:48.827742Z",
                    "is_active": true
                },
                {
                    "id": 454,
                    "french_word": "l'oncle (masc)",
                    "russian_word": "дядя",
                    "category": "other",
                    "category_display": "Other",
                    "level": 7,
                    "level_display": "Declensions & Cases",
                    "comment": "Masculin - exception: terminaison я mais masculin",
                    "tags": [
                        {
                            "id": 7,
                            "name": "nominative",
                            "category": "case",
                            "category_display": "Case (Declension)",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:46.144909Z",
                            "updated_at": "2026-01-17T18:41:46.144920Z"
                        },
                        {
                            "id": 2,
                            "name": "masculine",
                            "category": "gender",
                            "category_display": "Gender",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:46.131757Z",
                            "updated_at": "2026-01-17T18:41:46.131774Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:48.853806Z",
                    "updated_at": "2026-01-17T18:41:48.853829Z",
                    "is_active": true
                },
                {
                    "id": 455,
                    "french_word": "la maison (masc)",
                    "russian_word": "дом",
                    "category": "other",
                    "category_display": "Other",
                    "level": 7,
                    "level_display": "Declensions & Cases",
                    "comment": "Masculin - terminaison consonne",
                    "tags": [
                        {
                            "id": 7,
                            "name": "nominative",
                            "category": "case",
                            "category_display": "Case (Declension)",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:46.144909Z",
                            "updated_at": "2026-01-17T18:41:46.144920Z"
                        },
                        {
                            "id": 2,
                            "name": "masculine",
                            "category": "gender",
                            "category_display": "Gender",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:46.131757Z",
                            "updated_at": "2026-01-17T18:41:46.131774Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:48.862863Z",
                    "updated_at": "2026-01-17T18:41:48.862892Z",
                    "is_active": true
                },
                {
                    "id": 458,
                    "french_word": "la mer (neutre)",
                    "russian_word": "море",
                    "category": "other",
                    "category_display": "Other",
                    "level": 7,
                    "level_display": "Declensions & Cases",
                    "comment": "Neutre - terminaison е",
                    "tags": [
                        {
                            "id": 7,
                            "name": "nominative",
                            "category": "case",
                            "category_display": "Case (Declension)",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:46.144909Z",
                            "updated_at": "2026-01-17T18:41:46.144920Z"
                        },
                        {
                            "id": 4,
                            "name": "neuter",
                            "category": "gender",
                            "category_display": "Gender",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:46.137136Z",
                            "updated_at": "2026-01-17T18:41:46.137147Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:48.881279Z",
                    "updated_at": "2026-01-17T18:41:48.881301Z",
                    "is_active": true
                },
                {
                    "id": 460,
                    "french_word": "la nuit (fém)",
                    "russian_word": "ночь",
                    "category": "other",
                    "category_display": "Other",
                    "level": 7,
                    "level_display": "Declensions & Cases",
                    "comment": "Féminin - terminaison ь",
                    "tags": [
                        {
                            "id": 7,
                            "name": "nominative",
                            "category": "case",
                            "category_display": "Case (Declension)",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:46.144909Z",
                            "updated_at": "2026-01-17T18:41:46.144920Z"
                        },
                        {
                            "id": 3,
                            "name": "feminine",
                            "category": "gender",
                            "category_display": "Gender",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:46.134507Z",
                            "updated_at": "2026-01-17T18:41:46.134524Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:48.893938Z",
                    "updated_at": "2026-01-17T18:41:48.893963Z",
                    "is_active": true
                },
                {
                    "id": 452,
                    "french_word": "la rivière (fém)",
                    "russian_word": "река",
                    "category": "other",
                    "category_display": "Other",
                    "level": 7,
                    "level_display": "Declensions & Cases",
                    "comment": "Féminin - terminaison а",
                    "tags": [
                        {
                            "id": 7,
                            "name": "nominative",
                            "category": "case",
                            "category_display": "Case (Declension)",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:46.144909Z",
                            "updated_at": "2026-01-17T18:41:46.144920Z"
                        },
                        {
                            "id": 3,
                            "name": "feminine",
                            "category": "gender",
                            "category_display": "Gender",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:46.134507Z",
                            "updated_at": "2026-01-17T18:41:46.134524Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:48.840738Z",
                    "updated_at": "2026-01-17T18:41:48.840762Z",
                    "is_active": true
                },
                {
                    "id": 451,
                    "french_word": "la terre (fém)",
                    "russian_word": "земля",
                    "category": "other",
                    "category_display": "Other",
                    "level": 7,
                    "level_display": "Declensions & Cases",
                    "comment": "Féminin - terminaison я",
                    "tags": [
                        {
                            "id": 7,
                            "name": "nominative",
                            "category": "case",
                            "category_display": "Case (Declension)",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:46.144909Z",
                            "updated_at": "2026-01-17T18:41:46.144920Z"
                        },
                        {
                            "id": 3,
                            "name": "feminine",
                            "category": "gender",
                            "category_display": "Gender",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:46.134507Z",
                            "updated_at": "2026-01-17T18:41:46.134524Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:48.835010Z",
                    "updated_at": "2026-01-17T18:41:48.835035Z",
                    "is_active": true
                },
                {
                    "id": 456,
                    "french_word": "le cheval (masc)",
                    "russian_word": "конь",
                    "category": "other",
                    "category_display": "Other",
                    "level": 7,
                    "level_display": "Declensions & Cases",
                    "comment": "Masculin - terminaison ь",
                    "tags": [
                        {
                            "id": 7,
                            "name": "nominative",
                            "category": "case",
                            "category_display": "Case (Declension)",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:46.144909Z",
                            "updated_at": "2026-01-17T18:41:46.144920Z"
                        },
                        {
                            "id": 2,
                            "name": "masculine",
                            "category": "gender",
                            "category_display": "Gender",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:46.131757Z",
                            "updated_at": "2026-01-17T18:41:46.131774Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:48.868436Z",
                    "updated_at": "2026-01-17T18:41:48.868458Z",
                    "is_active": true
                },
                {
                    "id": 459,
                    "french_word": "le ciel (neutre)",
                    "russian_word": "небо",
                    "category": "other",
                    "category_display": "Other",
                    "level": 7,
                    "level_display": "Declensions & Cases",
                    "comment": "Neutre - terminaison о",
                    "tags": [
                        {
                            "id": 7,
                            "name": "nominative",
                            "category": "case",
                            "category_display": "Case (Declension)",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:46.144909Z",
                            "updated_at": "2026-01-17T18:41:46.144920Z"
                        },
                        {
                            "id": 4,
                            "name": "neuter",
                            "category": "gender",
                            "category_display": "Gender",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:46.137136Z",
                            "updated_at": "2026-01-17T18:41:46.137147Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:48.888238Z",
                    "updated_at": "2026-01-17T18:41:48.888264Z",
                    "is_active": true
                },
                {
                    "id": 453,
                    "french_word": "le four (fém)",
                    "russian_word": "печь",
                    "category": "other",
                    "category_display": "Other",
                    "level": 7,
                    "level_display": "Declensions & Cases",
                    "comment": "Féminin - terminaison ь",
                    "tags": [
                        {
                            "id": 7,
                            "name": "nominative",
                            "category": "case",
                            "category_display": "Case (Declension)",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:46.144909Z",
                            "updated_at": "2026-01-17T18:41:46.144920Z"
                        },
                        {
                            "id": 3,
                            "name": "feminine",
                            "category": "gender",
                            "category_display": "Gender",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:46.134507Z",
                            "updated_at": "2026-01-17T18:41:46.134524Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:48.846765Z",
                    "updated_at": "2026-01-17T18:41:48.846790Z",
                    "is_active": true
                },
                {
                    "id": 457,
                    "french_word": "le pain (masc)",
                    "russian_word": "хлеб",
                    "category": "other",
                    "category_display": "Other",
                    "level": 7,
                    "level_display": "Declensions & Cases",
                    "comment": "Masculin - terminaison consonne",
                    "tags": [
                        {
                            "id": 7,
                            "name": "nominative",
                            "category": "case",
                            "category_display": "Case (Declension)",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:46.144909Z",
                            "updated_at": "2026-01-17T18:41:46.144920Z"
                        },
                        {
                            "id": 2,
                            "name": "masculine",
                            "category": "gender",
                            "category_display": "Gender",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:46.131757Z",
                            "updated_at": "2026-01-17T18:41:46.131774Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:48.874055Z",
                    "updated_at": "2026-01-17T18:41:48.874077Z",
                    "is_active": true
                },
                {
                    "id": 461,
                    "french_word": "le seigle (fém)",
                    "russian_word": "рожь",
                    "category": "other",
                    "category_display": "Other",
                    "level": 7,
                    "level_display": "Declensions & Cases",
                    "comment": "Féminin - terminaison ь",
                    "tags": [
                        {
                            "id": 7,
                            "name": "nominative",
                            "category": "case",
                            "category_display": "Case (Declension)",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:46.144909Z",
                            "updated_at": "2026-01-17T18:41:46.144920Z"
                        },
                        {
                            "id": 3,
                            "name": "feminine",
                            "category": "gender",
                            "category_display": "Gender",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:46.134507Z",
                            "updated_at": "2026-01-17T18:41:46.134524Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:48.900743Z",
                    "updated_at": "2026-01-17T18:41:48.900765Z",
                    "is_active": true
                },
                {
                    "id": 442,
                    "french_word": "nominatif",
                    "russian_word": "Именительный падеж",
                    "category": "other",
                    "category_display": "Other",
                    "level": 7,
                    "level_display": "Declensions & Cases",
                    "comment": "Cas du sujet - Qui ? Quoi ?",
                    "tags": [
                        {
                            "id": 7,
                            "name": "nominative",
                            "category": "case",
                            "category_display": "Case (Declension)",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:46.144909Z",
                            "updated_at": "2026-01-17T18:41:46.144920Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:48.775696Z",
                    "updated_at": "2026-01-17T18:41:48.775715Z",
                    "is_active": true
                },
                {
                    "id": 440,
                    "french_word": "rose",
                    "russian_word": "роза",
                    "category": "other",
                    "category_display": "Other",
                    "level": 7,
                    "level_display": "Declensions & Cases",
                    "comment": "Féminin, 1ère déclinaison",
                    "tags": [
                        {
                            "id": 7,
                            "name": "nominative",
                            "category": "case",
                            "category_display": "Case (Declension)",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:46.144909Z",
                            "updated_at": "2026-01-17T18:41:46.144920Z"
                        },
                        {
                            "id": 5,
                            "name": "singular",
                            "category": "number",
                            "category_display": "Number",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:46.139686Z",
                            "updated_at": "2026-01-17T18:41:46.139698Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:48.744675Z",
                    "updated_at": "2026-01-17T18:41:48.744703Z",
                    "is_active": true
                },
                {
                    "id": 438,
                    "french_word": "table",
                    "russian_word": "стол",
                    "category": "business",
                    "category_display": "Business",
                    "level": 7,
                    "level_display": "Declensions & Cases",
                    "comment": "Table",
                    "tags": [
                        {
                            "id": 7,
                            "name": "nominative",
                            "category": "case",
                            "category_display": "Case (Declension)",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:46.144909Z",
                            "updated_at": "2026-01-17T18:41:46.144920Z"
                        },
                        {
                            "id": 25,
                            "name": "business",
                            "category": "category",
                            "category_display": "category",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:52.832135Z",
                            "updated_at": "2026-01-17T18:41:52.832147Z"
                        },
                        {
                            "id": 5,
                            "name": "singular",
                            "category": "number",
                            "category_display": "Number",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:46.139686Z",
                            "updated_at": "2026-01-17T18:41:46.139698Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:48.728052Z",
                    "updated_at": "2026-01-17T18:41:52.916501Z",
                    "is_active": true
                }
            ],
            "steps": [
                {
                    "id": 112,
                    "sub_level": 29,
                    "order": 1,
                    "step_type": "learning_card",
                    "step_type_display": "Learning Card",
                    "title": "Grammaire - Nominatif",
                    "description": "Le cas nominatif (sujet)\n\nApprenez les terminaisons et l'utilisation du cas nominatif.",
                    "is_required": true,
                    "config": {
                        "content": "Le cas nominatif (sujet)\n\nApprenez les terminaisons et l'utilisation du cas nominatif.",
                        "concept_type": "declension"
                    },
                    "is_active": true,
                    "is_completed": false,
                    "progress": {
                        "is_completed": false,
                        "completed_at": null,
                        "score": null,
                        "attempts": 0,
                        "best_score": null
                    },
                    "created_at": "2026-01-17T18:41:49.291885Z",
                    "updated_at": "2026-01-17T18:41:49.291924Z"
                },
                {
                    "id": 113,
                    "sub_level": 29,
                    "order": 2,
                    "step_type": "game_matching",
                    "step_type_display": "Game - Matching",
                    "title": "Pratiquez le cas Nominatif",
                    "description": "Pratiquez le cas Nominatif",
                    "is_required": true,
                    "config": {
                        "game_mode": "declension",
                        "instructions": "Pratiquez le cas Nominatif",
                        "min_score": 75,
                        "level": 7,
                        "sub_level": 1
                    },
                    "is_active": true,
                    "is_completed": false,
                    "progress": {
                        "is_completed": false,
                        "completed_at": null,
                        "score": null,
                        "attempts": 0,
                        "best_score": null
                    },
                    "created_at": "2026-01-17T18:41:49.297839Z",
                    "updated_at": "2026-01-17T18:41:49.297866Z"
                },
                {
                    "id": 114,
                    "sub_level": 29,
                    "order": 3,
                    "step_type": "game_matching",
                    "step_type_display": "Game - Matching",
                    "title": "Associez les déclinaisons",
                    "description": "Associez les déclinaisons",
                    "is_required": true,
                    "config": {
                        "game_mode": "matching",
                        "instructions": "Associez les déclinaisons",
                        "min_score": 75,
                        "level": 7,
                        "sub_level": 1
                    },
                    "is_active": true,
                    "is_completed": false,
                    "progress": {
                        "is_completed": false,
                        "completed_at": null,
                        "score": null,
                        "attempts": 0,
                        "best_score": null
                    },
                    "created_at": "2026-01-17T18:41:49.303624Z",
                    "updated_at": "2026-01-17T18:41:49.303651Z"
                },
                {
                    "id": 115,
                    "sub_level": 29,
                    "order": 4,
                    "step_type": "game_multiple_choice",
                    "step_type_display": "Game - Multiple Choice",
                    "title": "Choisissez la bonne déclinaison",
                    "description": "Choisissez la bonne déclinaison",
                    "is_required": false,
                    "config": {
                        "game_mode": "multiple_choice",
                        "instructions": "Choisissez la bonne déclinaison",
                        "min_score": 75,
                        "level": 7,
                        "sub_level": 1
                    },
                    "is_active": true,
                    "is_completed": false,
                    "progress": {
                        "is_completed": false,
                        "completed_at": null,
                        "score": null,
                        "attempts": 0,
                        "best_score": null
                    },
                    "created_at": "2026-01-17T18:41:49.309294Z",
                    "updated_at": "2026-01-17T18:41:49.309319Z"
                },
                {
                    "id": 380,
                    "sub_level": 29,
                    "order": 5,
                    "step_type": "intro",
                    "step_type_display": "Introduction Lesson",
                    "title": "Introduction - Nominatif",
                    "description": "# Nominatif\n\nLe cas nominatif (sujet)\n\n## Grammaire - Nominatif\n\nLe cas nominatif (sujet)\n\nApprenez les terminaisons et l'utilisation du cas nominatif.\n\n\n### Vocabulaire\n\nCe sous-niveau contient 20 mo",
                    "is_required": true,
                    "config": {
                        "content": "# Nominatif\n\nLe cas nominatif (sujet)\n\n## Grammaire - Nominatif\n\nLe cas nominatif (sujet)\n\nApprenez les terminaisons et l'utilisation du cas nominatif.\n\n\n### Vocabulaire\n\nCe sous-niveau contient 20 mot(s) à apprendre.\n",
                        "word_pairs": [
                            462,
                            441,
                            439,
                            449,
                            448,
                            450,
                            454,
                            455,
                            458,
                            460,
                            452,
                            451,
                            456,
                            459,
                            453,
                            457,
                            461,
                            442,
                            440,
                            438
                        ]
                    },
                    "is_active": true,
                    "is_completed": false,
                    "progress": {
                        "is_completed": false,
                        "completed_at": null,
                        "score": null,
                        "attempts": 0,
                        "best_score": null
                    },
                    "created_at": "2026-01-17T18:41:55.180858Z",
                    "updated_at": "2026-01-17T18:41:55.180874Z"
                }
            ],
            "videos": [],
            "learning_cards": [
                {
                    "id": 112,
                    "sub_level": 29,
                    "order": 1,
                    "step_type": "learning_card",
                    "step_type_display": "Learning Card",
                    "title": "Grammaire - Nominatif",
                    "description": "Le cas nominatif (sujet)\n\nApprenez les terminaisons et l'utilisation du cas nominatif.",
                    "is_required": true,
                    "config": {
                        "content": "Le cas nominatif (sujet)\n\nApprenez les terminaisons et l'utilisation du cas nominatif.",
                        "concept_type": "declension"
                    },
                    "is_active": true,
                    "is_completed": false,
                    "progress": {
                        "is_completed": false,
                        "completed_at": null,
                        "score": null,
                        "attempts": 0,
                        "best_score": null
                    },
                    "created_at": "2026-01-17T18:41:49.291885Z",
                    "updated_at": "2026-01-17T18:41:49.291924Z"
                }
            ],
            "exercises": [],
            "total_words": 20,
            "is_unlocked": false,
            "is_completed": false,
            "progress": {
                "words_mastered": 0,
                "total_words": 20,
                "completion_percentage": 0.0,
                "steps": []
            },
            "is_active": true,
            "created_at": "2026-01-17T18:41:49.275727Z",
            "updated_at": "2026-01-17T18:41:49.275750Z"
        },
        {
            "id": 30,
            "level": 7,
            "level_display": "Declensions & Cases",
            "sub_level": 2,
            "title": "Génitif",
            "description": "Le cas génitif (possession)",
            "order": 2,
            "word_pairs": [
                {
                    "id": 472,
                    "french_word": "de l'eau",
                    "russian_word": "воды",
                    "category": "other",
                    "category_display": "Other",
                    "level": 7,
                    "level_display": "Declensions & Cases",
                    "comment": "Génitif - воды",
                    "tags": [
                        {
                            "id": 12,
                            "name": "genitive",
                            "category": "case",
                            "category_display": "Case (Declension)",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:48.757573Z",
                            "updated_at": "2026-01-17T18:41:48.757592Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:48.961288Z",
                    "updated_at": "2026-01-17T18:41:48.961321Z",
                    "is_active": true
                },
                {
                    "id": 477,
                    "french_word": "de la fenêtre",
                    "russian_word": "окна",
                    "category": "other",
                    "category_display": "Other",
                    "level": 7,
                    "level_display": "Declensions & Cases",
                    "comment": "Génitif - окна",
                    "tags": [
                        {
                            "id": 12,
                            "name": "genitive",
                            "category": "case",
                            "category_display": "Case (Declension)",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:48.757573Z",
                            "updated_at": "2026-01-17T18:41:48.757592Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:48.987793Z",
                    "updated_at": "2026-01-17T18:41:48.987805Z",
                    "is_active": true
                },
                {
                    "id": 479,
                    "french_word": "de la fille",
                    "russian_word": "девочки",
                    "category": "other",
                    "category_display": "Other",
                    "level": 7,
                    "level_display": "Declensions & Cases",
                    "comment": "Génitif - девочки",
                    "tags": [
                        {
                            "id": 12,
                            "name": "genitive",
                            "category": "case",
                            "category_display": "Case (Declension)",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:48.757573Z",
                            "updated_at": "2026-01-17T18:41:48.757592Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:48.997985Z",
                    "updated_at": "2026-01-17T18:41:48.997997Z",
                    "is_active": true
                },
                {
                    "id": 470,
                    "french_word": "de la maison",
                    "russian_word": "дома",
                    "category": "other",
                    "category_display": "Other",
                    "level": 7,
                    "level_display": "Declensions & Cases",
                    "comment": "Génitif - дома",
                    "tags": [
                        {
                            "id": 12,
                            "name": "genitive",
                            "category": "case",
                            "category_display": "Case (Declension)",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:48.757573Z",
                            "updated_at": "2026-01-17T18:41:48.757592Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:48.948340Z",
                    "updated_at": "2026-01-17T18:41:48.948371Z",
                    "is_active": true
                },
                {
                    "id": 476,
                    "french_word": "de la rose",
                    "russian_word": "розы",
                    "category": "other",
                    "category_display": "Other",
                    "level": 7,
                    "level_display": "Declensions & Cases",
                    "comment": "Génitif - розы",
                    "tags": [
                        {
                            "id": 12,
                            "name": "genitive",
                            "category": "case",
                            "category_display": "Case (Declension)",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:48.757573Z",
                            "updated_at": "2026-01-17T18:41:48.757592Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:48.982800Z",
                    "updated_at": "2026-01-17T18:41:48.982814Z",
                    "is_active": true
                },
                {
                    "id": 474,
                    "french_word": "de la ville",
                    "russian_word": "города",
                    "category": "other",
                    "category_display": "Other",
                    "level": 7,
                    "level_display": "Declensions & Cases",
                    "comment": "Génitif - города",
                    "tags": [
                        {
                            "id": 12,
                            "name": "genitive",
                            "category": "case",
                            "category_display": "Case (Declension)",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:48.757573Z",
                            "updated_at": "2026-01-17T18:41:48.757592Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:48.972370Z",
                    "updated_at": "2026-01-17T18:41:48.972388Z",
                    "is_active": true
                },
                {
                    "id": 475,
                    "french_word": "du chat",
                    "russian_word": "кота",
                    "category": "other",
                    "category_display": "Other",
                    "level": 7,
                    "level_display": "Declensions & Cases",
                    "comment": "Génitif - кота",
                    "tags": [
                        {
                            "id": 12,
                            "name": "genitive",
                            "category": "case",
                            "category_display": "Case (Declension)",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:48.757573Z",
                            "updated_at": "2026-01-17T18:41:48.757592Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:48.977652Z",
                    "updated_at": "2026-01-17T18:41:48.977669Z",
                    "is_active": true
                },
                {
                    "id": 478,
                    "french_word": "du garçon",
                    "russian_word": "мальчика",
                    "category": "other",
                    "category_display": "Other",
                    "level": 7,
                    "level_display": "Declensions & Cases",
                    "comment": "Génitif - мальчика",
                    "tags": [
                        {
                            "id": 12,
                            "name": "genitive",
                            "category": "case",
                            "category_display": "Case (Declension)",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:48.757573Z",
                            "updated_at": "2026-01-17T18:41:48.757592Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:48.992807Z",
                    "updated_at": "2026-01-17T18:41:48.992820Z",
                    "is_active": true
                },
                {
                    "id": 471,
                    "french_word": "du livre",
                    "russian_word": "книги",
                    "category": "other",
                    "category_display": "Other",
                    "level": 7,
                    "level_display": "Declensions & Cases",
                    "comment": "Génitif - книги",
                    "tags": [
                        {
                            "id": 12,
                            "name": "genitive",
                            "category": "case",
                            "category_display": "Case (Declension)",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:48.757573Z",
                            "updated_at": "2026-01-17T18:41:48.757592Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:48.954967Z",
                    "updated_at": "2026-01-17T18:41:48.955003Z",
                    "is_active": true
                },
                {
                    "id": 473,
                    "french_word": "du pain",
                    "russian_word": "хлеба",
                    "category": "other",
                    "category_display": "Other",
                    "level": 7,
                    "level_display": "Declensions & Cases",
                    "comment": "Génitif - хлеба",
                    "tags": [
                        {
                            "id": 12,
                            "name": "genitive",
                            "category": "case",
                            "category_display": "Case (Declension)",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:48.757573Z",
                            "updated_at": "2026-01-17T18:41:48.757592Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:48.967255Z",
                    "updated_at": "2026-01-17T18:41:48.967277Z",
                    "is_active": true
                },
                {
                    "id": 443,
                    "french_word": "génitif",
                    "russian_word": "Родительный падеж",
                    "category": "other",
                    "category_display": "Other",
                    "level": 7,
                    "level_display": "Declensions & Cases",
                    "comment": "Cas de la possession/absence - De qui ? De quoi ?",
                    "tags": [
                        {
                            "id": 12,
                            "name": "genitive",
                            "category": "case",
                            "category_display": "Case (Declension)",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:48.757573Z",
                            "updated_at": "2026-01-17T18:41:48.757592Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:48.781355Z",
                    "updated_at": "2026-01-17T18:41:48.781379Z",
                    "is_active": true
                },
                {
                    "id": 463,
                    "french_word": "il n'y a pas de table",
                    "russian_word": "нет стола",
                    "category": "other",
                    "category_display": "Other",
                    "level": 7,
                    "level_display": "Declensions & Cases",
                    "comment": "Génitif - нет стола",
                    "tags": [
                        {
                            "id": 12,
                            "name": "genitive",
                            "category": "case",
                            "category_display": "Case (Declension)",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:48.757573Z",
                            "updated_at": "2026-01-17T18:41:48.757592Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:48.911371Z",
                    "updated_at": "2026-01-17T18:41:48.911388Z",
                    "is_active": true
                }
            ],
            "steps": [
                {
                    "id": 116,
                    "sub_level": 30,
                    "order": 1,
                    "step_type": "learning_card",
                    "step_type_display": "Learning Card",
                    "title": "Grammaire - Génitif",
                    "description": "Le cas génitif (possession)\n\nApprenez les terminaisons et l'utilisation du cas génitif.",
                    "is_required": true,
                    "config": {
                        "content": "Le cas génitif (possession)\n\nApprenez les terminaisons et l'utilisation du cas génitif.",
                        "concept_type": "declension"
                    },
                    "is_active": true,
                    "is_completed": false,
                    "progress": {
                        "is_completed": false,
                        "completed_at": null,
                        "score": null,
                        "attempts": 0,
                        "best_score": null
                    },
                    "created_at": "2026-01-17T18:41:49.320691Z",
                    "updated_at": "2026-01-17T18:41:49.320702Z"
                },
                {
                    "id": 117,
                    "sub_level": 30,
                    "order": 2,
                    "step_type": "game_matching",
                    "step_type_display": "Game - Matching",
                    "title": "Pratiquez le cas Génitif",
                    "description": "Pratiquez le cas Génitif",
                    "is_required": true,
                    "config": {
                        "game_mode": "declension",
                        "instructions": "Pratiquez le cas Génitif",
                        "min_score": 75,
                        "level": 7,
                        "sub_level": 2
                    },
                    "is_active": true,
                    "is_completed": false,
                    "progress": {
                        "is_completed": false,
                        "completed_at": null,
                        "score": null,
                        "attempts": 0,
                        "best_score": null
                    },
                    "created_at": "2026-01-17T18:41:49.324147Z",
                    "updated_at": "2026-01-17T18:41:49.324157Z"
                },
                {
                    "id": 118,
                    "sub_level": 30,
                    "order": 3,
                    "step_type": "game_matching",
                    "step_type_display": "Game - Matching",
                    "title": "Associez les déclinaisons",
                    "description": "Associez les déclinaisons",
                    "is_required": true,
                    "config": {
                        "game_mode": "matching",
                        "instructions": "Associez les déclinaisons",
                        "min_score": 75,
                        "level": 7,
                        "sub_level": 2
                    },
                    "is_active": true,
                    "is_completed": false,
                    "progress": {
                        "is_completed": false,
                        "completed_at": null,
                        "score": null,
                        "attempts": 0,
                        "best_score": null
                    },
                    "created_at": "2026-01-17T18:41:49.327695Z",
                    "updated_at": "2026-01-17T18:41:49.327705Z"
                },
                {
                    "id": 119,
                    "sub_level": 30,
                    "order": 4,
                    "step_type": "game_multiple_choice",
                    "step_type_display": "Game - Multiple Choice",
                    "title": "Choisissez la bonne déclinaison",
                    "description": "Choisissez la bonne déclinaison",
                    "is_required": false,
                    "config": {
                        "game_mode": "multiple_choice",
                        "instructions": "Choisissez la bonne déclinaison",
                        "min_score": 75,
                        "level": 7,
                        "sub_level": 2
                    },
                    "is_active": true,
                    "is_completed": false,
                    "progress": {
                        "is_completed": false,
                        "completed_at": null,
                        "score": null,
                        "attempts": 0,
                        "best_score": null
                    },
                    "created_at": "2026-01-17T18:41:49.331136Z",
                    "updated_at": "2026-01-17T18:41:49.331146Z"
                },
                {
                    "id": 381,
                    "sub_level": 30,
                    "order": 5,
                    "step_type": "intro",
                    "step_type_display": "Introduction Lesson",
                    "title": "Introduction - Génitif",
                    "description": "# Génitif\n\nLe cas génitif (possession)\n\n## Grammaire - Génitif\n\nLe cas génitif (possession)\n\nApprenez les terminaisons et l'utilisation du cas génitif.\n\n\n### Vocabulaire\n\nCe sous-niveau contient 12 mo",
                    "is_required": true,
                    "config": {
                        "content": "# Génitif\n\nLe cas génitif (possession)\n\n## Grammaire - Génitif\n\nLe cas génitif (possession)\n\nApprenez les terminaisons et l'utilisation du cas génitif.\n\n\n### Vocabulaire\n\nCe sous-niveau contient 12 mot(s) à apprendre.\n",
                        "word_pairs": [
                            472,
                            477,
                            479,
                            470,
                            476,
                            474,
                            475,
                            478,
                            471,
                            473,
                            443,
                            463
                        ]
                    },
                    "is_active": true,
                    "is_completed": false,
                    "progress": {
                        "is_completed": false,
                        "completed_at": null,
                        "score": null,
                        "attempts": 0,
                        "best_score": null
                    },
                    "created_at": "2026-01-17T18:41:55.186168Z",
                    "updated_at": "2026-01-17T18:41:55.186179Z"
                }
            ],
            "videos": [],
            "learning_cards": [
                {
                    "id": 116,
                    "sub_level": 30,
                    "order": 1,
                    "step_type": "learning_card",
                    "step_type_display": "Learning Card",
                    "title": "Grammaire - Génitif",
                    "description": "Le cas génitif (possession)\n\nApprenez les terminaisons et l'utilisation du cas génitif.",
                    "is_required": true,
                    "config": {
                        "content": "Le cas génitif (possession)\n\nApprenez les terminaisons et l'utilisation du cas génitif.",
                        "concept_type": "declension"
                    },
                    "is_active": true,
                    "is_completed": false,
                    "progress": {
                        "is_completed": false,
                        "completed_at": null,
                        "score": null,
                        "attempts": 0,
                        "best_score": null
                    },
                    "created_at": "2026-01-17T18:41:49.320691Z",
                    "updated_at": "2026-01-17T18:41:49.320702Z"
                }
            ],
            "exercises": [],
            "total_words": 12,
            "is_unlocked": false,
            "is_completed": false,
            "progress": {
                "words_mastered": 0,
                "total_words": 12,
                "completion_percentage": 0.0,
                "steps": []
            },
            "is_active": true,
            "created_at": "2026-01-17T18:41:49.312501Z",
            "updated_at": "2026-01-17T18:41:49.312512Z"
        },
        {
            "id": 31,
            "level": 7,
            "level_display": "Declensions & Cases",
            "sub_level": 3,
            "title": "Datif",
            "description": "Le cas datif (à/pour)",
            "order": 3,
            "word_pairs": [
                {
                    "id": 485,
                    "french_word": "au chat",
                    "russian_word": "коту",
                    "category": "other",
                    "category_display": "Other",
                    "level": 7,
                    "level_display": "Declensions & Cases",
                    "comment": "Datif - коту",
                    "tags": [
                        {
                            "id": 13,
                            "name": "dative",
                            "category": "case",
                            "category_display": "Case (Declension)",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:48.760333Z",
                            "updated_at": "2026-01-17T18:41:48.760349Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:49.028296Z",
                    "updated_at": "2026-01-17T18:41:49.028308Z",
                    "is_active": true
                },
                {
                    "id": 488,
                    "french_word": "au garçon",
                    "russian_word": "мальчику",
                    "category": "other",
                    "category_display": "Other",
                    "level": 7,
                    "level_display": "Declensions & Cases",
                    "comment": "Datif - мальчику",
                    "tags": [
                        {
                            "id": 13,
                            "name": "dative",
                            "category": "case",
                            "category_display": "Case (Declension)",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:48.760333Z",
                            "updated_at": "2026-01-17T18:41:48.760349Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:49.042989Z",
                    "updated_at": "2026-01-17T18:41:49.042999Z",
                    "is_active": true
                },
                {
                    "id": 481,
                    "french_word": "au livre",
                    "russian_word": "книге",
                    "category": "other",
                    "category_display": "Other",
                    "level": 7,
                    "level_display": "Declensions & Cases",
                    "comment": "Datif - книге",
                    "tags": [
                        {
                            "id": 13,
                            "name": "dative",
                            "category": "case",
                            "category_display": "Case (Declension)",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:48.760333Z",
                            "updated_at": "2026-01-17T18:41:48.760349Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:49.008214Z",
                    "updated_at": "2026-01-17T18:41:49.008224Z",
                    "is_active": true
                },
                {
                    "id": 483,
                    "french_word": "au pain",
                    "russian_word": "хлебу",
                    "category": "other",
                    "category_display": "Other",
                    "level": 7,
                    "level_display": "Declensions & Cases",
                    "comment": "Datif - хлебу",
                    "tags": [
                        {
                            "id": 13,
                            "name": "dative",
                            "category": "case",
                            "category_display": "Case (Declension)",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:48.760333Z",
                            "updated_at": "2026-01-17T18:41:48.760349Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:49.018552Z",
                    "updated_at": "2026-01-17T18:41:49.018562Z",
                    "is_active": true
                },
                {
                    "id": 444,
                    "french_word": "datif",
                    "russian_word": "Дательный падеж",
                    "category": "other",
                    "category_display": "Other",
                    "level": 7,
                    "level_display": "Declensions & Cases",
                    "comment": "Cas du destinataire (COI) - À qui ? À quoi ?",
                    "tags": [
                        {
                            "id": 13,
                            "name": "dative",
                            "category": "case",
                            "category_display": "Case (Declension)",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:48.760333Z",
                            "updated_at": "2026-01-17T18:41:48.760349Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:48.787262Z",
                    "updated_at": "2026-01-17T18:41:48.787281Z",
                    "is_active": true
                },
                {
                    "id": 464,
                    "french_word": "vers la table",
                    "russian_word": "к столу",
                    "category": "other",
                    "category_display": "Other",
                    "level": 7,
                    "level_display": "Declensions & Cases",
                    "comment": "Datif - к столу",
                    "tags": [
                        {
                            "id": 13,
                            "name": "dative",
                            "category": "case",
                            "category_display": "Case (Declension)",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:48.760333Z",
                            "updated_at": "2026-01-17T18:41:48.760349Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:48.916379Z",
                    "updated_at": "2026-01-17T18:41:48.916391Z",
                    "is_active": true
                },
                {
                    "id": 482,
                    "french_word": "à l'eau",
                    "russian_word": "воде",
                    "category": "other",
                    "category_display": "Other",
                    "level": 7,
                    "level_display": "Declensions & Cases",
                    "comment": "Datif - воде",
                    "tags": [
                        {
                            "id": 13,
                            "name": "dative",
                            "category": "case",
                            "category_display": "Case (Declension)",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:48.760333Z",
                            "updated_at": "2026-01-17T18:41:48.760349Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:49.013518Z",
                    "updated_at": "2026-01-17T18:41:49.013531Z",
                    "is_active": true
                },
                {
                    "id": 487,
                    "french_word": "à la fenêtre",
                    "russian_word": "окну",
                    "category": "other",
                    "category_display": "Other",
                    "level": 7,
                    "level_display": "Declensions & Cases",
                    "comment": "Datif - окну",
                    "tags": [
                        {
                            "id": 13,
                            "name": "dative",
                            "category": "case",
                            "category_display": "Case (Declension)",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:48.760333Z",
                            "updated_at": "2026-01-17T18:41:48.760349Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:49.037687Z",
                    "updated_at": "2026-01-17T18:41:49.037698Z",
                    "is_active": true
                },
                {
                    "id": 489,
                    "french_word": "à la fille",
                    "russian_word": "девочке",
                    "category": "other",
                    "category_display": "Other",
                    "level": 7,
                    "level_display": "Declensions & Cases",
                    "comment": "Datif - девочке",
                    "tags": [
                        {
                            "id": 13,
                            "name": "dative",
                            "category": "case",
                            "category_display": "Case (Declension)",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:48.760333Z",
                            "updated_at": "2026-01-17T18:41:48.760349Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:49.047920Z",
                    "updated_at": "2026-01-17T18:41:49.047936Z",
                    "is_active": true
                },
                {
                    "id": 480,
                    "french_word": "à la maison",
                    "russian_word": "дому",
                    "category": "other",
                    "category_display": "Other",
                    "level": 7,
                    "level_display": "Declensions & Cases",
                    "comment": "Datif - дому",
                    "tags": [
                        {
                            "id": 13,
                            "name": "dative",
                            "category": "case",
                            "category_display": "Case (Declension)",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:48.760333Z",
                            "updated_at": "2026-01-17T18:41:48.760349Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:49.003209Z",
                    "updated_at": "2026-01-17T18:41:49.003220Z",
                    "is_active": true
                },
                {
                    "id": 486,
                    "french_word": "à la rose",
                    "russian_word": "розе",
                    "category": "other",
                    "category_display": "Other",
                    "level": 7,
                    "level_display": "Declensions & Cases",
                    "comment": "Datif - розе",
                    "tags": [
                        {
                            "id": 13,
                            "name": "dative",
                            "category": "case",
                            "category_display": "Case (Declension)",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:48.760333Z",
                            "updated_at": "2026-01-17T18:41:48.760349Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:49.033068Z",
                    "updated_at": "2026-01-17T18:41:49.033080Z",
                    "is_active": true
                },
                {
                    "id": 484,
                    "french_word": "à la ville",
                    "russian_word": "городу",
                    "category": "other",
                    "category_display": "Other",
                    "level": 7,
                    "level_display": "Declensions & Cases",
                    "comment": "Datif - городу",
                    "tags": [
                        {
                            "id": 13,
                            "name": "dative",
                            "category": "case",
                            "category_display": "Case (Declension)",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:48.760333Z",
                            "updated_at": "2026-01-17T18:41:48.760349Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:49.023565Z",
                    "updated_at": "2026-01-17T18:41:49.023577Z",
                    "is_active": true
                }
            ],
            "steps": [
                {
                    "id": 120,
                    "sub_level": 31,
                    "order": 1,
                    "step_type": "learning_card",
                    "step_type_display": "Learning Card",
                    "title": "Grammaire - Datif",
                    "description": "Le cas datif (à/pour)\n\nApprenez les terminaisons et l'utilisation du cas datif.",
                    "is_required": true,
                    "config": {
                        "content": "Le cas datif (à/pour)\n\nApprenez les terminaisons et l'utilisation du cas datif.",
                        "concept_type": "declension"
                    },
                    "is_active": true,
                    "is_completed": false,
                    "progress": {
                        "is_completed": false,
                        "completed_at": null,
                        "score": null,
                        "attempts": 0,
                        "best_score": null
                    },
                    "created_at": "2026-01-17T18:41:49.341980Z",
                    "updated_at": "2026-01-17T18:41:49.341996Z"
                },
                {
                    "id": 121,
                    "sub_level": 31,
                    "order": 2,
                    "step_type": "game_matching",
                    "step_type_display": "Game - Matching",
                    "title": "Pratiquez le cas Datif",
                    "description": "Pratiquez le cas Datif",
                    "is_required": true,
                    "config": {
                        "game_mode": "declension",
                        "instructions": "Pratiquez le cas Datif",
                        "min_score": 75,
                        "level": 7,
                        "sub_level": 3
                    },
                    "is_active": true,
                    "is_completed": false,
                    "progress": {
                        "is_completed": false,
                        "completed_at": null,
                        "score": null,
                        "attempts": 0,
                        "best_score": null
                    },
                    "created_at": "2026-01-17T18:41:49.346105Z",
                    "updated_at": "2026-01-17T18:41:49.346119Z"
                },
                {
                    "id": 122,
                    "sub_level": 31,
                    "order": 3,
                    "step_type": "game_matching",
                    "step_type_display": "Game - Matching",
                    "title": "Associez les déclinaisons",
                    "description": "Associez les déclinaisons",
                    "is_required": true,
                    "config": {
                        "game_mode": "matching",
                        "instructions": "Associez les déclinaisons",
                        "min_score": 75,
                        "level": 7,
                        "sub_level": 3
                    },
                    "is_active": true,
                    "is_completed": false,
                    "progress": {
                        "is_completed": false,
                        "completed_at": null,
                        "score": null,
                        "attempts": 0,
                        "best_score": null
                    },
                    "created_at": "2026-01-17T18:41:49.349957Z",
                    "updated_at": "2026-01-17T18:41:49.349970Z"
                },
                {
                    "id": 123,
                    "sub_level": 31,
                    "order": 4,
                    "step_type": "game_multiple_choice",
                    "step_type_display": "Game - Multiple Choice",
                    "title": "Choisissez la bonne déclinaison",
                    "description": "Choisissez la bonne déclinaison",
                    "is_required": false,
                    "config": {
                        "game_mode": "multiple_choice",
                        "instructions": "Choisissez la bonne déclinaison",
                        "min_score": 75,
                        "level": 7,
                        "sub_level": 3
                    },
                    "is_active": true,
                    "is_completed": false,
                    "progress": {
                        "is_completed": false,
                        "completed_at": null,
                        "score": null,
                        "attempts": 0,
                        "best_score": null
                    },
                    "created_at": "2026-01-17T18:41:49.353807Z",
                    "updated_at": "2026-01-17T18:41:49.353821Z"
                },
                {
                    "id": 382,
                    "sub_level": 31,
                    "order": 5,
                    "step_type": "intro",
                    "step_type_display": "Introduction Lesson",
                    "title": "Introduction - Datif",
                    "description": "# Datif\n\nLe cas datif (à/pour)\n\n## Grammaire - Datif\n\nLe cas datif (à/pour)\n\nApprenez les terminaisons et l'utilisation du cas datif.\n\n\n### Vocabulaire\n\nCe sous-niveau contient 12 mot(s) à apprendre.\n",
                    "is_required": true,
                    "config": {
                        "content": "# Datif\n\nLe cas datif (à/pour)\n\n## Grammaire - Datif\n\nLe cas datif (à/pour)\n\nApprenez les terminaisons et l'utilisation du cas datif.\n\n\n### Vocabulaire\n\nCe sous-niveau contient 12 mot(s) à apprendre.\n",
                        "word_pairs": [
                            485,
                            488,
                            481,
                            483,
                            444,
                            464,
                            482,
                            487,
                            489,
                            480,
                            486,
                            484
                        ]
                    },
                    "is_active": true,
                    "is_completed": false,
                    "progress": {
                        "is_completed": false,
                        "completed_at": null,
                        "score": null,
                        "attempts": 0,
                        "best_score": null
                    },
                    "created_at": "2026-01-17T18:41:55.191674Z",
                    "updated_at": "2026-01-17T18:41:55.191684Z"
                }
            ],
            "videos": [],
            "learning_cards": [
                {
                    "id": 120,
                    "sub_level": 31,
                    "order": 1,
                    "step_type": "learning_card",
                    "step_type_display": "Learning Card",
                    "title": "Grammaire - Datif",
                    "description": "Le cas datif (à/pour)\n\nApprenez les terminaisons et l'utilisation du cas datif.",
                    "is_required": true,
                    "config": {
                        "content": "Le cas datif (à/pour)\n\nApprenez les terminaisons et l'utilisation du cas datif.",
                        "concept_type": "declension"
                    },
                    "is_active": true,
                    "is_completed": false,
                    "progress": {
                        "is_completed": false,
                        "completed_at": null,
                        "score": null,
                        "attempts": 0,
                        "best_score": null
                    },
                    "created_at": "2026-01-17T18:41:49.341980Z",
                    "updated_at": "2026-01-17T18:41:49.341996Z"
                }
            ],
            "exercises": [],
            "total_words": 12,
            "is_unlocked": false,
            "is_completed": false,
            "progress": {
                "words_mastered": 0,
                "total_words": 12,
                "completion_percentage": 0.0,
                "steps": []
            },
            "is_active": true,
            "created_at": "2026-01-17T18:41:49.333854Z",
            "updated_at": "2026-01-17T18:41:49.333867Z"
        },
        {
            "id": 32,
            "level": 7,
            "level_display": "Declensions & Cases",
            "sub_level": 4,
            "title": "Accusatif",
            "description": "Le cas accusatif (objet direct)",
            "order": 4,
            "word_pairs": [
                {
                    "id": 445,
                    "french_word": "accusatif",
                    "russian_word": "Винительный падеж",
                    "category": "other",
                    "category_display": "Other",
                    "level": 7,
                    "level_display": "Declensions & Cases",
                    "comment": "Cas du complément d'objet direct (COD) - Qui ? Quoi ?",
                    "tags": [
                        {
                            "id": 14,
                            "name": "accusative",
                            "category": "case",
                            "category_display": "Case (Declension)",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:48.763306Z",
                            "updated_at": "2026-01-17T18:41:48.763322Z"
                        },
                        {
                            "id": 6,
                            "name": "plural",
                            "category": "number",
                            "category_display": "Number",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:46.142279Z",
                            "updated_at": "2026-01-17T18:41:46.142291Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:48.793209Z",
                    "updated_at": "2026-01-17T18:41:48.793229Z",
                    "is_active": true
                },
                {
                    "id": 492,
                    "french_word": "je bois l'eau",
                    "russian_word": "я пью воду",
                    "category": "other",
                    "category_display": "Other",
                    "level": 7,
                    "level_display": "Declensions & Cases",
                    "comment": "Accusatif - я пью воду",
                    "tags": [
                        {
                            "id": 14,
                            "name": "accusative",
                            "category": "case",
                            "category_display": "Case (Declension)",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:48.763306Z",
                            "updated_at": "2026-01-17T18:41:48.763322Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:49.064284Z",
                    "updated_at": "2026-01-17T18:41:49.064295Z",
                    "is_active": true
                },
                {
                    "id": 465,
                    "french_word": "je connais la table",
                    "russian_word": "я знаю стол",
                    "category": "other",
                    "category_display": "Other",
                    "level": 7,
                    "level_display": "Declensions & Cases",
                    "comment": "Accusatif - я знаю стол",
                    "tags": [
                        {
                            "id": 14,
                            "name": "accusative",
                            "category": "case",
                            "category_display": "Case (Declension)",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:48.763306Z",
                            "updated_at": "2026-01-17T18:41:48.763322Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:48.921456Z",
                    "updated_at": "2026-01-17T18:41:48.921470Z",
                    "is_active": true
                },
                {
                    "id": 491,
                    "french_word": "je lis le livre",
                    "russian_word": "я читаю книгу",
                    "category": "other",
                    "category_display": "Other",
                    "level": 7,
                    "level_display": "Declensions & Cases",
                    "comment": "Accusatif - я читаю книгу",
                    "tags": [
                        {
                            "id": 14,
                            "name": "accusative",
                            "category": "case",
                            "category_display": "Case (Declension)",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:48.763306Z",
                            "updated_at": "2026-01-17T18:41:48.763322Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:49.058265Z",
                    "updated_at": "2026-01-17T18:41:49.058282Z",
                    "is_active": true
                },
                {
                    "id": 493,
                    "french_word": "je mange le pain",
                    "russian_word": "я ем хлеб",
                    "category": "other",
                    "category_display": "Other",
                    "level": 7,
                    "level_display": "Declensions & Cases",
                    "comment": "Accusatif - я ем хлеб",
                    "tags": [
                        {
                            "id": 14,
                            "name": "accusative",
                            "category": "case",
                            "category_display": "Case (Declension)",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:48.763306Z",
                            "updated_at": "2026-01-17T18:41:48.763322Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:49.069344Z",
                    "updated_at": "2026-01-17T18:41:49.069360Z",
                    "is_active": true
                },
                {
                    "id": 497,
                    "french_word": "je vois la fenêtre",
                    "russian_word": "я вижу окно",
                    "category": "other",
                    "category_display": "Other",
                    "level": 7,
                    "level_display": "Declensions & Cases",
                    "comment": "Accusatif - я вижу окно",
                    "tags": [
                        {
                            "id": 14,
                            "name": "accusative",
                            "category": "case",
                            "category_display": "Case (Declension)",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:48.763306Z",
                            "updated_at": "2026-01-17T18:41:48.763322Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:49.090047Z",
                    "updated_at": "2026-01-17T18:41:49.090063Z",
                    "is_active": true
                },
                {
                    "id": 499,
                    "french_word": "je vois la fille",
                    "russian_word": "я вижу девочку",
                    "category": "other",
                    "category_display": "Other",
                    "level": 7,
                    "level_display": "Declensions & Cases",
                    "comment": "Accusatif - я вижу девочку",
                    "tags": [
                        {
                            "id": 14,
                            "name": "accusative",
                            "category": "case",
                            "category_display": "Case (Declension)",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:48.763306Z",
                            "updated_at": "2026-01-17T18:41:48.763322Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:49.100978Z",
                    "updated_at": "2026-01-17T18:41:49.100991Z",
                    "is_active": true
                },
                {
                    "id": 490,
                    "french_word": "je vois la maison",
                    "russian_word": "я вижу дом",
                    "category": "other",
                    "category_display": "Other",
                    "level": 7,
                    "level_display": "Declensions & Cases",
                    "comment": "Accusatif - я вижу дом",
                    "tags": [
                        {
                            "id": 14,
                            "name": "accusative",
                            "category": "case",
                            "category_display": "Case (Declension)",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:48.763306Z",
                            "updated_at": "2026-01-17T18:41:48.763322Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:49.053150Z",
                    "updated_at": "2026-01-17T18:41:49.053167Z",
                    "is_active": true
                },
                {
                    "id": 496,
                    "french_word": "je vois la rose",
                    "russian_word": "я вижу розу",
                    "category": "other",
                    "category_display": "Other",
                    "level": 7,
                    "level_display": "Declensions & Cases",
                    "comment": "Accusatif - я вижу розу",
                    "tags": [
                        {
                            "id": 14,
                            "name": "accusative",
                            "category": "case",
                            "category_display": "Case (Declension)",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:48.763306Z",
                            "updated_at": "2026-01-17T18:41:48.763322Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:49.084591Z",
                    "updated_at": "2026-01-17T18:41:49.084609Z",
                    "is_active": true
                },
                {
                    "id": 494,
                    "french_word": "je vois la ville",
                    "russian_word": "я вижу город",
                    "category": "other",
                    "category_display": "Other",
                    "level": 7,
                    "level_display": "Declensions & Cases",
                    "comment": "Accusatif - я вижу город",
                    "tags": [
                        {
                            "id": 14,
                            "name": "accusative",
                            "category": "case",
                            "category_display": "Case (Declension)",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:48.763306Z",
                            "updated_at": "2026-01-17T18:41:48.763322Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:49.074318Z",
                    "updated_at": "2026-01-17T18:41:49.074329Z",
                    "is_active": true
                },
                {
                    "id": 495,
                    "french_word": "je vois le chat",
                    "russian_word": "я вижу кота",
                    "category": "other",
                    "category_display": "Other",
                    "level": 7,
                    "level_display": "Declensions & Cases",
                    "comment": "Accusatif - я вижу кота",
                    "tags": [
                        {
                            "id": 14,
                            "name": "accusative",
                            "category": "case",
                            "category_display": "Case (Declension)",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:48.763306Z",
                            "updated_at": "2026-01-17T18:41:48.763322Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:49.079467Z",
                    "updated_at": "2026-01-17T18:41:49.079483Z",
                    "is_active": true
                },
                {
                    "id": 498,
                    "french_word": "je vois le garçon",
                    "russian_word": "я вижу мальчика",
                    "category": "other",
                    "category_display": "Other",
                    "level": 7,
                    "level_display": "Declensions & Cases",
                    "comment": "Accusatif - я вижу мальчика",
                    "tags": [
                        {
                            "id": 14,
                            "name": "accusative",
                            "category": "case",
                            "category_display": "Case (Declension)",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:48.763306Z",
                            "updated_at": "2026-01-17T18:41:48.763322Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:49.095219Z",
                    "updated_at": "2026-01-17T18:41:49.095235Z",
                    "is_active": true
                }
            ],
            "steps": [
                {
                    "id": 124,
                    "sub_level": 32,
                    "order": 1,
                    "step_type": "learning_card",
                    "step_type_display": "Learning Card",
                    "title": "Grammaire - Accusatif",
                    "description": "Le cas accusatif (objet direct)\n\nApprenez les terminaisons et l'utilisation du cas accusatif.",
                    "is_required": true,
                    "config": {
                        "content": "Le cas accusatif (objet direct)\n\nApprenez les terminaisons et l'utilisation du cas accusatif.",
                        "concept_type": "declension"
                    },
                    "is_active": true,
                    "is_completed": false,
                    "progress": {
                        "is_completed": false,
                        "completed_at": null,
                        "score": null,
                        "attempts": 0,
                        "best_score": null
                    },
                    "created_at": "2026-01-17T18:41:49.367939Z",
                    "updated_at": "2026-01-17T18:41:49.367959Z"
                },
                {
                    "id": 125,
                    "sub_level": 32,
                    "order": 2,
                    "step_type": "game_matching",
                    "step_type_display": "Game - Matching",
                    "title": "Pratiquez le cas Accusatif",
                    "description": "Pratiquez le cas Accusatif",
                    "is_required": true,
                    "config": {
                        "game_mode": "declension",
                        "instructions": "Pratiquez le cas Accusatif",
                        "min_score": 75,
                        "level": 7,
                        "sub_level": 4
                    },
                    "is_active": true,
                    "is_completed": false,
                    "progress": {
                        "is_completed": false,
                        "completed_at": null,
                        "score": null,
                        "attempts": 0,
                        "best_score": null
                    },
                    "created_at": "2026-01-17T18:41:49.371991Z",
                    "updated_at": "2026-01-17T18:41:49.372005Z"
                },
                {
                    "id": 126,
                    "sub_level": 32,
                    "order": 3,
                    "step_type": "game_matching",
                    "step_type_display": "Game - Matching",
                    "title": "Associez les déclinaisons",
                    "description": "Associez les déclinaisons",
                    "is_required": true,
                    "config": {
                        "game_mode": "matching",
                        "instructions": "Associez les déclinaisons",
                        "min_score": 75,
                        "level": 7,
                        "sub_level": 4
                    },
                    "is_active": true,
                    "is_completed": false,
                    "progress": {
                        "is_completed": false,
                        "completed_at": null,
                        "score": null,
                        "attempts": 0,
                        "best_score": null
                    },
                    "created_at": "2026-01-17T18:41:49.376092Z",
                    "updated_at": "2026-01-17T18:41:49.376102Z"
                },
                {
                    "id": 127,
                    "sub_level": 32,
                    "order": 4,
                    "step_type": "game_multiple_choice",
                    "step_type_display": "Game - Multiple Choice",
                    "title": "Choisissez la bonne déclinaison",
                    "description": "Choisissez la bonne déclinaison",
                    "is_required": false,
                    "config": {
                        "game_mode": "multiple_choice",
                        "instructions": "Choisissez la bonne déclinaison",
                        "min_score": 75,
                        "level": 7,
                        "sub_level": 4
                    },
                    "is_active": true,
                    "is_completed": false,
                    "progress": {
                        "is_completed": false,
                        "completed_at": null,
                        "score": null,
                        "attempts": 0,
                        "best_score": null
                    },
                    "created_at": "2026-01-17T18:41:49.379849Z",
                    "updated_at": "2026-01-17T18:41:49.379860Z"
                },
                {
                    "id": 383,
                    "sub_level": 32,
                    "order": 5,
                    "step_type": "intro",
                    "step_type_display": "Introduction Lesson",
                    "title": "Introduction - Accusatif",
                    "description": "# Accusatif\n\nLe cas accusatif (objet direct)\n\n## Grammaire - Accusatif\n\nLe cas accusatif (objet direct)\n\nApprenez les terminaisons et l'utilisation du cas accusatif.\n\n\n### Vocabulaire\n\nCe sous-niveau ",
                    "is_required": true,
                    "config": {
                        "content": "# Accusatif\n\nLe cas accusatif (objet direct)\n\n## Grammaire - Accusatif\n\nLe cas accusatif (objet direct)\n\nApprenez les terminaisons et l'utilisation du cas accusatif.\n\n\n### Vocabulaire\n\nCe sous-niveau contient 12 mot(s) à apprendre.\n",
                        "word_pairs": [
                            445,
                            492,
                            465,
                            491,
                            493,
                            497,
                            499,
                            490,
                            496,
                            494,
                            495,
                            498
                        ]
                    },
                    "is_active": true,
                    "is_completed": false,
                    "progress": {
                        "is_completed": false,
                        "completed_at": null,
                        "score": null,
                        "attempts": 0,
                        "best_score": null
                    },
                    "created_at": "2026-01-17T18:41:55.196859Z",
                    "updated_at": "2026-01-17T18:41:55.196869Z"
                }
            ],
            "videos": [],
            "learning_cards": [
                {
                    "id": 124,
                    "sub_level": 32,
                    "order": 1,
                    "step_type": "learning_card",
                    "step_type_display": "Learning Card",
                    "title": "Grammaire - Accusatif",
                    "description": "Le cas accusatif (objet direct)\n\nApprenez les terminaisons et l'utilisation du cas accusatif.",
                    "is_required": true,
                    "config": {
                        "content": "Le cas accusatif (objet direct)\n\nApprenez les terminaisons et l'utilisation du cas accusatif.",
                        "concept_type": "declension"
                    },
                    "is_active": true,
                    "is_completed": false,
                    "progress": {
                        "is_completed": false,
                        "completed_at": null,
                        "score": null,
                        "attempts": 0,
                        "best_score": null
                    },
                    "created_at": "2026-01-17T18:41:49.367939Z",
                    "updated_at": "2026-01-17T18:41:49.367959Z"
                }
            ],
            "exercises": [],
            "total_words": 12,
            "is_unlocked": false,
            "is_completed": false,
            "progress": {
                "words_mastered": 0,
                "total_words": 12,
                "completion_percentage": 0.0,
                "steps": []
            },
            "is_active": true,
            "created_at": "2026-01-17T18:41:49.356634Z",
            "updated_at": "2026-01-17T18:41:49.356647Z"
        },
        {
            "id": 33,
            "level": 7,
            "level_display": "Declensions & Cases",
            "sub_level": 5,
            "title": "Instrumental",
            "description": "Le cas instrumental (avec/par)",
            "order": 5,
            "word_pairs": [
                {
                    "id": 502,
                    "french_word": "avec l'eau",
                    "russian_word": "с водой",
                    "category": "other",
                    "category_display": "Other",
                    "level": 7,
                    "level_display": "Declensions & Cases",
                    "comment": "Instrumental - с водой",
                    "tags": [
                        {
                            "id": 15,
                            "name": "instrumental",
                            "category": "case",
                            "category_display": "Case (Declension)",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:48.766117Z",
                            "updated_at": "2026-01-17T18:41:48.766130Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:49.116109Z",
                    "updated_at": "2026-01-17T18:41:49.116122Z",
                    "is_active": true
                },
                {
                    "id": 507,
                    "french_word": "avec la fenêtre",
                    "russian_word": "с окном",
                    "category": "other",
                    "category_display": "Other",
                    "level": 7,
                    "level_display": "Declensions & Cases",
                    "comment": "Instrumental - с окном",
                    "tags": [
                        {
                            "id": 15,
                            "name": "instrumental",
                            "category": "case",
                            "category_display": "Case (Declension)",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:48.766117Z",
                            "updated_at": "2026-01-17T18:41:48.766130Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:49.141345Z",
                    "updated_at": "2026-01-17T18:41:49.141356Z",
                    "is_active": true
                },
                {
                    "id": 509,
                    "french_word": "avec la fille",
                    "russian_word": "с девочкой",
                    "category": "other",
                    "category_display": "Other",
                    "level": 7,
                    "level_display": "Declensions & Cases",
                    "comment": "Instrumental - с девочкой",
                    "tags": [
                        {
                            "id": 15,
                            "name": "instrumental",
                            "category": "case",
                            "category_display": "Case (Declension)",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:48.766117Z",
                            "updated_at": "2026-01-17T18:41:48.766130Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:49.151379Z",
                    "updated_at": "2026-01-17T18:41:49.151390Z",
                    "is_active": true
                },
                {
                    "id": 500,
                    "french_word": "avec la maison",
                    "russian_word": "с домом",
                    "category": "other",
                    "category_display": "Other",
                    "level": 7,
                    "level_display": "Declensions & Cases",
                    "comment": "Instrumental - с домом",
                    "tags": [
                        {
                            "id": 15,
                            "name": "instrumental",
                            "category": "case",
                            "category_display": "Case (Declension)",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:48.766117Z",
                            "updated_at": "2026-01-17T18:41:48.766130Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:49.106201Z",
                    "updated_at": "2026-01-17T18:41:49.106215Z",
                    "is_active": true
                },
                {
                    "id": 506,
                    "french_word": "avec la rose",
                    "russian_word": "с розой",
                    "category": "other",
                    "category_display": "Other",
                    "level": 7,
                    "level_display": "Declensions & Cases",
                    "comment": "Instrumental - с розой",
                    "tags": [
                        {
                            "id": 15,
                            "name": "instrumental",
                            "category": "case",
                            "category_display": "Case (Declension)",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:48.766117Z",
                            "updated_at": "2026-01-17T18:41:48.766130Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:49.136210Z",
                    "updated_at": "2026-01-17T18:41:49.136221Z",
                    "is_active": true
                },
                {
                    "id": 504,
                    "french_word": "avec la ville",
                    "russian_word": "с городом",
                    "category": "other",
                    "category_display": "Other",
                    "level": 7,
                    "level_display": "Declensions & Cases",
                    "comment": "Instrumental - с городом",
                    "tags": [
                        {
                            "id": 15,
                            "name": "instrumental",
                            "category": "case",
                            "category_display": "Case (Declension)",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:48.766117Z",
                            "updated_at": "2026-01-17T18:41:48.766130Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:49.126233Z",
                    "updated_at": "2026-01-17T18:41:49.126243Z",
                    "is_active": true
                },
                {
                    "id": 505,
                    "french_word": "avec le chat",
                    "russian_word": "с котом",
                    "category": "other",
                    "category_display": "Other",
                    "level": 7,
                    "level_display": "Declensions & Cases",
                    "comment": "Instrumental - с котом",
                    "tags": [
                        {
                            "id": 15,
                            "name": "instrumental",
                            "category": "case",
                            "category_display": "Case (Declension)",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:48.766117Z",
                            "updated_at": "2026-01-17T18:41:48.766130Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:49.131190Z",
                    "updated_at": "2026-01-17T18:41:49.131201Z",
                    "is_active": true
                },
                {
                    "id": 508,
                    "french_word": "avec le garçon",
                    "russian_word": "с мальчиком",
                    "category": "other",
                    "category_display": "Other",
                    "level": 7,
                    "level_display": "Declensions & Cases",
                    "comment": "Instrumental - с мальчиком",
                    "tags": [
                        {
                            "id": 15,
                            "name": "instrumental",
                            "category": "case",
                            "category_display": "Case (Declension)",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:48.766117Z",
                            "updated_at": "2026-01-17T18:41:48.766130Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:49.146444Z",
                    "updated_at": "2026-01-17T18:41:49.146455Z",
                    "is_active": true
                },
                {
                    "id": 501,
                    "french_word": "avec le livre",
                    "russian_word": "с книгой",
                    "category": "other",
                    "category_display": "Other",
                    "level": 7,
                    "level_display": "Declensions & Cases",
                    "comment": "Instrumental - с книгой",
                    "tags": [
                        {
                            "id": 15,
                            "name": "instrumental",
                            "category": "case",
                            "category_display": "Case (Declension)",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:48.766117Z",
                            "updated_at": "2026-01-17T18:41:48.766130Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:49.111132Z",
                    "updated_at": "2026-01-17T18:41:49.111145Z",
                    "is_active": true
                },
                {
                    "id": 503,
                    "french_word": "avec le pain",
                    "russian_word": "с хлебом",
                    "category": "other",
                    "category_display": "Other",
                    "level": 7,
                    "level_display": "Declensions & Cases",
                    "comment": "Instrumental - с хлебом",
                    "tags": [
                        {
                            "id": 15,
                            "name": "instrumental",
                            "category": "case",
                            "category_display": "Case (Declension)",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:48.766117Z",
                            "updated_at": "2026-01-17T18:41:48.766130Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:49.121202Z",
                    "updated_at": "2026-01-17T18:41:49.121218Z",
                    "is_active": true
                },
                {
                    "id": 446,
                    "french_word": "instrumental",
                    "russian_word": "Творительный падеж",
                    "category": "other",
                    "category_display": "Other",
                    "level": 7,
                    "level_display": "Declensions & Cases",
                    "comment": "Cas du moyen/accompagnement - Avec qui ? Comment ?",
                    "tags": [
                        {
                            "id": 15,
                            "name": "instrumental",
                            "category": "case",
                            "category_display": "Case (Declension)",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:48.766117Z",
                            "updated_at": "2026-01-17T18:41:48.766130Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:48.801864Z",
                    "updated_at": "2026-01-17T18:41:48.801895Z",
                    "is_active": true
                },
                {
                    "id": 466,
                    "french_word": "je dessine avec la table",
                    "russian_word": "я рисуюсь столом",
                    "category": "other",
                    "category_display": "Other",
                    "level": 7,
                    "level_display": "Declensions & Cases",
                    "comment": "Instrumental - я рисуюсь столом",
                    "tags": [
                        {
                            "id": 15,
                            "name": "instrumental",
                            "category": "case",
                            "category_display": "Case (Declension)",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:48.766117Z",
                            "updated_at": "2026-01-17T18:41:48.766130Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:48.926959Z",
                    "updated_at": "2026-01-17T18:41:48.926970Z",
                    "is_active": true
                }
            ],
            "steps": [
                {
                    "id": 128,
                    "sub_level": 33,
                    "order": 1,
                    "step_type": "learning_card",
                    "step_type_display": "Learning Card",
                    "title": "Grammaire - Instrumental",
                    "description": "Le cas instrumental (avec/par)\n\nApprenez les terminaisons et l'utilisation du cas instrumental.",
                    "is_required": true,
                    "config": {
                        "content": "Le cas instrumental (avec/par)\n\nApprenez les terminaisons et l'utilisation du cas instrumental.",
                        "concept_type": "declension"
                    },
                    "is_active": true,
                    "is_completed": false,
                    "progress": {
                        "is_completed": false,
                        "completed_at": null,
                        "score": null,
                        "attempts": 0,
                        "best_score": null
                    },
                    "created_at": "2026-01-17T18:41:49.391656Z",
                    "updated_at": "2026-01-17T18:41:49.391671Z"
                },
                {
                    "id": 129,
                    "sub_level": 33,
                    "order": 2,
                    "step_type": "game_matching",
                    "step_type_display": "Game - Matching",
                    "title": "Pratiquez le cas Instrumental",
                    "description": "Pratiquez le cas Instrumental",
                    "is_required": true,
                    "config": {
                        "game_mode": "declension",
                        "instructions": "Pratiquez le cas Instrumental",
                        "min_score": 75,
                        "level": 7,
                        "sub_level": 5
                    },
                    "is_active": true,
                    "is_completed": false,
                    "progress": {
                        "is_completed": false,
                        "completed_at": null,
                        "score": null,
                        "attempts": 0,
                        "best_score": null
                    },
                    "created_at": "2026-01-17T18:41:49.395080Z",
                    "updated_at": "2026-01-17T18:41:49.395091Z"
                },
                {
                    "id": 130,
                    "sub_level": 33,
                    "order": 3,
                    "step_type": "game_matching",
                    "step_type_display": "Game - Matching",
                    "title": "Associez les déclinaisons",
                    "description": "Associez les déclinaisons",
                    "is_required": true,
                    "config": {
                        "game_mode": "matching",
                        "instructions": "Associez les déclinaisons",
                        "min_score": 75,
                        "level": 7,
                        "sub_level": 5
                    },
                    "is_active": true,
                    "is_completed": false,
                    "progress": {
                        "is_completed": false,
                        "completed_at": null,
                        "score": null,
                        "attempts": 0,
                        "best_score": null
                    },
                    "created_at": "2026-01-17T18:41:49.398510Z",
                    "updated_at": "2026-01-17T18:41:49.398520Z"
                },
                {
                    "id": 131,
                    "sub_level": 33,
                    "order": 4,
                    "step_type": "game_multiple_choice",
                    "step_type_display": "Game - Multiple Choice",
                    "title": "Choisissez la bonne déclinaison",
                    "description": "Choisissez la bonne déclinaison",
                    "is_required": false,
                    "config": {
                        "game_mode": "multiple_choice",
                        "instructions": "Choisissez la bonne déclinaison",
                        "min_score": 75,
                        "level": 7,
                        "sub_level": 5
                    },
                    "is_active": true,
                    "is_completed": false,
                    "progress": {
                        "is_completed": false,
                        "completed_at": null,
                        "score": null,
                        "attempts": 0,
                        "best_score": null
                    },
                    "created_at": "2026-01-17T18:41:49.401838Z",
                    "updated_at": "2026-01-17T18:41:49.401848Z"
                },
                {
                    "id": 384,
                    "sub_level": 33,
                    "order": 5,
                    "step_type": "intro",
                    "step_type_display": "Introduction Lesson",
                    "title": "Introduction - Instrumental",
                    "description": "# Instrumental\n\nLe cas instrumental (avec/par)\n\n## Grammaire - Instrumental\n\nLe cas instrumental (avec/par)\n\nApprenez les terminaisons et l'utilisation du cas instrumental.\n\n\n### Vocabulaire\n\nCe sous-",
                    "is_required": true,
                    "config": {
                        "content": "# Instrumental\n\nLe cas instrumental (avec/par)\n\n## Grammaire - Instrumental\n\nLe cas instrumental (avec/par)\n\nApprenez les terminaisons et l'utilisation du cas instrumental.\n\n\n### Vocabulaire\n\nCe sous-niveau contient 12 mot(s) à apprendre.\n",
                        "word_pairs": [
                            502,
                            507,
                            509,
                            500,
                            506,
                            504,
                            505,
                            508,
                            501,
                            503,
                            446,
                            466
                        ]
                    },
                    "is_active": true,
                    "is_completed": false,
                    "progress": {
                        "is_completed": false,
                        "completed_at": null,
                        "score": null,
                        "attempts": 0,
                        "best_score": null
                    },
                    "created_at": "2026-01-17T18:41:55.201875Z",
                    "updated_at": "2026-01-17T18:41:55.201885Z"
                }
            ],
            "videos": [],
            "learning_cards": [
                {
                    "id": 128,
                    "sub_level": 33,
                    "order": 1,
                    "step_type": "learning_card",
                    "step_type_display": "Learning Card",
                    "title": "Grammaire - Instrumental",
                    "description": "Le cas instrumental (avec/par)\n\nApprenez les terminaisons et l'utilisation du cas instrumental.",
                    "is_required": true,
                    "config": {
                        "content": "Le cas instrumental (avec/par)\n\nApprenez les terminaisons et l'utilisation du cas instrumental.",
                        "concept_type": "declension"
                    },
                    "is_active": true,
                    "is_completed": false,
                    "progress": {
                        "is_completed": false,
                        "completed_at": null,
                        "score": null,
                        "attempts": 0,
                        "best_score": null
                    },
                    "created_at": "2026-01-17T18:41:49.391656Z",
                    "updated_at": "2026-01-17T18:41:49.391671Z"
                }
            ],
            "exercises": [],
            "total_words": 12,
            "is_unlocked": false,
            "is_completed": false,
            "progress": {
                "words_mastered": 0,
                "total_words": 12,
                "completion_percentage": 0.0,
                "steps": []
            },
            "is_active": true,
            "created_at": "2026-01-17T18:41:49.382506Z",
            "updated_at": "2026-01-17T18:41:49.382518Z"
        },
        {
            "id": 34,
            "level": 7,
            "level_display": "Declensions & Cases",
            "sub_level": 6,
            "title": "Prépositionnel",
            "description": "Le cas prépositionnel (dans/sur)",
            "order": 6,
            "word_pairs": [
                {
                    "id": 512,
                    "french_word": "dans l'eau",
                    "russian_word": "в воде",
                    "category": "other",
                    "category_display": "Other",
                    "level": 7,
                    "level_display": "Declensions & Cases",
                    "comment": "Prépositionnel - в воде",
                    "tags": [
                        {
                            "id": 16,
                            "name": "prepositional",
                            "category": "case",
                            "category_display": "Case (Declension)",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:48.769989Z",
                            "updated_at": "2026-01-17T18:41:48.770009Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:49.166835Z",
                    "updated_at": "2026-01-17T18:41:49.166853Z",
                    "is_active": true
                },
                {
                    "id": 517,
                    "french_word": "dans la fenêtre",
                    "russian_word": "в окне",
                    "category": "other",
                    "category_display": "Other",
                    "level": 7,
                    "level_display": "Declensions & Cases",
                    "comment": "Prépositionnel - в окне",
                    "tags": [
                        {
                            "id": 16,
                            "name": "prepositional",
                            "category": "case",
                            "category_display": "Case (Declension)",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:48.769989Z",
                            "updated_at": "2026-01-17T18:41:48.770009Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:49.192318Z",
                    "updated_at": "2026-01-17T18:41:49.192328Z",
                    "is_active": true
                },
                {
                    "id": 519,
                    "french_word": "dans la fille",
                    "russian_word": "в девочке",
                    "category": "other",
                    "category_display": "Other",
                    "level": 7,
                    "level_display": "Declensions & Cases",
                    "comment": "Prépositionnel - в девочке",
                    "tags": [
                        {
                            "id": 16,
                            "name": "prepositional",
                            "category": "case",
                            "category_display": "Case (Declension)",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:48.769989Z",
                            "updated_at": "2026-01-17T18:41:48.770009Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:49.202356Z",
                    "updated_at": "2026-01-17T18:41:49.202367Z",
                    "is_active": true
                },
                {
                    "id": 510,
                    "french_word": "dans la maison",
                    "russian_word": "в доме",
                    "category": "other",
                    "category_display": "Other",
                    "level": 7,
                    "level_display": "Declensions & Cases",
                    "comment": "Prépositionnel - в доме",
                    "tags": [
                        {
                            "id": 16,
                            "name": "prepositional",
                            "category": "case",
                            "category_display": "Case (Declension)",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:48.769989Z",
                            "updated_at": "2026-01-17T18:41:48.770009Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:49.156556Z",
                    "updated_at": "2026-01-17T18:41:49.156569Z",
                    "is_active": true
                },
                {
                    "id": 516,
                    "french_word": "dans la rose",
                    "russian_word": "в розе",
                    "category": "other",
                    "category_display": "Other",
                    "level": 7,
                    "level_display": "Declensions & Cases",
                    "comment": "Prépositionnel - в розе",
                    "tags": [
                        {
                            "id": 16,
                            "name": "prepositional",
                            "category": "case",
                            "category_display": "Case (Declension)",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:48.769989Z",
                            "updated_at": "2026-01-17T18:41:48.770009Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:49.187103Z",
                    "updated_at": "2026-01-17T18:41:49.187116Z",
                    "is_active": true
                },
                {
                    "id": 468,
                    "french_word": "dans la table",
                    "russian_word": "в столе",
                    "category": "other",
                    "category_display": "Other",
                    "level": 7,
                    "level_display": "Declensions & Cases",
                    "comment": "Locatif - в столе",
                    "tags": [
                        {
                            "id": 16,
                            "name": "prepositional",
                            "category": "case",
                            "category_display": "Case (Declension)",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:48.769989Z",
                            "updated_at": "2026-01-17T18:41:48.770009Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:48.936821Z",
                    "updated_at": "2026-01-17T18:41:48.936843Z",
                    "is_active": true
                },
                {
                    "id": 514,
                    "french_word": "dans la ville",
                    "russian_word": "в городе",
                    "category": "other",
                    "category_display": "Other",
                    "level": 7,
                    "level_display": "Declensions & Cases",
                    "comment": "Prépositionnel - в городе",
                    "tags": [
                        {
                            "id": 16,
                            "name": "prepositional",
                            "category": "case",
                            "category_display": "Case (Declension)",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:48.769989Z",
                            "updated_at": "2026-01-17T18:41:48.770009Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:49.177286Z",
                    "updated_at": "2026-01-17T18:41:49.177296Z",
                    "is_active": true
                },
                {
                    "id": 515,
                    "french_word": "dans le chat",
                    "russian_word": "в коте",
                    "category": "other",
                    "category_display": "Other",
                    "level": 7,
                    "level_display": "Declensions & Cases",
                    "comment": "Prépositionnel - в коте",
                    "tags": [
                        {
                            "id": 16,
                            "name": "prepositional",
                            "category": "case",
                            "category_display": "Case (Declension)",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:48.769989Z",
                            "updated_at": "2026-01-17T18:41:48.770009Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:49.182272Z",
                    "updated_at": "2026-01-17T18:41:49.182282Z",
                    "is_active": true
                },
                {
                    "id": 518,
                    "french_word": "dans le garçon",
                    "russian_word": "в мальчике",
                    "category": "other",
                    "category_display": "Other",
                    "level": 7,
                    "level_display": "Declensions & Cases",
                    "comment": "Prépositionnel - в мальчике",
                    "tags": [
                        {
                            "id": 16,
                            "name": "prepositional",
                            "category": "case",
                            "category_display": "Case (Declension)",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:48.769989Z",
                            "updated_at": "2026-01-17T18:41:48.770009Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:49.197304Z",
                    "updated_at": "2026-01-17T18:41:49.197319Z",
                    "is_active": true
                },
                {
                    "id": 511,
                    "french_word": "dans le livre",
                    "russian_word": "в книге",
                    "category": "other",
                    "category_display": "Other",
                    "level": 7,
                    "level_display": "Declensions & Cases",
                    "comment": "Prépositionnel - в книге",
                    "tags": [
                        {
                            "id": 16,
                            "name": "prepositional",
                            "category": "case",
                            "category_display": "Case (Declension)",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:48.769989Z",
                            "updated_at": "2026-01-17T18:41:48.770009Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:49.161693Z",
                    "updated_at": "2026-01-17T18:41:49.161703Z",
                    "is_active": true
                },
                {
                    "id": 513,
                    "french_word": "dans le pain",
                    "russian_word": "в хлебе",
                    "category": "other",
                    "category_display": "Other",
                    "level": 7,
                    "level_display": "Declensions & Cases",
                    "comment": "Prépositionnel - в хлебе",
                    "tags": [
                        {
                            "id": 16,
                            "name": "prepositional",
                            "category": "case",
                            "category_display": "Case (Declension)",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:48.769989Z",
                            "updated_at": "2026-01-17T18:41:48.770009Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:49.172103Z",
                    "updated_at": "2026-01-17T18:41:49.172116Z",
                    "is_active": true
                },
                {
                    "id": 447,
                    "french_word": "locatif",
                    "russian_word": "Предложный падеж",
                    "category": "other",
                    "category_display": "Other",
                    "level": 7,
                    "level_display": "Declensions & Cases",
                    "comment": "Cas du lieu/sujet - Où ? À propos de ?",
                    "tags": [
                        {
                            "id": 16,
                            "name": "prepositional",
                            "category": "case",
                            "category_display": "Case (Declension)",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:48.769989Z",
                            "updated_at": "2026-01-17T18:41:48.770009Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:48.808873Z",
                    "updated_at": "2026-01-17T18:41:48.808897Z",
                    "is_active": true
                },
                {
                    "id": 522,
                    "french_word": "sur l'eau",
                    "russian_word": "на воде",
                    "category": "other",
                    "category_display": "Other",
                    "level": 7,
                    "level_display": "Declensions & Cases",
                    "comment": "Prépositionnel - на воде",
                    "tags": [
                        {
                            "id": 16,
                            "name": "prepositional",
                            "category": "case",
                            "category_display": "Case (Declension)",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:48.769989Z",
                            "updated_at": "2026-01-17T18:41:48.770009Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:49.217953Z",
                    "updated_at": "2026-01-17T18:41:49.217969Z",
                    "is_active": true
                },
                {
                    "id": 527,
                    "french_word": "sur la fenêtre",
                    "russian_word": "на окне",
                    "category": "other",
                    "category_display": "Other",
                    "level": 7,
                    "level_display": "Declensions & Cases",
                    "comment": "Prépositionnel - на окне",
                    "tags": [
                        {
                            "id": 16,
                            "name": "prepositional",
                            "category": "case",
                            "category_display": "Case (Declension)",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:48.769989Z",
                            "updated_at": "2026-01-17T18:41:48.770009Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:49.242860Z",
                    "updated_at": "2026-01-17T18:41:49.242871Z",
                    "is_active": true
                },
                {
                    "id": 529,
                    "french_word": "sur la fille",
                    "russian_word": "на девочке",
                    "category": "other",
                    "category_display": "Other",
                    "level": 7,
                    "level_display": "Declensions & Cases",
                    "comment": "Prépositionnel - на девочке",
                    "tags": [
                        {
                            "id": 16,
                            "name": "prepositional",
                            "category": "case",
                            "category_display": "Case (Declension)",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:48.769989Z",
                            "updated_at": "2026-01-17T18:41:48.770009Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:49.252567Z",
                    "updated_at": "2026-01-17T18:41:49.252578Z",
                    "is_active": true
                },
                {
                    "id": 520,
                    "french_word": "sur la maison",
                    "russian_word": "на доме",
                    "category": "other",
                    "category_display": "Other",
                    "level": 7,
                    "level_display": "Declensions & Cases",
                    "comment": "Prépositionnel - на доме",
                    "tags": [
                        {
                            "id": 16,
                            "name": "prepositional",
                            "category": "case",
                            "category_display": "Case (Declension)",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:48.769989Z",
                            "updated_at": "2026-01-17T18:41:48.770009Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:49.207604Z",
                    "updated_at": "2026-01-17T18:41:49.207618Z",
                    "is_active": true
                },
                {
                    "id": 526,
                    "french_word": "sur la rose",
                    "russian_word": "на розе",
                    "category": "other",
                    "category_display": "Other",
                    "level": 7,
                    "level_display": "Declensions & Cases",
                    "comment": "Prépositionnel - на розе",
                    "tags": [
                        {
                            "id": 16,
                            "name": "prepositional",
                            "category": "case",
                            "category_display": "Case (Declension)",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:48.769989Z",
                            "updated_at": "2026-01-17T18:41:48.770009Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:49.238155Z",
                    "updated_at": "2026-01-17T18:41:49.238166Z",
                    "is_active": true
                },
                {
                    "id": 469,
                    "french_word": "sur la table",
                    "russian_word": "на столе",
                    "category": "other",
                    "category_display": "Other",
                    "level": 7,
                    "level_display": "Declensions & Cases",
                    "comment": "Locatif - на столе",
                    "tags": [
                        {
                            "id": 16,
                            "name": "prepositional",
                            "category": "case",
                            "category_display": "Case (Declension)",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:48.769989Z",
                            "updated_at": "2026-01-17T18:41:48.770009Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:48.942432Z",
                    "updated_at": "2026-01-17T18:41:48.942463Z",
                    "is_active": true
                },
                {
                    "id": 524,
                    "french_word": "sur la ville",
                    "russian_word": "на городе",
                    "category": "other",
                    "category_display": "Other",
                    "level": 7,
                    "level_display": "Declensions & Cases",
                    "comment": "Prépositionnel - на городе",
                    "tags": [
                        {
                            "id": 16,
                            "name": "prepositional",
                            "category": "case",
                            "category_display": "Case (Declension)",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:48.769989Z",
                            "updated_at": "2026-01-17T18:41:48.770009Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:49.228234Z",
                    "updated_at": "2026-01-17T18:41:49.228250Z",
                    "is_active": true
                },
                {
                    "id": 525,
                    "french_word": "sur le chat",
                    "russian_word": "на коте",
                    "category": "other",
                    "category_display": "Other",
                    "level": 7,
                    "level_display": "Declensions & Cases",
                    "comment": "Prépositionnel - на коте",
                    "tags": [
                        {
                            "id": 16,
                            "name": "prepositional",
                            "category": "case",
                            "category_display": "Case (Declension)",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:48.769989Z",
                            "updated_at": "2026-01-17T18:41:48.770009Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:49.233281Z",
                    "updated_at": "2026-01-17T18:41:49.233297Z",
                    "is_active": true
                },
                {
                    "id": 528,
                    "french_word": "sur le garçon",
                    "russian_word": "на мальчике",
                    "category": "other",
                    "category_display": "Other",
                    "level": 7,
                    "level_display": "Declensions & Cases",
                    "comment": "Prépositionnel - на мальчике",
                    "tags": [
                        {
                            "id": 16,
                            "name": "prepositional",
                            "category": "case",
                            "category_display": "Case (Declension)",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:48.769989Z",
                            "updated_at": "2026-01-17T18:41:48.770009Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:49.247585Z",
                    "updated_at": "2026-01-17T18:41:49.247595Z",
                    "is_active": true
                },
                {
                    "id": 521,
                    "french_word": "sur le livre",
                    "russian_word": "на книге",
                    "category": "other",
                    "category_display": "Other",
                    "level": 7,
                    "level_display": "Declensions & Cases",
                    "comment": "Prépositionnel - на книге",
                    "tags": [
                        {
                            "id": 16,
                            "name": "prepositional",
                            "category": "case",
                            "category_display": "Case (Declension)",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:48.769989Z",
                            "updated_at": "2026-01-17T18:41:48.770009Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:49.212669Z",
                    "updated_at": "2026-01-17T18:41:49.212686Z",
                    "is_active": true
                },
                {
                    "id": 523,
                    "french_word": "sur le pain",
                    "russian_word": "на хлебе",
                    "category": "other",
                    "category_display": "Other",
                    "level": 7,
                    "level_display": "Declensions & Cases",
                    "comment": "Prépositionnel - на хлебе",
                    "tags": [
                        {
                            "id": 16,
                            "name": "prepositional",
                            "category": "case",
                            "category_display": "Case (Declension)",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:48.769989Z",
                            "updated_at": "2026-01-17T18:41:48.770009Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:49.223117Z",
                    "updated_at": "2026-01-17T18:41:49.223134Z",
                    "is_active": true
                },
                {
                    "id": 467,
                    "french_word": "à propos de la table",
                    "russian_word": "о столе",
                    "category": "other",
                    "category_display": "Other",
                    "level": 7,
                    "level_display": "Declensions & Cases",
                    "comment": "Locatif - о столе",
                    "tags": [
                        {
                            "id": 16,
                            "name": "prepositional",
                            "category": "case",
                            "category_display": "Case (Declension)",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:48.769989Z",
                            "updated_at": "2026-01-17T18:41:48.770009Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:48.931673Z",
                    "updated_at": "2026-01-17T18:41:48.931687Z",
                    "is_active": true
                }
            ],
            "steps": [
                {
                    "id": 132,
                    "sub_level": 34,
                    "order": 1,
                    "step_type": "learning_card",
                    "step_type_display": "Learning Card",
                    "title": "Grammaire - Prépositionnel",
                    "description": "Le cas prépositionnel (dans/sur)\n\nApprenez les terminaisons et l'utilisation du cas prépositionnel.",
                    "is_required": true,
                    "config": {
                        "content": "Le cas prépositionnel (dans/sur)\n\nApprenez les terminaisons et l'utilisation du cas prépositionnel.",
                        "concept_type": "declension"
                    },
                    "is_active": true,
                    "is_completed": false,
                    "progress": {
                        "is_completed": false,
                        "completed_at": null,
                        "score": null,
                        "attempts": 0,
                        "best_score": null
                    },
                    "created_at": "2026-01-17T18:41:49.414210Z",
                    "updated_at": "2026-01-17T18:41:49.414224Z"
                },
                {
                    "id": 133,
                    "sub_level": 34,
                    "order": 2,
                    "step_type": "game_matching",
                    "step_type_display": "Game - Matching",
                    "title": "Pratiquez le cas Prépositionnel",
                    "description": "Pratiquez le cas Prépositionnel",
                    "is_required": true,
                    "config": {
                        "game_mode": "declension",
                        "instructions": "Pratiquez le cas Prépositionnel",
                        "min_score": 75,
                        "level": 7,
                        "sub_level": 6
                    },
                    "is_active": true,
                    "is_completed": false,
                    "progress": {
                        "is_completed": false,
                        "completed_at": null,
                        "score": null,
                        "attempts": 0,
                        "best_score": null
                    },
                    "created_at": "2026-01-17T18:41:49.417919Z",
                    "updated_at": "2026-01-17T18:41:49.417932Z"
                },
                {
                    "id": 134,
                    "sub_level": 34,
                    "order": 3,
                    "step_type": "game_matching",
                    "step_type_display": "Game - Matching",
                    "title": "Associez les déclinaisons",
                    "description": "Associez les déclinaisons",
                    "is_required": true,
                    "config": {
                        "game_mode": "matching",
                        "instructions": "Associez les déclinaisons",
                        "min_score": 75,
                        "level": 7,
                        "sub_level": 6
                    },
                    "is_active": true,
                    "is_completed": false,
                    "progress": {
                        "is_completed": false,
                        "completed_at": null,
                        "score": null,
                        "attempts": 0,
                        "best_score": null
                    },
                    "created_at": "2026-01-17T18:41:49.422054Z",
                    "updated_at": "2026-01-17T18:41:49.422066Z"
                },
                {
                    "id": 135,
                    "sub_level": 34,
                    "order": 4,
                    "step_type": "game_multiple_choice",
                    "step_type_display": "Game - Multiple Choice",
                    "title": "Choisissez la bonne déclinaison",
                    "description": "Choisissez la bonne déclinaison",
                    "is_required": false,
                    "config": {
                        "game_mode": "multiple_choice",
                        "instructions": "Choisissez la bonne déclinaison",
                        "min_score": 75,
                        "level": 7,
                        "sub_level": 6
                    },
                    "is_active": true,
                    "is_completed": false,
                    "progress": {
                        "is_completed": false,
                        "completed_at": null,
                        "score": null,
                        "attempts": 0,
                        "best_score": null
                    },
                    "created_at": "2026-01-17T18:41:49.425737Z",
                    "updated_at": "2026-01-17T18:41:49.425747Z"
                },
                {
                    "id": 385,
                    "sub_level": 34,
                    "order": 5,
                    "step_type": "intro",
                    "step_type_display": "Introduction Lesson",
                    "title": "Introduction - Prépositionnel",
                    "description": "# Prépositionnel\n\nLe cas prépositionnel (dans/sur)\n\n## Grammaire - Prépositionnel\n\nLe cas prépositionnel (dans/sur)\n\nApprenez les terminaisons et l'utilisation du cas prépositionnel.\n\n\n### Vocabulaire",
                    "is_required": true,
                    "config": {
                        "content": "# Prépositionnel\n\nLe cas prépositionnel (dans/sur)\n\n## Grammaire - Prépositionnel\n\nLe cas prépositionnel (dans/sur)\n\nApprenez les terminaisons et l'utilisation du cas prépositionnel.\n\n\n### Vocabulaire\n\nCe sous-niveau contient 24 mot(s) à apprendre.\n",
                        "word_pairs": [
                            512,
                            517,
                            519,
                            510,
                            516,
                            468,
                            514,
                            515,
                            518,
                            511,
                            513,
                            447,
                            522,
                            527,
                            529,
                            520,
                            526,
                            469,
                            524,
                            525,
                            528,
                            521,
                            523,
                            467
                        ]
                    },
                    "is_active": true,
                    "is_completed": false,
                    "progress": {
                        "is_completed": false,
                        "completed_at": null,
                        "score": null,
                        "attempts": 0,
                        "best_score": null
                    },
                    "created_at": "2026-01-17T18:41:55.207592Z",
                    "updated_at": "2026-01-17T18:41:55.207602Z"
                }
            ],
            "videos": [],
            "learning_cards": [
                {
                    "id": 132,
                    "sub_level": 34,
                    "order": 1,
                    "step_type": "learning_card",
                    "step_type_display": "Learning Card",
                    "title": "Grammaire - Prépositionnel",
                    "description": "Le cas prépositionnel (dans/sur)\n\nApprenez les terminaisons et l'utilisation du cas prépositionnel.",
                    "is_required": true,
                    "config": {
                        "content": "Le cas prépositionnel (dans/sur)\n\nApprenez les terminaisons et l'utilisation du cas prépositionnel.",
                        "concept_type": "declension"
                    },
                    "is_active": true,
                    "is_completed": false,
                    "progress": {
                        "is_completed": false,
                        "completed_at": null,
                        "score": null,
                        "attempts": 0,
                        "best_score": null
                    },
                    "created_at": "2026-01-17T18:41:49.414210Z",
                    "updated_at": "2026-01-17T18:41:49.414224Z"
                }
            ],
            "exercises": [],
            "total_words": 24,
            "is_unlocked": false,
            "is_completed": false,
            "progress": {
                "words_mastered": 0,
                "total_words": 24,
                "completion_percentage": 0.0,
                "steps": []
            },
            "is_active": true,
            "created_at": "2026-01-17T18:41:49.404553Z",
            "updated_at": "2026-01-17T18:41:49.404567Z"
        },
        {
            "id": 35,
            "level": 8,
            "level_display": "Famille",
            "sub_level": 1,
            "title": "Vocabulaire des parents et des enfants",
            "description": "Parents et enfants",
            "order": 1,
            "word_pairs": [
                {
                    "id": 538,
                    "french_word": "enfant",
                    "russian_word": "ребёнок",
                    "category": "family",
                    "category_display": "Family",
                    "level": 1,
                    "level_display": "Famille",
                    "comment": "Child",
                    "tags": [
                        {
                            "id": 17,
                            "name": "family",
                            "category": "category",
                            "category_display": "category",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:50.085654Z",
                            "updated_at": "2026-01-17T18:41:50.085664Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:50.128336Z",
                    "updated_at": "2026-01-17T18:41:50.128347Z",
                    "is_active": true
                },
                {
                    "id": 539,
                    "french_word": "enfants",
                    "russian_word": "дети",
                    "category": "family",
                    "category_display": "Family",
                    "level": 1,
                    "level_display": "Famille",
                    "comment": "Children",
                    "tags": [
                        {
                            "id": 17,
                            "name": "family",
                            "category": "category",
                            "category_display": "category",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:50.085654Z",
                            "updated_at": "2026-01-17T18:41:50.085664Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:50.133429Z",
                    "updated_at": "2026-01-17T18:41:50.133440Z",
                    "is_active": true
                },
                {
                    "id": 530,
                    "french_word": "famille",
                    "russian_word": "семья",
                    "category": "family",
                    "category_display": "Family",
                    "level": 1,
                    "level_display": "Famille",
                    "comment": "Family",
                    "tags": [
                        {
                            "id": 17,
                            "name": "family",
                            "category": "category",
                            "category_display": "category",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:50.085654Z",
                            "updated_at": "2026-01-17T18:41:50.085664Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:50.088380Z",
                    "updated_at": "2026-01-17T18:41:50.088390Z",
                    "is_active": true
                },
                {
                    "id": 537,
                    "french_word": "fille",
                    "russian_word": "дочь",
                    "category": "family",
                    "category_display": "Family",
                    "level": 1,
                    "level_display": "Famille",
                    "comment": "Daughter",
                    "tags": [
                        {
                            "id": 17,
                            "name": "family",
                            "category": "category",
                            "category_display": "category",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:50.085654Z",
                            "updated_at": "2026-01-17T18:41:50.085664Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:50.123336Z",
                    "updated_at": "2026-01-17T18:41:50.123347Z",
                    "is_active": true
                },
                {
                    "id": 536,
                    "french_word": "fils",
                    "russian_word": "сын",
                    "category": "family",
                    "category_display": "Family",
                    "level": 1,
                    "level_display": "Famille",
                    "comment": "Son",
                    "tags": [
                        {
                            "id": 17,
                            "name": "family",
                            "category": "category",
                            "category_display": "category",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:50.085654Z",
                            "updated_at": "2026-01-17T18:41:50.085664Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:50.118447Z",
                    "updated_at": "2026-01-17T18:41:50.118458Z",
                    "is_active": true
                },
                {
                    "id": 534,
                    "french_word": "maman",
                    "russian_word": "мама",
                    "category": "family",
                    "category_display": "Family",
                    "level": 1,
                    "level_display": "Famille",
                    "comment": "Mom",
                    "tags": [
                        {
                            "id": 17,
                            "name": "family",
                            "category": "category",
                            "category_display": "category",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:50.085654Z",
                            "updated_at": "2026-01-17T18:41:50.085664Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:50.108304Z",
                    "updated_at": "2026-01-17T18:41:50.108315Z",
                    "is_active": true
                },
                {
                    "id": 533,
                    "french_word": "mère",
                    "russian_word": "мать",
                    "category": "family",
                    "category_display": "Family",
                    "level": 1,
                    "level_display": "Famille",
                    "comment": "Mother",
                    "tags": [
                        {
                            "id": 17,
                            "name": "family",
                            "category": "category",
                            "category_display": "category",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:50.085654Z",
                            "updated_at": "2026-01-17T18:41:50.085664Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:50.103369Z",
                    "updated_at": "2026-01-17T18:41:50.103379Z",
                    "is_active": true
                },
                {
                    "id": 532,
                    "french_word": "papa",
                    "russian_word": "папа",
                    "category": "family",
                    "category_display": "Family",
                    "level": 1,
                    "level_display": "Famille",
                    "comment": "Dad",
                    "tags": [
                        {
                            "id": 17,
                            "name": "family",
                            "category": "category",
                            "category_display": "category",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:50.085654Z",
                            "updated_at": "2026-01-17T18:41:50.085664Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:50.098397Z",
                    "updated_at": "2026-01-17T18:41:50.098407Z",
                    "is_active": true
                },
                {
                    "id": 535,
                    "french_word": "parents",
                    "russian_word": "родители",
                    "category": "family",
                    "category_display": "Family",
                    "level": 1,
                    "level_display": "Famille",
                    "comment": "Parents",
                    "tags": [
                        {
                            "id": 17,
                            "name": "family",
                            "category": "category",
                            "category_display": "category",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:50.085654Z",
                            "updated_at": "2026-01-17T18:41:50.085664Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:50.113351Z",
                    "updated_at": "2026-01-17T18:41:50.113361Z",
                    "is_active": true
                },
                {
                    "id": 531,
                    "french_word": "père",
                    "russian_word": "отец",
                    "category": "family",
                    "category_display": "Family",
                    "level": 1,
                    "level_display": "Famille",
                    "comment": "Father",
                    "tags": [
                        {
                            "id": 17,
                            "name": "family",
                            "category": "category",
                            "category_display": "category",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:50.085654Z",
                            "updated_at": "2026-01-17T18:41:50.085664Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:50.093492Z",
                    "updated_at": "2026-01-17T18:41:50.093504Z",
                    "is_active": true
                }
            ],
            "steps": [
                {
                    "id": 136,
                    "sub_level": 35,
                    "order": 1,
                    "step_type": "learning_card",
                    "step_type_display": "Learning Card",
                    "title": "Introduction à Vocabulaire des parents et des enfants",
                    "description": "Parents et enfants\n\nApprenez le vocabulaire de vocabulaire des parents et des enfants en russe.",
                    "is_required": true,
                    "config": {
                        "content": "Parents et enfants\n\nApprenez le vocabulaire de vocabulaire des parents et des enfants en russe.",
                        "concept_type": "vocabulary"
                    },
                    "is_active": true,
                    "is_completed": false,
                    "progress": {
                        "is_completed": false,
                        "completed_at": null,
                        "score": null,
                        "attempts": 0,
                        "best_score": null
                    },
                    "created_at": "2026-01-17T18:41:50.240680Z",
                    "updated_at": "2026-01-17T18:41:50.240694Z"
                },
                {
                    "id": 137,
                    "sub_level": 35,
                    "order": 2,
                    "step_type": "game_flashcard",
                    "step_type_display": "Game - Flashcard",
                    "title": "Exercice 1 - Flashcard",
                    "description": "Exercice 1 - Flashcard",
                    "is_required": false,
                    "config": {
                        "game_mode": "flashcard",
                        "instructions": "Pratiquez le vocabulaire de vocabulaire des parents et des enfants avec le mode flashcard.",
                        "min_score": 70,
                        "level": 1,
                        "sub_level": 1
                    },
                    "is_active": true,
                    "is_completed": false,
                    "progress": {
                        "is_completed": false,
                        "completed_at": null,
                        "score": null,
                        "attempts": 0,
                        "best_score": null
                    },
                    "created_at": "2026-01-17T18:41:50.244107Z",
                    "updated_at": "2026-01-17T18:41:50.244117Z"
                },
                {
                    "id": 138,
                    "sub_level": 35,
                    "order": 3,
                    "step_type": "game_matching",
                    "step_type_display": "Game - Matching",
                    "title": "Exercice 2 - Matching",
                    "description": "Exercice 2 - Matching",
                    "is_required": false,
                    "config": {
                        "game_mode": "matching",
                        "instructions": "Pratiquez le vocabulaire de vocabulaire des parents et des enfants avec le mode matching.",
                        "min_score": 70,
                        "level": 1,
                        "sub_level": 1
                    },
                    "is_active": true,
                    "is_completed": false,
                    "progress": {
                        "is_completed": false,
                        "completed_at": null,
                        "score": null,
                        "attempts": 0,
                        "best_score": null
                    },
                    "created_at": "2026-01-17T18:41:50.247184Z",
                    "updated_at": "2026-01-17T18:41:50.247194Z"
                },
                {
                    "id": 139,
                    "sub_level": 35,
                    "order": 4,
                    "step_type": "game_multiple_choice",
                    "step_type_display": "Game - Multiple Choice",
                    "title": "Exercice 3 - Multiple Choice",
                    "description": "Exercice 3 - Multiple Choice",
                    "is_required": false,
                    "config": {
                        "game_mode": "multiple_choice",
                        "instructions": "Pratiquez le vocabulaire de vocabulaire des parents et des enfants avec le mode multiple_choice.",
                        "min_score": 70,
                        "level": 1,
                        "sub_level": 1
                    },
                    "is_active": true,
                    "is_completed": false,
                    "progress": {
                        "is_completed": false,
                        "completed_at": null,
                        "score": null,
                        "attempts": 0,
                        "best_score": null
                    },
                    "created_at": "2026-01-17T18:41:50.250843Z",
                    "updated_at": "2026-01-17T18:41:50.250853Z"
                }
            ],
            "videos": [],
            "learning_cards": [
                {
                    "id": 136,
                    "sub_level": 35,
                    "order": 1,
                    "step_type": "learning_card",
                    "step_type_display": "Learning Card",
                    "title": "Introduction à Vocabulaire des parents et des enfants",
                    "description": "Parents et enfants\n\nApprenez le vocabulaire de vocabulaire des parents et des enfants en russe.",
                    "is_required": true,
                    "config": {
                        "content": "Parents et enfants\n\nApprenez le vocabulaire de vocabulaire des parents et des enfants en russe.",
                        "concept_type": "vocabulary"
                    },
                    "is_active": true,
                    "is_completed": false,
                    "progress": {
                        "is_completed": false,
                        "completed_at": null,
                        "score": null,
                        "attempts": 0,
                        "best_score": null
                    },
                    "created_at": "2026-01-17T18:41:50.240680Z",
                    "updated_at": "2026-01-17T18:41:50.240694Z"
                }
            ],
            "exercises": [],
            "total_words": 10,
            "is_unlocked": false,
            "is_completed": false,
            "progress": {
                "words_mastered": 0,
                "total_words": 10,
                "completion_percentage": 0.0,
                "steps": []
            },
            "is_active": true,
            "created_at": "2026-01-17T18:41:50.232896Z",
            "updated_at": "2026-01-17T18:41:50.232907Z"
        },
        {
            "id": 36,
            "level": 8,
            "level_display": "Famille",
            "sub_level": 2,
            "title": "Vocabulaire des frères et sœurs",
            "description": "Frères et sœurs",
            "order": 2,
            "word_pairs": [
                {
                    "id": 544,
                    "french_word": "aîné",
                    "russian_word": "старший",
                    "category": "family",
                    "category_display": "Family",
                    "level": 1,
                    "level_display": "Famille",
                    "comment": "Elder (brother/sister)",
                    "tags": [
                        {
                            "id": 17,
                            "name": "family",
                            "category": "category",
                            "category_display": "category",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:50.085654Z",
                            "updated_at": "2026-01-17T18:41:50.085664Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:50.160324Z",
                    "updated_at": "2026-01-17T18:41:50.160334Z",
                    "is_active": true
                },
                {
                    "id": 545,
                    "french_word": "cadet",
                    "russian_word": "младший",
                    "category": "family",
                    "category_display": "Family",
                    "level": 1,
                    "level_display": "Famille",
                    "comment": "Younger (brother/sister)",
                    "tags": [
                        {
                            "id": 17,
                            "name": "family",
                            "category": "category",
                            "category_display": "category",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:50.085654Z",
                            "updated_at": "2026-01-17T18:41:50.085664Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:50.165300Z",
                    "updated_at": "2026-01-17T18:41:50.165311Z",
                    "is_active": true
                },
                {
                    "id": 540,
                    "french_word": "frère",
                    "russian_word": "брат",
                    "category": "family",
                    "category_display": "Family",
                    "level": 1,
                    "level_display": "Famille",
                    "comment": "Brother",
                    "tags": [
                        {
                            "id": 17,
                            "name": "family",
                            "category": "category",
                            "category_display": "category",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:50.085654Z",
                            "updated_at": "2026-01-17T18:41:50.085664Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:50.138744Z",
                    "updated_at": "2026-01-17T18:41:50.138761Z",
                    "is_active": true
                },
                {
                    "id": 542,
                    "french_word": "frères",
                    "russian_word": "братья",
                    "category": "family",
                    "category_display": "Family",
                    "level": 1,
                    "level_display": "Famille",
                    "comment": "Brothers",
                    "tags": [
                        {
                            "id": 17,
                            "name": "family",
                            "category": "category",
                            "category_display": "category",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:50.085654Z",
                            "updated_at": "2026-01-17T18:41:50.085664Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:50.150211Z",
                    "updated_at": "2026-01-17T18:41:50.150227Z",
                    "is_active": true
                },
                {
                    "id": 546,
                    "french_word": "jumeau",
                    "russian_word": "близнец",
                    "category": "family",
                    "category_display": "Family",
                    "level": 1,
                    "level_display": "Famille",
                    "comment": "Twin (masculine)",
                    "tags": [
                        {
                            "id": 17,
                            "name": "family",
                            "category": "category",
                            "category_display": "category",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:50.085654Z",
                            "updated_at": "2026-01-17T18:41:50.085664Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:50.171160Z",
                    "updated_at": "2026-01-17T18:41:50.171171Z",
                    "is_active": true
                },
                {
                    "id": 547,
                    "french_word": "jumelle",
                    "russian_word": "близнец",
                    "category": "family",
                    "category_display": "Family",
                    "level": 1,
                    "level_display": "Famille",
                    "comment": "Twin (feminine)",
                    "tags": [
                        {
                            "id": 17,
                            "name": "family",
                            "category": "category",
                            "category_display": "category",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:50.085654Z",
                            "updated_at": "2026-01-17T18:41:50.085664Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:50.176309Z",
                    "updated_at": "2026-01-17T18:41:50.176321Z",
                    "is_active": true
                },
                {
                    "id": 541,
                    "french_word": "sœur",
                    "russian_word": "сестра",
                    "category": "family",
                    "category_display": "Family",
                    "level": 1,
                    "level_display": "Famille",
                    "comment": "Sister",
                    "tags": [
                        {
                            "id": 17,
                            "name": "family",
                            "category": "category",
                            "category_display": "category",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:50.085654Z",
                            "updated_at": "2026-01-17T18:41:50.085664Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:50.144569Z",
                    "updated_at": "2026-01-17T18:41:50.144585Z",
                    "is_active": true
                },
                {
                    "id": 543,
                    "french_word": "sœurs",
                    "russian_word": "сёстры",
                    "category": "family",
                    "category_display": "Family",
                    "level": 1,
                    "level_display": "Famille",
                    "comment": "Sisters",
                    "tags": [
                        {
                            "id": 17,
                            "name": "family",
                            "category": "category",
                            "category_display": "category",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:50.085654Z",
                            "updated_at": "2026-01-17T18:41:50.085664Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:50.155374Z",
                    "updated_at": "2026-01-17T18:41:50.155385Z",
                    "is_active": true
                }
            ],
            "steps": [
                {
                    "id": 140,
                    "sub_level": 36,
                    "order": 1,
                    "step_type": "learning_card",
                    "step_type_display": "Learning Card",
                    "title": "Introduction à Vocabulaire des frères et sœurs",
                    "description": "Frères et sœurs\n\nApprenez le vocabulaire de vocabulaire des frères et sœurs en russe.",
                    "is_required": true,
                    "config": {
                        "content": "Frères et sœurs\n\nApprenez le vocabulaire de vocabulaire des frères et sœurs en russe.",
                        "concept_type": "vocabulary"
                    },
                    "is_active": true,
                    "is_completed": false,
                    "progress": {
                        "is_completed": false,
                        "completed_at": null,
                        "score": null,
                        "attempts": 0,
                        "best_score": null
                    },
                    "created_at": "2026-01-17T18:41:50.260461Z",
                    "updated_at": "2026-01-17T18:41:50.260471Z"
                },
                {
                    "id": 141,
                    "sub_level": 36,
                    "order": 2,
                    "step_type": "game_flashcard",
                    "step_type_display": "Game - Flashcard",
                    "title": "Exercice 1 - Flashcard",
                    "description": "Exercice 1 - Flashcard",
                    "is_required": false,
                    "config": {
                        "game_mode": "flashcard",
                        "instructions": "Pratiquez le vocabulaire de vocabulaire des frères et sœurs avec le mode flashcard.",
                        "min_score": 70,
                        "level": 1,
                        "sub_level": 2
                    },
                    "is_active": true,
                    "is_completed": false,
                    "progress": {
                        "is_completed": false,
                        "completed_at": null,
                        "score": null,
                        "attempts": 0,
                        "best_score": null
                    },
                    "created_at": "2026-01-17T18:41:50.263749Z",
                    "updated_at": "2026-01-17T18:41:50.263759Z"
                },
                {
                    "id": 142,
                    "sub_level": 36,
                    "order": 3,
                    "step_type": "game_matching",
                    "step_type_display": "Game - Matching",
                    "title": "Exercice 2 - Matching",
                    "description": "Exercice 2 - Matching",
                    "is_required": false,
                    "config": {
                        "game_mode": "matching",
                        "instructions": "Pratiquez le vocabulaire de vocabulaire des frères et sœurs avec le mode matching.",
                        "min_score": 70,
                        "level": 1,
                        "sub_level": 2
                    },
                    "is_active": true,
                    "is_completed": false,
                    "progress": {
                        "is_completed": false,
                        "completed_at": null,
                        "score": null,
                        "attempts": 0,
                        "best_score": null
                    },
                    "created_at": "2026-01-17T18:41:50.266836Z",
                    "updated_at": "2026-01-17T18:41:50.266846Z"
                },
                {
                    "id": 143,
                    "sub_level": 36,
                    "order": 4,
                    "step_type": "game_multiple_choice",
                    "step_type_display": "Game - Multiple Choice",
                    "title": "Exercice 3 - Multiple Choice",
                    "description": "Exercice 3 - Multiple Choice",
                    "is_required": false,
                    "config": {
                        "game_mode": "multiple_choice",
                        "instructions": "Pratiquez le vocabulaire de vocabulaire des frères et sœurs avec le mode multiple_choice.",
                        "min_score": 70,
                        "level": 1,
                        "sub_level": 2
                    },
                    "is_active": true,
                    "is_completed": false,
                    "progress": {
                        "is_completed": false,
                        "completed_at": null,
                        "score": null,
                        "attempts": 0,
                        "best_score": null
                    },
                    "created_at": "2026-01-17T18:41:50.269810Z",
                    "updated_at": "2026-01-17T18:41:50.269820Z"
                }
            ],
            "videos": [],
            "learning_cards": [
                {
                    "id": 140,
                    "sub_level": 36,
                    "order": 1,
                    "step_type": "learning_card",
                    "step_type_display": "Learning Card",
                    "title": "Introduction à Vocabulaire des frères et sœurs",
                    "description": "Frères et sœurs\n\nApprenez le vocabulaire de vocabulaire des frères et sœurs en russe.",
                    "is_required": true,
                    "config": {
                        "content": "Frères et sœurs\n\nApprenez le vocabulaire de vocabulaire des frères et sœurs en russe.",
                        "concept_type": "vocabulary"
                    },
                    "is_active": true,
                    "is_completed": false,
                    "progress": {
                        "is_completed": false,
                        "completed_at": null,
                        "score": null,
                        "attempts": 0,
                        "best_score": null
                    },
                    "created_at": "2026-01-17T18:41:50.260461Z",
                    "updated_at": "2026-01-17T18:41:50.260471Z"
                }
            ],
            "exercises": [],
            "total_words": 8,
            "is_unlocked": false,
            "is_completed": false,
            "progress": {
                "words_mastered": 0,
                "total_words": 8,
                "completion_percentage": 0.0,
                "steps": []
            },
            "is_active": true,
            "created_at": "2026-01-17T18:41:50.253362Z",
            "updated_at": "2026-01-17T18:41:50.253373Z"
        },
        {
            "id": 37,
            "level": 8,
            "level_display": "Famille",
            "sub_level": 3,
            "title": "Vocabulaire des grands-parents et de la famille élargie",
            "description": "Grands-parents et famille élargie",
            "order": 3,
            "word_pairs": [
                {
                    "id": 552,
                    "french_word": "cousin",
                    "russian_word": "двоюродный брат",
                    "category": "family",
                    "category_display": "Family",
                    "level": 1,
                    "level_display": "Famille",
                    "comment": "Cousin (masculine)",
                    "tags": [
                        {
                            "id": 17,
                            "name": "family",
                            "category": "category",
                            "category_display": "category",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:50.085654Z",
                            "updated_at": "2026-01-17T18:41:50.085664Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:50.201960Z",
                    "updated_at": "2026-01-17T18:41:50.201972Z",
                    "is_active": true
                },
                {
                    "id": 553,
                    "french_word": "cousine",
                    "russian_word": "двоюродная сестра",
                    "category": "family",
                    "category_display": "Family",
                    "level": 1,
                    "level_display": "Famille",
                    "comment": "Cousin (feminine)",
                    "tags": [
                        {
                            "id": 17,
                            "name": "family",
                            "category": "category",
                            "category_display": "category",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:50.085654Z",
                            "updated_at": "2026-01-17T18:41:50.085664Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:50.207115Z",
                    "updated_at": "2026-01-17T18:41:50.207128Z",
                    "is_active": true
                },
                {
                    "id": 549,
                    "french_word": "grand-mère",
                    "russian_word": "бабушка",
                    "category": "family",
                    "category_display": "Family",
                    "level": 1,
                    "level_display": "Famille",
                    "comment": "Grandmother",
                    "tags": [
                        {
                            "id": 17,
                            "name": "family",
                            "category": "category",
                            "category_display": "category",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:50.085654Z",
                            "updated_at": "2026-01-17T18:41:50.085664Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:50.187686Z",
                    "updated_at": "2026-01-17T18:41:50.187697Z",
                    "is_active": true
                },
                {
                    "id": 548,
                    "french_word": "grand-père",
                    "russian_word": "дедушка",
                    "category": "family",
                    "category_display": "Family",
                    "level": 1,
                    "level_display": "Famille",
                    "comment": "Grandfather",
                    "tags": [
                        {
                            "id": 17,
                            "name": "family",
                            "category": "category",
                            "category_display": "category",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:50.085654Z",
                            "updated_at": "2026-01-17T18:41:50.085664Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:50.183081Z",
                    "updated_at": "2026-01-17T18:41:50.183094Z",
                    "is_active": true
                },
                {
                    "id": 550,
                    "french_word": "oncle",
                    "russian_word": "дядя",
                    "category": "family",
                    "category_display": "Family",
                    "level": 1,
                    "level_display": "Famille",
                    "comment": "Uncle",
                    "tags": [
                        {
                            "id": 17,
                            "name": "family",
                            "category": "category",
                            "category_display": "category",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:50.085654Z",
                            "updated_at": "2026-01-17T18:41:50.085664Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:50.192327Z",
                    "updated_at": "2026-01-17T18:41:50.192337Z",
                    "is_active": true
                },
                {
                    "id": 551,
                    "french_word": "tante",
                    "russian_word": "тётя",
                    "category": "family",
                    "category_display": "Family",
                    "level": 1,
                    "level_display": "Famille",
                    "comment": "Aunt",
                    "tags": [
                        {
                            "id": 17,
                            "name": "family",
                            "category": "category",
                            "category_display": "category",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:50.085654Z",
                            "updated_at": "2026-01-17T18:41:50.085664Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:50.197197Z",
                    "updated_at": "2026-01-17T18:41:50.197207Z",
                    "is_active": true
                }
            ],
            "steps": [
                {
                    "id": 144,
                    "sub_level": 37,
                    "order": 1,
                    "step_type": "learning_card",
                    "step_type_display": "Learning Card",
                    "title": "Introduction à Vocabulaire des grands-parents et de la famille élargie",
                    "description": "Grands-parents et famille élargie\n\nApprenez le vocabulaire de vocabulaire des grands-parents et de la famille élargie en russe.",
                    "is_required": true,
                    "config": {
                        "content": "Grands-parents et famille élargie\n\nApprenez le vocabulaire de vocabulaire des grands-parents et de la famille élargie en russe.",
                        "concept_type": "vocabulary"
                    },
                    "is_active": true,
                    "is_completed": false,
                    "progress": {
                        "is_completed": false,
                        "completed_at": null,
                        "score": null,
                        "attempts": 0,
                        "best_score": null
                    },
                    "created_at": "2026-01-17T18:41:50.279410Z",
                    "updated_at": "2026-01-17T18:41:50.279427Z"
                },
                {
                    "id": 145,
                    "sub_level": 37,
                    "order": 2,
                    "step_type": "game_flashcard",
                    "step_type_display": "Game - Flashcard",
                    "title": "Exercice 1 - Flashcard",
                    "description": "Exercice 1 - Flashcard",
                    "is_required": false,
                    "config": {
                        "game_mode": "flashcard",
                        "instructions": "Pratiquez le vocabulaire de vocabulaire des grands-parents et de la famille élargie avec le mode flashcard.",
                        "min_score": 70,
                        "level": 1,
                        "sub_level": 3
                    },
                    "is_active": true,
                    "is_completed": false,
                    "progress": {
                        "is_completed": false,
                        "completed_at": null,
                        "score": null,
                        "attempts": 0,
                        "best_score": null
                    },
                    "created_at": "2026-01-17T18:41:50.282717Z",
                    "updated_at": "2026-01-17T18:41:50.282727Z"
                },
                {
                    "id": 146,
                    "sub_level": 37,
                    "order": 3,
                    "step_type": "game_matching",
                    "step_type_display": "Game - Matching",
                    "title": "Exercice 2 - Matching",
                    "description": "Exercice 2 - Matching",
                    "is_required": false,
                    "config": {
                        "game_mode": "matching",
                        "instructions": "Pratiquez le vocabulaire de vocabulaire des grands-parents et de la famille élargie avec le mode matching.",
                        "min_score": 70,
                        "level": 1,
                        "sub_level": 3
                    },
                    "is_active": true,
                    "is_completed": false,
                    "progress": {
                        "is_completed": false,
                        "completed_at": null,
                        "score": null,
                        "attempts": 0,
                        "best_score": null
                    },
                    "created_at": "2026-01-17T18:41:50.285893Z",
                    "updated_at": "2026-01-17T18:41:50.285902Z"
                },
                {
                    "id": 147,
                    "sub_level": 37,
                    "order": 4,
                    "step_type": "game_multiple_choice",
                    "step_type_display": "Game - Multiple Choice",
                    "title": "Exercice 3 - Multiple Choice",
                    "description": "Exercice 3 - Multiple Choice",
                    "is_required": false,
                    "config": {
                        "game_mode": "multiple_choice",
                        "instructions": "Pratiquez le vocabulaire de vocabulaire des grands-parents et de la famille élargie avec le mode multiple_choice.",
                        "min_score": 70,
                        "level": 1,
                        "sub_level": 3
                    },
                    "is_active": true,
                    "is_completed": false,
                    "progress": {
                        "is_completed": false,
                        "completed_at": null,
                        "score": null,
                        "attempts": 0,
                        "best_score": null
                    },
                    "created_at": "2026-01-17T18:41:50.288890Z",
                    "updated_at": "2026-01-17T18:41:50.288900Z"
                }
            ],
            "videos": [],
            "learning_cards": [
                {
                    "id": 144,
                    "sub_level": 37,
                    "order": 1,
                    "step_type": "learning_card",
                    "step_type_display": "Learning Card",
                    "title": "Introduction à Vocabulaire des grands-parents et de la famille élargie",
                    "description": "Grands-parents et famille élargie\n\nApprenez le vocabulaire de vocabulaire des grands-parents et de la famille élargie en russe.",
                    "is_required": true,
                    "config": {
                        "content": "Grands-parents et famille élargie\n\nApprenez le vocabulaire de vocabulaire des grands-parents et de la famille élargie en russe.",
                        "concept_type": "vocabulary"
                    },
                    "is_active": true,
                    "is_completed": false,
                    "progress": {
                        "is_completed": false,
                        "completed_at": null,
                        "score": null,
                        "attempts": 0,
                        "best_score": null
                    },
                    "created_at": "2026-01-17T18:41:50.279410Z",
                    "updated_at": "2026-01-17T18:41:50.279427Z"
                }
            ],
            "exercises": [],
            "total_words": 6,
            "is_unlocked": false,
            "is_completed": false,
            "progress": {
                "words_mastered": 0,
                "total_words": 6,
                "completion_percentage": 0.0,
                "steps": []
            },
            "is_active": true,
            "created_at": "2026-01-17T18:41:50.272327Z",
            "updated_at": "2026-01-17T18:41:50.272337Z"
        },
        {
            "id": 38,
            "level": 8,
            "level_display": "Famille",
            "sub_level": 4,
            "title": "Vocabulaire des relations conjugales",
            "description": "Relations conjugales",
            "order": 4,
            "word_pairs": [
                {
                    "id": 555,
                    "french_word": "femme",
                    "russian_word": "жена",
                    "category": "family",
                    "category_display": "Family",
                    "level": 1,
                    "level_display": "Famille",
                    "comment": "Wife",
                    "tags": [
                        {
                            "id": 17,
                            "name": "family",
                            "category": "category",
                            "category_display": "category",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:50.085654Z",
                            "updated_at": "2026-01-17T18:41:50.085664Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:50.217846Z",
                    "updated_at": "2026-01-17T18:41:50.217856Z",
                    "is_active": true
                },
                {
                    "id": 556,
                    "french_word": "fiancé",
                    "russian_word": "жених",
                    "category": "family",
                    "category_display": "Family",
                    "level": 1,
                    "level_display": "Famille",
                    "comment": "Fiancé",
                    "tags": [
                        {
                            "id": 17,
                            "name": "family",
                            "category": "category",
                            "category_display": "category",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:50.085654Z",
                            "updated_at": "2026-01-17T18:41:50.085664Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:50.222493Z",
                    "updated_at": "2026-01-17T18:41:50.222503Z",
                    "is_active": true
                },
                {
                    "id": 557,
                    "french_word": "fiancée",
                    "russian_word": "невеста",
                    "category": "family",
                    "category_display": "Family",
                    "level": 1,
                    "level_display": "Famille",
                    "comment": "Fiancée",
                    "tags": [
                        {
                            "id": 17,
                            "name": "family",
                            "category": "category",
                            "category_display": "category",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:50.085654Z",
                            "updated_at": "2026-01-17T18:41:50.085664Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:50.227302Z",
                    "updated_at": "2026-01-17T18:41:50.227312Z",
                    "is_active": true
                },
                {
                    "id": 554,
                    "french_word": "mari",
                    "russian_word": "муж",
                    "category": "family",
                    "category_display": "Family",
                    "level": 1,
                    "level_display": "Famille",
                    "comment": "Husband",
                    "tags": [
                        {
                            "id": 17,
                            "name": "family",
                            "category": "category",
                            "category_display": "category",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:50.085654Z",
                            "updated_at": "2026-01-17T18:41:50.085664Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:50.212140Z",
                    "updated_at": "2026-01-17T18:41:50.212151Z",
                    "is_active": true
                }
            ],
            "steps": [
                {
                    "id": 148,
                    "sub_level": 38,
                    "order": 1,
                    "step_type": "learning_card",
                    "step_type_display": "Learning Card",
                    "title": "Introduction à Vocabulaire des relations conjugales",
                    "description": "Relations conjugales\n\nApprenez le vocabulaire de vocabulaire des relations conjugales en russe.",
                    "is_required": true,
                    "config": {
                        "content": "Relations conjugales\n\nApprenez le vocabulaire de vocabulaire des relations conjugales en russe.",
                        "concept_type": "vocabulary"
                    },
                    "is_active": true,
                    "is_completed": false,
                    "progress": {
                        "is_completed": false,
                        "completed_at": null,
                        "score": null,
                        "attempts": 0,
                        "best_score": null
                    },
                    "created_at": "2026-01-17T18:41:50.300985Z",
                    "updated_at": "2026-01-17T18:41:50.301002Z"
                },
                {
                    "id": 149,
                    "sub_level": 38,
                    "order": 2,
                    "step_type": "game_flashcard",
                    "step_type_display": "Game - Flashcard",
                    "title": "Exercice 1 - Flashcard",
                    "description": "Exercice 1 - Flashcard",
                    "is_required": false,
                    "config": {
                        "game_mode": "flashcard",
                        "instructions": "Pratiquez le vocabulaire de vocabulaire des relations conjugales avec le mode flashcard.",
                        "min_score": 70,
                        "level": 1,
                        "sub_level": 4
                    },
                    "is_active": true,
                    "is_completed": false,
                    "progress": {
                        "is_completed": false,
                        "completed_at": null,
                        "score": null,
                        "attempts": 0,
                        "best_score": null
                    },
                    "created_at": "2026-01-17T18:41:50.305481Z",
                    "updated_at": "2026-01-17T18:41:50.305498Z"
                },
                {
                    "id": 150,
                    "sub_level": 38,
                    "order": 3,
                    "step_type": "game_matching",
                    "step_type_display": "Game - Matching",
                    "title": "Exercice 2 - Matching",
                    "description": "Exercice 2 - Matching",
                    "is_required": false,
                    "config": {
                        "game_mode": "matching",
                        "instructions": "Pratiquez le vocabulaire de vocabulaire des relations conjugales avec le mode matching.",
                        "min_score": 70,
                        "level": 1,
                        "sub_level": 4
                    },
                    "is_active": true,
                    "is_completed": false,
                    "progress": {
                        "is_completed": false,
                        "completed_at": null,
                        "score": null,
                        "attempts": 0,
                        "best_score": null
                    },
                    "created_at": "2026-01-17T18:41:50.310510Z",
                    "updated_at": "2026-01-17T18:41:50.310527Z"
                },
                {
                    "id": 151,
                    "sub_level": 38,
                    "order": 4,
                    "step_type": "game_multiple_choice",
                    "step_type_display": "Game - Multiple Choice",
                    "title": "Exercice 3 - Multiple Choice",
                    "description": "Exercice 3 - Multiple Choice",
                    "is_required": false,
                    "config": {
                        "game_mode": "multiple_choice",
                        "instructions": "Pratiquez le vocabulaire de vocabulaire des relations conjugales avec le mode multiple_choice.",
                        "min_score": 70,
                        "level": 1,
                        "sub_level": 4
                    },
                    "is_active": true,
                    "is_completed": false,
                    "progress": {
                        "is_completed": false,
                        "completed_at": null,
                        "score": null,
                        "attempts": 0,
                        "best_score": null
                    },
                    "created_at": "2026-01-17T18:41:50.314872Z",
                    "updated_at": "2026-01-17T18:41:50.314889Z"
                }
            ],
            "videos": [],
            "learning_cards": [
                {
                    "id": 148,
                    "sub_level": 38,
                    "order": 1,
                    "step_type": "learning_card",
                    "step_type_display": "Learning Card",
                    "title": "Introduction à Vocabulaire des relations conjugales",
                    "description": "Relations conjugales\n\nApprenez le vocabulaire de vocabulaire des relations conjugales en russe.",
                    "is_required": true,
                    "config": {
                        "content": "Relations conjugales\n\nApprenez le vocabulaire de vocabulaire des relations conjugales en russe.",
                        "concept_type": "vocabulary"
                    },
                    "is_active": true,
                    "is_completed": false,
                    "progress": {
                        "is_completed": false,
                        "completed_at": null,
                        "score": null,
                        "attempts": 0,
                        "best_score": null
                    },
                    "created_at": "2026-01-17T18:41:50.300985Z",
                    "updated_at": "2026-01-17T18:41:50.301002Z"
                }
            ],
            "exercises": [],
            "total_words": 4,
            "is_unlocked": false,
            "is_completed": false,
            "progress": {
                "words_mastered": 0,
                "total_words": 4,
                "completion_percentage": 0.0,
                "steps": []
            },
            "is_active": true,
            "created_at": "2026-01-17T18:41:50.291431Z",
            "updated_at": "2026-01-17T18:41:50.291441Z"
        },
        {
            "id": 39,
            "level": 9,
            "level_display": "Nourriture",
            "sub_level": 1,
            "title": "Vocabulaire des fruits et légumes",
            "description": "Fruits et légumes",
            "order": 1,
            "word_pairs": [
                {
                    "id": 583,
                    "french_word": "ail",
                    "russian_word": "чеснок",
                    "category": "food",
                    "category_display": "Food",
                    "level": 2,
                    "level_display": "Nourriture",
                    "comment": "Garlic",
                    "tags": [
                        {
                            "id": 18,
                            "name": "food",
                            "category": "category",
                            "category_display": "category",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:50.323097Z",
                            "updated_at": "2026-01-17T18:41:50.323114Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:50.460021Z",
                    "updated_at": "2026-01-17T18:41:50.460040Z",
                    "is_active": true
                },
                {
                    "id": 574,
                    "french_word": "ananas",
                    "russian_word": "ананас",
                    "category": "food",
                    "category_display": "Food",
                    "level": 2,
                    "level_display": "Nourriture",
                    "comment": "Pineapple",
                    "tags": [
                        {
                            "id": 18,
                            "name": "food",
                            "category": "category",
                            "category_display": "category",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:50.323097Z",
                            "updated_at": "2026-01-17T18:41:50.323114Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:50.414307Z",
                    "updated_at": "2026-01-17T18:41:50.414317Z",
                    "is_active": true
                },
                {
                    "id": 587,
                    "french_word": "aubergine",
                    "russian_word": "баклажан",
                    "category": "food",
                    "category_display": "Food",
                    "level": 2,
                    "level_display": "Nourriture",
                    "comment": "Eggplant",
                    "tags": [
                        {
                            "id": 18,
                            "name": "food",
                            "category": "category",
                            "category_display": "category",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:50.323097Z",
                            "updated_at": "2026-01-17T18:41:50.323114Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:50.489782Z",
                    "updated_at": "2026-01-17T18:41:50.489805Z",
                    "is_active": true
                },
                {
                    "id": 562,
                    "french_word": "banane",
                    "russian_word": "банан",
                    "category": "food",
                    "category_display": "Food",
                    "level": 2,
                    "level_display": "Nourriture",
                    "comment": "Banana",
                    "tags": [
                        {
                            "id": 18,
                            "name": "food",
                            "category": "category",
                            "category_display": "category",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:50.323097Z",
                            "updated_at": "2026-01-17T18:41:50.323114Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:50.352900Z",
                    "updated_at": "2026-01-17T18:41:50.352925Z",
                    "is_active": true
                },
                {
                    "id": 579,
                    "french_word": "brocoli",
                    "russian_word": "брокколи",
                    "category": "food",
                    "category_display": "Food",
                    "level": 2,
                    "level_display": "Nourriture",
                    "comment": "Broccoli",
                    "tags": [
                        {
                            "id": 18,
                            "name": "food",
                            "category": "category",
                            "category_display": "category",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:50.323097Z",
                            "updated_at": "2026-01-17T18:41:50.323114Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:50.440141Z",
                    "updated_at": "2026-01-17T18:41:50.440152Z",
                    "is_active": true
                },
                {
                    "id": 565,
                    "french_word": "carotte",
                    "russian_word": "морковь",
                    "category": "food",
                    "category_display": "Food",
                    "level": 2,
                    "level_display": "Nourriture",
                    "comment": "Carrot",
                    "tags": [
                        {
                            "id": 18,
                            "name": "food",
                            "category": "category",
                            "category_display": "category",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:50.323097Z",
                            "updated_at": "2026-01-17T18:41:50.323114Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:50.370320Z",
                    "updated_at": "2026-01-17T18:41:50.370331Z",
                    "is_active": true
                },
                {
                    "id": 569,
                    "french_word": "cerise",
                    "russian_word": "вишня",
                    "category": "food",
                    "category_display": "Food",
                    "level": 2,
                    "level_display": "Nourriture",
                    "comment": "Cherry",
                    "tags": [
                        {
                            "id": 18,
                            "name": "food",
                            "category": "category",
                            "category_display": "category",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:50.323097Z",
                            "updated_at": "2026-01-17T18:41:50.323114Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:50.389887Z",
                    "updated_at": "2026-01-17T18:41:50.389898Z",
                    "is_active": true
                },
                {
                    "id": 580,
                    "french_word": "chou",
                    "russian_word": "капуста",
                    "category": "food",
                    "category_display": "Food",
                    "level": 2,
                    "level_display": "Nourriture",
                    "comment": "Cabbage",
                    "tags": [
                        {
                            "id": 18,
                            "name": "food",
                            "category": "category",
                            "category_display": "category",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:50.323097Z",
                            "updated_at": "2026-01-17T18:41:50.323114Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:50.445122Z",
                    "updated_at": "2026-01-17T18:41:50.445135Z",
                    "is_active": true
                },
                {
                    "id": 572,
                    "french_word": "citron",
                    "russian_word": "лимон",
                    "category": "food",
                    "category_display": "Food",
                    "level": 2,
                    "level_display": "Nourriture",
                    "comment": "Lemon",
                    "tags": [
                        {
                            "id": 18,
                            "name": "food",
                            "category": "category",
                            "category_display": "category",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:50.323097Z",
                            "updated_at": "2026-01-17T18:41:50.323114Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:50.404811Z",
                    "updated_at": "2026-01-17T18:41:50.404823Z",
                    "is_active": true
                },
                {
                    "id": 585,
                    "french_word": "concombre",
                    "russian_word": "огурец",
                    "category": "food",
                    "category_display": "Food",
                    "level": 2,
                    "level_display": "Nourriture",
                    "comment": "Cucumber",
                    "tags": [
                        {
                            "id": 18,
                            "name": "food",
                            "category": "category",
                            "category_display": "category",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:50.323097Z",
                            "updated_at": "2026-01-17T18:41:50.323114Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:50.477703Z",
                    "updated_at": "2026-01-17T18:41:50.477727Z",
                    "is_active": true
                },
                {
                    "id": 586,
                    "french_word": "courgette",
                    "russian_word": "кабачок",
                    "category": "food",
                    "category_display": "Food",
                    "level": 2,
                    "level_display": "Nourriture",
                    "comment": "Zucchini",
                    "tags": [
                        {
                            "id": 18,
                            "name": "food",
                            "category": "category",
                            "category_display": "category",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:50.323097Z",
                            "updated_at": "2026-01-17T18:41:50.323114Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:50.483303Z",
                    "updated_at": "2026-01-17T18:41:50.483323Z",
                    "is_active": true
                },
                {
                    "id": 567,
                    "french_word": "fraise",
                    "russian_word": "клубника",
                    "category": "food",
                    "category_display": "Food",
                    "level": 2,
                    "level_display": "Nourriture",
                    "comment": "Strawberry",
                    "tags": [
                        {
                            "id": 18,
                            "name": "food",
                            "category": "category",
                            "category_display": "category",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:50.323097Z",
                            "updated_at": "2026-01-17T18:41:50.323114Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:50.379995Z",
                    "updated_at": "2026-01-17T18:41:50.380009Z",
                    "is_active": true
                },
                {
                    "id": 576,
                    "french_word": "kiwi",
                    "russian_word": "киви",
                    "category": "food",
                    "category_display": "Food",
                    "level": 2,
                    "level_display": "Nourriture",
                    "comment": "Kiwi",
                    "tags": [
                        {
                            "id": 18,
                            "name": "food",
                            "category": "category",
                            "category_display": "category",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:50.323097Z",
                            "updated_at": "2026-01-17T18:41:50.323114Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:50.424181Z",
                    "updated_at": "2026-01-17T18:41:50.424195Z",
                    "is_active": true
                },
                {
                    "id": 573,
                    "french_word": "lime",
                    "russian_word": "лайм",
                    "category": "food",
                    "category_display": "Food",
                    "level": 2,
                    "level_display": "Nourriture",
                    "comment": "Lime",
                    "tags": [
                        {
                            "id": 18,
                            "name": "food",
                            "category": "category",
                            "category_display": "category",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:50.323097Z",
                            "updated_at": "2026-01-17T18:41:50.323114Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:50.409531Z",
                    "updated_at": "2026-01-17T18:41:50.409543Z",
                    "is_active": true
                },
                {
                    "id": 575,
                    "french_word": "mangue",
                    "russian_word": "манго",
                    "category": "food",
                    "category_display": "Food",
                    "level": 2,
                    "level_display": "Nourriture",
                    "comment": "Mango",
                    "tags": [
                        {
                            "id": 18,
                            "name": "food",
                            "category": "category",
                            "category_display": "category",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:50.323097Z",
                            "updated_at": "2026-01-17T18:41:50.323114Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:50.419216Z",
                    "updated_at": "2026-01-17T18:41:50.419227Z",
                    "is_active": true
                },
                {
                    "id": 578,
                    "french_word": "melon",
                    "russian_word": "дыня",
                    "category": "food",
                    "category_display": "Food",
                    "level": 2,
                    "level_display": "Nourriture",
                    "comment": "Melon",
                    "tags": [
                        {
                            "id": 18,
                            "name": "food",
                            "category": "category",
                            "category_display": "category",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:50.323097Z",
                            "updated_at": "2026-01-17T18:41:50.323114Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:50.435209Z",
                    "updated_at": "2026-01-17T18:41:50.435219Z",
                    "is_active": true
                },
                {
                    "id": 582,
                    "french_word": "oignon",
                    "russian_word": "лук",
                    "category": "food",
                    "category_display": "Food",
                    "level": 2,
                    "level_display": "Nourriture",
                    "comment": "Onion",
                    "tags": [
                        {
                            "id": 18,
                            "name": "food",
                            "category": "category",
                            "category_display": "category",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:50.323097Z",
                            "updated_at": "2026-01-17T18:41:50.323114Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:50.454882Z",
                    "updated_at": "2026-01-17T18:41:50.454894Z",
                    "is_active": true
                },
                {
                    "id": 563,
                    "french_word": "orange",
                    "russian_word": "апельсин",
                    "category": "food",
                    "category_display": "Food",
                    "level": 2,
                    "level_display": "Nourriture",
                    "comment": "Orange",
                    "tags": [
                        {
                            "id": 18,
                            "name": "food",
                            "category": "category",
                            "category_display": "category",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:50.323097Z",
                            "updated_at": "2026-01-17T18:41:50.323114Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:50.359243Z",
                    "updated_at": "2026-01-17T18:41:50.359266Z",
                    "is_active": true
                },
                {
                    "id": 577,
                    "french_word": "pastèque",
                    "russian_word": "арбуз",
                    "category": "food",
                    "category_display": "Food",
                    "level": 2,
                    "level_display": "Nourriture",
                    "comment": "Watermelon",
                    "tags": [
                        {
                            "id": 18,
                            "name": "food",
                            "category": "category",
                            "category_display": "category",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:50.323097Z",
                            "updated_at": "2026-01-17T18:41:50.323114Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:50.430323Z",
                    "updated_at": "2026-01-17T18:41:50.430333Z",
                    "is_active": true
                },
                {
                    "id": 571,
                    "french_word": "poire",
                    "russian_word": "груша",
                    "category": "food",
                    "category_display": "Food",
                    "level": 2,
                    "level_display": "Nourriture",
                    "comment": "Pear",
                    "tags": [
                        {
                            "id": 18,
                            "name": "food",
                            "category": "category",
                            "category_display": "category",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:50.323097Z",
                            "updated_at": "2026-01-17T18:41:50.323114Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:50.400073Z",
                    "updated_at": "2026-01-17T18:41:50.400085Z",
                    "is_active": true
                },
                {
                    "id": 584,
                    "french_word": "poivron",
                    "russian_word": "перец",
                    "category": "food",
                    "category_display": "Food",
                    "level": 2,
                    "level_display": "Nourriture",
                    "comment": "Bell pepper",
                    "tags": [
                        {
                            "id": 18,
                            "name": "food",
                            "category": "category",
                            "category_display": "category",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:50.323097Z",
                            "updated_at": "2026-01-17T18:41:50.323114Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:50.471284Z",
                    "updated_at": "2026-01-17T18:41:50.471314Z",
                    "is_active": true
                },
                {
                    "id": 561,
                    "french_word": "pomme",
                    "russian_word": "яблоко",
                    "category": "food",
                    "category_display": "Food",
                    "level": 2,
                    "level_display": "Nourriture",
                    "comment": "Apple",
                    "tags": [
                        {
                            "id": 18,
                            "name": "food",
                            "category": "category",
                            "category_display": "category",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:50.323097Z",
                            "updated_at": "2026-01-17T18:41:50.323114Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:50.346357Z",
                    "updated_at": "2026-01-17T18:41:50.346377Z",
                    "is_active": true
                },
                {
                    "id": 566,
                    "french_word": "pomme de terre",
                    "russian_word": "картофель",
                    "category": "food",
                    "category_display": "Food",
                    "level": 2,
                    "level_display": "Nourriture",
                    "comment": "Potato",
                    "tags": [
                        {
                            "id": 18,
                            "name": "food",
                            "category": "category",
                            "category_display": "category",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:50.323097Z",
                            "updated_at": "2026-01-17T18:41:50.323114Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:50.375151Z",
                    "updated_at": "2026-01-17T18:41:50.375164Z",
                    "is_active": true
                },
                {
                    "id": 570,
                    "french_word": "pêche",
                    "russian_word": "персик",
                    "category": "food",
                    "category_display": "Food",
                    "level": 2,
                    "level_display": "Nourriture",
                    "comment": "Peach",
                    "tags": [
                        {
                            "id": 18,
                            "name": "food",
                            "category": "category",
                            "category_display": "category",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:50.323097Z",
                            "updated_at": "2026-01-17T18:41:50.323114Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:50.394745Z",
                    "updated_at": "2026-01-17T18:41:50.394758Z",
                    "is_active": true
                },
                {
                    "id": 568,
                    "french_word": "raisin",
                    "russian_word": "виноград",
                    "category": "food",
                    "category_display": "Food",
                    "level": 2,
                    "level_display": "Nourriture",
                    "comment": "Grape",
                    "tags": [
                        {
                            "id": 18,
                            "name": "food",
                            "category": "category",
                            "category_display": "category",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:50.323097Z",
                            "updated_at": "2026-01-17T18:41:50.323114Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:50.384994Z",
                    "updated_at": "2026-01-17T18:41:50.385014Z",
                    "is_active": true
                },
                {
                    "id": 564,
                    "french_word": "tomate",
                    "russian_word": "помидор",
                    "category": "food",
                    "category_display": "Food",
                    "level": 2,
                    "level_display": "Nourriture",
                    "comment": "Tomato",
                    "tags": [
                        {
                            "id": 18,
                            "name": "food",
                            "category": "category",
                            "category_display": "category",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:50.323097Z",
                            "updated_at": "2026-01-17T18:41:50.323114Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:50.365148Z",
                    "updated_at": "2026-01-17T18:41:50.365165Z",
                    "is_active": true
                },
                {
                    "id": 581,
                    "french_word": "épinard",
                    "russian_word": "шпинат",
                    "category": "food",
                    "category_display": "Food",
                    "level": 2,
                    "level_display": "Nourriture",
                    "comment": "Spinach",
                    "tags": [
                        {
                            "id": 18,
                            "name": "food",
                            "category": "category",
                            "category_display": "category",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:50.323097Z",
                            "updated_at": "2026-01-17T18:41:50.323114Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:50.449923Z",
                    "updated_at": "2026-01-17T18:41:50.449936Z",
                    "is_active": true
                }
            ],
            "steps": [
                {
                    "id": 152,
                    "sub_level": 39,
                    "order": 1,
                    "step_type": "learning_card",
                    "step_type_display": "Learning Card",
                    "title": "Introduction à Vocabulaire des fruits et légumes",
                    "description": "Fruits et légumes\n\nApprenez le vocabulaire de vocabulaire des fruits et légumes en russe.",
                    "is_required": true,
                    "config": {
                        "content": "Fruits et légumes\n\nApprenez le vocabulaire de vocabulaire des fruits et légumes en russe.",
                        "concept_type": "vocabulary"
                    },
                    "is_active": true,
                    "is_completed": false,
                    "progress": {
                        "is_completed": false,
                        "completed_at": null,
                        "score": null,
                        "attempts": 0,
                        "best_score": null
                    },
                    "created_at": "2026-01-17T18:41:50.770579Z",
                    "updated_at": "2026-01-17T18:41:50.770595Z"
                },
                {
                    "id": 153,
                    "sub_level": 39,
                    "order": 2,
                    "step_type": "game_flashcard",
                    "step_type_display": "Game - Flashcard",
                    "title": "Exercice 1 - Flashcard",
                    "description": "Exercice 1 - Flashcard",
                    "is_required": false,
                    "config": {
                        "game_mode": "flashcard",
                        "instructions": "Pratiquez le vocabulaire de vocabulaire des fruits et légumes avec le mode flashcard.",
                        "min_score": 70,
                        "level": 2,
                        "sub_level": 1
                    },
                    "is_active": true,
                    "is_completed": false,
                    "progress": {
                        "is_completed": false,
                        "completed_at": null,
                        "score": null,
                        "attempts": 0,
                        "best_score": null
                    },
                    "created_at": "2026-01-17T18:41:50.774266Z",
                    "updated_at": "2026-01-17T18:41:50.774277Z"
                },
                {
                    "id": 154,
                    "sub_level": 39,
                    "order": 3,
                    "step_type": "game_matching",
                    "step_type_display": "Game - Matching",
                    "title": "Exercice 2 - Matching",
                    "description": "Exercice 2 - Matching",
                    "is_required": false,
                    "config": {
                        "game_mode": "matching",
                        "instructions": "Pratiquez le vocabulaire de vocabulaire des fruits et légumes avec le mode matching.",
                        "min_score": 70,
                        "level": 2,
                        "sub_level": 1
                    },
                    "is_active": true,
                    "is_completed": false,
                    "progress": {
                        "is_completed": false,
                        "completed_at": null,
                        "score": null,
                        "attempts": 0,
                        "best_score": null
                    },
                    "created_at": "2026-01-17T18:41:50.777524Z",
                    "updated_at": "2026-01-17T18:41:50.777534Z"
                },
                {
                    "id": 155,
                    "sub_level": 39,
                    "order": 4,
                    "step_type": "game_multiple_choice",
                    "step_type_display": "Game - Multiple Choice",
                    "title": "Exercice 3 - Multiple Choice",
                    "description": "Exercice 3 - Multiple Choice",
                    "is_required": false,
                    "config": {
                        "game_mode": "multiple_choice",
                        "instructions": "Pratiquez le vocabulaire de vocabulaire des fruits et légumes avec le mode multiple_choice.",
                        "min_score": 70,
                        "level": 2,
                        "sub_level": 1
                    },
                    "is_active": true,
                    "is_completed": false,
                    "progress": {
                        "is_completed": false,
                        "completed_at": null,
                        "score": null,
                        "attempts": 0,
                        "best_score": null
                    },
                    "created_at": "2026-01-17T18:41:50.780741Z",
                    "updated_at": "2026-01-17T18:41:50.780751Z"
                }
            ],
            "videos": [],
            "learning_cards": [
                {
                    "id": 152,
                    "sub_level": 39,
                    "order": 1,
                    "step_type": "learning_card",
                    "step_type_display": "Learning Card",
                    "title": "Introduction à Vocabulaire des fruits et légumes",
                    "description": "Fruits et légumes\n\nApprenez le vocabulaire de vocabulaire des fruits et légumes en russe.",
                    "is_required": true,
                    "config": {
                        "content": "Fruits et légumes\n\nApprenez le vocabulaire de vocabulaire des fruits et légumes en russe.",
                        "concept_type": "vocabulary"
                    },
                    "is_active": true,
                    "is_completed": false,
                    "progress": {
                        "is_completed": false,
                        "completed_at": null,
                        "score": null,
                        "attempts": 0,
                        "best_score": null
                    },
                    "created_at": "2026-01-17T18:41:50.770579Z",
                    "updated_at": "2026-01-17T18:41:50.770595Z"
                }
            ],
            "exercises": [],
            "total_words": 27,
            "is_unlocked": false,
            "is_completed": false,
            "progress": {
                "words_mastered": 0,
                "total_words": 27,
                "completion_percentage": 0.0,
                "steps": []
            },
            "is_active": true,
            "created_at": "2026-01-17T18:41:50.760298Z",
            "updated_at": "2026-01-17T18:41:50.760310Z"
        },
        {
            "id": 40,
            "level": 9,
            "level_display": "Nourriture",
            "sub_level": 2,
            "title": "Vocabulaire des produits de base",
            "description": "Produits de base",
            "order": 2,
            "word_pairs": [
                {
                    "id": 592,
                    "french_word": "beurre",
                    "russian_word": "масло",
                    "category": "food",
                    "category_display": "Food",
                    "level": 2,
                    "level_display": "Nourriture",
                    "comment": "Butter",
                    "tags": [
                        {
                            "id": 18,
                            "name": "food",
                            "category": "category",
                            "category_display": "category",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:50.323097Z",
                            "updated_at": "2026-01-17T18:41:50.323114Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:50.517419Z",
                    "updated_at": "2026-01-17T18:41:50.517461Z",
                    "is_active": true
                },
                {
                    "id": 603,
                    "french_word": "confiture",
                    "russian_word": "варенье",
                    "category": "food",
                    "category_display": "Food",
                    "level": 2,
                    "level_display": "Nourriture",
                    "comment": "Jam",
                    "tags": [
                        {
                            "id": 18,
                            "name": "food",
                            "category": "category",
                            "category_display": "category",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:50.323097Z",
                            "updated_at": "2026-01-17T18:41:50.323114Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:50.581522Z",
                    "updated_at": "2026-01-17T18:41:50.581542Z",
                    "is_active": true
                },
                {
                    "id": 601,
                    "french_word": "crème",
                    "russian_word": "сливки",
                    "category": "food",
                    "category_display": "Food",
                    "level": 2,
                    "level_display": "Nourriture",
                    "comment": "Cream",
                    "tags": [
                        {
                            "id": 18,
                            "name": "food",
                            "category": "category",
                            "category_display": "category",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:50.323097Z",
                            "updated_at": "2026-01-17T18:41:50.323114Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:50.570898Z",
                    "updated_at": "2026-01-17T18:41:50.570918Z",
                    "is_active": true
                },
                {
                    "id": 589,
                    "french_word": "eau",
                    "russian_word": "вода",
                    "category": "food",
                    "category_display": "Food",
                    "level": 2,
                    "level_display": "Nourriture",
                    "comment": "Water",
                    "tags": [
                        {
                            "id": 18,
                            "name": "food",
                            "category": "category",
                            "category_display": "category",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:50.323097Z",
                            "updated_at": "2026-01-17T18:41:50.323114Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:50.500661Z",
                    "updated_at": "2026-01-17T18:41:50.500682Z",
                    "is_active": true
                },
                {
                    "id": 597,
                    "french_word": "farine",
                    "russian_word": "мука",
                    "category": "food",
                    "category_display": "Food",
                    "level": 2,
                    "level_display": "Nourriture",
                    "comment": "Flour",
                    "tags": [
                        {
                            "id": 18,
                            "name": "food",
                            "category": "category",
                            "category_display": "category",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:50.323097Z",
                            "updated_at": "2026-01-17T18:41:50.323114Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:50.545223Z",
                    "updated_at": "2026-01-17T18:41:50.545246Z",
                    "is_active": true
                },
                {
                    "id": 591,
                    "french_word": "fromage",
                    "russian_word": "сыр",
                    "category": "food",
                    "category_display": "Food",
                    "level": 2,
                    "level_display": "Nourriture",
                    "comment": "Cheese",
                    "tags": [
                        {
                            "id": 18,
                            "name": "food",
                            "category": "category",
                            "category_display": "category",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:50.323097Z",
                            "updated_at": "2026-01-17T18:41:50.323114Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:50.512023Z",
                    "updated_at": "2026-01-17T18:41:50.512043Z",
                    "is_active": true
                },
                {
                    "id": 593,
                    "french_word": "huile",
                    "russian_word": "масло",
                    "category": "food",
                    "category_display": "Food",
                    "level": 2,
                    "level_display": "Nourriture",
                    "comment": "Oil",
                    "tags": [
                        {
                            "id": 18,
                            "name": "food",
                            "category": "category",
                            "category_display": "category",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:50.323097Z",
                            "updated_at": "2026-01-17T18:41:50.323114Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:50.522832Z",
                    "updated_at": "2026-01-17T18:41:50.522852Z",
                    "is_active": true
                },
                {
                    "id": 590,
                    "french_word": "lait",
                    "russian_word": "молоко",
                    "category": "food",
                    "category_display": "Food",
                    "level": 2,
                    "level_display": "Nourriture",
                    "comment": "Milk",
                    "tags": [
                        {
                            "id": 18,
                            "name": "food",
                            "category": "category",
                            "category_display": "category",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:50.323097Z",
                            "updated_at": "2026-01-17T18:41:50.323114Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:50.506477Z",
                    "updated_at": "2026-01-17T18:41:50.506500Z",
                    "is_active": true
                },
                {
                    "id": 602,
                    "french_word": "miel",
                    "russian_word": "мёд",
                    "category": "food",
                    "category_display": "Food",
                    "level": 2,
                    "level_display": "Nourriture",
                    "comment": "Honey",
                    "tags": [
                        {
                            "id": 18,
                            "name": "food",
                            "category": "category",
                            "category_display": "category",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:50.323097Z",
                            "updated_at": "2026-01-17T18:41:50.323114Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:50.576114Z",
                    "updated_at": "2026-01-17T18:41:50.576135Z",
                    "is_active": true
                },
                {
                    "id": 588,
                    "french_word": "pain",
                    "russian_word": "хлеб",
                    "category": "food",
                    "category_display": "Food",
                    "level": 2,
                    "level_display": "Nourriture",
                    "comment": "Bread",
                    "tags": [
                        {
                            "id": 18,
                            "name": "food",
                            "category": "category",
                            "category_display": "category",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:50.323097Z",
                            "updated_at": "2026-01-17T18:41:50.323114Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:50.495170Z",
                    "updated_at": "2026-01-17T18:41:50.495190Z",
                    "is_active": true
                },
                {
                    "id": 596,
                    "french_word": "poivre",
                    "russian_word": "перец",
                    "category": "food",
                    "category_display": "Food",
                    "level": 2,
                    "level_display": "Nourriture",
                    "comment": "Pepper",
                    "tags": [
                        {
                            "id": 18,
                            "name": "food",
                            "category": "category",
                            "category_display": "category",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:50.323097Z",
                            "updated_at": "2026-01-17T18:41:50.323114Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:50.539075Z",
                    "updated_at": "2026-01-17T18:41:50.539097Z",
                    "is_active": true
                },
                {
                    "id": 614,
                    "french_word": "pâtes",
                    "russian_word": "макароны",
                    "category": "food",
                    "category_display": "Food",
                    "level": 2,
                    "level_display": "Nourriture",
                    "comment": "Pasta",
                    "tags": [
                        {
                            "id": 18,
                            "name": "food",
                            "category": "category",
                            "category_display": "category",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:50.323097Z",
                            "updated_at": "2026-01-17T18:41:50.323114Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:50.646539Z",
                    "updated_at": "2026-01-17T18:41:50.646555Z",
                    "is_active": true
                },
                {
                    "id": 613,
                    "french_word": "riz",
                    "russian_word": "рис",
                    "category": "food",
                    "category_display": "Food",
                    "level": 2,
                    "level_display": "Nourriture",
                    "comment": "Rice",
                    "tags": [
                        {
                            "id": 18,
                            "name": "food",
                            "category": "category",
                            "category_display": "category",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:50.323097Z",
                            "updated_at": "2026-01-17T18:41:50.323114Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:50.641670Z",
                    "updated_at": "2026-01-17T18:41:50.641684Z",
                    "is_active": true
                },
                {
                    "id": 595,
                    "french_word": "sel",
                    "russian_word": "соль",
                    "category": "food",
                    "category_display": "Food",
                    "level": 2,
                    "level_display": "Nourriture",
                    "comment": "Salt",
                    "tags": [
                        {
                            "id": 18,
                            "name": "food",
                            "category": "category",
                            "category_display": "category",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:50.323097Z",
                            "updated_at": "2026-01-17T18:41:50.323114Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:50.533791Z",
                    "updated_at": "2026-01-17T18:41:50.533815Z",
                    "is_active": true
                },
                {
                    "id": 594,
                    "french_word": "sucre",
                    "russian_word": "сахар",
                    "category": "food",
                    "category_display": "Food",
                    "level": 2,
                    "level_display": "Nourriture",
                    "comment": "Sugar",
                    "tags": [
                        {
                            "id": 18,
                            "name": "food",
                            "category": "category",
                            "category_display": "category",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:50.323097Z",
                            "updated_at": "2026-01-17T18:41:50.323114Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:50.528573Z",
                    "updated_at": "2026-01-17T18:41:50.528592Z",
                    "is_active": true
                },
                {
                    "id": 600,
                    "french_word": "yaourt",
                    "russian_word": "йогурт",
                    "category": "food",
                    "category_display": "Food",
                    "level": 2,
                    "level_display": "Nourriture",
                    "comment": "Yogurt",
                    "tags": [
                        {
                            "id": 18,
                            "name": "food",
                            "category": "category",
                            "category_display": "category",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:50.323097Z",
                            "updated_at": "2026-01-17T18:41:50.323114Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:50.565762Z",
                    "updated_at": "2026-01-17T18:41:50.565782Z",
                    "is_active": true
                },
                {
                    "id": 598,
                    "french_word": "œuf",
                    "russian_word": "яйцо",
                    "category": "food",
                    "category_display": "Food",
                    "level": 2,
                    "level_display": "Nourriture",
                    "comment": "Egg",
                    "tags": [
                        {
                            "id": 18,
                            "name": "food",
                            "category": "category",
                            "category_display": "category",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:50.323097Z",
                            "updated_at": "2026-01-17T18:41:50.323114Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:50.551070Z",
                    "updated_at": "2026-01-17T18:41:50.551093Z",
                    "is_active": true
                },
                {
                    "id": 599,
                    "french_word": "œufs",
                    "russian_word": "яйца",
                    "category": "food",
                    "category_display": "Food",
                    "level": 2,
                    "level_display": "Nourriture",
                    "comment": "Eggs",
                    "tags": [
                        {
                            "id": 18,
                            "name": "food",
                            "category": "category",
                            "category_display": "category",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:50.323097Z",
                            "updated_at": "2026-01-17T18:41:50.323114Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:50.560728Z",
                    "updated_at": "2026-01-17T18:41:50.560751Z",
                    "is_active": true
                }
            ],
            "steps": [
                {
                    "id": 156,
                    "sub_level": 40,
                    "order": 1,
                    "step_type": "learning_card",
                    "step_type_display": "Learning Card",
                    "title": "Introduction à Vocabulaire des produits de base",
                    "description": "Produits de base\n\nApprenez le vocabulaire de vocabulaire des produits de base en russe.",
                    "is_required": true,
                    "config": {
                        "content": "Produits de base\n\nApprenez le vocabulaire de vocabulaire des produits de base en russe.",
                        "concept_type": "vocabulary"
                    },
                    "is_active": true,
                    "is_completed": false,
                    "progress": {
                        "is_completed": false,
                        "completed_at": null,
                        "score": null,
                        "attempts": 0,
                        "best_score": null
                    },
                    "created_at": "2026-01-17T18:41:50.791506Z",
                    "updated_at": "2026-01-17T18:41:50.791519Z"
                },
                {
                    "id": 157,
                    "sub_level": 40,
                    "order": 2,
                    "step_type": "game_flashcard",
                    "step_type_display": "Game - Flashcard",
                    "title": "Exercice 1 - Flashcard",
                    "description": "Exercice 1 - Flashcard",
                    "is_required": false,
                    "config": {
                        "game_mode": "flashcard",
                        "instructions": "Pratiquez le vocabulaire de vocabulaire des produits de base avec le mode flashcard.",
                        "min_score": 70,
                        "level": 2,
                        "sub_level": 2
                    },
                    "is_active": true,
                    "is_completed": false,
                    "progress": {
                        "is_completed": false,
                        "completed_at": null,
                        "score": null,
                        "attempts": 0,
                        "best_score": null
                    },
                    "created_at": "2026-01-17T18:41:50.794864Z",
                    "updated_at": "2026-01-17T18:41:50.794876Z"
                },
                {
                    "id": 158,
                    "sub_level": 40,
                    "order": 3,
                    "step_type": "game_matching",
                    "step_type_display": "Game - Matching",
                    "title": "Exercice 2 - Matching",
                    "description": "Exercice 2 - Matching",
                    "is_required": false,
                    "config": {
                        "game_mode": "matching",
                        "instructions": "Pratiquez le vocabulaire de vocabulaire des produits de base avec le mode matching.",
                        "min_score": 70,
                        "level": 2,
                        "sub_level": 2
                    },
                    "is_active": true,
                    "is_completed": false,
                    "progress": {
                        "is_completed": false,
                        "completed_at": null,
                        "score": null,
                        "attempts": 0,
                        "best_score": null
                    },
                    "created_at": "2026-01-17T18:41:50.798017Z",
                    "updated_at": "2026-01-17T18:41:50.798030Z"
                },
                {
                    "id": 159,
                    "sub_level": 40,
                    "order": 4,
                    "step_type": "game_multiple_choice",
                    "step_type_display": "Game - Multiple Choice",
                    "title": "Exercice 3 - Multiple Choice",
                    "description": "Exercice 3 - Multiple Choice",
                    "is_required": false,
                    "config": {
                        "game_mode": "multiple_choice",
                        "instructions": "Pratiquez le vocabulaire de vocabulaire des produits de base avec le mode multiple_choice.",
                        "min_score": 70,
                        "level": 2,
                        "sub_level": 2
                    },
                    "is_active": true,
                    "is_completed": false,
                    "progress": {
                        "is_completed": false,
                        "completed_at": null,
                        "score": null,
                        "attempts": 0,
                        "best_score": null
                    },
                    "created_at": "2026-01-17T18:41:50.801225Z",
                    "updated_at": "2026-01-17T18:41:50.801238Z"
                }
            ],
            "videos": [],
            "learning_cards": [
                {
                    "id": 156,
                    "sub_level": 40,
                    "order": 1,
                    "step_type": "learning_card",
                    "step_type_display": "Learning Card",
                    "title": "Introduction à Vocabulaire des produits de base",
                    "description": "Produits de base\n\nApprenez le vocabulaire de vocabulaire des produits de base en russe.",
                    "is_required": true,
                    "config": {
                        "content": "Produits de base\n\nApprenez le vocabulaire de vocabulaire des produits de base en russe.",
                        "concept_type": "vocabulary"
                    },
                    "is_active": true,
                    "is_completed": false,
                    "progress": {
                        "is_completed": false,
                        "completed_at": null,
                        "score": null,
                        "attempts": 0,
                        "best_score": null
                    },
                    "created_at": "2026-01-17T18:41:50.791506Z",
                    "updated_at": "2026-01-17T18:41:50.791519Z"
                }
            ],
            "exercises": [],
            "total_words": 18,
            "is_unlocked": false,
            "is_completed": false,
            "progress": {
                "words_mastered": 0,
                "total_words": 18,
                "completion_percentage": 0.0,
                "steps": []
            },
            "is_active": true,
            "created_at": "2026-01-17T18:41:50.783418Z",
            "updated_at": "2026-01-17T18:41:50.783438Z"
        }
    ]
}
Niveau parent
Numéro du sous-niveau (1, 2, 3, etc.)
Titre du sous-niveau (ex: "Présent", "Passé")
Description du sous-niveau
Ordre d'affichage dans le niveau