ViewSet for sub-levels.

GET /api/sub-levels/?format=api&page=3
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=4",
    "previous": "http://roskov.driad.fr/api/sub-levels/?format=api&page=2",
    "results": [
        {
            "id": 41,
            "level": 9,
            "level_display": "Nourriture",
            "sub_level": 3,
            "title": "Vocabulaire des viandes et poissons",
            "description": "Viandes et poissons",
            "order": 3,
            "word_pairs": [
                {
                    "id": 609,
                    "french_word": "agneau",
                    "russian_word": "баранина",
                    "category": "food",
                    "category_display": "Food",
                    "level": 2,
                    "level_display": "Nourriture",
                    "comment": "Lamb",
                    "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.617202Z",
                    "updated_at": "2026-01-17T18:41:50.617226Z",
                    "is_active": true
                },
                {
                    "id": 607,
                    "french_word": "bœuf",
                    "russian_word": "говядина",
                    "category": "food",
                    "category_display": "Food",
                    "level": 2,
                    "level_display": "Nourriture",
                    "comment": "Beef",
                    "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.604305Z",
                    "updated_at": "2026-01-17T18:41:50.604324Z",
                    "is_active": true
                },
                {
                    "id": 612,
                    "french_word": "crevette",
                    "russian_word": "креветка",
                    "category": "food",
                    "category_display": "Food",
                    "level": 2,
                    "level_display": "Nourriture",
                    "comment": "Shrimp",
                    "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.636744Z",
                    "updated_at": "2026-01-17T18:41:50.636760Z",
                    "is_active": true
                },
                {
                    "id": 605,
                    "french_word": "poisson",
                    "russian_word": "рыба",
                    "category": "animal",
                    "category_display": "Animal",
                    "level": 2,
                    "level_display": "Nourriture",
                    "comment": "Fish",
                    "tags": [
                        {
                            "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": 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.593192Z",
                    "updated_at": "2026-01-17T18:41:50.996958Z",
                    "is_active": true
                },
                {
                    "id": 608,
                    "french_word": "porc",
                    "russian_word": "свинина",
                    "category": "food",
                    "category_display": "Food",
                    "level": 2,
                    "level_display": "Nourriture",
                    "comment": "Pork",
                    "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.609705Z",
                    "updated_at": "2026-01-17T18:41:50.609727Z",
                    "is_active": true
                },
                {
                    "id": 606,
                    "french_word": "poulet",
                    "russian_word": "курица",
                    "category": "food",
                    "category_display": "Food",
                    "level": 2,
                    "level_display": "Nourriture",
                    "comment": "Chicken",
                    "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.599014Z",
                    "updated_at": "2026-01-17T18:41:50.599032Z",
                    "is_active": true
                },
                {
                    "id": 610,
                    "french_word": "saumon",
                    "russian_word": "лосось",
                    "category": "food",
                    "category_display": "Food",
                    "level": 2,
                    "level_display": "Nourriture",
                    "comment": "Salmon",
                    "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.624760Z",
                    "updated_at": "2026-01-17T18:41:50.624781Z",
                    "is_active": true
                },
                {
                    "id": 611,
                    "french_word": "thon",
                    "russian_word": "тунец",
                    "category": "food",
                    "category_display": "Food",
                    "level": 2,
                    "level_display": "Nourriture",
                    "comment": "Tuna",
                    "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.630002Z",
                    "updated_at": "2026-01-17T18:41:50.630022Z",
                    "is_active": true
                },
                {
                    "id": 604,
                    "french_word": "viande",
                    "russian_word": "мясо",
                    "category": "food",
                    "category_display": "Food",
                    "level": 2,
                    "level_display": "Nourriture",
                    "comment": "Meat",
                    "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.587495Z",
                    "updated_at": "2026-01-17T18:41:50.587516Z",
                    "is_active": true
                }
            ],
            "steps": [
                {
                    "id": 160,
                    "sub_level": 41,
                    "order": 1,
                    "step_type": "learning_card",
                    "step_type_display": "Learning Card",
                    "title": "Introduction à Vocabulaire des viandes et poissons",
                    "description": "Viandes et poissons\n\nApprenez le vocabulaire de vocabulaire des viandes et poissons en russe.",
                    "is_required": true,
                    "config": {
                        "content": "Viandes et poissons\n\nApprenez le vocabulaire de vocabulaire des viandes et poissons 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.812813Z",
                    "updated_at": "2026-01-17T18:41:50.812825Z"
                },
                {
                    "id": 161,
                    "sub_level": 41,
                    "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 viandes et poissons avec le mode flashcard.",
                        "min_score": 70,
                        "level": 2,
                        "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.816665Z",
                    "updated_at": "2026-01-17T18:41:50.816675Z"
                },
                {
                    "id": 162,
                    "sub_level": 41,
                    "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 viandes et poissons avec le mode matching.",
                        "min_score": 70,
                        "level": 2,
                        "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.821066Z",
                    "updated_at": "2026-01-17T18:41:50.821079Z"
                },
                {
                    "id": 163,
                    "sub_level": 41,
                    "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 viandes et poissons avec le mode multiple_choice.",
                        "min_score": 70,
                        "level": 2,
                        "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.824533Z",
                    "updated_at": "2026-01-17T18:41:50.824544Z"
                }
            ],
            "videos": [],
            "learning_cards": [
                {
                    "id": 160,
                    "sub_level": 41,
                    "order": 1,
                    "step_type": "learning_card",
                    "step_type_display": "Learning Card",
                    "title": "Introduction à Vocabulaire des viandes et poissons",
                    "description": "Viandes et poissons\n\nApprenez le vocabulaire de vocabulaire des viandes et poissons en russe.",
                    "is_required": true,
                    "config": {
                        "content": "Viandes et poissons\n\nApprenez le vocabulaire de vocabulaire des viandes et poissons 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.812813Z",
                    "updated_at": "2026-01-17T18:41:50.812825Z"
                }
            ],
            "exercises": [],
            "total_words": 9,
            "is_unlocked": false,
            "is_completed": false,
            "progress": {
                "words_mastered": 0,
                "total_words": 9,
                "completion_percentage": 0.0,
                "steps": []
            },
            "is_active": true,
            "created_at": "2026-01-17T18:41:50.804455Z",
            "updated_at": "2026-01-17T18:41:50.804468Z"
        },
        {
            "id": 42,
            "level": 9,
            "level_display": "Nourriture",
            "sub_level": 4,
            "title": "Vocabulaire des plats préparés et boissons",
            "description": "Plats et boissons",
            "order": 4,
            "word_pairs": [
                {
                    "id": 630,
                    "french_word": "biscuit",
                    "russian_word": "печенье",
                    "category": "food",
                    "category_display": "Food",
                    "level": 2,
                    "level_display": "Nourriture",
                    "comment": "Cookie",
                    "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.734239Z",
                    "updated_at": "2026-01-17T18:41:50.734252Z",
                    "is_active": true
                },
                {
                    "id": 621,
                    "french_word": "bière",
                    "russian_word": "пиво",
                    "category": "food",
                    "category_display": "Food",
                    "level": 2,
                    "level_display": "Nourriture",
                    "comment": "Beer",
                    "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.685744Z",
                    "updated_at": "2026-01-17T18:41:50.685787Z",
                    "is_active": true
                },
                {
                    "id": 629,
                    "french_word": "bonbon",
                    "russian_word": "конфета",
                    "category": "food",
                    "category_display": "Food",
                    "level": 2,
                    "level_display": "Nourriture",
                    "comment": "Candy",
                    "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.729359Z",
                    "updated_at": "2026-01-17T18:41:50.729372Z",
                    "is_active": true
                },
                {
                    "id": 618,
                    "french_word": "café",
                    "russian_word": "кофе",
                    "category": "food",
                    "category_display": "Food",
                    "level": 2,
                    "level_display": "Nourriture",
                    "comment": "Coffee",
                    "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.667363Z",
                    "updated_at": "2026-01-17T18:41:50.667374Z",
                    "is_active": true
                },
                {
                    "id": 617,
                    "french_word": "chocolat",
                    "russian_word": "шоколад",
                    "category": "food",
                    "category_display": "Food",
                    "level": 2,
                    "level_display": "Nourriture",
                    "comment": "Chocolate",
                    "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.662334Z",
                    "updated_at": "2026-01-17T18:41:50.662345Z",
                    "is_active": true
                },
                {
                    "id": 625,
                    "french_word": "dessert",
                    "russian_word": "десерт",
                    "category": "food",
                    "category_display": "Food",
                    "level": 2,
                    "level_display": "Nourriture",
                    "comment": "Dessert",
                    "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.709527Z",
                    "updated_at": "2026-01-17T18:41:50.709539Z",
                    "is_active": true
                },
                {
                    "id": 632,
                    "french_word": "déjeuner",
                    "russian_word": "обед",
                    "category": "food",
                    "category_display": "Food",
                    "level": 2,
                    "level_display": "Nourriture",
                    "comment": "Lunch",
                    "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.744309Z",
                    "updated_at": "2026-01-17T18:41:50.744325Z",
                    "is_active": true
                },
                {
                    "id": 633,
                    "french_word": "dîner",
                    "russian_word": "ужин",
                    "category": "food",
                    "category_display": "Food",
                    "level": 2,
                    "level_display": "Nourriture",
                    "comment": "Dinner",
                    "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.749549Z",
                    "updated_at": "2026-01-17T18:41:50.749564Z",
                    "is_active": true
                },
                {
                    "id": 624,
                    "french_word": "eau minérale",
                    "russian_word": "минеральная вода",
                    "category": "food",
                    "category_display": "Food",
                    "level": 2,
                    "level_display": "Nourriture",
                    "comment": "Mineral 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.704587Z",
                    "updated_at": "2026-01-17T18:41:50.704605Z",
                    "is_active": true
                },
                {
                    "id": 628,
                    "french_word": "glace",
                    "russian_word": "мороженое",
                    "category": "food",
                    "category_display": "Food",
                    "level": 2,
                    "level_display": "Nourriture",
                    "comment": "Ice 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.724394Z",
                    "updated_at": "2026-01-17T18:41:50.724408Z",
                    "is_active": true
                },
                {
                    "id": 634,
                    "french_word": "goûter",
                    "russian_word": "полдник",
                    "category": "food",
                    "category_display": "Food",
                    "level": 2,
                    "level_display": "Nourriture",
                    "comment": "Snack",
                    "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.754522Z",
                    "updated_at": "2026-01-17T18:41:50.754538Z",
                    "is_active": true
                },
                {
                    "id": 626,
                    "french_word": "gâteau",
                    "russian_word": "торт",
                    "category": "food",
                    "category_display": "Food",
                    "level": 2,
                    "level_display": "Nourriture",
                    "comment": "Cake",
                    "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.714501Z",
                    "updated_at": "2026-01-17T18:41:50.714518Z",
                    "is_active": true
                },
                {
                    "id": 622,
                    "french_word": "jus",
                    "russian_word": "сок",
                    "category": "food",
                    "category_display": "Food",
                    "level": 2,
                    "level_display": "Nourriture",
                    "comment": "Juice",
                    "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.692483Z",
                    "updated_at": "2026-01-17T18:41:50.692517Z",
                    "is_active": true
                },
                {
                    "id": 623,
                    "french_word": "limonade",
                    "russian_word": "лимонад",
                    "category": "food",
                    "category_display": "Food",
                    "level": 2,
                    "level_display": "Nourriture",
                    "comment": "Lemonade",
                    "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.698983Z",
                    "updated_at": "2026-01-17T18:41:50.699013Z",
                    "is_active": true
                },
                {
                    "id": 558,
                    "french_word": "nourriture",
                    "russian_word": "еда",
                    "category": "food",
                    "category_display": "Food",
                    "level": 2,
                    "level_display": "Nourriture",
                    "comment": "Food",
                    "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.326534Z",
                    "updated_at": "2026-01-17T18:41:50.326558Z",
                    "is_active": true
                },
                {
                    "id": 631,
                    "french_word": "petit-déjeuner",
                    "russian_word": "завтрак",
                    "category": "food",
                    "category_display": "Food",
                    "level": 2,
                    "level_display": "Nourriture",
                    "comment": "Breakfast",
                    "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.739301Z",
                    "updated_at": "2026-01-17T18:41:50.739317Z",
                    "is_active": true
                },
                {
                    "id": 560,
                    "french_word": "plat",
                    "russian_word": "блюдо",
                    "category": "food",
                    "category_display": "Food",
                    "level": 2,
                    "level_display": "Nourriture",
                    "comment": "Dish",
                    "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.339808Z",
                    "updated_at": "2026-01-17T18:41:50.339835Z",
                    "is_active": true
                },
                {
                    "id": 559,
                    "french_word": "repas",
                    "russian_word": "еда",
                    "category": "food",
                    "category_display": "Food",
                    "level": 2,
                    "level_display": "Nourriture",
                    "comment": "Meal",
                    "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.333190Z",
                    "updated_at": "2026-01-17T18:41:50.333217Z",
                    "is_active": true
                },
                {
                    "id": 616,
                    "french_word": "salade",
                    "russian_word": "салат",
                    "category": "food",
                    "category_display": "Food",
                    "level": 2,
                    "level_display": "Nourriture",
                    "comment": "Salad",
                    "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.657304Z",
                    "updated_at": "2026-01-17T18:41:50.657321Z",
                    "is_active": true
                },
                {
                    "id": 615,
                    "french_word": "soupe",
                    "russian_word": "суп",
                    "category": "food",
                    "category_display": "Food",
                    "level": 2,
                    "level_display": "Nourriture",
                    "comment": "Soup",
                    "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.652211Z",
                    "updated_at": "2026-01-17T18:41:50.652225Z",
                    "is_active": true
                },
                {
                    "id": 627,
                    "french_word": "tarte",
                    "russian_word": "пирог",
                    "category": "food",
                    "category_display": "Food",
                    "level": 2,
                    "level_display": "Nourriture",
                    "comment": "Pie",
                    "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.719489Z",
                    "updated_at": "2026-01-17T18:41:50.719503Z",
                    "is_active": true
                },
                {
                    "id": 619,
                    "french_word": "thé",
                    "russian_word": "чай",
                    "category": "food",
                    "category_display": "Food",
                    "level": 2,
                    "level_display": "Nourriture",
                    "comment": "Tea",
                    "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.672973Z",
                    "updated_at": "2026-01-17T18:41:50.673000Z",
                    "is_active": true
                },
                {
                    "id": 620,
                    "french_word": "vin",
                    "russian_word": "вино",
                    "category": "food",
                    "category_display": "Food",
                    "level": 2,
                    "level_display": "Nourriture",
                    "comment": "Wine",
                    "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.678940Z",
                    "updated_at": "2026-01-17T18:41:50.678977Z",
                    "is_active": true
                }
            ],
            "steps": [
                {
                    "id": 164,
                    "sub_level": 42,
                    "order": 1,
                    "step_type": "learning_card",
                    "step_type_display": "Learning Card",
                    "title": "Introduction à Vocabulaire des plats préparés et boissons",
                    "description": "Plats et boissons\n\nApprenez le vocabulaire de vocabulaire des plats préparés et boissons en russe.",
                    "is_required": true,
                    "config": {
                        "content": "Plats et boissons\n\nApprenez le vocabulaire de vocabulaire des plats préparés et boissons 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.836645Z",
                    "updated_at": "2026-01-17T18:41:50.836658Z"
                },
                {
                    "id": 165,
                    "sub_level": 42,
                    "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 plats préparés et boissons avec le mode flashcard.",
                        "min_score": 70,
                        "level": 2,
                        "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.840189Z",
                    "updated_at": "2026-01-17T18:41:50.840201Z"
                },
                {
                    "id": 166,
                    "sub_level": 42,
                    "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 plats préparés et boissons avec le mode matching.",
                        "min_score": 70,
                        "level": 2,
                        "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.843383Z",
                    "updated_at": "2026-01-17T18:41:50.843394Z"
                },
                {
                    "id": 167,
                    "sub_level": 42,
                    "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 plats préparés et boissons avec le mode multiple_choice.",
                        "min_score": 70,
                        "level": 2,
                        "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.846569Z",
                    "updated_at": "2026-01-17T18:41:50.846580Z"
                }
            ],
            "videos": [],
            "learning_cards": [
                {
                    "id": 164,
                    "sub_level": 42,
                    "order": 1,
                    "step_type": "learning_card",
                    "step_type_display": "Learning Card",
                    "title": "Introduction à Vocabulaire des plats préparés et boissons",
                    "description": "Plats et boissons\n\nApprenez le vocabulaire de vocabulaire des plats préparés et boissons en russe.",
                    "is_required": true,
                    "config": {
                        "content": "Plats et boissons\n\nApprenez le vocabulaire de vocabulaire des plats préparés et boissons 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.836645Z",
                    "updated_at": "2026-01-17T18:41:50.836658Z"
                }
            ],
            "exercises": [],
            "total_words": 23,
            "is_unlocked": false,
            "is_completed": false,
            "progress": {
                "words_mastered": 0,
                "total_words": 23,
                "completion_percentage": 0.0,
                "steps": []
            },
            "is_active": true,
            "created_at": "2026-01-17T18:41:50.827192Z",
            "updated_at": "2026-01-17T18:41:50.827203Z"
        },
        {
            "id": 43,
            "level": 10,
            "level_display": "Animaux",
            "sub_level": 1,
            "title": "Vocabulaire des animaux domestiques",
            "description": "Animaux domestiques",
            "order": 1,
            "word_pairs": [
                {
                    "id": 640,
                    "french_word": "canari",
                    "russian_word": "канарейка",
                    "category": "animal",
                    "category_display": "Animal",
                    "level": 3,
                    "level_display": "Animaux",
                    "comment": "Canary",
                    "tags": [
                        {
                            "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"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:50.887670Z",
                    "updated_at": "2026-01-17T18:41:50.887683Z",
                    "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": 635,
                    "french_word": "chien",
                    "russian_word": "собака",
                    "category": "animal",
                    "category_display": "Animal",
                    "level": 3,
                    "level_display": "Animaux",
                    "comment": "Dog",
                    "tags": [
                        {
                            "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"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:50.855594Z",
                    "updated_at": "2026-01-17T18:41:50.855605Z",
                    "is_active": true
                },
                {
                    "id": 637,
                    "french_word": "cochon d'Inde",
                    "russian_word": "морская свинка",
                    "category": "animal",
                    "category_display": "Animal",
                    "level": 3,
                    "level_display": "Animaux",
                    "comment": "Guinea pig",
                    "tags": [
                        {
                            "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"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:50.871715Z",
                    "updated_at": "2026-01-17T18:41:50.871729Z",
                    "is_active": true
                },
                {
                    "id": 636,
                    "french_word": "hamster",
                    "russian_word": "хомяк",
                    "category": "animal",
                    "category_display": "Animal",
                    "level": 3,
                    "level_display": "Animaux",
                    "comment": "Hamster",
                    "tags": [
                        {
                            "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"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:50.866334Z",
                    "updated_at": "2026-01-17T18:41:50.866344Z",
                    "is_active": true
                },
                {
                    "id": 646,
                    "french_word": "lapin",
                    "russian_word": "кролик",
                    "category": "animal",
                    "category_display": "Animal",
                    "level": 3,
                    "level_display": "Animaux",
                    "comment": "Rabbit",
                    "tags": [
                        {
                            "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"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:50.919419Z",
                    "updated_at": "2026-01-17T18:41:50.919443Z",
                    "is_active": true
                },
                {
                    "id": 639,
                    "french_word": "perroquet",
                    "russian_word": "попугай",
                    "category": "animal",
                    "category_display": "Animal",
                    "level": 3,
                    "level_display": "Animaux",
                    "comment": "Parrot",
                    "tags": [
                        {
                            "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"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:50.882188Z",
                    "updated_at": "2026-01-17T18:41:50.882199Z",
                    "is_active": true
                },
                {
                    "id": 638,
                    "french_word": "souris",
                    "russian_word": "мышь",
                    "category": "animal",
                    "category_display": "Animal",
                    "level": 3,
                    "level_display": "Animaux",
                    "comment": "Mouse",
                    "tags": [
                        {
                            "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"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:50.876966Z",
                    "updated_at": "2026-01-17T18:41:50.876978Z",
                    "is_active": true
                }
            ],
            "steps": [
                {
                    "id": 168,
                    "sub_level": 43,
                    "order": 1,
                    "step_type": "learning_card",
                    "step_type_display": "Learning Card",
                    "title": "Introduction à Vocabulaire des animaux domestiques",
                    "description": "Animaux domestiques\n\nApprenez le vocabulaire de vocabulaire des animaux domestiques en russe.",
                    "is_required": true,
                    "config": {
                        "content": "Animaux domestiques\n\nApprenez le vocabulaire de vocabulaire des animaux domestiques 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:51.218941Z",
                    "updated_at": "2026-01-17T18:41:51.218955Z"
                },
                {
                    "id": 169,
                    "sub_level": 43,
                    "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 animaux domestiques avec le mode flashcard.",
                        "min_score": 70,
                        "level": 3,
                        "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:51.222590Z",
                    "updated_at": "2026-01-17T18:41:51.222603Z"
                },
                {
                    "id": 170,
                    "sub_level": 43,
                    "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 animaux domestiques avec le mode matching.",
                        "min_score": 70,
                        "level": 3,
                        "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:51.225753Z",
                    "updated_at": "2026-01-17T18:41:51.225765Z"
                },
                {
                    "id": 171,
                    "sub_level": 43,
                    "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 animaux domestiques avec le mode multiple_choice.",
                        "min_score": 70,
                        "level": 3,
                        "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:51.229664Z",
                    "updated_at": "2026-01-17T18:41:51.229677Z"
                }
            ],
            "videos": [],
            "learning_cards": [
                {
                    "id": 168,
                    "sub_level": 43,
                    "order": 1,
                    "step_type": "learning_card",
                    "step_type_display": "Learning Card",
                    "title": "Introduction à Vocabulaire des animaux domestiques",
                    "description": "Animaux domestiques\n\nApprenez le vocabulaire de vocabulaire des animaux domestiques en russe.",
                    "is_required": true,
                    "config": {
                        "content": "Animaux domestiques\n\nApprenez le vocabulaire de vocabulaire des animaux domestiques 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:51.218941Z",
                    "updated_at": "2026-01-17T18:41:51.218955Z"
                }
            ],
            "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:51.211176Z",
            "updated_at": "2026-01-17T18:41:51.211190Z"
        },
        {
            "id": 44,
            "level": 10,
            "level_display": "Animaux",
            "sub_level": 2,
            "title": "Vocabulaire des animaux de la ferme",
            "description": "Animaux de la ferme",
            "order": 2,
            "word_pairs": [
                {
                    "id": 642,
                    "french_word": "cheval",
                    "russian_word": "лошадь",
                    "category": "animal",
                    "category_display": "Animal",
                    "level": 3,
                    "level_display": "Animaux",
                    "comment": "Horse",
                    "tags": [
                        {
                            "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"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:50.899823Z",
                    "updated_at": "2026-01-17T18:41:50.899839Z",
                    "is_active": true
                },
                {
                    "id": 645,
                    "french_word": "cochon",
                    "russian_word": "свинья",
                    "category": "animal",
                    "category_display": "Animal",
                    "level": 3,
                    "level_display": "Animaux",
                    "comment": "Pig",
                    "tags": [
                        {
                            "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"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:50.914584Z",
                    "updated_at": "2026-01-17T18:41:50.914596Z",
                    "is_active": true
                },
                {
                    "id": 644,
                    "french_word": "mouton",
                    "russian_word": "овца",
                    "category": "animal",
                    "category_display": "Animal",
                    "level": 3,
                    "level_display": "Animaux",
                    "comment": "Sheep",
                    "tags": [
                        {
                            "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"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:50.909751Z",
                    "updated_at": "2026-01-17T18:41:50.909762Z",
                    "is_active": true
                },
                {
                    "id": 643,
                    "french_word": "vache",
                    "russian_word": "корова",
                    "category": "animal",
                    "category_display": "Animal",
                    "level": 3,
                    "level_display": "Animaux",
                    "comment": "Cow",
                    "tags": [
                        {
                            "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"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:50.904887Z",
                    "updated_at": "2026-01-17T18:41:50.904901Z",
                    "is_active": true
                }
            ],
            "steps": [
                {
                    "id": 172,
                    "sub_level": 44,
                    "order": 1,
                    "step_type": "learning_card",
                    "step_type_display": "Learning Card",
                    "title": "Introduction à Vocabulaire des animaux de la ferme",
                    "description": "Animaux de la ferme\n\nApprenez le vocabulaire de vocabulaire des animaux de la ferme en russe.",
                    "is_required": true,
                    "config": {
                        "content": "Animaux de la ferme\n\nApprenez le vocabulaire de vocabulaire des animaux de la ferme 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:51.240070Z",
                    "updated_at": "2026-01-17T18:41:51.240081Z"
                },
                {
                    "id": 173,
                    "sub_level": 44,
                    "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 animaux de la ferme avec le mode flashcard.",
                        "min_score": 70,
                        "level": 3,
                        "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:51.243696Z",
                    "updated_at": "2026-01-17T18:41:51.243707Z"
                },
                {
                    "id": 174,
                    "sub_level": 44,
                    "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 animaux de la ferme avec le mode matching.",
                        "min_score": 70,
                        "level": 3,
                        "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:51.247510Z",
                    "updated_at": "2026-01-17T18:41:51.247521Z"
                },
                {
                    "id": 175,
                    "sub_level": 44,
                    "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 animaux de la ferme avec le mode multiple_choice.",
                        "min_score": 70,
                        "level": 3,
                        "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:51.250874Z",
                    "updated_at": "2026-01-17T18:41:51.250884Z"
                }
            ],
            "videos": [],
            "learning_cards": [
                {
                    "id": 172,
                    "sub_level": 44,
                    "order": 1,
                    "step_type": "learning_card",
                    "step_type_display": "Learning Card",
                    "title": "Introduction à Vocabulaire des animaux de la ferme",
                    "description": "Animaux de la ferme\n\nApprenez le vocabulaire de vocabulaire des animaux de la ferme en russe.",
                    "is_required": true,
                    "config": {
                        "content": "Animaux de la ferme\n\nApprenez le vocabulaire de vocabulaire des animaux de la ferme 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:51.240070Z",
                    "updated_at": "2026-01-17T18:41:51.240081Z"
                }
            ],
            "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:51.232446Z",
            "updated_at": "2026-01-17T18:41:51.232462Z"
        },
        {
            "id": 45,
            "level": 10,
            "level_display": "Animaux",
            "sub_level": 3,
            "title": "Vocabulaire des animaux sauvages de la forêt",
            "description": "Animaux sauvages - forêt",
            "order": 3,
            "word_pairs": [
                {
                    "id": 650,
                    "french_word": "lion",
                    "russian_word": "лев",
                    "category": "animal",
                    "category_display": "Animal",
                    "level": 3,
                    "level_display": "Animaux",
                    "comment": "Lion",
                    "tags": [
                        {
                            "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"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:50.939231Z",
                    "updated_at": "2026-01-17T18:41:50.939250Z",
                    "is_active": true
                },
                {
                    "id": 647,
                    "french_word": "loup",
                    "russian_word": "волк",
                    "category": "animal",
                    "category_display": "Animal",
                    "level": 3,
                    "level_display": "Animaux",
                    "comment": "Wolf",
                    "tags": [
                        {
                            "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"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:50.924469Z",
                    "updated_at": "2026-01-17T18:41:50.924480Z",
                    "is_active": true
                },
                {
                    "id": 648,
                    "french_word": "ours",
                    "russian_word": "медведь",
                    "category": "animal",
                    "category_display": "Animal",
                    "level": 3,
                    "level_display": "Animaux",
                    "comment": "Bear",
                    "tags": [
                        {
                            "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"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:50.929302Z",
                    "updated_at": "2026-01-17T18:41:50.929313Z",
                    "is_active": true
                },
                {
                    "id": 652,
                    "french_word": "singe",
                    "russian_word": "обезьяна",
                    "category": "animal",
                    "category_display": "Animal",
                    "level": 3,
                    "level_display": "Animaux",
                    "comment": "Monkey",
                    "tags": [
                        {
                            "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"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:50.949266Z",
                    "updated_at": "2026-01-17T18:41:50.949282Z",
                    "is_active": true
                },
                {
                    "id": 649,
                    "french_word": "tigre",
                    "russian_word": "тигр",
                    "category": "animal",
                    "category_display": "Animal",
                    "level": 3,
                    "level_display": "Animaux",
                    "comment": "Tiger",
                    "tags": [
                        {
                            "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"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:50.934084Z",
                    "updated_at": "2026-01-17T18:41:50.934095Z",
                    "is_active": true
                },
                {
                    "id": 651,
                    "french_word": "éléphant",
                    "russian_word": "слон",
                    "category": "animal",
                    "category_display": "Animal",
                    "level": 3,
                    "level_display": "Animaux",
                    "comment": "Elephant",
                    "tags": [
                        {
                            "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"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:50.944272Z",
                    "updated_at": "2026-01-17T18:41:50.944287Z",
                    "is_active": true
                }
            ],
            "steps": [
                {
                    "id": 176,
                    "sub_level": 45,
                    "order": 1,
                    "step_type": "learning_card",
                    "step_type_display": "Learning Card",
                    "title": "Introduction à Vocabulaire des animaux sauvages de la forêt",
                    "description": "Animaux sauvages - forêt\n\nApprenez le vocabulaire de vocabulaire des animaux sauvages de la forêt en russe.",
                    "is_required": true,
                    "config": {
                        "content": "Animaux sauvages - forêt\n\nApprenez le vocabulaire de vocabulaire des animaux sauvages de la forêt 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:51.261260Z",
                    "updated_at": "2026-01-17T18:41:51.261271Z"
                },
                {
                    "id": 177,
                    "sub_level": 45,
                    "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 animaux sauvages de la forêt avec le mode flashcard.",
                        "min_score": 70,
                        "level": 3,
                        "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:51.264828Z",
                    "updated_at": "2026-01-17T18:41:51.264838Z"
                },
                {
                    "id": 178,
                    "sub_level": 45,
                    "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 animaux sauvages de la forêt avec le mode matching.",
                        "min_score": 70,
                        "level": 3,
                        "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:51.268050Z",
                    "updated_at": "2026-01-17T18:41:51.268060Z"
                },
                {
                    "id": 179,
                    "sub_level": 45,
                    "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 animaux sauvages de la forêt avec le mode multiple_choice.",
                        "min_score": 70,
                        "level": 3,
                        "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:51.271301Z",
                    "updated_at": "2026-01-17T18:41:51.271315Z"
                }
            ],
            "videos": [],
            "learning_cards": [
                {
                    "id": 176,
                    "sub_level": 45,
                    "order": 1,
                    "step_type": "learning_card",
                    "step_type_display": "Learning Card",
                    "title": "Introduction à Vocabulaire des animaux sauvages de la forêt",
                    "description": "Animaux sauvages - forêt\n\nApprenez le vocabulaire de vocabulaire des animaux sauvages de la forêt en russe.",
                    "is_required": true,
                    "config": {
                        "content": "Animaux sauvages - forêt\n\nApprenez le vocabulaire de vocabulaire des animaux sauvages de la forêt 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:51.261260Z",
                    "updated_at": "2026-01-17T18:41:51.261271Z"
                }
            ],
            "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:51.253563Z",
            "updated_at": "2026-01-17T18:41:51.253580Z"
        },
        {
            "id": 46,
            "level": 10,
            "level_display": "Animaux",
            "sub_level": 4,
            "title": "Vocabulaire des animaux de la savane",
            "description": "Animaux sauvages - savane",
            "order": 4,
            "word_pairs": [
                {
                    "id": 658,
                    "french_word": "antilope",
                    "russian_word": "антилопа",
                    "category": "animal",
                    "category_display": "Animal",
                    "level": 3,
                    "level_display": "Animaux",
                    "comment": "Antelope",
                    "tags": [
                        {
                            "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"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:50.980381Z",
                    "updated_at": "2026-01-17T18:41:50.980397Z",
                    "is_active": true
                },
                {
                    "id": 657,
                    "french_word": "gazelle",
                    "russian_word": "газель",
                    "category": "animal",
                    "category_display": "Animal",
                    "level": 3,
                    "level_display": "Animaux",
                    "comment": "Gazelle",
                    "tags": [
                        {
                            "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"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:50.975110Z",
                    "updated_at": "2026-01-17T18:41:50.975127Z",
                    "is_active": true
                },
                {
                    "id": 654,
                    "french_word": "girafe",
                    "russian_word": "жираф",
                    "category": "animal",
                    "category_display": "Animal",
                    "level": 3,
                    "level_display": "Animaux",
                    "comment": "Giraffe",
                    "tags": [
                        {
                            "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"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:50.959252Z",
                    "updated_at": "2026-01-17T18:41:50.959267Z",
                    "is_active": true
                },
                {
                    "id": 659,
                    "french_word": "guépard",
                    "russian_word": "гепард",
                    "category": "animal",
                    "category_display": "Animal",
                    "level": 3,
                    "level_display": "Animaux",
                    "comment": "Cheetah",
                    "tags": [
                        {
                            "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"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:50.985740Z",
                    "updated_at": "2026-01-17T18:41:50.985753Z",
                    "is_active": true
                },
                {
                    "id": 655,
                    "french_word": "hippopotame",
                    "russian_word": "бегемот",
                    "category": "animal",
                    "category_display": "Animal",
                    "level": 3,
                    "level_display": "Animaux",
                    "comment": "Hippopotamus",
                    "tags": [
                        {
                            "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"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:50.964164Z",
                    "updated_at": "2026-01-17T18:41:50.964180Z",
                    "is_active": true
                },
                {
                    "id": 660,
                    "french_word": "hyène",
                    "russian_word": "гиена",
                    "category": "animal",
                    "category_display": "Animal",
                    "level": 3,
                    "level_display": "Animaux",
                    "comment": "Hyena",
                    "tags": [
                        {
                            "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"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:50.990981Z",
                    "updated_at": "2026-01-17T18:41:50.990992Z",
                    "is_active": true
                },
                {
                    "id": 656,
                    "french_word": "rhinocéros",
                    "russian_word": "носорог",
                    "category": "animal",
                    "category_display": "Animal",
                    "level": 3,
                    "level_display": "Animaux",
                    "comment": "Rhinoceros",
                    "tags": [
                        {
                            "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"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:50.969384Z",
                    "updated_at": "2026-01-17T18:41:50.969400Z",
                    "is_active": true
                },
                {
                    "id": 653,
                    "french_word": "zèbre",
                    "russian_word": "зебра",
                    "category": "animal",
                    "category_display": "Animal",
                    "level": 3,
                    "level_display": "Animaux",
                    "comment": "Zebra",
                    "tags": [
                        {
                            "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"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:50.954249Z",
                    "updated_at": "2026-01-17T18:41:50.954265Z",
                    "is_active": true
                }
            ],
            "steps": [
                {
                    "id": 180,
                    "sub_level": 46,
                    "order": 1,
                    "step_type": "learning_card",
                    "step_type_display": "Learning Card",
                    "title": "Introduction à Vocabulaire des animaux de la savane",
                    "description": "Animaux sauvages - savane\n\nApprenez le vocabulaire de vocabulaire des animaux de la savane en russe.",
                    "is_required": true,
                    "config": {
                        "content": "Animaux sauvages - savane\n\nApprenez le vocabulaire de vocabulaire des animaux de la savane 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:51.281760Z",
                    "updated_at": "2026-01-17T18:41:51.281771Z"
                },
                {
                    "id": 181,
                    "sub_level": 46,
                    "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 animaux de la savane avec le mode flashcard.",
                        "min_score": 70,
                        "level": 3,
                        "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:51.285228Z",
                    "updated_at": "2026-01-17T18:41:51.285239Z"
                },
                {
                    "id": 182,
                    "sub_level": 46,
                    "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 animaux de la savane avec le mode matching.",
                        "min_score": 70,
                        "level": 3,
                        "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:51.288612Z",
                    "updated_at": "2026-01-17T18:41:51.288630Z"
                },
                {
                    "id": 183,
                    "sub_level": 46,
                    "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 animaux de la savane avec le mode multiple_choice.",
                        "min_score": 70,
                        "level": 3,
                        "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:51.291963Z",
                    "updated_at": "2026-01-17T18:41:51.291974Z"
                }
            ],
            "videos": [],
            "learning_cards": [
                {
                    "id": 180,
                    "sub_level": 46,
                    "order": 1,
                    "step_type": "learning_card",
                    "step_type_display": "Learning Card",
                    "title": "Introduction à Vocabulaire des animaux de la savane",
                    "description": "Animaux sauvages - savane\n\nApprenez le vocabulaire de vocabulaire des animaux de la savane en russe.",
                    "is_required": true,
                    "config": {
                        "content": "Animaux sauvages - savane\n\nApprenez le vocabulaire de vocabulaire des animaux de la savane 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:51.281760Z",
                    "updated_at": "2026-01-17T18:41:51.281771Z"
                }
            ],
            "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:51.274045Z",
            "updated_at": "2026-01-17T18:41:51.274058Z"
        },
        {
            "id": 47,
            "level": 10,
            "level_display": "Animaux",
            "sub_level": 5,
            "title": "Vocabulaire des oiseaux",
            "description": "Oiseaux",
            "order": 5,
            "word_pairs": [
                {
                    "id": 688,
                    "french_word": "albatros",
                    "russian_word": "альбатрос",
                    "category": "animal",
                    "category_display": "Animal",
                    "level": 3,
                    "level_display": "Animaux",
                    "comment": "Albatross",
                    "tags": [
                        {
                            "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"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:51.136177Z",
                    "updated_at": "2026-01-17T18:41:51.136193Z",
                    "is_active": true
                },
                {
                    "id": 682,
                    "french_word": "autruche",
                    "russian_word": "страус",
                    "category": "animal",
                    "category_display": "Animal",
                    "level": 3,
                    "level_display": "Animaux",
                    "comment": "Ostrich",
                    "tags": [
                        {
                            "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"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:51.105271Z",
                    "updated_at": "2026-01-17T18:41:51.105281Z",
                    "is_active": true
                },
                {
                    "id": 685,
                    "french_word": "cigogne",
                    "russian_word": "аист",
                    "category": "animal",
                    "category_display": "Animal",
                    "level": 3,
                    "level_display": "Animaux",
                    "comment": "Stork",
                    "tags": [
                        {
                            "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"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:51.120376Z",
                    "updated_at": "2026-01-17T18:41:51.120393Z",
                    "is_active": true
                },
                {
                    "id": 671,
                    "french_word": "corbeau",
                    "russian_word": "ворон",
                    "category": "animal",
                    "category_display": "Animal",
                    "level": 3,
                    "level_display": "Animaux",
                    "comment": "Raven",
                    "tags": [
                        {
                            "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"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:51.051807Z",
                    "updated_at": "2026-01-17T18:41:51.051819Z",
                    "is_active": true
                },
                {
                    "id": 672,
                    "french_word": "corneille",
                    "russian_word": "ворона",
                    "category": "animal",
                    "category_display": "Animal",
                    "level": 3,
                    "level_display": "Animaux",
                    "comment": "Crow",
                    "tags": [
                        {
                            "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"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:51.056453Z",
                    "updated_at": "2026-01-17T18:41:51.056464Z",
                    "is_active": true
                },
                {
                    "id": 679,
                    "french_word": "cygne",
                    "russian_word": "лебедь",
                    "category": "animal",
                    "category_display": "Animal",
                    "level": 3,
                    "level_display": "Animaux",
                    "comment": "Swan",
                    "tags": [
                        {
                            "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"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:51.090149Z",
                    "updated_at": "2026-01-17T18:41:51.090161Z",
                    "is_active": true
                },
                {
                    "id": 684,
                    "french_word": "faisan",
                    "russian_word": "фазан",
                    "category": "animal",
                    "category_display": "Animal",
                    "level": 3,
                    "level_display": "Animaux",
                    "comment": "Pheasant",
                    "tags": [
                        {
                            "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"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:51.115199Z",
                    "updated_at": "2026-01-17T18:41:51.115209Z",
                    "is_active": true
                },
                {
                    "id": 680,
                    "french_word": "flamant rose",
                    "russian_word": "фламинго",
                    "category": "animal",
                    "category_display": "Animal",
                    "level": 3,
                    "level_display": "Animaux",
                    "comment": "Flamingo",
                    "tags": [
                        {
                            "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"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:51.095031Z",
                    "updated_at": "2026-01-17T18:41:51.095044Z",
                    "is_active": true
                },
                {
                    "id": 670,
                    "french_word": "hibou",
                    "russian_word": "сова",
                    "category": "animal",
                    "category_display": "Animal",
                    "level": 3,
                    "level_display": "Animaux",
                    "comment": "Owl",
                    "tags": [
                        {
                            "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"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:51.047168Z",
                    "updated_at": "2026-01-17T18:41:51.047179Z",
                    "is_active": true
                },
                {
                    "id": 675,
                    "french_word": "hirondelle",
                    "russian_word": "ласточка",
                    "category": "animal",
                    "category_display": "Animal",
                    "level": 3,
                    "level_display": "Animaux",
                    "comment": "Swallow",
                    "tags": [
                        {
                            "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"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:51.070783Z",
                    "updated_at": "2026-01-17T18:41:51.070793Z",
                    "is_active": true
                },
                {
                    "id": 686,
                    "french_word": "héron",
                    "russian_word": "цапля",
                    "category": "animal",
                    "category_display": "Animal",
                    "level": 3,
                    "level_display": "Animaux",
                    "comment": "Heron",
                    "tags": [
                        {
                            "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"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:51.125573Z",
                    "updated_at": "2026-01-17T18:41:51.125590Z",
                    "is_active": true
                },
                {
                    "id": 677,
                    "french_word": "merle",
                    "russian_word": "дрозд",
                    "category": "animal",
                    "category_display": "Animal",
                    "level": 3,
                    "level_display": "Animaux",
                    "comment": "Blackbird",
                    "tags": [
                        {
                            "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"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:51.080302Z",
                    "updated_at": "2026-01-17T18:41:51.080312Z",
                    "is_active": true
                },
                {
                    "id": 674,
                    "french_word": "moineau",
                    "russian_word": "воробей",
                    "category": "animal",
                    "category_display": "Animal",
                    "level": 3,
                    "level_display": "Animaux",
                    "comment": "Sparrow",
                    "tags": [
                        {
                            "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"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:51.066074Z",
                    "updated_at": "2026-01-17T18:41:51.066087Z",
                    "is_active": true
                },
                {
                    "id": 687,
                    "french_word": "mouette",
                    "russian_word": "чайка",
                    "category": "animal",
                    "category_display": "Animal",
                    "level": 3,
                    "level_display": "Animaux",
                    "comment": "Seagull",
                    "tags": [
                        {
                            "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"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:51.130887Z",
                    "updated_at": "2026-01-17T18:41:51.130904Z",
                    "is_active": true
                },
                {
                    "id": 641,
                    "french_word": "oiseau",
                    "russian_word": "птица",
                    "category": "animal",
                    "category_display": "Animal",
                    "level": 3,
                    "level_display": "Animaux",
                    "comment": "Bird",
                    "tags": [
                        {
                            "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"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:50.894952Z",
                    "updated_at": "2026-01-17T18:41:50.894971Z",
                    "is_active": true
                },
                {
                    "id": 683,
                    "french_word": "paon",
                    "russian_word": "павлин",
                    "category": "animal",
                    "category_display": "Animal",
                    "level": 3,
                    "level_display": "Animaux",
                    "comment": "Peacock",
                    "tags": [
                        {
                            "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"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:51.110273Z",
                    "updated_at": "2026-01-17T18:41:51.110283Z",
                    "is_active": true
                },
                {
                    "id": 673,
                    "french_word": "pie",
                    "russian_word": "сорока",
                    "category": "animal",
                    "category_display": "Animal",
                    "level": 3,
                    "level_display": "Animaux",
                    "comment": "Magpie",
                    "tags": [
                        {
                            "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"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:51.061190Z",
                    "updated_at": "2026-01-17T18:41:51.061200Z",
                    "is_active": true
                },
                {
                    "id": 678,
                    "french_word": "pigeon",
                    "russian_word": "голубь",
                    "category": "animal",
                    "category_display": "Animal",
                    "level": 3,
                    "level_display": "Animaux",
                    "comment": "Pigeon",
                    "tags": [
                        {
                            "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"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:51.085298Z",
                    "updated_at": "2026-01-17T18:41:51.085308Z",
                    "is_active": true
                },
                {
                    "id": 681,
                    "french_word": "pingouin",
                    "russian_word": "пингвин",
                    "category": "animal",
                    "category_display": "Animal",
                    "level": 3,
                    "level_display": "Animaux",
                    "comment": "Penguin",
                    "tags": [
                        {
                            "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"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:51.100374Z",
                    "updated_at": "2026-01-17T18:41:51.100384Z",
                    "is_active": true
                },
                {
                    "id": 676,
                    "french_word": "rouge-gorge",
                    "russian_word": "малиновка",
                    "category": "animal",
                    "category_display": "Animal",
                    "level": 3,
                    "level_display": "Animaux",
                    "comment": "Robin",
                    "tags": [
                        {
                            "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"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:51.075480Z",
                    "updated_at": "2026-01-17T18:41:51.075495Z",
                    "is_active": true
                }
            ],
            "steps": [
                {
                    "id": 184,
                    "sub_level": 47,
                    "order": 1,
                    "step_type": "learning_card",
                    "step_type_display": "Learning Card",
                    "title": "Introduction à Vocabulaire des oiseaux",
                    "description": "Oiseaux\n\nApprenez le vocabulaire de vocabulaire des oiseaux en russe.",
                    "is_required": true,
                    "config": {
                        "content": "Oiseaux\n\nApprenez le vocabulaire de vocabulaire des oiseaux 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:51.302951Z",
                    "updated_at": "2026-01-17T18:41:51.302962Z"
                },
                {
                    "id": 185,
                    "sub_level": 47,
                    "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 oiseaux avec le mode flashcard.",
                        "min_score": 70,
                        "level": 3,
                        "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:51.306444Z",
                    "updated_at": "2026-01-17T18:41:51.306455Z"
                },
                {
                    "id": 186,
                    "sub_level": 47,
                    "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 oiseaux avec le mode matching.",
                        "min_score": 70,
                        "level": 3,
                        "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:51.310037Z",
                    "updated_at": "2026-01-17T18:41:51.310047Z"
                },
                {
                    "id": 187,
                    "sub_level": 47,
                    "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 oiseaux avec le mode multiple_choice.",
                        "min_score": 70,
                        "level": 3,
                        "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:51.313059Z",
                    "updated_at": "2026-01-17T18:41:51.313069Z"
                }
            ],
            "videos": [],
            "learning_cards": [
                {
                    "id": 184,
                    "sub_level": 47,
                    "order": 1,
                    "step_type": "learning_card",
                    "step_type_display": "Learning Card",
                    "title": "Introduction à Vocabulaire des oiseaux",
                    "description": "Oiseaux\n\nApprenez le vocabulaire de vocabulaire des oiseaux en russe.",
                    "is_required": true,
                    "config": {
                        "content": "Oiseaux\n\nApprenez le vocabulaire de vocabulaire des oiseaux 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:51.302951Z",
                    "updated_at": "2026-01-17T18:41:51.302962Z"
                }
            ],
            "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:51.294593Z",
            "updated_at": "2026-01-17T18:41:51.294608Z"
        },
        {
            "id": 48,
            "level": 10,
            "level_display": "Animaux",
            "sub_level": 6,
            "title": "Vocabulaire des animaux aquatiques",
            "description": "Animaux aquatiques",
            "order": 6,
            "word_pairs": [
                {
                    "id": 662,
                    "french_word": "baleine",
                    "russian_word": "кит",
                    "category": "animal",
                    "category_display": "Animal",
                    "level": 3,
                    "level_display": "Animaux",
                    "comment": "Whale",
                    "tags": [
                        {
                            "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"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:51.007352Z",
                    "updated_at": "2026-01-17T18:41:51.007365Z",
                    "is_active": true
                },
                {
                    "id": 668,
                    "french_word": "crabe",
                    "russian_word": "краб",
                    "category": "animal",
                    "category_display": "Animal",
                    "level": 3,
                    "level_display": "Animaux",
                    "comment": "Crab",
                    "tags": [
                        {
                            "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"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:51.037634Z",
                    "updated_at": "2026-01-17T18:41:51.037648Z",
                    "is_active": true
                },
                {
                    "id": 663,
                    "french_word": "dauphin",
                    "russian_word": "дельфин",
                    "category": "animal",
                    "category_display": "Animal",
                    "level": 3,
                    "level_display": "Animaux",
                    "comment": "Dolphin",
                    "tags": [
                        {
                            "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"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:51.012448Z",
                    "updated_at": "2026-01-17T18:41:51.012459Z",
                    "is_active": true
                },
                {
                    "id": 669,
                    "french_word": "homard",
                    "russian_word": "омар",
                    "category": "animal",
                    "category_display": "Animal",
                    "level": 3,
                    "level_display": "Animaux",
                    "comment": "Lobster",
                    "tags": [
                        {
                            "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"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:51.042465Z",
                    "updated_at": "2026-01-17T18:41:51.042476Z",
                    "is_active": true
                },
                {
                    "id": 667,
                    "french_word": "méduse",
                    "russian_word": "медуза",
                    "category": "animal",
                    "category_display": "Animal",
                    "level": 3,
                    "level_display": "Animaux",
                    "comment": "Jellyfish",
                    "tags": [
                        {
                            "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"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:51.033021Z",
                    "updated_at": "2026-01-17T18:41:51.033034Z",
                    "is_active": true
                },
                {
                    "id": 665,
                    "french_word": "otarie",
                    "russian_word": "морской лев",
                    "category": "animal",
                    "category_display": "Animal",
                    "level": 3,
                    "level_display": "Animaux",
                    "comment": "Sea lion",
                    "tags": [
                        {
                            "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"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:51.022585Z",
                    "updated_at": "2026-01-17T18:41:51.022595Z",
                    "is_active": true
                },
                {
                    "id": 664,
                    "french_word": "phoque",
                    "russian_word": "тюлень",
                    "category": "animal",
                    "category_display": "Animal",
                    "level": 3,
                    "level_display": "Animaux",
                    "comment": "Seal",
                    "tags": [
                        {
                            "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"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:51.017462Z",
                    "updated_at": "2026-01-17T18:41:51.017473Z",
                    "is_active": true
                },
                {
                    "id": 666,
                    "french_word": "pieuvre",
                    "russian_word": "осьминог",
                    "category": "animal",
                    "category_display": "Animal",
                    "level": 3,
                    "level_display": "Animaux",
                    "comment": "Octopus",
                    "tags": [
                        {
                            "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"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:51.027639Z",
                    "updated_at": "2026-01-17T18:41:51.027649Z",
                    "is_active": true
                },
                {
                    "id": 605,
                    "french_word": "poisson",
                    "russian_word": "рыба",
                    "category": "animal",
                    "category_display": "Animal",
                    "level": 2,
                    "level_display": "Nourriture",
                    "comment": "Fish",
                    "tags": [
                        {
                            "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": 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.593192Z",
                    "updated_at": "2026-01-17T18:41:50.996958Z",
                    "is_active": true
                },
                {
                    "id": 661,
                    "french_word": "requin",
                    "russian_word": "акула",
                    "category": "animal",
                    "category_display": "Animal",
                    "level": 3,
                    "level_display": "Animaux",
                    "comment": "Shark",
                    "tags": [
                        {
                            "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"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:51.002191Z",
                    "updated_at": "2026-01-17T18:41:51.002205Z",
                    "is_active": true
                }
            ],
            "steps": [
                {
                    "id": 188,
                    "sub_level": 48,
                    "order": 1,
                    "step_type": "learning_card",
                    "step_type_display": "Learning Card",
                    "title": "Introduction à Vocabulaire des animaux aquatiques",
                    "description": "Animaux aquatiques\n\nApprenez le vocabulaire de vocabulaire des animaux aquatiques en russe.",
                    "is_required": true,
                    "config": {
                        "content": "Animaux aquatiques\n\nApprenez le vocabulaire de vocabulaire des animaux aquatiques 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:51.323141Z",
                    "updated_at": "2026-01-17T18:41:51.323152Z"
                },
                {
                    "id": 189,
                    "sub_level": 48,
                    "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 animaux aquatiques avec le mode flashcard.",
                        "min_score": 70,
                        "level": 3,
                        "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:51.326493Z",
                    "updated_at": "2026-01-17T18:41:51.326503Z"
                },
                {
                    "id": 190,
                    "sub_level": 48,
                    "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 animaux aquatiques avec le mode matching.",
                        "min_score": 70,
                        "level": 3,
                        "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:51.329663Z",
                    "updated_at": "2026-01-17T18:41:51.329673Z"
                },
                {
                    "id": 191,
                    "sub_level": 48,
                    "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 animaux aquatiques avec le mode multiple_choice.",
                        "min_score": 70,
                        "level": 3,
                        "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:51.332819Z",
                    "updated_at": "2026-01-17T18:41:51.332829Z"
                }
            ],
            "videos": [],
            "learning_cards": [
                {
                    "id": 188,
                    "sub_level": 48,
                    "order": 1,
                    "step_type": "learning_card",
                    "step_type_display": "Learning Card",
                    "title": "Introduction à Vocabulaire des animaux aquatiques",
                    "description": "Animaux aquatiques\n\nApprenez le vocabulaire de vocabulaire des animaux aquatiques en russe.",
                    "is_required": true,
                    "config": {
                        "content": "Animaux aquatiques\n\nApprenez le vocabulaire de vocabulaire des animaux aquatiques 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:51.323141Z",
                    "updated_at": "2026-01-17T18:41:51.323152Z"
                }
            ],
            "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:51.315604Z",
            "updated_at": "2026-01-17T18:41:51.315614Z"
        },
        {
            "id": 49,
            "level": 10,
            "level_display": "Animaux",
            "sub_level": 7,
            "title": "Vocabulaire des reptiles et amphibiens",
            "description": "Reptiles et amphibiens",
            "order": 7,
            "word_pairs": [
                {
                    "id": 698,
                    "french_word": "alligator",
                    "russian_word": "аллигатор",
                    "category": "animal",
                    "category_display": "Animal",
                    "level": 3,
                    "level_display": "Animaux",
                    "comment": "Alligator",
                    "tags": [
                        {
                            "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"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:51.190442Z",
                    "updated_at": "2026-01-17T18:41:51.190458Z",
                    "is_active": true
                },
                {
                    "id": 696,
                    "french_word": "caméléon",
                    "russian_word": "хамелеон",
                    "category": "animal",
                    "category_display": "Animal",
                    "level": 3,
                    "level_display": "Animaux",
                    "comment": "Chameleon",
                    "tags": [
                        {
                            "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"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:51.179447Z",
                    "updated_at": "2026-01-17T18:41:51.179462Z",
                    "is_active": true
                },
                {
                    "id": 690,
                    "french_word": "cobra",
                    "russian_word": "кобра",
                    "category": "animal",
                    "category_display": "Animal",
                    "level": 3,
                    "level_display": "Animaux",
                    "comment": "Cobra",
                    "tags": [
                        {
                            "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"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:51.146915Z",
                    "updated_at": "2026-01-17T18:41:51.146931Z",
                    "is_active": true
                },
                {
                    "id": 701,
                    "french_word": "crapaud",
                    "russian_word": "жаба",
                    "category": "animal",
                    "category_display": "Animal",
                    "level": 3,
                    "level_display": "Animaux",
                    "comment": "Toad",
                    "tags": [
                        {
                            "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"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:51.205517Z",
                    "updated_at": "2026-01-17T18:41:51.205533Z",
                    "is_active": true
                },
                {
                    "id": 697,
                    "french_word": "crocodile",
                    "russian_word": "крокодил",
                    "category": "animal",
                    "category_display": "Animal",
                    "level": 3,
                    "level_display": "Animaux",
                    "comment": "Crocodile",
                    "tags": [
                        {
                            "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"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:51.184939Z",
                    "updated_at": "2026-01-17T18:41:51.184952Z",
                    "is_active": true
                },
                {
                    "id": 694,
                    "french_word": "gecko",
                    "russian_word": "геккон",
                    "category": "animal",
                    "category_display": "Animal",
                    "level": 3,
                    "level_display": "Animaux",
                    "comment": "Gecko",
                    "tags": [
                        {
                            "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"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:51.168374Z",
                    "updated_at": "2026-01-17T18:41:51.168390Z",
                    "is_active": true
                },
                {
                    "id": 700,
                    "french_word": "grenouille",
                    "russian_word": "лягушка",
                    "category": "animal",
                    "category_display": "Animal",
                    "level": 3,
                    "level_display": "Animaux",
                    "comment": "Frog",
                    "tags": [
                        {
                            "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"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:51.200664Z",
                    "updated_at": "2026-01-17T18:41:51.200676Z",
                    "is_active": true
                },
                {
                    "id": 695,
                    "french_word": "iguane",
                    "russian_word": "игуана",
                    "category": "animal",
                    "category_display": "Animal",
                    "level": 3,
                    "level_display": "Animaux",
                    "comment": "Iguana",
                    "tags": [
                        {
                            "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"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:51.174011Z",
                    "updated_at": "2026-01-17T18:41:51.174026Z",
                    "is_active": true
                },
                {
                    "id": 693,
                    "french_word": "lézard",
                    "russian_word": "ящерица",
                    "category": "animal",
                    "category_display": "Animal",
                    "level": 3,
                    "level_display": "Animaux",
                    "comment": "Lizard",
                    "tags": [
                        {
                            "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"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:51.162986Z",
                    "updated_at": "2026-01-17T18:41:51.163002Z",
                    "is_active": true
                },
                {
                    "id": 691,
                    "french_word": "python",
                    "russian_word": "питон",
                    "category": "animal",
                    "category_display": "Animal",
                    "level": 3,
                    "level_display": "Animaux",
                    "comment": "Python",
                    "tags": [
                        {
                            "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"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:51.152264Z",
                    "updated_at": "2026-01-17T18:41:51.152281Z",
                    "is_active": true
                },
                {
                    "id": 689,
                    "french_word": "serpent",
                    "russian_word": "змея",
                    "category": "animal",
                    "category_display": "Animal",
                    "level": 3,
                    "level_display": "Animaux",
                    "comment": "Snake",
                    "tags": [
                        {
                            "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"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:51.141587Z",
                    "updated_at": "2026-01-17T18:41:51.141602Z",
                    "is_active": true
                },
                {
                    "id": 699,
                    "french_word": "tortue",
                    "russian_word": "черепаха",
                    "category": "animal",
                    "category_display": "Animal",
                    "level": 3,
                    "level_display": "Animaux",
                    "comment": "Turtle/Tortoise",
                    "tags": [
                        {
                            "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"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:51.195755Z",
                    "updated_at": "2026-01-17T18:41:51.195771Z",
                    "is_active": true
                },
                {
                    "id": 692,
                    "french_word": "vipère",
                    "russian_word": "гадюка",
                    "category": "animal",
                    "category_display": "Animal",
                    "level": 3,
                    "level_display": "Animaux",
                    "comment": "Viper",
                    "tags": [
                        {
                            "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"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:51.157561Z",
                    "updated_at": "2026-01-17T18:41:51.157576Z",
                    "is_active": true
                }
            ],
            "steps": [
                {
                    "id": 192,
                    "sub_level": 49,
                    "order": 1,
                    "step_type": "learning_card",
                    "step_type_display": "Learning Card",
                    "title": "Introduction à Vocabulaire des reptiles et amphibiens",
                    "description": "Reptiles et amphibiens\n\nApprenez le vocabulaire de vocabulaire des reptiles et amphibiens en russe.",
                    "is_required": true,
                    "config": {
                        "content": "Reptiles et amphibiens\n\nApprenez le vocabulaire de vocabulaire des reptiles et amphibiens 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:51.343030Z",
                    "updated_at": "2026-01-17T18:41:51.343041Z"
                },
                {
                    "id": 193,
                    "sub_level": 49,
                    "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 reptiles et amphibiens avec le mode flashcard.",
                        "min_score": 70,
                        "level": 3,
                        "sub_level": 7
                    },
                    "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:51.346595Z",
                    "updated_at": "2026-01-17T18:41:51.346605Z"
                },
                {
                    "id": 194,
                    "sub_level": 49,
                    "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 reptiles et amphibiens avec le mode matching.",
                        "min_score": 70,
                        "level": 3,
                        "sub_level": 7
                    },
                    "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:51.349780Z",
                    "updated_at": "2026-01-17T18:41:51.349790Z"
                },
                {
                    "id": 195,
                    "sub_level": 49,
                    "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 reptiles et amphibiens avec le mode multiple_choice.",
                        "min_score": 70,
                        "level": 3,
                        "sub_level": 7
                    },
                    "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:51.352827Z",
                    "updated_at": "2026-01-17T18:41:51.352838Z"
                }
            ],
            "videos": [],
            "learning_cards": [
                {
                    "id": 192,
                    "sub_level": 49,
                    "order": 1,
                    "step_type": "learning_card",
                    "step_type_display": "Learning Card",
                    "title": "Introduction à Vocabulaire des reptiles et amphibiens",
                    "description": "Reptiles et amphibiens\n\nApprenez le vocabulaire de vocabulaire des reptiles et amphibiens en russe.",
                    "is_required": true,
                    "config": {
                        "content": "Reptiles et amphibiens\n\nApprenez le vocabulaire de vocabulaire des reptiles et amphibiens 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:51.343030Z",
                    "updated_at": "2026-01-17T18:41:51.343041Z"
                }
            ],
            "exercises": [],
            "total_words": 13,
            "is_unlocked": false,
            "is_completed": false,
            "progress": {
                "words_mastered": 0,
                "total_words": 13,
                "completion_percentage": 0.0,
                "steps": []
            },
            "is_active": true,
            "created_at": "2026-01-17T18:41:51.335378Z",
            "updated_at": "2026-01-17T18:41:51.335388Z"
        },
        {
            "id": 50,
            "level": 11,
            "level_display": "Couleurs",
            "sub_level": 1,
            "title": "Vocabulaire des couleurs de base",
            "description": "Couleurs de base",
            "order": 1,
            "word_pairs": [
                {
                    "id": 140,
                    "french_word": "blanc",
                    "russian_word": "белый",
                    "category": "color",
                    "category_display": "Color",
                    "level": 4,
                    "level_display": "Basic Adjectives",
                    "comment": "White",
                    "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": 20,
                            "name": "color",
                            "category": "category",
                            "category_display": "category",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:51.359005Z",
                            "updated_at": "2026-01-17T18:41:51.359021Z"
                        },
                        {
                            "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.704851Z",
                    "updated_at": "2026-01-17T18:41:51.407968Z",
                    "is_active": true
                },
                {
                    "id": 136,
                    "french_word": "bleu",
                    "russian_word": "синий",
                    "category": "color",
                    "category_display": "Color",
                    "level": 4,
                    "level_display": "Basic Adjectives",
                    "comment": "Blue",
                    "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": 20,
                            "name": "color",
                            "category": "category",
                            "category_display": "category",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:51.359005Z",
                            "updated_at": "2026-01-17T18:41:51.359021Z"
                        },
                        {
                            "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.683964Z",
                    "updated_at": "2026-01-17T18:41:51.366951Z",
                    "is_active": true
                },
                {
                    "id": 222,
                    "french_word": "gris",
                    "russian_word": "серый",
                    "category": "color",
                    "category_display": "Color",
                    "level": 4,
                    "level_display": "Basic Adjectives",
                    "comment": "Gray",
                    "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": 20,
                            "name": "color",
                            "category": "category",
                            "category_display": "category",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:51.359005Z",
                            "updated_at": "2026-01-17T18:41:51.359021Z"
                        },
                        {
                            "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.126206Z",
                    "updated_at": "2026-01-17T18:41:51.412991Z",
                    "is_active": true
                },
                {
                    "id": 144,
                    "french_word": "jaune",
                    "russian_word": "жёлтый",
                    "category": "color",
                    "category_display": "Color",
                    "level": 4,
                    "level_display": "Basic Adjectives",
                    "comment": "Yellow",
                    "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": 20,
                            "name": "color",
                            "category": "category",
                            "category_display": "category",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:51.359005Z",
                            "updated_at": "2026-01-17T18:41:51.359021Z"
                        },
                        {
                            "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.725129Z",
                    "updated_at": "2026-01-17T18:41:51.377975Z",
                    "is_active": true
                },
                {
                    "id": 224,
                    "french_word": "marron",
                    "russian_word": "коричневый",
                    "category": "color",
                    "category_display": "Color",
                    "level": 4,
                    "level_display": "Basic Adjectives",
                    "comment": "Brown",
                    "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": 20,
                            "name": "color",
                            "category": "category",
                            "category_display": "category",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:51.359005Z",
                            "updated_at": "2026-01-17T18:41:51.359021Z"
                        },
                        {
                            "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.135951Z",
                    "updated_at": "2026-01-17T18:41:51.398234Z",
                    "is_active": true
                },
                {
                    "id": 142,
                    "french_word": "noir",
                    "russian_word": "чёрный",
                    "category": "color",
                    "category_display": "Color",
                    "level": 4,
                    "level_display": "Basic Adjectives",
                    "comment": "Black",
                    "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": 20,
                            "name": "color",
                            "category": "category",
                            "category_display": "category",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:51.359005Z",
                            "updated_at": "2026-01-17T18:41:51.359021Z"
                        },
                        {
                            "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.714934Z",
                    "updated_at": "2026-01-17T18:41:51.403138Z",
                    "is_active": true
                },
                {
                    "id": 228,
                    "french_word": "orange",
                    "russian_word": "оранжевый",
                    "category": "color",
                    "category_display": "Color",
                    "level": 4,
                    "level_display": "Basic Adjectives",
                    "comment": "Orange",
                    "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": 20,
                            "name": "color",
                            "category": "category",
                            "category_display": "category",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:51.359005Z",
                            "updated_at": "2026-01-17T18:41:51.359021Z"
                        },
                        {
                            "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.155944Z",
                    "updated_at": "2026-01-17T18:41:51.383076Z",
                    "is_active": true
                },
                {
                    "id": 702,
                    "french_word": "rose",
                    "russian_word": "розовый",
                    "category": "color",
                    "category_display": "Color",
                    "level": 4,
                    "level_display": "Couleurs",
                    "comment": "Pink",
                    "tags": [
                        {
                            "id": 20,
                            "name": "color",
                            "category": "category",
                            "category_display": "category",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:51.359005Z",
                            "updated_at": "2026-01-17T18:41:51.359021Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:51.393386Z",
                    "updated_at": "2026-01-17T18:41:51.393397Z",
                    "is_active": true
                },
                {
                    "id": 134,
                    "french_word": "rouge",
                    "russian_word": "красный",
                    "category": "color",
                    "category_display": "Color",
                    "level": 4,
                    "level_display": "Basic Adjectives",
                    "comment": "Red",
                    "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": 20,
                            "name": "color",
                            "category": "category",
                            "category_display": "category",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:51.359005Z",
                            "updated_at": "2026-01-17T18:41:51.359021Z"
                        },
                        {
                            "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.674127Z",
                    "updated_at": "2026-01-17T18:41:51.361581Z",
                    "is_active": true
                },
                {
                    "id": 138,
                    "french_word": "vert",
                    "russian_word": "зелёный",
                    "category": "color",
                    "category_display": "Color",
                    "level": 4,
                    "level_display": "Basic Adjectives",
                    "comment": "Green",
                    "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": 20,
                            "name": "color",
                            "category": "category",
                            "category_display": "category",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:51.359005Z",
                            "updated_at": "2026-01-17T18:41:51.359021Z"
                        },
                        {
                            "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.694159Z",
                    "updated_at": "2026-01-17T18:41:51.372676Z",
                    "is_active": true
                },
                {
                    "id": 226,
                    "french_word": "violet",
                    "russian_word": "фиолетовый",
                    "category": "color",
                    "category_display": "Color",
                    "level": 4,
                    "level_display": "Basic Adjectives",
                    "comment": "Purple",
                    "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": 20,
                            "name": "color",
                            "category": "category",
                            "category_display": "category",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:51.359005Z",
                            "updated_at": "2026-01-17T18:41:51.359021Z"
                        },
                        {
                            "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.146235Z",
                    "updated_at": "2026-01-17T18:41:51.388420Z",
                    "is_active": true
                }
            ],
            "steps": [
                {
                    "id": 196,
                    "sub_level": 50,
                    "order": 1,
                    "step_type": "learning_card",
                    "step_type_display": "Learning Card",
                    "title": "Introduction à Vocabulaire des couleurs de base",
                    "description": "Couleurs de base\n\nApprenez le vocabulaire de vocabulaire des couleurs de base en russe.",
                    "is_required": true,
                    "config": {
                        "content": "Couleurs de base\n\nApprenez le vocabulaire de vocabulaire des couleurs 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:51.558947Z",
                    "updated_at": "2026-01-17T18:41:51.558972Z"
                },
                {
                    "id": 197,
                    "sub_level": 50,
                    "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 couleurs de base avec le mode flashcard.",
                        "min_score": 70,
                        "level": 4,
                        "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:51.562817Z",
                    "updated_at": "2026-01-17T18:41:51.562835Z"
                },
                {
                    "id": 198,
                    "sub_level": 50,
                    "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 couleurs de base avec le mode matching.",
                        "min_score": 70,
                        "level": 4,
                        "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:51.566885Z",
                    "updated_at": "2026-01-17T18:41:51.566904Z"
                },
                {
                    "id": 199,
                    "sub_level": 50,
                    "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 couleurs de base avec le mode multiple_choice.",
                        "min_score": 70,
                        "level": 4,
                        "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:51.570250Z",
                    "updated_at": "2026-01-17T18:41:51.570268Z"
                }
            ],
            "videos": [],
            "learning_cards": [
                {
                    "id": 196,
                    "sub_level": 50,
                    "order": 1,
                    "step_type": "learning_card",
                    "step_type_display": "Learning Card",
                    "title": "Introduction à Vocabulaire des couleurs de base",
                    "description": "Couleurs de base\n\nApprenez le vocabulaire de vocabulaire des couleurs de base en russe.",
                    "is_required": true,
                    "config": {
                        "content": "Couleurs de base\n\nApprenez le vocabulaire de vocabulaire des couleurs 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:51.558947Z",
                    "updated_at": "2026-01-17T18:41:51.558972Z"
                }
            ],
            "exercises": [],
            "total_words": 11,
            "is_unlocked": false,
            "is_completed": false,
            "progress": {
                "words_mastered": 0,
                "total_words": 11,
                "completion_percentage": 0.0,
                "steps": []
            },
            "is_active": true,
            "created_at": "2026-01-17T18:41:51.549877Z",
            "updated_at": "2026-01-17T18:41:51.549896Z"
        },
        {
            "id": 51,
            "level": 11,
            "level_display": "Couleurs",
            "sub_level": 2,
            "title": "Vocabulaire des nuances et tons de couleurs",
            "description": "Nuances et tons",
            "order": 2,
            "word_pairs": [
                {
                    "id": 230,
                    "french_word": "beige",
                    "russian_word": "бежевый",
                    "category": "color",
                    "category_display": "Color",
                    "level": 4,
                    "level_display": "Basic Adjectives",
                    "comment": "Beige",
                    "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": 20,
                            "name": "color",
                            "category": "category",
                            "category_display": "category",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:51.359005Z",
                            "updated_at": "2026-01-17T18:41:51.359021Z"
                        },
                        {
                            "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.166058Z",
                    "updated_at": "2026-01-17T18:41:51.417937Z",
                    "is_active": true
                },
                {
                    "id": 270,
                    "french_word": "clair",
                    "russian_word": "светлый",
                    "category": "color",
                    "category_display": "Color",
                    "level": 4,
                    "level_display": "Basic Adjectives",
                    "comment": "Light",
                    "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": 20,
                            "name": "color",
                            "category": "category",
                            "category_display": "category",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:51.359005Z",
                            "updated_at": "2026-01-17T18:41:51.359021Z"
                        },
                        {
                            "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.371469Z",
                    "updated_at": "2026-01-17T18:41:51.428057Z",
                    "is_active": true
                },
                {
                    "id": 703,
                    "french_word": "crème",
                    "russian_word": "кремовый",
                    "category": "color",
                    "category_display": "Color",
                    "level": 4,
                    "level_display": "Couleurs",
                    "comment": "Cream",
                    "tags": [
                        {
                            "id": 20,
                            "name": "color",
                            "category": "category",
                            "category_display": "category",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:51.359005Z",
                            "updated_at": "2026-01-17T18:41:51.359021Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:51.422948Z",
                    "updated_at": "2026-01-17T18:41:51.422961Z",
                    "is_active": true
                },
                {
                    "id": 704,
                    "french_word": "foncé",
                    "russian_word": "тёмный",
                    "category": "color",
                    "category_display": "Color",
                    "level": 4,
                    "level_display": "Couleurs",
                    "comment": "Dark",
                    "tags": [
                        {
                            "id": 20,
                            "name": "color",
                            "category": "category",
                            "category_display": "category",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:51.359005Z",
                            "updated_at": "2026-01-17T18:41:51.359021Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:51.433679Z",
                    "updated_at": "2026-01-17T18:41:51.433690Z",
                    "is_active": true
                },
                {
                    "id": 705,
                    "french_word": "pâle",
                    "russian_word": "бледный",
                    "category": "color",
                    "category_display": "Color",
                    "level": 4,
                    "level_display": "Couleurs",
                    "comment": "Pale",
                    "tags": [
                        {
                            "id": 20,
                            "name": "color",
                            "category": "category",
                            "category_display": "category",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:51.359005Z",
                            "updated_at": "2026-01-17T18:41:51.359021Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:51.438594Z",
                    "updated_at": "2026-01-17T18:41:51.438605Z",
                    "is_active": true
                },
                {
                    "id": 707,
                    "french_word": "terne",
                    "russian_word": "тусклый",
                    "category": "color",
                    "category_display": "Color",
                    "level": 4,
                    "level_display": "Couleurs",
                    "comment": "Dull",
                    "tags": [
                        {
                            "id": 20,
                            "name": "color",
                            "category": "category",
                            "category_display": "category",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:51.359005Z",
                            "updated_at": "2026-01-17T18:41:51.359021Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:51.448919Z",
                    "updated_at": "2026-01-17T18:41:51.448935Z",
                    "is_active": true
                },
                {
                    "id": 706,
                    "french_word": "vif",
                    "russian_word": "яркий",
                    "category": "color",
                    "category_display": "Color",
                    "level": 4,
                    "level_display": "Couleurs",
                    "comment": "Bright",
                    "tags": [
                        {
                            "id": 20,
                            "name": "color",
                            "category": "category",
                            "category_display": "category",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:51.359005Z",
                            "updated_at": "2026-01-17T18:41:51.359021Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:51.443908Z",
                    "updated_at": "2026-01-17T18:41:51.443924Z",
                    "is_active": true
                }
            ],
            "steps": [
                {
                    "id": 200,
                    "sub_level": 51,
                    "order": 1,
                    "step_type": "learning_card",
                    "step_type_display": "Learning Card",
                    "title": "Introduction à Vocabulaire des nuances et tons de couleurs",
                    "description": "Nuances et tons\n\nApprenez le vocabulaire de vocabulaire des nuances et tons de couleurs en russe.",
                    "is_required": true,
                    "config": {
                        "content": "Nuances et tons\n\nApprenez le vocabulaire de vocabulaire des nuances et tons de couleurs 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:51.581461Z",
                    "updated_at": "2026-01-17T18:41:51.581484Z"
                },
                {
                    "id": 201,
                    "sub_level": 51,
                    "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 nuances et tons de couleurs avec le mode flashcard.",
                        "min_score": 70,
                        "level": 4,
                        "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:51.586548Z",
                    "updated_at": "2026-01-17T18:41:51.586570Z"
                },
                {
                    "id": 202,
                    "sub_level": 51,
                    "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 nuances et tons de couleurs avec le mode matching.",
                        "min_score": 70,
                        "level": 4,
                        "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:51.590108Z",
                    "updated_at": "2026-01-17T18:41:51.590127Z"
                },
                {
                    "id": 203,
                    "sub_level": 51,
                    "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 nuances et tons de couleurs avec le mode multiple_choice.",
                        "min_score": 70,
                        "level": 4,
                        "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:51.593683Z",
                    "updated_at": "2026-01-17T18:41:51.593701Z"
                }
            ],
            "videos": [],
            "learning_cards": [
                {
                    "id": 200,
                    "sub_level": 51,
                    "order": 1,
                    "step_type": "learning_card",
                    "step_type_display": "Learning Card",
                    "title": "Introduction à Vocabulaire des nuances et tons de couleurs",
                    "description": "Nuances et tons\n\nApprenez le vocabulaire de vocabulaire des nuances et tons de couleurs en russe.",
                    "is_required": true,
                    "config": {
                        "content": "Nuances et tons\n\nApprenez le vocabulaire de vocabulaire des nuances et tons de couleurs 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:51.581461Z",
                    "updated_at": "2026-01-17T18:41:51.581484Z"
                }
            ],
            "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:51.573094Z",
            "updated_at": "2026-01-17T18:41:51.573110Z"
        },
        {
            "id": 52,
            "level": 11,
            "level_display": "Couleurs",
            "sub_level": 3,
            "title": "Vocabulaire des couleurs de métaux et matériaux",
            "description": "Métaux et matériaux",
            "order": 3,
            "word_pairs": [
                {
                    "id": 709,
                    "french_word": "argent",
                    "russian_word": "серебряный",
                    "category": "color",
                    "category_display": "Color",
                    "level": 4,
                    "level_display": "Couleurs",
                    "comment": "Silver",
                    "tags": [
                        {
                            "id": 20,
                            "name": "color",
                            "category": "category",
                            "category_display": "category",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:51.359005Z",
                            "updated_at": "2026-01-17T18:41:51.359021Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:51.458801Z",
                    "updated_at": "2026-01-17T18:41:51.458812Z",
                    "is_active": true
                },
                {
                    "id": 716,
                    "french_word": "brique",
                    "russian_word": "кирпичный",
                    "category": "color",
                    "category_display": "Color",
                    "level": 4,
                    "level_display": "Couleurs",
                    "comment": "Brick",
                    "tags": [
                        {
                            "id": 20,
                            "name": "color",
                            "category": "category",
                            "category_display": "category",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:51.359005Z",
                            "updated_at": "2026-01-17T18:41:51.359021Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:51.494561Z",
                    "updated_at": "2026-01-17T18:41:51.494571Z",
                    "is_active": true
                },
                {
                    "id": 710,
                    "french_word": "bronze",
                    "russian_word": "бронзовый",
                    "category": "color",
                    "category_display": "Color",
                    "level": 4,
                    "level_display": "Couleurs",
                    "comment": "Bronze",
                    "tags": [
                        {
                            "id": 20,
                            "name": "color",
                            "category": "category",
                            "category_display": "category",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:51.359005Z",
                            "updated_at": "2026-01-17T18:41:51.359021Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:51.463760Z",
                    "updated_at": "2026-01-17T18:41:51.463771Z",
                    "is_active": true
                },
                {
                    "id": 711,
                    "french_word": "cuivre",
                    "russian_word": "медный",
                    "category": "color",
                    "category_display": "Color",
                    "level": 4,
                    "level_display": "Couleurs",
                    "comment": "Copper",
                    "tags": [
                        {
                            "id": 20,
                            "name": "color",
                            "category": "category",
                            "category_display": "category",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:51.359005Z",
                            "updated_at": "2026-01-17T18:41:51.359021Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:51.468916Z",
                    "updated_at": "2026-01-17T18:41:51.468929Z",
                    "is_active": true
                },
                {
                    "id": 713,
                    "french_word": "laiton",
                    "russian_word": "латунный",
                    "category": "color",
                    "category_display": "Color",
                    "level": 4,
                    "level_display": "Couleurs",
                    "comment": "Brass",
                    "tags": [
                        {
                            "id": 20,
                            "name": "color",
                            "category": "category",
                            "category_display": "category",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:51.359005Z",
                            "updated_at": "2026-01-17T18:41:51.359021Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:51.479686Z",
                    "updated_at": "2026-01-17T18:41:51.479698Z",
                    "is_active": true
                },
                {
                    "id": 714,
                    "french_word": "ocre",
                    "russian_word": "охристый",
                    "category": "color",
                    "category_display": "Color",
                    "level": 4,
                    "level_display": "Couleurs",
                    "comment": "Ocher",
                    "tags": [
                        {
                            "id": 20,
                            "name": "color",
                            "category": "category",
                            "category_display": "category",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:51.359005Z",
                            "updated_at": "2026-01-17T18:41:51.359021Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:51.484619Z",
                    "updated_at": "2026-01-17T18:41:51.484629Z",
                    "is_active": true
                },
                {
                    "id": 708,
                    "french_word": "or",
                    "russian_word": "золотой",
                    "category": "color",
                    "category_display": "Color",
                    "level": 4,
                    "level_display": "Couleurs",
                    "comment": "Gold",
                    "tags": [
                        {
                            "id": 20,
                            "name": "color",
                            "category": "category",
                            "category_display": "category",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:51.359005Z",
                            "updated_at": "2026-01-17T18:41:51.359021Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:51.453866Z",
                    "updated_at": "2026-01-17T18:41:51.453878Z",
                    "is_active": true
                },
                {
                    "id": 712,
                    "french_word": "platine",
                    "russian_word": "платиновый",
                    "category": "color",
                    "category_display": "Color",
                    "level": 4,
                    "level_display": "Couleurs",
                    "comment": "Platinum",
                    "tags": [
                        {
                            "id": 20,
                            "name": "color",
                            "category": "category",
                            "category_display": "category",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:51.359005Z",
                            "updated_at": "2026-01-17T18:41:51.359021Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:51.474432Z",
                    "updated_at": "2026-01-17T18:41:51.474443Z",
                    "is_active": true
                },
                {
                    "id": 715,
                    "french_word": "rouille",
                    "russian_word": "ржавый",
                    "category": "color",
                    "category_display": "Color",
                    "level": 4,
                    "level_display": "Couleurs",
                    "comment": "Rust",
                    "tags": [
                        {
                            "id": 20,
                            "name": "color",
                            "category": "category",
                            "category_display": "category",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:51.359005Z",
                            "updated_at": "2026-01-17T18:41:51.359021Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:51.489574Z",
                    "updated_at": "2026-01-17T18:41:51.489584Z",
                    "is_active": true
                }
            ],
            "steps": [
                {
                    "id": 204,
                    "sub_level": 52,
                    "order": 1,
                    "step_type": "learning_card",
                    "step_type_display": "Learning Card",
                    "title": "Introduction à Vocabulaire des couleurs de métaux et matériaux",
                    "description": "Métaux et matériaux\n\nApprenez le vocabulaire de vocabulaire des couleurs de métaux et matériaux en russe.",
                    "is_required": true,
                    "config": {
                        "content": "Métaux et matériaux\n\nApprenez le vocabulaire de vocabulaire des couleurs de métaux et matériaux 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:51.605700Z",
                    "updated_at": "2026-01-17T18:41:51.605724Z"
                },
                {
                    "id": 205,
                    "sub_level": 52,
                    "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 couleurs de métaux et matériaux avec le mode flashcard.",
                        "min_score": 70,
                        "level": 4,
                        "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:51.609826Z",
                    "updated_at": "2026-01-17T18:41:51.609845Z"
                },
                {
                    "id": 206,
                    "sub_level": 52,
                    "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 couleurs de métaux et matériaux avec le mode matching.",
                        "min_score": 70,
                        "level": 4,
                        "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:51.613299Z",
                    "updated_at": "2026-01-17T18:41:51.613317Z"
                },
                {
                    "id": 207,
                    "sub_level": 52,
                    "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 couleurs de métaux et matériaux avec le mode multiple_choice.",
                        "min_score": 70,
                        "level": 4,
                        "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:51.617990Z",
                    "updated_at": "2026-01-17T18:41:51.618008Z"
                }
            ],
            "videos": [],
            "learning_cards": [
                {
                    "id": 204,
                    "sub_level": 52,
                    "order": 1,
                    "step_type": "learning_card",
                    "step_type_display": "Learning Card",
                    "title": "Introduction à Vocabulaire des couleurs de métaux et matériaux",
                    "description": "Métaux et matériaux\n\nApprenez le vocabulaire de vocabulaire des couleurs de métaux et matériaux en russe.",
                    "is_required": true,
                    "config": {
                        "content": "Métaux et matériaux\n\nApprenez le vocabulaire de vocabulaire des couleurs de métaux et matériaux 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:51.605700Z",
                    "updated_at": "2026-01-17T18:41:51.605724Z"
                }
            ],
            "exercises": [],
            "total_words": 9,
            "is_unlocked": false,
            "is_completed": false,
            "progress": {
                "words_mastered": 0,
                "total_words": 9,
                "completion_percentage": 0.0,
                "steps": []
            },
            "is_active": true,
            "created_at": "2026-01-17T18:41:51.596535Z",
            "updated_at": "2026-01-17T18:41:51.596551Z"
        },
        {
            "id": 53,
            "level": 11,
            "level_display": "Couleurs",
            "sub_level": 4,
            "title": "Vocabulaire des couleurs spéciales",
            "description": "Couleurs spéciales",
            "order": 4,
            "word_pairs": [
                {
                    "id": 724,
                    "french_word": "bordeaux",
                    "russian_word": "бордовый",
                    "category": "color",
                    "category_display": "Color",
                    "level": 4,
                    "level_display": "Couleurs",
                    "comment": "Burgundy",
                    "tags": [
                        {
                            "id": 20,
                            "name": "color",
                            "category": "category",
                            "category_display": "category",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:51.359005Z",
                            "updated_at": "2026-01-17T18:41:51.359021Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:51.544100Z",
                    "updated_at": "2026-01-17T18:41:51.544125Z",
                    "is_active": true
                },
                {
                    "id": 720,
                    "french_word": "chamois",
                    "russian_word": "шамois",
                    "category": "color",
                    "category_display": "Color",
                    "level": 4,
                    "level_display": "Couleurs",
                    "comment": "Chamois",
                    "tags": [
                        {
                            "id": 20,
                            "name": "color",
                            "category": "category",
                            "category_display": "category",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:51.359005Z",
                            "updated_at": "2026-01-17T18:41:51.359021Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:51.515577Z",
                    "updated_at": "2026-01-17T18:41:51.515588Z",
                    "is_active": true
                },
                {
                    "id": 717,
                    "french_word": "corail",
                    "russian_word": "коралловый",
                    "category": "color",
                    "category_display": "Color",
                    "level": 4,
                    "level_display": "Couleurs",
                    "comment": "Coral",
                    "tags": [
                        {
                            "id": 20,
                            "name": "color",
                            "category": "category",
                            "category_display": "category",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:51.359005Z",
                            "updated_at": "2026-01-17T18:41:51.359021Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:51.500292Z",
                    "updated_at": "2026-01-17T18:41:51.500302Z",
                    "is_active": true
                },
                {
                    "id": 718,
                    "french_word": "ivoire",
                    "russian_word": "слоновая кость",
                    "category": "color",
                    "category_display": "Color",
                    "level": 4,
                    "level_display": "Couleurs",
                    "comment": "Ivory",
                    "tags": [
                        {
                            "id": 20,
                            "name": "color",
                            "category": "category",
                            "category_display": "category",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:51.359005Z",
                            "updated_at": "2026-01-17T18:41:51.359021Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:51.505469Z",
                    "updated_at": "2026-01-17T18:41:51.505480Z",
                    "is_active": true
                },
                {
                    "id": 722,
                    "french_word": "kaki",
                    "russian_word": "хаки",
                    "category": "color",
                    "category_display": "Color",
                    "level": 4,
                    "level_display": "Couleurs",
                    "comment": "Khaki",
                    "tags": [
                        {
                            "id": 20,
                            "name": "color",
                            "category": "category",
                            "category_display": "category",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:51.359005Z",
                            "updated_at": "2026-01-17T18:41:51.359021Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:51.525834Z",
                    "updated_at": "2026-01-17T18:41:51.525846Z",
                    "is_active": true
                },
                {
                    "id": 723,
                    "french_word": "olive",
                    "russian_word": "оливковый",
                    "category": "color",
                    "category_display": "Color",
                    "level": 4,
                    "level_display": "Couleurs",
                    "comment": "Olive",
                    "tags": [
                        {
                            "id": 20,
                            "name": "color",
                            "category": "category",
                            "category_display": "category",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:51.359005Z",
                            "updated_at": "2026-01-17T18:41:51.359021Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:51.533370Z",
                    "updated_at": "2026-01-17T18:41:51.533395Z",
                    "is_active": true
                },
                {
                    "id": 721,
                    "french_word": "taupe",
                    "russian_word": "кротовый",
                    "category": "color",
                    "category_display": "Color",
                    "level": 4,
                    "level_display": "Couleurs",
                    "comment": "Taupe",
                    "tags": [
                        {
                            "id": 20,
                            "name": "color",
                            "category": "category",
                            "category_display": "category",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:51.359005Z",
                            "updated_at": "2026-01-17T18:41:51.359021Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:51.520672Z",
                    "updated_at": "2026-01-17T18:41:51.520682Z",
                    "is_active": true
                },
                {
                    "id": 719,
                    "french_word": "écru",
                    "russian_word": "небелёный",
                    "category": "color",
                    "category_display": "Color",
                    "level": 4,
                    "level_display": "Couleurs",
                    "comment": "Ecru",
                    "tags": [
                        {
                            "id": 20,
                            "name": "color",
                            "category": "category",
                            "category_display": "category",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:51.359005Z",
                            "updated_at": "2026-01-17T18:41:51.359021Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:51.510481Z",
                    "updated_at": "2026-01-17T18:41:51.510491Z",
                    "is_active": true
                }
            ],
            "steps": [
                {
                    "id": 208,
                    "sub_level": 53,
                    "order": 1,
                    "step_type": "learning_card",
                    "step_type_display": "Learning Card",
                    "title": "Introduction à Vocabulaire des couleurs spéciales",
                    "description": "Couleurs spéciales\n\nApprenez le vocabulaire de vocabulaire des couleurs spéciales en russe.",
                    "is_required": true,
                    "config": {
                        "content": "Couleurs spéciales\n\nApprenez le vocabulaire de vocabulaire des couleurs spéciales 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:51.630873Z",
                    "updated_at": "2026-01-17T18:41:51.630898Z"
                },
                {
                    "id": 209,
                    "sub_level": 53,
                    "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 couleurs spéciales avec le mode flashcard.",
                        "min_score": 70,
                        "level": 4,
                        "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:51.635093Z",
                    "updated_at": "2026-01-17T18:41:51.635112Z"
                },
                {
                    "id": 210,
                    "sub_level": 53,
                    "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 couleurs spéciales avec le mode matching.",
                        "min_score": 70,
                        "level": 4,
                        "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:51.639185Z",
                    "updated_at": "2026-01-17T18:41:51.639211Z"
                },
                {
                    "id": 211,
                    "sub_level": 53,
                    "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 couleurs spéciales avec le mode multiple_choice.",
                        "min_score": 70,
                        "level": 4,
                        "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:51.643898Z",
                    "updated_at": "2026-01-17T18:41:51.643921Z"
                }
            ],
            "videos": [],
            "learning_cards": [
                {
                    "id": 208,
                    "sub_level": 53,
                    "order": 1,
                    "step_type": "learning_card",
                    "step_type_display": "Learning Card",
                    "title": "Introduction à Vocabulaire des couleurs spéciales",
                    "description": "Couleurs spéciales\n\nApprenez le vocabulaire de vocabulaire des couleurs spéciales en russe.",
                    "is_required": true,
                    "config": {
                        "content": "Couleurs spéciales\n\nApprenez le vocabulaire de vocabulaire des couleurs spéciales 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:51.630873Z",
                    "updated_at": "2026-01-17T18:41:51.630898Z"
                }
            ],
            "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:51.620887Z",
            "updated_at": "2026-01-17T18:41:51.620903Z"
        },
        {
            "id": 54,
            "level": 12,
            "level_display": "Corps",
            "sub_level": 1,
            "title": "Vocabulaire de la tête et du visage",
            "description": "Tête et visage",
            "order": 1,
            "word_pairs": [
                {
                    "id": 729,
                    "french_word": "bouche",
                    "russian_word": "рот",
                    "category": "body",
                    "category_display": "Body Parts",
                    "level": 5,
                    "level_display": "Corps",
                    "comment": "Mouth",
                    "tags": [
                        {
                            "id": 21,
                            "name": "body",
                            "category": "category",
                            "category_display": "category",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:51.650601Z",
                            "updated_at": "2026-01-17T18:41:51.650614Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:51.675055Z",
                    "updated_at": "2026-01-17T18:41:51.675073Z",
                    "is_active": true
                },
                {
                    "id": 770,
                    "french_word": "cheveu",
                    "russian_word": "волос",
                    "category": "body",
                    "category_display": "Body Parts",
                    "level": 5,
                    "level_display": "Corps",
                    "comment": "Hair",
                    "tags": [
                        {
                            "id": 21,
                            "name": "body",
                            "category": "category",
                            "category_display": "category",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:51.650601Z",
                            "updated_at": "2026-01-17T18:41:51.650614Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:51.898468Z",
                    "updated_at": "2026-01-17T18:41:51.898479Z",
                    "is_active": true
                },
                {
                    "id": 771,
                    "french_word": "cheveux",
                    "russian_word": "волосы",
                    "category": "body",
                    "category_display": "Body Parts",
                    "level": 5,
                    "level_display": "Corps",
                    "comment": "Hair",
                    "tags": [
                        {
                            "id": 21,
                            "name": "body",
                            "category": "category",
                            "category_display": "category",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:51.650601Z",
                            "updated_at": "2026-01-17T18:41:51.650614Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:51.903276Z",
                    "updated_at": "2026-01-17T18:41:51.903287Z",
                    "is_active": true
                },
                {
                    "id": 735,
                    "french_word": "cil",
                    "russian_word": "ресница",
                    "category": "body",
                    "category_display": "Body Parts",
                    "level": 5,
                    "level_display": "Corps",
                    "comment": "Eyelash",
                    "tags": [
                        {
                            "id": 21,
                            "name": "body",
                            "category": "category",
                            "category_display": "category",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:51.650601Z",
                            "updated_at": "2026-01-17T18:41:51.650614Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:51.712183Z",
                    "updated_at": "2026-01-17T18:41:51.712197Z",
                    "is_active": true
                },
                {
                    "id": 736,
                    "french_word": "cils",
                    "russian_word": "ресницы",
                    "category": "body",
                    "category_display": "Body Parts",
                    "level": 5,
                    "level_display": "Corps",
                    "comment": "Eyelashes",
                    "tags": [
                        {
                            "id": 21,
                            "name": "body",
                            "category": "category",
                            "category_display": "category",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:51.650601Z",
                            "updated_at": "2026-01-17T18:41:51.650614Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:51.717432Z",
                    "updated_at": "2026-01-17T18:41:51.717446Z",
                    "is_active": true
                },
                {
                    "id": 745,
                    "french_word": "cou",
                    "russian_word": "шея",
                    "category": "body",
                    "category_display": "Body Parts",
                    "level": 5,
                    "level_display": "Corps",
                    "comment": "Neck",
                    "tags": [
                        {
                            "id": 21,
                            "name": "body",
                            "category": "category",
                            "category_display": "category",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:51.650601Z",
                            "updated_at": "2026-01-17T18:41:51.650614Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:51.771349Z",
                    "updated_at": "2026-01-17T18:41:51.771366Z",
                    "is_active": true
                },
                {
                    "id": 741,
                    "french_word": "dent",
                    "russian_word": "зуб",
                    "category": "body",
                    "category_display": "Body Parts",
                    "level": 5,
                    "level_display": "Corps",
                    "comment": "Tooth",
                    "tags": [
                        {
                            "id": 21,
                            "name": "body",
                            "category": "category",
                            "category_display": "category",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:51.650601Z",
                            "updated_at": "2026-01-17T18:41:51.650614Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:51.745484Z",
                    "updated_at": "2026-01-17T18:41:51.745516Z",
                    "is_active": true
                },
                {
                    "id": 742,
                    "french_word": "dents",
                    "russian_word": "зубы",
                    "category": "body",
                    "category_display": "Body Parts",
                    "level": 5,
                    "level_display": "Corps",
                    "comment": "Teeth",
                    "tags": [
                        {
                            "id": 21,
                            "name": "body",
                            "category": "category",
                            "category_display": "category",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:51.650601Z",
                            "updated_at": "2026-01-17T18:41:51.650614Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:51.756025Z",
                    "updated_at": "2026-01-17T18:41:51.756052Z",
                    "is_active": true
                },
                {
                    "id": 732,
                    "french_word": "front",
                    "russian_word": "лоб",
                    "category": "body",
                    "category_display": "Body Parts",
                    "level": 5,
                    "level_display": "Corps",
                    "comment": "Forehead",
                    "tags": [
                        {
                            "id": 21,
                            "name": "body",
                            "category": "category",
                            "category_display": "category",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:51.650601Z",
                            "updated_at": "2026-01-17T18:41:51.650614Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:51.696458Z",
                    "updated_at": "2026-01-17T18:41:51.696479Z",
                    "is_active": true
                },
                {
                    "id": 744,
                    "french_word": "gorge",
                    "russian_word": "горло",
                    "category": "body",
                    "category_display": "Body Parts",
                    "level": 5,
                    "level_display": "Corps",
                    "comment": "Throat",
                    "tags": [
                        {
                            "id": 21,
                            "name": "body",
                            "category": "category",
                            "category_display": "category",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:51.650601Z",
                            "updated_at": "2026-01-17T18:41:51.650614Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:51.766330Z",
                    "updated_at": "2026-01-17T18:41:51.766346Z",
                    "is_active": true
                },
                {
                    "id": 737,
                    "french_word": "joue",
                    "russian_word": "щека",
                    "category": "body",
                    "category_display": "Body Parts",
                    "level": 5,
                    "level_display": "Corps",
                    "comment": "Cheek",
                    "tags": [
                        {
                            "id": 21,
                            "name": "body",
                            "category": "category",
                            "category_display": "category",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:51.650601Z",
                            "updated_at": "2026-01-17T18:41:51.650614Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:51.722545Z",
                    "updated_at": "2026-01-17T18:41:51.722559Z",
                    "is_active": true
                },
                {
                    "id": 743,
                    "french_word": "langue",
                    "russian_word": "язык",
                    "category": "body",
                    "category_display": "Body Parts",
                    "level": 5,
                    "level_display": "Corps",
                    "comment": "Tongue",
                    "tags": [
                        {
                            "id": 21,
                            "name": "body",
                            "category": "category",
                            "category_display": "category",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:51.650601Z",
                            "updated_at": "2026-01-17T18:41:51.650614Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:51.761327Z",
                    "updated_at": "2026-01-17T18:41:51.761344Z",
                    "is_active": true
                },
                {
                    "id": 739,
                    "french_word": "lèvre",
                    "russian_word": "губа",
                    "category": "body",
                    "category_display": "Body Parts",
                    "level": 5,
                    "level_display": "Corps",
                    "comment": "Lip",
                    "tags": [
                        {
                            "id": 21,
                            "name": "body",
                            "category": "category",
                            "category_display": "category",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:51.650601Z",
                            "updated_at": "2026-01-17T18:41:51.650614Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:51.733797Z",
                    "updated_at": "2026-01-17T18:41:51.733829Z",
                    "is_active": true
                },
                {
                    "id": 740,
                    "french_word": "lèvres",
                    "russian_word": "губы",
                    "category": "body",
                    "category_display": "Body Parts",
                    "level": 5,
                    "level_display": "Corps",
                    "comment": "Lips",
                    "tags": [
                        {
                            "id": 21,
                            "name": "body",
                            "category": "category",
                            "category_display": "category",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:51.650601Z",
                            "updated_at": "2026-01-17T18:41:51.650614Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:51.739975Z",
                    "updated_at": "2026-01-17T18:41:51.740002Z",
                    "is_active": true
                },
                {
                    "id": 738,
                    "french_word": "menton",
                    "russian_word": "подбородок",
                    "category": "body",
                    "category_display": "Body Parts",
                    "level": 5,
                    "level_display": "Corps",
                    "comment": "Chin",
                    "tags": [
                        {
                            "id": 21,
                            "name": "body",
                            "category": "category",
                            "category_display": "category",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:51.650601Z",
                            "updated_at": "2026-01-17T18:41:51.650614Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:51.728273Z",
                    "updated_at": "2026-01-17T18:41:51.728299Z",
                    "is_active": true
                },
                {
                    "id": 728,
                    "french_word": "nez",
                    "russian_word": "нос",
                    "category": "body",
                    "category_display": "Body Parts",
                    "level": 5,
                    "level_display": "Corps",
                    "comment": "Nose",
                    "tags": [
                        {
                            "id": 21,
                            "name": "body",
                            "category": "category",
                            "category_display": "category",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:51.650601Z",
                            "updated_at": "2026-01-17T18:41:51.650614Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:51.669531Z",
                    "updated_at": "2026-01-17T18:41:51.669549Z",
                    "is_active": true
                },
                {
                    "id": 730,
                    "french_word": "oreille",
                    "russian_word": "ухо",
                    "category": "body",
                    "category_display": "Body Parts",
                    "level": 5,
                    "level_display": "Corps",
                    "comment": "Ear",
                    "tags": [
                        {
                            "id": 21,
                            "name": "body",
                            "category": "category",
                            "category_display": "category",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:51.650601Z",
                            "updated_at": "2026-01-17T18:41:51.650614Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:51.684318Z",
                    "updated_at": "2026-01-17T18:41:51.684342Z",
                    "is_active": true
                },
                {
                    "id": 731,
                    "french_word": "oreilles",
                    "russian_word": "уши",
                    "category": "body",
                    "category_display": "Body Parts",
                    "level": 5,
                    "level_display": "Corps",
                    "comment": "Ears",
                    "tags": [
                        {
                            "id": 21,
                            "name": "body",
                            "category": "category",
                            "category_display": "category",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:51.650601Z",
                            "updated_at": "2026-01-17T18:41:51.650614Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:51.689773Z",
                    "updated_at": "2026-01-17T18:41:51.689795Z",
                    "is_active": true
                },
                {
                    "id": 733,
                    "french_word": "sourcil",
                    "russian_word": "бровь",
                    "category": "body",
                    "category_display": "Body Parts",
                    "level": 5,
                    "level_display": "Corps",
                    "comment": "Eyebrow",
                    "tags": [
                        {
                            "id": 21,
                            "name": "body",
                            "category": "category",
                            "category_display": "category",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:51.650601Z",
                            "updated_at": "2026-01-17T18:41:51.650614Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:51.701878Z",
                    "updated_at": "2026-01-17T18:41:51.701894Z",
                    "is_active": true
                },
                {
                    "id": 734,
                    "french_word": "sourcils",
                    "russian_word": "брови",
                    "category": "body",
                    "category_display": "Body Parts",
                    "level": 5,
                    "level_display": "Corps",
                    "comment": "Eyebrows",
                    "tags": [
                        {
                            "id": 21,
                            "name": "body",
                            "category": "category",
                            "category_display": "category",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:51.650601Z",
                            "updated_at": "2026-01-17T18:41:51.650614Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:51.707080Z",
                    "updated_at": "2026-01-17T18:41:51.707097Z",
                    "is_active": true
                },
                {
                    "id": 725,
                    "french_word": "tête",
                    "russian_word": "голова",
                    "category": "body",
                    "category_display": "Body Parts",
                    "level": 5,
                    "level_display": "Corps",
                    "comment": "Head",
                    "tags": [
                        {
                            "id": 21,
                            "name": "body",
                            "category": "category",
                            "category_display": "category",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:51.650601Z",
                            "updated_at": "2026-01-17T18:41:51.650614Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:51.653315Z",
                    "updated_at": "2026-01-17T18:41:51.653329Z",
                    "is_active": true
                },
                {
                    "id": 726,
                    "french_word": "visage",
                    "russian_word": "лицо",
                    "category": "body",
                    "category_display": "Body Parts",
                    "level": 5,
                    "level_display": "Corps",
                    "comment": "Face",
                    "tags": [
                        {
                            "id": 21,
                            "name": "body",
                            "category": "category",
                            "category_display": "category",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:51.650601Z",
                            "updated_at": "2026-01-17T18:41:51.650614Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:51.658763Z",
                    "updated_at": "2026-01-17T18:41:51.658779Z",
                    "is_active": true
                },
                {
                    "id": 727,
                    "french_word": "œil",
                    "russian_word": "глаз",
                    "category": "body",
                    "category_display": "Body Parts",
                    "level": 5,
                    "level_display": "Corps",
                    "comment": "Eye",
                    "tags": [
                        {
                            "id": 21,
                            "name": "body",
                            "category": "category",
                            "category_display": "category",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:51.650601Z",
                            "updated_at": "2026-01-17T18:41:51.650614Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:51.663975Z",
                    "updated_at": "2026-01-17T18:41:51.663991Z",
                    "is_active": true
                }
            ],
            "steps": [
                {
                    "id": 212,
                    "sub_level": 54,
                    "order": 1,
                    "step_type": "learning_card",
                    "step_type_display": "Learning Card",
                    "title": "Introduction à Vocabulaire de la tête et du visage",
                    "description": "Tête et visage\n\nApprenez le vocabulaire de vocabulaire de la tête et du visage en russe.",
                    "is_required": true,
                    "config": {
                        "content": "Tête et visage\n\nApprenez le vocabulaire de vocabulaire de la tête et du visage 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:51.995624Z",
                    "updated_at": "2026-01-17T18:41:51.995635Z"
                },
                {
                    "id": 213,
                    "sub_level": 54,
                    "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 de la tête et du visage avec le mode flashcard.",
                        "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:51.998986Z",
                    "updated_at": "2026-01-17T18:41:51.998996Z"
                },
                {
                    "id": 214,
                    "sub_level": 54,
                    "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 de la tête et du visage avec le mode matching.",
                        "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:52.002196Z",
                    "updated_at": "2026-01-17T18:41:52.002207Z"
                },
                {
                    "id": 215,
                    "sub_level": 54,
                    "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 de la tête et du visage avec le mode multiple_choice.",
                        "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:52.005257Z",
                    "updated_at": "2026-01-17T18:41:52.005267Z"
                }
            ],
            "videos": [],
            "learning_cards": [
                {
                    "id": 212,
                    "sub_level": 54,
                    "order": 1,
                    "step_type": "learning_card",
                    "step_type_display": "Learning Card",
                    "title": "Introduction à Vocabulaire de la tête et du visage",
                    "description": "Tête et visage\n\nApprenez le vocabulaire de vocabulaire de la tête et du visage en russe.",
                    "is_required": true,
                    "config": {
                        "content": "Tête et visage\n\nApprenez le vocabulaire de vocabulaire de la tête et du visage 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:51.995624Z",
                    "updated_at": "2026-01-17T18:41:51.995635Z"
                }
            ],
            "exercises": [],
            "total_words": 23,
            "is_unlocked": false,
            "is_completed": false,
            "progress": {
                "words_mastered": 0,
                "total_words": 23,
                "completion_percentage": 0.0,
                "steps": []
            },
            "is_active": true,
            "created_at": "2026-01-17T18:41:51.987733Z",
            "updated_at": "2026-01-17T18:41:51.987744Z"
        },
        {
            "id": 55,
            "level": 12,
            "level_display": "Corps",
            "sub_level": 2,
            "title": "Vocabulaire des mains et des bras",
            "description": "Mains et bras",
            "order": 2,
            "word_pairs": [
                {
                    "id": 757,
                    "french_word": "avant-bras",
                    "russian_word": "предплечье",
                    "category": "body",
                    "category_display": "Body Parts",
                    "level": 5,
                    "level_display": "Corps",
                    "comment": "Forearm",
                    "tags": [
                        {
                            "id": 21,
                            "name": "body",
                            "category": "category",
                            "category_display": "category",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:51.650601Z",
                            "updated_at": "2026-01-17T18:41:51.650614Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:51.831718Z",
                    "updated_at": "2026-01-17T18:41:51.831728Z",
                    "is_active": true
                },
                {
                    "id": 747,
                    "french_word": "bras",
                    "russian_word": "рука",
                    "category": "body",
                    "category_display": "Body Parts",
                    "level": 5,
                    "level_display": "Corps",
                    "comment": "Arm",
                    "tags": [
                        {
                            "id": 21,
                            "name": "body",
                            "category": "category",
                            "category_display": "category",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:51.650601Z",
                            "updated_at": "2026-01-17T18:41:51.650614Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:51.781306Z",
                    "updated_at": "2026-01-17T18:41:51.781320Z",
                    "is_active": true
                },
                {
                    "id": 750,
                    "french_word": "coude",
                    "russian_word": "локоть",
                    "category": "body",
                    "category_display": "Body Parts",
                    "level": 5,
                    "level_display": "Corps",
                    "comment": "Elbow",
                    "tags": [
                        {
                            "id": 21,
                            "name": "body",
                            "category": "category",
                            "category_display": "category",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:51.650601Z",
                            "updated_at": "2026-01-17T18:41:51.650614Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:51.796007Z",
                    "updated_at": "2026-01-17T18:41:51.796024Z",
                    "is_active": true
                },
                {
                    "id": 751,
                    "french_word": "coudes",
                    "russian_word": "локти",
                    "category": "body",
                    "category_display": "Body Parts",
                    "level": 5,
                    "level_display": "Corps",
                    "comment": "Elbows",
                    "tags": [
                        {
                            "id": 21,
                            "name": "body",
                            "category": "category",
                            "category_display": "category",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:51.650601Z",
                            "updated_at": "2026-01-17T18:41:51.650614Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:51.801024Z",
                    "updated_at": "2026-01-17T18:41:51.801035Z",
                    "is_active": true
                },
                {
                    "id": 774,
                    "french_word": "doigt",
                    "russian_word": "палец",
                    "category": "body",
                    "category_display": "Body Parts",
                    "level": 5,
                    "level_display": "Corps",
                    "comment": "Finger",
                    "tags": [
                        {
                            "id": 21,
                            "name": "body",
                            "category": "category",
                            "category_display": "category",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:51.650601Z",
                            "updated_at": "2026-01-17T18:41:51.650614Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:51.917601Z",
                    "updated_at": "2026-01-17T18:41:51.917612Z",
                    "is_active": true
                },
                {
                    "id": 775,
                    "french_word": "doigts",
                    "russian_word": "пальцы",
                    "category": "body",
                    "category_display": "Body Parts",
                    "level": 5,
                    "level_display": "Corps",
                    "comment": "Fingers",
                    "tags": [
                        {
                            "id": 21,
                            "name": "body",
                            "category": "category",
                            "category_display": "category",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:51.650601Z",
                            "updated_at": "2026-01-17T18:41:51.650614Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:51.922641Z",
                    "updated_at": "2026-01-17T18:41:51.922655Z",
                    "is_active": true
                },
                {
                    "id": 777,
                    "french_word": "index",
                    "russian_word": "указательный палец",
                    "category": "body",
                    "category_display": "Body Parts",
                    "level": 5,
                    "level_display": "Corps",
                    "comment": "Index finger",
                    "tags": [
                        {
                            "id": 21,
                            "name": "body",
                            "category": "category",
                            "category_display": "category",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:51.650601Z",
                            "updated_at": "2026-01-17T18:41:51.650614Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:51.932459Z",
                    "updated_at": "2026-01-17T18:41:51.932472Z",
                    "is_active": true
                },
                {
                    "id": 746,
                    "french_word": "main",
                    "russian_word": "рука",
                    "category": "body",
                    "category_display": "Body Parts",
                    "level": 5,
                    "level_display": "Corps",
                    "comment": "Hand",
                    "tags": [
                        {
                            "id": 21,
                            "name": "body",
                            "category": "category",
                            "category_display": "category",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:51.650601Z",
                            "updated_at": "2026-01-17T18:41:51.650614Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:51.776278Z",
                    "updated_at": "2026-01-17T18:41:51.776291Z",
                    "is_active": true
                },
                {
                    "id": 778,
                    "french_word": "ongle",
                    "russian_word": "ноготь",
                    "category": "body",
                    "category_display": "Body Parts",
                    "level": 5,
                    "level_display": "Corps",
                    "comment": "Nail",
                    "tags": [
                        {
                            "id": 21,
                            "name": "body",
                            "category": "category",
                            "category_display": "category",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:51.650601Z",
                            "updated_at": "2026-01-17T18:41:51.650614Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:51.937227Z",
                    "updated_at": "2026-01-17T18:41:51.937239Z",
                    "is_active": true
                },
                {
                    "id": 779,
                    "french_word": "ongles",
                    "russian_word": "ногти",
                    "category": "body",
                    "category_display": "Body Parts",
                    "level": 5,
                    "level_display": "Corps",
                    "comment": "Nails",
                    "tags": [
                        {
                            "id": 21,
                            "name": "body",
                            "category": "category",
                            "category_display": "category",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:51.650601Z",
                            "updated_at": "2026-01-17T18:41:51.650614Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:51.942135Z",
                    "updated_at": "2026-01-17T18:41:51.942148Z",
                    "is_active": true
                },
                {
                    "id": 754,
                    "french_word": "paume",
                    "russian_word": "ладонь",
                    "category": "body",
                    "category_display": "Body Parts",
                    "level": 5,
                    "level_display": "Corps",
                    "comment": "Palm",
                    "tags": [
                        {
                            "id": 21,
                            "name": "body",
                            "category": "category",
                            "category_display": "category",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:51.650601Z",
                            "updated_at": "2026-01-17T18:41:51.650614Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:51.816093Z",
                    "updated_at": "2026-01-17T18:41:51.816103Z",
                    "is_active": true
                },
                {
                    "id": 752,
                    "french_word": "poignet",
                    "russian_word": "запястье",
                    "category": "body",
                    "category_display": "Body Parts",
                    "level": 5,
                    "level_display": "Corps",
                    "comment": "Wrist",
                    "tags": [
                        {
                            "id": 21,
                            "name": "body",
                            "category": "category",
                            "category_display": "category",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:51.650601Z",
                            "updated_at": "2026-01-17T18:41:51.650614Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:51.806352Z",
                    "updated_at": "2026-01-17T18:41:51.806363Z",
                    "is_active": true
                },
                {
                    "id": 753,
                    "french_word": "poignets",
                    "russian_word": "запястья",
                    "category": "body",
                    "category_display": "Body Parts",
                    "level": 5,
                    "level_display": "Corps",
                    "comment": "Wrists",
                    "tags": [
                        {
                            "id": 21,
                            "name": "body",
                            "category": "category",
                            "category_display": "category",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:51.650601Z",
                            "updated_at": "2026-01-17T18:41:51.650614Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:51.811237Z",
                    "updated_at": "2026-01-17T18:41:51.811247Z",
                    "is_active": true
                },
                {
                    "id": 755,
                    "french_word": "poing",
                    "russian_word": "кулак",
                    "category": "body",
                    "category_display": "Body Parts",
                    "level": 5,
                    "level_display": "Corps",
                    "comment": "Fist",
                    "tags": [
                        {
                            "id": 21,
                            "name": "body",
                            "category": "category",
                            "category_display": "category",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:51.650601Z",
                            "updated_at": "2026-01-17T18:41:51.650614Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:51.821109Z",
                    "updated_at": "2026-01-17T18:41:51.821122Z",
                    "is_active": true
                },
                {
                    "id": 756,
                    "french_word": "poings",
                    "russian_word": "кулаки",
                    "category": "body",
                    "category_display": "Body Parts",
                    "level": 5,
                    "level_display": "Corps",
                    "comment": "Fists",
                    "tags": [
                        {
                            "id": 21,
                            "name": "body",
                            "category": "category",
                            "category_display": "category",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:51.650601Z",
                            "updated_at": "2026-01-17T18:41:51.650614Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:51.826069Z",
                    "updated_at": "2026-01-17T18:41:51.826079Z",
                    "is_active": true
                },
                {
                    "id": 776,
                    "french_word": "pouce",
                    "russian_word": "большой палец",
                    "category": "body",
                    "category_display": "Body Parts",
                    "level": 5,
                    "level_display": "Corps",
                    "comment": "Thumb",
                    "tags": [
                        {
                            "id": 21,
                            "name": "body",
                            "category": "category",
                            "category_display": "category",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:51.650601Z",
                            "updated_at": "2026-01-17T18:41:51.650614Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:51.927459Z",
                    "updated_at": "2026-01-17T18:41:51.927474Z",
                    "is_active": true
                },
                {
                    "id": 748,
                    "french_word": "épaule",
                    "russian_word": "плечо",
                    "category": "body",
                    "category_display": "Body Parts",
                    "level": 5,
                    "level_display": "Corps",
                    "comment": "Shoulder",
                    "tags": [
                        {
                            "id": 21,
                            "name": "body",
                            "category": "category",
                            "category_display": "category",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:51.650601Z",
                            "updated_at": "2026-01-17T18:41:51.650614Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:51.786093Z",
                    "updated_at": "2026-01-17T18:41:51.786103Z",
                    "is_active": true
                },
                {
                    "id": 749,
                    "french_word": "épaules",
                    "russian_word": "плечи",
                    "category": "body",
                    "category_display": "Body Parts",
                    "level": 5,
                    "level_display": "Corps",
                    "comment": "Shoulders",
                    "tags": [
                        {
                            "id": 21,
                            "name": "body",
                            "category": "category",
                            "category_display": "category",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:51.650601Z",
                            "updated_at": "2026-01-17T18:41:51.650614Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:51.790965Z",
                    "updated_at": "2026-01-17T18:41:51.790977Z",
                    "is_active": true
                }
            ],
            "steps": [
                {
                    "id": 216,
                    "sub_level": 55,
                    "order": 1,
                    "step_type": "learning_card",
                    "step_type_display": "Learning Card",
                    "title": "Introduction à Vocabulaire des mains et des bras",
                    "description": "Mains et bras\n\nApprenez le vocabulaire de vocabulaire des mains et des bras en russe.",
                    "is_required": true,
                    "config": {
                        "content": "Mains et bras\n\nApprenez le vocabulaire de vocabulaire des mains et des bras 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:52.015536Z",
                    "updated_at": "2026-01-17T18:41:52.015547Z"
                },
                {
                    "id": 217,
                    "sub_level": 55,
                    "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 mains et des bras avec le mode flashcard.",
                        "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:52.018968Z",
                    "updated_at": "2026-01-17T18:41:52.018978Z"
                },
                {
                    "id": 218,
                    "sub_level": 55,
                    "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 mains et des bras avec le mode matching.",
                        "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:52.021957Z",
                    "updated_at": "2026-01-17T18:41:52.021968Z"
                },
                {
                    "id": 219,
                    "sub_level": 55,
                    "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 mains et des bras avec le mode multiple_choice.",
                        "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:52.025152Z",
                    "updated_at": "2026-01-17T18:41:52.025164Z"
                }
            ],
            "videos": [],
            "learning_cards": [
                {
                    "id": 216,
                    "sub_level": 55,
                    "order": 1,
                    "step_type": "learning_card",
                    "step_type_display": "Learning Card",
                    "title": "Introduction à Vocabulaire des mains et des bras",
                    "description": "Mains et bras\n\nApprenez le vocabulaire de vocabulaire des mains et des bras en russe.",
                    "is_required": true,
                    "config": {
                        "content": "Mains et bras\n\nApprenez le vocabulaire de vocabulaire des mains et des bras 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:52.015536Z",
                    "updated_at": "2026-01-17T18:41:52.015547Z"
                }
            ],
            "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:52.007940Z",
            "updated_at": "2026-01-17T18:41:52.007954Z"
        },
        {
            "id": 56,
            "level": 12,
            "level_display": "Corps",
            "sub_level": 3,
            "title": "Vocabulaire des jambes et des pieds",
            "description": "Jambes et pieds",
            "order": 3,
            "word_pairs": [
                {
                    "id": 787,
                    "french_word": "cheville",
                    "russian_word": "лодыжка",
                    "category": "body",
                    "category_display": "Body Parts",
                    "level": 5,
                    "level_display": "Corps",
                    "comment": "Ankle",
                    "tags": [
                        {
                            "id": 21,
                            "name": "body",
                            "category": "category",
                            "category_display": "category",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:51.650601Z",
                            "updated_at": "2026-01-17T18:41:51.650614Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:51.982000Z",
                    "updated_at": "2026-01-17T18:41:51.982015Z",
                    "is_active": true
                },
                {
                    "id": 782,
                    "french_word": "cuisse",
                    "russian_word": "бедро",
                    "category": "body",
                    "category_display": "Body Parts",
                    "level": 5,
                    "level_display": "Corps",
                    "comment": "Thigh",
                    "tags": [
                        {
                            "id": 21,
                            "name": "body",
                            "category": "category",
                            "category_display": "category",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:51.650601Z",
                            "updated_at": "2026-01-17T18:41:51.650614Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:51.956344Z",
                    "updated_at": "2026-01-17T18:41:51.956354Z",
                    "is_active": true
                },
                {
                    "id": 783,
                    "french_word": "cuisses",
                    "russian_word": "бёдра",
                    "category": "body",
                    "category_display": "Body Parts",
                    "level": 5,
                    "level_display": "Corps",
                    "comment": "Thighs",
                    "tags": [
                        {
                            "id": 21,
                            "name": "body",
                            "category": "category",
                            "category_display": "category",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:51.650601Z",
                            "updated_at": "2026-01-17T18:41:51.650614Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:51.961286Z",
                    "updated_at": "2026-01-17T18:41:51.961295Z",
                    "is_active": true
                },
                {
                    "id": 784,
                    "french_word": "genou",
                    "russian_word": "колено",
                    "category": "body",
                    "category_display": "Body Parts",
                    "level": 5,
                    "level_display": "Corps",
                    "comment": "Knee",
                    "tags": [
                        {
                            "id": 21,
                            "name": "body",
                            "category": "category",
                            "category_display": "category",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:51.650601Z",
                            "updated_at": "2026-01-17T18:41:51.650614Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:51.966773Z",
                    "updated_at": "2026-01-17T18:41:51.966785Z",
                    "is_active": true
                },
                {
                    "id": 785,
                    "french_word": "genoux",
                    "russian_word": "колени",
                    "category": "body",
                    "category_display": "Body Parts",
                    "level": 5,
                    "level_display": "Corps",
                    "comment": "Knees",
                    "tags": [
                        {
                            "id": 21,
                            "name": "body",
                            "category": "category",
                            "category_display": "category",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:51.650601Z",
                            "updated_at": "2026-01-17T18:41:51.650614Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:51.971620Z",
                    "updated_at": "2026-01-17T18:41:51.971635Z",
                    "is_active": true
                },
                {
                    "id": 780,
                    "french_word": "hanche",
                    "russian_word": "бедро",
                    "category": "body",
                    "category_display": "Body Parts",
                    "level": 5,
                    "level_display": "Corps",
                    "comment": "Hip",
                    "tags": [
                        {
                            "id": 21,
                            "name": "body",
                            "category": "category",
                            "category_display": "category",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:51.650601Z",
                            "updated_at": "2026-01-17T18:41:51.650614Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:51.946822Z",
                    "updated_at": "2026-01-17T18:41:51.946834Z",
                    "is_active": true
                },
                {
                    "id": 781,
                    "french_word": "hanches",
                    "russian_word": "бёдра",
                    "category": "body",
                    "category_display": "Body Parts",
                    "level": 5,
                    "level_display": "Corps",
                    "comment": "Hips",
                    "tags": [
                        {
                            "id": 21,
                            "name": "body",
                            "category": "category",
                            "category_display": "category",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:51.650601Z",
                            "updated_at": "2026-01-17T18:41:51.650614Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:51.951482Z",
                    "updated_at": "2026-01-17T18:41:51.951495Z",
                    "is_active": true
                },
                {
                    "id": 758,
                    "french_word": "jambe",
                    "russian_word": "нога",
                    "category": "body",
                    "category_display": "Body Parts",
                    "level": 5,
                    "level_display": "Corps",
                    "comment": "Leg",
                    "tags": [
                        {
                            "id": 21,
                            "name": "body",
                            "category": "category",
                            "category_display": "category",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:51.650601Z",
                            "updated_at": "2026-01-17T18:41:51.650614Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:51.836818Z",
                    "updated_at": "2026-01-17T18:41:51.836829Z",
                    "is_active": true
                },
                {
                    "id": 786,
                    "french_word": "mollet",
                    "russian_word": "икра",
                    "category": "body",
                    "category_display": "Body Parts",
                    "level": 5,
                    "level_display": "Corps",
                    "comment": "Calf",
                    "tags": [
                        {
                            "id": 21,
                            "name": "body",
                            "category": "category",
                            "category_display": "category",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:51.650601Z",
                            "updated_at": "2026-01-17T18:41:51.650614Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:51.977111Z",
                    "updated_at": "2026-01-17T18:41:51.977121Z",
                    "is_active": true
                },
                {
                    "id": 759,
                    "french_word": "pied",
                    "russian_word": "нога",
                    "category": "body",
                    "category_display": "Body Parts",
                    "level": 5,
                    "level_display": "Corps",
                    "comment": "Foot",
                    "tags": [
                        {
                            "id": 21,
                            "name": "body",
                            "category": "category",
                            "category_display": "category",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:51.650601Z",
                            "updated_at": "2026-01-17T18:41:51.650614Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:51.841886Z",
                    "updated_at": "2026-01-17T18:41:51.841899Z",
                    "is_active": true
                }
            ],
            "steps": [
                {
                    "id": 220,
                    "sub_level": 56,
                    "order": 1,
                    "step_type": "learning_card",
                    "step_type_display": "Learning Card",
                    "title": "Introduction à Vocabulaire des jambes et des pieds",
                    "description": "Jambes et pieds\n\nApprenez le vocabulaire de vocabulaire des jambes et des pieds en russe.",
                    "is_required": true,
                    "config": {
                        "content": "Jambes et pieds\n\nApprenez le vocabulaire de vocabulaire des jambes et des pieds 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:52.035788Z",
                    "updated_at": "2026-01-17T18:41:52.035800Z"
                },
                {
                    "id": 221,
                    "sub_level": 56,
                    "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 jambes et des pieds avec le mode flashcard.",
                        "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:52.039759Z",
                    "updated_at": "2026-01-17T18:41:52.039770Z"
                },
                {
                    "id": 222,
                    "sub_level": 56,
                    "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 jambes et des pieds avec le mode matching.",
                        "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:52.042868Z",
                    "updated_at": "2026-01-17T18:41:52.042879Z"
                },
                {
                    "id": 223,
                    "sub_level": 56,
                    "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 jambes et des pieds avec le mode multiple_choice.",
                        "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:52.046255Z",
                    "updated_at": "2026-01-17T18:41:52.046269Z"
                }
            ],
            "videos": [],
            "learning_cards": [
                {
                    "id": 220,
                    "sub_level": 56,
                    "order": 1,
                    "step_type": "learning_card",
                    "step_type_display": "Learning Card",
                    "title": "Introduction à Vocabulaire des jambes et des pieds",
                    "description": "Jambes et pieds\n\nApprenez le vocabulaire de vocabulaire des jambes et des pieds en russe.",
                    "is_required": true,
                    "config": {
                        "content": "Jambes et pieds\n\nApprenez le vocabulaire de vocabulaire des jambes et des pieds 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:52.035788Z",
                    "updated_at": "2026-01-17T18:41:52.035800Z"
                }
            ],
            "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:52.027957Z",
            "updated_at": "2026-01-17T18:41:52.027971Z"
        },
        {
            "id": 57,
            "level": 12,
            "level_display": "Corps",
            "sub_level": 4,
            "title": "Vocabulaire des organes internes",
            "description": "Organes internes",
            "order": 4,
            "word_pairs": [
                {
                    "id": 761,
                    "french_word": "cerveau",
                    "russian_word": "мозг",
                    "category": "body",
                    "category_display": "Body Parts",
                    "level": 5,
                    "level_display": "Corps",
                    "comment": "Brain",
                    "tags": [
                        {
                            "id": 21,
                            "name": "body",
                            "category": "category",
                            "category_display": "category",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:51.650601Z",
                            "updated_at": "2026-01-17T18:41:51.650614Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:51.852192Z",
                    "updated_at": "2026-01-17T18:41:51.852203Z",
                    "is_active": true
                },
                {
                    "id": 760,
                    "french_word": "cœur",
                    "russian_word": "сердце",
                    "category": "body",
                    "category_display": "Body Parts",
                    "level": 5,
                    "level_display": "Corps",
                    "comment": "Heart",
                    "tags": [
                        {
                            "id": 21,
                            "name": "body",
                            "category": "category",
                            "category_display": "category",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:51.650601Z",
                            "updated_at": "2026-01-17T18:41:51.650614Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:51.846892Z",
                    "updated_at": "2026-01-17T18:41:51.846903Z",
                    "is_active": true
                },
                {
                    "id": 762,
                    "french_word": "foie",
                    "russian_word": "печень",
                    "category": "body",
                    "category_display": "Body Parts",
                    "level": 5,
                    "level_display": "Corps",
                    "comment": "Liver",
                    "tags": [
                        {
                            "id": 21,
                            "name": "body",
                            "category": "category",
                            "category_display": "category",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:51.650601Z",
                            "updated_at": "2026-01-17T18:41:51.650614Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:51.857408Z",
                    "updated_at": "2026-01-17T18:41:51.857419Z",
                    "is_active": true
                },
                {
                    "id": 764,
                    "french_word": "intestin",
                    "russian_word": "кишка",
                    "category": "body",
                    "category_display": "Body Parts",
                    "level": 5,
                    "level_display": "Corps",
                    "comment": "Intestine",
                    "tags": [
                        {
                            "id": 21,
                            "name": "body",
                            "category": "category",
                            "category_display": "category",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:51.650601Z",
                            "updated_at": "2026-01-17T18:41:51.650614Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:51.867695Z",
                    "updated_at": "2026-01-17T18:41:51.867705Z",
                    "is_active": true
                },
                {
                    "id": 772,
                    "french_word": "poumon",
                    "russian_word": "лёгкое",
                    "category": "body",
                    "category_display": "Body Parts",
                    "level": 5,
                    "level_display": "Corps",
                    "comment": "Lung",
                    "tags": [
                        {
                            "id": 21,
                            "name": "body",
                            "category": "category",
                            "category_display": "category",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:51.650601Z",
                            "updated_at": "2026-01-17T18:41:51.650614Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:51.908054Z",
                    "updated_at": "2026-01-17T18:41:51.908067Z",
                    "is_active": true
                },
                {
                    "id": 773,
                    "french_word": "poumons",
                    "russian_word": "лёгкие",
                    "category": "body",
                    "category_display": "Body Parts",
                    "level": 5,
                    "level_display": "Corps",
                    "comment": "Lungs",
                    "tags": [
                        {
                            "id": 21,
                            "name": "body",
                            "category": "category",
                            "category_display": "category",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:51.650601Z",
                            "updated_at": "2026-01-17T18:41:51.650614Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:51.912751Z",
                    "updated_at": "2026-01-17T18:41:51.912762Z",
                    "is_active": true
                },
                {
                    "id": 763,
                    "french_word": "rein",
                    "russian_word": "почка",
                    "category": "body",
                    "category_display": "Body Parts",
                    "level": 5,
                    "level_display": "Corps",
                    "comment": "Kidney",
                    "tags": [
                        {
                            "id": 21,
                            "name": "body",
                            "category": "category",
                            "category_display": "category",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:51.650601Z",
                            "updated_at": "2026-01-17T18:41:51.650614Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:51.862519Z",
                    "updated_at": "2026-01-17T18:41:51.862530Z",
                    "is_active": true
                }
            ],
            "steps": [
                {
                    "id": 224,
                    "sub_level": 57,
                    "order": 1,
                    "step_type": "learning_card",
                    "step_type_display": "Learning Card",
                    "title": "Introduction à Vocabulaire des organes internes",
                    "description": "Organes internes\n\nApprenez le vocabulaire de vocabulaire des organes internes en russe.",
                    "is_required": true,
                    "config": {
                        "content": "Organes internes\n\nApprenez le vocabulaire de vocabulaire des organes internes 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:52.056893Z",
                    "updated_at": "2026-01-17T18:41:52.056905Z"
                },
                {
                    "id": 225,
                    "sub_level": 57,
                    "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 organes internes avec le mode flashcard.",
                        "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:52.060324Z",
                    "updated_at": "2026-01-17T18:41:52.060335Z"
                },
                {
                    "id": 226,
                    "sub_level": 57,
                    "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 organes internes avec le mode matching.",
                        "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:52.063585Z",
                    "updated_at": "2026-01-17T18:41:52.063596Z"
                },
                {
                    "id": 227,
                    "sub_level": 57,
                    "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 organes internes avec le mode multiple_choice.",
                        "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:52.066613Z",
                    "updated_at": "2026-01-17T18:41:52.066623Z"
                }
            ],
            "videos": [],
            "learning_cards": [
                {
                    "id": 224,
                    "sub_level": 57,
                    "order": 1,
                    "step_type": "learning_card",
                    "step_type_display": "Learning Card",
                    "title": "Introduction à Vocabulaire des organes internes",
                    "description": "Organes internes\n\nApprenez le vocabulaire de vocabulaire des organes internes en russe.",
                    "is_required": true,
                    "config": {
                        "content": "Organes internes\n\nApprenez le vocabulaire de vocabulaire des organes internes 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:52.056893Z",
                    "updated_at": "2026-01-17T18:41:52.056905Z"
                }
            ],
            "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:52.049032Z",
            "updated_at": "2026-01-17T18:41:52.049044Z"
        },
        {
            "id": 58,
            "level": 12,
            "level_display": "Corps",
            "sub_level": 5,
            "title": "Vocabulaire du système corporel",
            "description": "Système corporel",
            "order": 5,
            "word_pairs": [
                {
                    "id": 770,
                    "french_word": "cheveu",
                    "russian_word": "волос",
                    "category": "body",
                    "category_display": "Body Parts",
                    "level": 5,
                    "level_display": "Corps",
                    "comment": "Hair",
                    "tags": [
                        {
                            "id": 21,
                            "name": "body",
                            "category": "category",
                            "category_display": "category",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:51.650601Z",
                            "updated_at": "2026-01-17T18:41:51.650614Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:51.898468Z",
                    "updated_at": "2026-01-17T18:41:51.898479Z",
                    "is_active": true
                },
                {
                    "id": 771,
                    "french_word": "cheveux",
                    "russian_word": "волосы",
                    "category": "body",
                    "category_display": "Body Parts",
                    "level": 5,
                    "level_display": "Corps",
                    "comment": "Hair",
                    "tags": [
                        {
                            "id": 21,
                            "name": "body",
                            "category": "category",
                            "category_display": "category",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:51.650601Z",
                            "updated_at": "2026-01-17T18:41:51.650614Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:51.903276Z",
                    "updated_at": "2026-01-17T18:41:51.903287Z",
                    "is_active": true
                },
                {
                    "id": 766,
                    "french_word": "muscle",
                    "russian_word": "мышца",
                    "category": "body",
                    "category_display": "Body Parts",
                    "level": 5,
                    "level_display": "Corps",
                    "comment": "Muscle",
                    "tags": [
                        {
                            "id": 21,
                            "name": "body",
                            "category": "category",
                            "category_display": "category",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:51.650601Z",
                            "updated_at": "2026-01-17T18:41:51.650614Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:51.878024Z",
                    "updated_at": "2026-01-17T18:41:51.878034Z",
                    "is_active": true
                },
                {
                    "id": 767,
                    "french_word": "muscles",
                    "russian_word": "мышцы",
                    "category": "body",
                    "category_display": "Body Parts",
                    "level": 5,
                    "level_display": "Corps",
                    "comment": "Muscles",
                    "tags": [
                        {
                            "id": 21,
                            "name": "body",
                            "category": "category",
                            "category_display": "category",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:51.650601Z",
                            "updated_at": "2026-01-17T18:41:51.650614Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:51.883185Z",
                    "updated_at": "2026-01-17T18:41:51.883198Z",
                    "is_active": true
                },
                {
                    "id": 765,
                    "french_word": "os",
                    "russian_word": "кость",
                    "category": "body",
                    "category_display": "Body Parts",
                    "level": 5,
                    "level_display": "Corps",
                    "comment": "Bone",
                    "tags": [
                        {
                            "id": 21,
                            "name": "body",
                            "category": "category",
                            "category_display": "category",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:51.650601Z",
                            "updated_at": "2026-01-17T18:41:51.650614Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:51.872883Z",
                    "updated_at": "2026-01-17T18:41:51.872896Z",
                    "is_active": true
                },
                {
                    "id": 769,
                    "french_word": "peau",
                    "russian_word": "кожа",
                    "category": "body",
                    "category_display": "Body Parts",
                    "level": 5,
                    "level_display": "Corps",
                    "comment": "Skin",
                    "tags": [
                        {
                            "id": 21,
                            "name": "body",
                            "category": "category",
                            "category_display": "category",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:51.650601Z",
                            "updated_at": "2026-01-17T18:41:51.650614Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:51.893509Z",
                    "updated_at": "2026-01-17T18:41:51.893519Z",
                    "is_active": true
                },
                {
                    "id": 768,
                    "french_word": "sang",
                    "russian_word": "кровь",
                    "category": "body",
                    "category_display": "Body Parts",
                    "level": 5,
                    "level_display": "Corps",
                    "comment": "Blood",
                    "tags": [
                        {
                            "id": 21,
                            "name": "body",
                            "category": "category",
                            "category_display": "category",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:51.650601Z",
                            "updated_at": "2026-01-17T18:41:51.650614Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:51.888558Z",
                    "updated_at": "2026-01-17T18:41:51.888568Z",
                    "is_active": true
                }
            ],
            "steps": [
                {
                    "id": 228,
                    "sub_level": 58,
                    "order": 1,
                    "step_type": "learning_card",
                    "step_type_display": "Learning Card",
                    "title": "Introduction à Vocabulaire du système corporel",
                    "description": "Système corporel\n\nApprenez le vocabulaire de vocabulaire du système corporel en russe.",
                    "is_required": true,
                    "config": {
                        "content": "Système corporel\n\nApprenez le vocabulaire de vocabulaire du système corporel 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:52.076102Z",
                    "updated_at": "2026-01-17T18:41:52.076113Z"
                },
                {
                    "id": 229,
                    "sub_level": 58,
                    "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 du système corporel avec le mode flashcard.",
                        "min_score": 70,
                        "level": 5,
                        "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:52.079318Z",
                    "updated_at": "2026-01-17T18:41:52.079328Z"
                },
                {
                    "id": 230,
                    "sub_level": 58,
                    "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 du système corporel avec le mode matching.",
                        "min_score": 70,
                        "level": 5,
                        "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:52.082462Z",
                    "updated_at": "2026-01-17T18:41:52.082473Z"
                },
                {
                    "id": 231,
                    "sub_level": 58,
                    "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 du système corporel avec le mode multiple_choice.",
                        "min_score": 70,
                        "level": 5,
                        "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:52.085563Z",
                    "updated_at": "2026-01-17T18:41:52.085573Z"
                }
            ],
            "videos": [],
            "learning_cards": [
                {
                    "id": 228,
                    "sub_level": 58,
                    "order": 1,
                    "step_type": "learning_card",
                    "step_type_display": "Learning Card",
                    "title": "Introduction à Vocabulaire du système corporel",
                    "description": "Système corporel\n\nApprenez le vocabulaire de vocabulaire du système corporel en russe.",
                    "is_required": true,
                    "config": {
                        "content": "Système corporel\n\nApprenez le vocabulaire de vocabulaire du système corporel 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:52.076102Z",
                    "updated_at": "2026-01-17T18:41:52.076113Z"
                }
            ],
            "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:52.069102Z",
            "updated_at": "2026-01-17T18:41:52.069118Z"
        },
        {
            "id": 59,
            "level": 13,
            "level_display": "Temps et Météo",
            "sub_level": 1,
            "title": "Vocabulaire des unités de temps",
            "description": "Unités de temps",
            "order": 1,
            "word_pairs": [
                {
                    "id": 793,
                    "french_word": "année",
                    "russian_word": "год",
                    "category": "time",
                    "category_display": "Time",
                    "level": 6,
                    "level_display": "Temps et Météo",
                    "comment": "Year",
                    "tags": [
                        {
                            "id": 22,
                            "name": "time",
                            "category": "category",
                            "category_display": "category",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:52.091296Z",
                            "updated_at": "2026-01-17T18:41:52.091306Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:52.119996Z",
                    "updated_at": "2026-01-17T18:41:52.120010Z",
                    "is_active": true
                },
                {
                    "id": 800,
                    "french_word": "après-midi",
                    "russian_word": "день",
                    "category": "time",
                    "category_display": "Time",
                    "level": 6,
                    "level_display": "Temps et Météo",
                    "comment": "Afternoon",
                    "tags": [
                        {
                            "id": 22,
                            "name": "time",
                            "category": "category",
                            "category_display": "category",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:52.091296Z",
                            "updated_at": "2026-01-17T18:41:52.091306Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:52.153727Z",
                    "updated_at": "2026-01-17T18:41:52.153739Z",
                    "is_active": true
                },
                {
                    "id": 805,
                    "french_word": "aube",
                    "russian_word": "рассвет",
                    "category": "time",
                    "category_display": "Time",
                    "level": 6,
                    "level_display": "Temps et Météo",
                    "comment": "Dawn",
                    "tags": [
                        {
                            "id": 22,
                            "name": "time",
                            "category": "category",
                            "category_display": "category",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:52.091296Z",
                            "updated_at": "2026-01-17T18:41:52.091306Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:52.178917Z",
                    "updated_at": "2026-01-17T18:41:52.178928Z",
                    "is_active": true
                },
                {
                    "id": 806,
                    "french_word": "crépuscule",
                    "russian_word": "сумерки",
                    "category": "time",
                    "category_display": "Time",
                    "level": 6,
                    "level_display": "Temps et Météo",
                    "comment": "Twilight",
                    "tags": [
                        {
                            "id": 22,
                            "name": "time",
                            "category": "category",
                            "category_display": "category",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:52.091296Z",
                            "updated_at": "2026-01-17T18:41:52.091306Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:52.184036Z",
                    "updated_at": "2026-01-17T18:41:52.184047Z",
                    "is_active": true
                },
                {
                    "id": 789,
                    "french_word": "heure",
                    "russian_word": "час",
                    "category": "time",
                    "category_display": "Time",
                    "level": 6,
                    "level_display": "Temps et Météo",
                    "comment": "Hour",
                    "tags": [
                        {
                            "id": 22,
                            "name": "time",
                            "category": "category",
                            "category_display": "category",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:52.091296Z",
                            "updated_at": "2026-01-17T18:41:52.091306Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:52.100971Z",
                    "updated_at": "2026-01-17T18:41:52.100985Z",
                    "is_active": true
                },
                {
                    "id": 790,
                    "french_word": "jour",
                    "russian_word": "день",
                    "category": "time",
                    "category_display": "Time",
                    "level": 6,
                    "level_display": "Temps et Météo",
                    "comment": "Day",
                    "tags": [
                        {
                            "id": 22,
                            "name": "time",
                            "category": "category",
                            "category_display": "category",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:52.091296Z",
                            "updated_at": "2026-01-17T18:41:52.091306Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:52.105840Z",
                    "updated_at": "2026-01-17T18:41:52.105851Z",
                    "is_active": true
                },
                {
                    "id": 798,
                    "french_word": "matin",
                    "russian_word": "утро",
                    "category": "time",
                    "category_display": "Time",
                    "level": 6,
                    "level_display": "Temps et Météo",
                    "comment": "Morning",
                    "tags": [
                        {
                            "id": 22,
                            "name": "time",
                            "category": "category",
                            "category_display": "category",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:52.091296Z",
                            "updated_at": "2026-01-17T18:41:52.091306Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:52.143999Z",
                    "updated_at": "2026-01-17T18:41:52.144011Z",
                    "is_active": true
                },
                {
                    "id": 799,
                    "french_word": "midi",
                    "russian_word": "полдень",
                    "category": "time",
                    "category_display": "Time",
                    "level": 6,
                    "level_display": "Temps et Météo",
                    "comment": "Noon",
                    "tags": [
                        {
                            "id": 22,
                            "name": "time",
                            "category": "category",
                            "category_display": "category",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:52.091296Z",
                            "updated_at": "2026-01-17T18:41:52.091306Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:52.148868Z",
                    "updated_at": "2026-01-17T18:41:52.148881Z",
                    "is_active": true
                },
                {
                    "id": 804,
                    "french_word": "minuit",
                    "russian_word": "полночь",
                    "category": "time",
                    "category_display": "Time",
                    "level": 6,
                    "level_display": "Temps et Météo",
                    "comment": "Midnight",
                    "tags": [
                        {
                            "id": 22,
                            "name": "time",
                            "category": "category",
                            "category_display": "category",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:52.091296Z",
                            "updated_at": "2026-01-17T18:41:52.091306Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:52.173884Z",
                    "updated_at": "2026-01-17T18:41:52.173895Z",
                    "is_active": true
                },
                {
                    "id": 794,
                    "french_word": "minute",
                    "russian_word": "минута",
                    "category": "time",
                    "category_display": "Time",
                    "level": 6,
                    "level_display": "Temps et Météo",
                    "comment": "Minute",
                    "tags": [
                        {
                            "id": 22,
                            "name": "time",
                            "category": "category",
                            "category_display": "category",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:52.091296Z",
                            "updated_at": "2026-01-17T18:41:52.091306Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:52.124754Z",
                    "updated_at": "2026-01-17T18:41:52.124768Z",
                    "is_active": true
                },
                {
                    "id": 795,
                    "french_word": "minutes",
                    "russian_word": "минуты",
                    "category": "time",
                    "category_display": "Time",
                    "level": 6,
                    "level_display": "Temps et Météo",
                    "comment": "Minutes",
                    "tags": [
                        {
                            "id": 22,
                            "name": "time",
                            "category": "category",
                            "category_display": "category",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:52.091296Z",
                            "updated_at": "2026-01-17T18:41:52.091306Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:52.129432Z",
                    "updated_at": "2026-01-17T18:41:52.129443Z",
                    "is_active": true
                },
                {
                    "id": 792,
                    "french_word": "mois",
                    "russian_word": "месяц",
                    "category": "time",
                    "category_display": "Time",
                    "level": 6,
                    "level_display": "Temps et Météo",
                    "comment": "Month",
                    "tags": [
                        {
                            "id": 22,
                            "name": "time",
                            "category": "category",
                            "category_display": "category",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:52.091296Z",
                            "updated_at": "2026-01-17T18:41:52.091306Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:52.115255Z",
                    "updated_at": "2026-01-17T18:41:52.115266Z",
                    "is_active": true
                },
                {
                    "id": 803,
                    "french_word": "nuit",
                    "russian_word": "ночь",
                    "category": "time",
                    "category_display": "Time",
                    "level": 6,
                    "level_display": "Temps et Météo",
                    "comment": "Night",
                    "tags": [
                        {
                            "id": 22,
                            "name": "time",
                            "category": "category",
                            "category_display": "category",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:52.091296Z",
                            "updated_at": "2026-01-17T18:41:52.091306Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:52.168568Z",
                    "updated_at": "2026-01-17T18:41:52.168579Z",
                    "is_active": true
                },
                {
                    "id": 796,
                    "french_word": "seconde",
                    "russian_word": "секунда",
                    "category": "time",
                    "category_display": "Time",
                    "level": 6,
                    "level_display": "Temps et Météo",
                    "comment": "Second",
                    "tags": [
                        {
                            "id": 22,
                            "name": "time",
                            "category": "category",
                            "category_display": "category",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:52.091296Z",
                            "updated_at": "2026-01-17T18:41:52.091306Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:52.134180Z",
                    "updated_at": "2026-01-17T18:41:52.134191Z",
                    "is_active": true
                },
                {
                    "id": 797,
                    "french_word": "secondes",
                    "russian_word": "секунды",
                    "category": "time",
                    "category_display": "Time",
                    "level": 6,
                    "level_display": "Temps et Météo",
                    "comment": "Seconds",
                    "tags": [
                        {
                            "id": 22,
                            "name": "time",
                            "category": "category",
                            "category_display": "category",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:52.091296Z",
                            "updated_at": "2026-01-17T18:41:52.091306Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:52.139011Z",
                    "updated_at": "2026-01-17T18:41:52.139023Z",
                    "is_active": true
                },
                {
                    "id": 791,
                    "french_word": "semaine",
                    "russian_word": "неделя",
                    "category": "time",
                    "category_display": "Time",
                    "level": 6,
                    "level_display": "Temps et Météo",
                    "comment": "Week",
                    "tags": [
                        {
                            "id": 22,
                            "name": "time",
                            "category": "category",
                            "category_display": "category",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:52.091296Z",
                            "updated_at": "2026-01-17T18:41:52.091306Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:52.110519Z",
                    "updated_at": "2026-01-17T18:41:52.110531Z",
                    "is_active": true
                },
                {
                    "id": 801,
                    "french_word": "soir",
                    "russian_word": "вечер",
                    "category": "time",
                    "category_display": "Time",
                    "level": 6,
                    "level_display": "Temps et Météo",
                    "comment": "Evening",
                    "tags": [
                        {
                            "id": 22,
                            "name": "time",
                            "category": "category",
                            "category_display": "category",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:52.091296Z",
                            "updated_at": "2026-01-17T18:41:52.091306Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:52.158619Z",
                    "updated_at": "2026-01-17T18:41:52.158630Z",
                    "is_active": true
                },
                {
                    "id": 802,
                    "french_word": "soirée",
                    "russian_word": "вечер",
                    "category": "time",
                    "category_display": "Time",
                    "level": 6,
                    "level_display": "Temps et Météo",
                    "comment": "Evening",
                    "tags": [
                        {
                            "id": 22,
                            "name": "time",
                            "category": "category",
                            "category_display": "category",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:52.091296Z",
                            "updated_at": "2026-01-17T18:41:52.091306Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:52.163535Z",
                    "updated_at": "2026-01-17T18:41:52.163546Z",
                    "is_active": true
                },
                {
                    "id": 788,
                    "french_word": "temps",
                    "russian_word": "время",
                    "category": "time",
                    "category_display": "Time",
                    "level": 6,
                    "level_display": "Temps et Météo",
                    "comment": "Time",
                    "tags": [
                        {
                            "id": 22,
                            "name": "time",
                            "category": "category",
                            "category_display": "category",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:52.091296Z",
                            "updated_at": "2026-01-17T18:41:52.091306Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:52.096212Z",
                    "updated_at": "2026-01-17T18:41:52.096225Z",
                    "is_active": true
                }
            ],
            "steps": [
                {
                    "id": 232,
                    "sub_level": 59,
                    "order": 1,
                    "step_type": "learning_card",
                    "step_type_display": "Learning Card",
                    "title": "Introduction à Vocabulaire des unités de temps",
                    "description": "Unités de temps\n\nApprenez le vocabulaire de vocabulaire des unités de temps en russe.",
                    "is_required": true,
                    "config": {
                        "content": "Unités de temps\n\nApprenez le vocabulaire de vocabulaire des unités de temps 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:52.378264Z",
                    "updated_at": "2026-01-17T18:41:52.378275Z"
                },
                {
                    "id": 233,
                    "sub_level": 59,
                    "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 unités de temps avec le mode flashcard.",
                        "min_score": 70,
                        "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:52.382057Z",
                    "updated_at": "2026-01-17T18:41:52.382068Z"
                },
                {
                    "id": 234,
                    "sub_level": 59,
                    "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 unités de temps avec le mode matching.",
                        "min_score": 70,
                        "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:52.384967Z",
                    "updated_at": "2026-01-17T18:41:52.384977Z"
                },
                {
                    "id": 235,
                    "sub_level": 59,
                    "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 unités de temps avec le mode multiple_choice.",
                        "min_score": 70,
                        "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:52.388031Z",
                    "updated_at": "2026-01-17T18:41:52.388042Z"
                }
            ],
            "videos": [],
            "learning_cards": [
                {
                    "id": 232,
                    "sub_level": 59,
                    "order": 1,
                    "step_type": "learning_card",
                    "step_type_display": "Learning Card",
                    "title": "Introduction à Vocabulaire des unités de temps",
                    "description": "Unités de temps\n\nApprenez le vocabulaire de vocabulaire des unités de temps en russe.",
                    "is_required": true,
                    "config": {
                        "content": "Unités de temps\n\nApprenez le vocabulaire de vocabulaire des unités de temps 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:52.378264Z",
                    "updated_at": "2026-01-17T18:41:52.378275Z"
                }
            ],
            "exercises": [],
            "total_words": 19,
            "is_unlocked": false,
            "is_completed": false,
            "progress": {
                "words_mastered": 0,
                "total_words": 19,
                "completion_percentage": 0.0,
                "steps": []
            },
            "is_active": true,
            "created_at": "2026-01-17T18:41:52.370733Z",
            "updated_at": "2026-01-17T18:41:52.370743Z"
        },
        {
            "id": 60,
            "level": 13,
            "level_display": "Temps et Météo",
            "sub_level": 2,
            "title": "Vocabulaire des jours de la semaine",
            "description": "Jours de la semaine",
            "order": 2,
            "word_pairs": [
                {
                    "id": 813,
                    "french_word": "dimanche",
                    "russian_word": "воскресенье",
                    "category": "time",
                    "category_display": "Time",
                    "level": 6,
                    "level_display": "Temps et Météo",
                    "comment": "Sunday",
                    "tags": [
                        {
                            "id": 22,
                            "name": "time",
                            "category": "category",
                            "category_display": "category",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:52.091296Z",
                            "updated_at": "2026-01-17T18:41:52.091306Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:52.219548Z",
                    "updated_at": "2026-01-17T18:41:52.219559Z",
                    "is_active": true
                },
                {
                    "id": 810,
                    "french_word": "jeudi",
                    "russian_word": "четверг",
                    "category": "time",
                    "category_display": "Time",
                    "level": 6,
                    "level_display": "Temps et Météo",
                    "comment": "Thursday",
                    "tags": [
                        {
                            "id": 22,
                            "name": "time",
                            "category": "category",
                            "category_display": "category",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:52.091296Z",
                            "updated_at": "2026-01-17T18:41:52.091306Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:52.204159Z",
                    "updated_at": "2026-01-17T18:41:52.204172Z",
                    "is_active": true
                },
                {
                    "id": 807,
                    "french_word": "lundi",
                    "russian_word": "понедельник",
                    "category": "time",
                    "category_display": "Time",
                    "level": 6,
                    "level_display": "Temps et Météo",
                    "comment": "Monday",
                    "tags": [
                        {
                            "id": 22,
                            "name": "time",
                            "category": "category",
                            "category_display": "category",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:52.091296Z",
                            "updated_at": "2026-01-17T18:41:52.091306Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:52.189071Z",
                    "updated_at": "2026-01-17T18:41:52.189084Z",
                    "is_active": true
                },
                {
                    "id": 808,
                    "french_word": "mardi",
                    "russian_word": "вторник",
                    "category": "time",
                    "category_display": "Time",
                    "level": 6,
                    "level_display": "Temps et Météo",
                    "comment": "Tuesday",
                    "tags": [
                        {
                            "id": 22,
                            "name": "time",
                            "category": "category",
                            "category_display": "category",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:52.091296Z",
                            "updated_at": "2026-01-17T18:41:52.091306Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:52.194094Z",
                    "updated_at": "2026-01-17T18:41:52.194107Z",
                    "is_active": true
                },
                {
                    "id": 809,
                    "french_word": "mercredi",
                    "russian_word": "среда",
                    "category": "time",
                    "category_display": "Time",
                    "level": 6,
                    "level_display": "Temps et Météo",
                    "comment": "Wednesday",
                    "tags": [
                        {
                            "id": 22,
                            "name": "time",
                            "category": "category",
                            "category_display": "category",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:52.091296Z",
                            "updated_at": "2026-01-17T18:41:52.091306Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:52.199175Z",
                    "updated_at": "2026-01-17T18:41:52.199185Z",
                    "is_active": true
                },
                {
                    "id": 812,
                    "french_word": "samedi",
                    "russian_word": "суббота",
                    "category": "time",
                    "category_display": "Time",
                    "level": 6,
                    "level_display": "Temps et Météo",
                    "comment": "Saturday",
                    "tags": [
                        {
                            "id": 22,
                            "name": "time",
                            "category": "category",
                            "category_display": "category",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:52.091296Z",
                            "updated_at": "2026-01-17T18:41:52.091306Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:52.214415Z",
                    "updated_at": "2026-01-17T18:41:52.214435Z",
                    "is_active": true
                },
                {
                    "id": 811,
                    "french_word": "vendredi",
                    "russian_word": "пятница",
                    "category": "time",
                    "category_display": "Time",
                    "level": 6,
                    "level_display": "Temps et Météo",
                    "comment": "Friday",
                    "tags": [
                        {
                            "id": 22,
                            "name": "time",
                            "category": "category",
                            "category_display": "category",
                            "description": "",
                            "is_active": true,
                            "created_at": "2026-01-17T18:41:52.091296Z",
                            "updated_at": "2026-01-17T18:41:52.091306Z"
                        }
                    ],
                    "created_at": "2026-01-17T18:41:52.209225Z",
                    "updated_at": "2026-01-17T18:41:52.209235Z",
                    "is_active": true
                }
            ],
            "steps": [
                {
                    "id": 236,
                    "sub_level": 60,
                    "order": 1,
                    "step_type": "learning_card",
                    "step_type_display": "Learning Card",
                    "title": "Introduction à Vocabulaire des jours de la semaine",
                    "description": "Jours de la semaine\n\nApprenez le vocabulaire de vocabulaire des jours de la semaine en russe.",
                    "is_required": true,
                    "config": {
                        "content": "Jours de la semaine\n\nApprenez le vocabulaire de vocabulaire des jours de la semaine 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:52.397613Z",
                    "updated_at": "2026-01-17T18:41:52.397623Z"
                },
                {
                    "id": 237,
                    "sub_level": 60,
                    "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 jours de la semaine avec le mode flashcard.",
                        "min_score": 70,
                        "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:52.400972Z",
                    "updated_at": "2026-01-17T18:41:52.400982Z"
                },
                {
                    "id": 238,
                    "sub_level": 60,
                    "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 jours de la semaine avec le mode matching.",
                        "min_score": 70,
                        "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:52.404301Z",
                    "updated_at": "2026-01-17T18:41:52.404312Z"
                },
                {
                    "id": 239,
                    "sub_level": 60,
                    "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 jours de la semaine avec le mode multiple_choice.",
                        "min_score": 70,
                        "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:52.407519Z",
                    "updated_at": "2026-01-17T18:41:52.407529Z"
                }
            ],
            "videos": [],
            "learning_cards": [
                {
                    "id": 236,
                    "sub_level": 60,
                    "order": 1,
                    "step_type": "learning_card",
                    "step_type_display": "Learning Card",
                    "title": "Introduction à Vocabulaire des jours de la semaine",
                    "description": "Jours de la semaine\n\nApprenez le vocabulaire de vocabulaire des jours de la semaine en russe.",
                    "is_required": true,
                    "config": {
                        "content": "Jours de la semaine\n\nApprenez le vocabulaire de vocabulaire des jours de la semaine 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:52.397613Z",
                    "updated_at": "2026-01-17T18:41:52.397623Z"
                }
            ],
            "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:52.390540Z",
            "updated_at": "2026-01-17T18:41:52.390552Z"
        }
    ]
}
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