{"id":2370,"date":"2025-09-25T09:21:13","date_gmt":"2025-09-25T15:21:13","guid":{"rendered":"https:\/\/ddmx.cc\/?p=2370"},"modified":"2025-09-25T09:21:15","modified_gmt":"2025-09-25T15:21:15","slug":"interactivo-comunidades-de-aprendizaje","status":"publish","type":"post","link":"https:\/\/ddmx.cc\/blog\/archivos\/2370","title":{"rendered":"Interactivo &#8211; Comunidades de Aprendizaje"},"content":{"rendered":"\n<!DOCTYPE html>\n<html lang=\"es\">\n<head>\n    <meta charset=\"UTF-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n    <title>Plataforma de Aprendizaje: Comunidades de Aprendizaje<\/title>\n    <script src=\"https:\/\/cdn.tailwindcss.com\"><\/script>\n    <link href=\"https:\/\/fonts.googleapis.com\/css2?family=Inter:wght@400;500;600;700&#038;display=swap\" rel=\"stylesheet\">\n    <link rel=\"stylesheet\" href=\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/font-awesome\/6.4.0\/css\/all.min.css\">\n\n    <style>\n        body {\n            font-family: 'Inter', sans-serif;\n            background-color: #f0f4f8;\n        }\n        .cte-platform-nav-link {\n            transition: all 0.2s ease;\n            border-bottom: 4px solid transparent;\n            padding: 1.5rem 1rem;\n        }\n        .cte-platform-nav-link:hover, .cte-platform-nav-link.active {\n            color: #2b6cb0;\n            border-bottom-color: #2b6cb0;\n        }\n        .cte-platform-card {\n            background-color: #ffffff;\n            border-radius: 12px;\n            box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);\n            transition: all 0.3s ease;\n        }\n        .cte-platform-card:hover {\n            transform: translateY(-5px);\n            box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);\n        }\n        .cte-platform-progress-bar-bg {\n            background-color: #e2e8f0;\n        }\n        .cte-platform-progress-bar-fill {\n            background-color: #48bb78;\n            transition: width 0.5s ease-in-out;\n        }\n        .cte-platform-badge {\n            transition: all 0.3s ease;\n        }\n        .cte-platform-badge.locked {\n            filter: grayscale(100%);\n            opacity: 0.6;\n        }\n        .cte-platform-quiz-option {\n            border: 2px solid #e2e8f0;\n            transition: all 0.2s;\n        }\n        .cte-platform-quiz-option:hover {\n            border-color: #4299e1;\n            background-color: #ebf8ff;\n        }\n        .cte-platform-quiz-option.selected {\n             border-color: #4299e1;\n             background-color: #ebf8ff;\n        }\n        .cte-platform-quiz-option.correct {\n            border-color: #48bb78;\n            background-color: #f0fff4;\n        }\n        .cte-platform-quiz-option.incorrect {\n            border-color: #f56565;\n            background-color: #fff5f5;\n        }\n        .cte-platform-modal-backdrop {\n            background-color: rgba(0,0,0,0.5);\n            -webkit-backdrop-filter: blur(4px);\n            backdrop-filter: blur(4px);\n        }\n        \/* Game Styles *\/\n        .cte-platform-draggable {\n            cursor: grab;\n        }\n        .cte-platform-drop-target {\n            border: 2px dashed #cbd5e0;\n            transition: all 0.2s;\n        }\n        .cte-platform-drop-target.hover {\n            background-color: #ebf8ff;\n            border-color: #4299e1;\n        }\n        .cte-platform-drop-target.correct {\n            background-color: #c6f6d5;\n            border-color: #38a169;\n        }\n        .cte-platform-keyword {\n            color: #2b6cb0;\n            font-weight: 600;\n            cursor: pointer;\n            border-bottom: 2px dotted #90cdf4;\n        }\n    <\/style>\n<\/head>\n<body class=\"flex flex-col h-screen\">\n\n    <!-- Top Navigation -->\n    <header class=\"bg-white shadow-md z-20\">\n        <div class=\"container mx-auto px-6 flex items-center justify-between\">\n            <div class=\"flex-shrink-0 py-4\">\n                <h1 class=\"text-2xl font-bold text-gray-800\">Plataforma CA<\/h1>\n                <p class=\"text-sm text-gray-500 hidden sm:block\">Comunidades de Aprendizaje<\/p>\n            <\/div>\n            <nav class=\"flex items-center h-full\">\n                <a href=\"#\" onclick=\"app.navigateTo('home')\" data-nav-id=\"home\" class=\"cte-platform-nav-link flex-shrink-0 flex items-center text-gray-600 font-medium active\">\n                    <i class=\"fas fa-home w-6 h-6 mr-2\"><\/i> <span>Inicio<\/span>\n                <\/a>\n                \n                <!-- Content Dropdown -->\n                <div class=\"relative h-full\" onmouseenter=\"app.toggleDropdown('content-dropdown', true)\" onmouseleave=\"app.toggleDropdown('content-dropdown', false)\">\n                    <button data-nav-id=\"content\" class=\"cte-platform-nav-link h-full flex-shrink-0 flex items-center text-gray-600 font-medium\">\n                        <i class=\"fas fa-book-open w-6 h-6 mr-2\"><\/i> <span>Contenido<\/span> <i class=\"fas fa-chevron-down text-xs ml-1\"><\/i>\n                    <\/button>\n                    <div id=\"content-dropdown\" class=\"absolute hidden bg-white shadow-lg rounded-b-md py-1 w-48 border-t\">\n                        <a href=\"#\" onclick=\"app.navigateTo('modules')\" class=\"block px-4 py-3 text-sm text-gray-700 hover:bg-gray-100\"><i class=\"fas fa-cubes w-4 mr-2\"><\/i>M\u00f3dulos<\/a>\n                        <a href=\"#\" onclick=\"app.navigateTo('glossary')\" class=\"block px-4 py-3 text-sm text-gray-700 hover:bg-gray-100\"><i class=\"fas fa-book w-4 mr-2\"><\/i>Glosario<\/a>\n                    <\/div>\n                <\/div>\n\n                <!-- Activities Dropdown -->\n                <div class=\"relative h-full\" onmouseenter=\"app.toggleDropdown('activities-dropdown', true)\" onmouseleave=\"app.toggleDropdown('activities-dropdown', false)\">\n                    <button data-nav-id=\"activities\" class=\"cte-platform-nav-link h-full flex-shrink-0 flex items-center text-gray-600 font-medium\">\n                        <i class=\"fas fa-puzzle-piece w-6 h-6 mr-2\"><\/i> <span>Actividades<\/span> <i class=\"fas fa-chevron-down text-xs ml-1\"><\/i>\n                    <\/button>\n                    <div id=\"activities-dropdown\" class=\"absolute hidden bg-white shadow-lg rounded-b-md py-1 w-48 border-t\">\n                        <a href=\"#\" onclick=\"app.navigateTo('games')\" class=\"block px-4 py-3 text-sm text-gray-700 hover:bg-gray-100\"><i class=\"fas fa-gamepad w-4 mr-2\"><\/i>Juegos<\/a>\n                        <a href=\"#\" onclick=\"app.navigateTo('timeline')\" class=\"block px-4 py-3 text-sm text-gray-700 hover:bg-gray-100\"><i class=\"fas fa-timeline w-4 mr-2\"><\/i>L\u00ednea de Tiempo<\/a>\n                        <a href=\"#\" onclick=\"app.navigateTo('simulator')\" class=\"block px-4 py-3 text-sm text-gray-700 hover:bg-gray-100\"><i class=\"fas fa-laptop-code w-4 mr-2\"><\/i>Simulador<\/a>\n                    <\/div>\n                <\/div>\n\n                <a href=\"#\" onclick=\"app.navigateTo('progress')\" data-nav-id=\"progress\" class=\"cte-platform-nav-link flex-shrink-0 flex items-center text-gray-600 font-medium\">\n                    <i class=\"fas fa-chart-line w-6 h-6 mr-2\"><\/i> <span>Progreso<\/span>\n                <\/a>\n            <\/nav>\n        <\/div>\n    <\/header>\n\n    <!-- Main Content -->\n    <main class=\"flex-1 overflow-y-auto p-8 lg:p-12\">\n        <div id=\"content-area\">\n            <!-- Content will be injected here by JavaScript -->\n        <\/div>\n    <\/main>\n\n    <!-- Modal for Glossary -->\n    <div id=\"glossary-modal\" class=\"fixed inset-0 z-50 items-center justify-center hidden cte-platform-modal-backdrop\">\n        <div class=\"cte-platform-card w-full max-w-lg p-6 m-4\">\n            <div class=\"flex justify-between items-center mb-4\">\n                <h2 id=\"modal-title\" class=\"text-2xl font-bold text-gray-800\"><\/h2>\n                <button onclick=\"app.closeModal()\" class=\"text-gray-500 hover:text-gray-800\">\n                    <i class=\"fas fa-times text-2xl\"><\/i>\n                <\/button>\n            <\/div>\n            <p id=\"modal-content\" class=\"text-gray-600\"><\/p>\n        <\/div>\n    <\/div>\n\n\n<script>\nconst app = {\n    \/\/ STATE\n    state: {\n        currentPage: 'home',\n        totalScore: 0,\n        completedModules: [],\n        unlockedBadges: [],\n        quizData: {\n            1: { score: null, completed: false },\n            2: { score: null, completed: false },\n            3: { score: null, completed: false },\n            4: { score: null, completed: false },\n        }\n    },\n\n    \/\/ DATA\n    modules: [\n        { id: 1, title: \"\u00bfQu\u00e9 es una Comunidad de Aprendizaje?\", icon: \"users-viewfinder\" },\n        { id: 2, title: \"Pilares y Condiciones para una CA\", icon: \"sitemap\" },\n        { id: 3, title: \"Autonom\u00eda Profesional en la CA\", icon: \"lightbulb\" },\n        { id: 4, title: \"El Rol del Acompa\u00f1amiento Directivo\", icon: \"handshake-angle\" }\n    ],\n\n    glossary: {\n        'CA': 'Comunidad de Aprendizaje. Proyecto de transformaci\u00f3n de un centro educativo y su entorno, basado en el aprendizaje dial\u00f3gico y la participaci\u00f3n de la comunidad para construir una sociedad m\u00e1s justa y solidaria.',\n        'Aprendizaje Dial\u00f3gico': 'Se produce en di\u00e1logos basados en la fuerza de los argumentos y no en pretensiones de poder. Es un aprendizaje que se da en y a trav\u00e9s de la interacci\u00f3n igualitaria.',\n        'Autonom\u00eda Profesional': 'Capacidad de las y los docentes para tomar decisiones informadas sobre su pr\u00e1ctica, en colaboraci\u00f3n con sus pares y basadas en las necesidades de su contexto espec\u00edfico.',\n        'Trabajo Colaborativo': 'Elemento primordial de una comunidad que aprende. Implica compartir esfuerzos, dialogar, reflexionar sobre la pr\u00e1ctica y tomar decisiones conjuntas para atender problem\u00e1ticas comunes.',\n        'Acompa\u00f1amiento': 'Funci\u00f3n de la supervisi\u00f3n y direcci\u00f3n que transita de un modelo vertical a uno horizontal, reconociendo e impulsando las iniciativas de cada escuela y fomentando el di\u00e1logo y la colaboraci\u00f3n.'\n    },\n\n    quizzes: {\n        1: {\n            title: \"Test: \u00bfQu\u00e9 es una CA?\",\n            questions: [\n                {\n                    question: \"\u00bfCu\u00e1l es el compromiso principal de una Comunidad de Aprendizaje (CA)?\",\n                    options: [\"La competencia individual entre docentes\", \"La estandarizaci\u00f3n de los contenidos\", \"Establecer el aprendizaje dial\u00f3gico para la mejora educativa\", \"Cumplir con las tareas administrativas\"],\n                    answer: \"Establecer el aprendizaje dial\u00f3gico para la mejora educativa\",\n                    explanation: \"Una CA establece el aprendizaje dial\u00f3gico como un compromiso comunitario para la mejora educativa y la construcci\u00f3n de una sociedad m\u00e1s justa, cr\u00edtica y solidaria.\"\n                },\n                {\n                    question: \"El CTE, como CA, busca que los docentes aborden problem\u00e1ticas de sus pr\u00e1cticas de manera...\",\n                    options: [\"Aislada y competitiva\", \"R\u00e1pida y superficial\", \"Reflexiva y cr\u00edtica\", \"Siguiendo instrucciones precisas\"],\n                    answer: \"Reflexiva y cr\u00edtica\",\n                    explanation: \"El objetivo es que los profesores aborden problem\u00e1ticas asociadas a sus pr\u00e1cticas de manera reflexiva y cr\u00edtica para mejorar el aprendizaje de sus estudiantes.\"\n                },\n                {\n                    question: \"Adem\u00e1s de la mejora escolar, \u00bfen qu\u00e9 pone un \u00e9nfasis importante la CA?\",\n                    options: [\"En el aprendizaje y mejora de la pr\u00e1ctica de los propios docentes\", \"En la creaci\u00f3n de m\u00e1s reportes\", \"En la evaluaci\u00f3n de los directivos\", \"En la organizaci\u00f3n de eventos sociales\"],\n                    answer: \"En el aprendizaje y mejora de la pr\u00e1ctica de los propios docentes\",\n                    explanation: \"La CA pone \u00e9nfasis en que, en la interacci\u00f3n y participaci\u00f3n colaborativa, las y los docentes tambi\u00e9n aprenden y mejoran su propia pr\u00e1ctica.\"\n                }\n            ]\n        },\n        2: {\n            title: \"Test: Pilares y Condiciones\",\n            questions: [\n                {\n                    question: \"\u00bfCu\u00e1les son los cuatro pilares que, junto a las 'Condiciones', sostienen a una CA?\",\n                    options: [\"Individualismo, Competencia, Jerarqu\u00eda y Evaluaci\u00f3n\", \"Di\u00e1logo, Colaboraci\u00f3n, Orientaciones y Acompa\u00f1amiento\", \"Planificaci\u00f3n, Ejecuci\u00f3n, Supervisi\u00f3n y Reporte\", \"Tecnolog\u00eda, Recursos, Infraestructura y Presupuesto\"],\n                    answer: \"Di\u00e1logo, Colaboraci\u00f3n, Orientaciones y Acompa\u00f1amiento\",\n                    explanation: \"Seg\u00fan el esquema, los cuatro pilares son: Di\u00e1logo y confianza, Trabajo colaborativo, Orientaciones pedag\u00f3gicas y Acompa\u00f1amiento de Supervisi\u00f3n y Direcci\u00f3n.\"\n                },\n                {\n                    question: \"Para que exista un buen 'Trabajo Colaborativo', \u00bfqu\u00e9 condici\u00f3n es fundamental?\",\n                    options: [\"Un l\u00edder que asigne todas las tareas\", \"Un clima de trabajo de confianza, respeto y colaboraci\u00f3n\", \"Que todos piensen de la misma manera\", \"Tener los recursos m\u00e1s caros\"],\n                    answer: \"Un clima de trabajo de confianza, respeto y colaboraci\u00f3n\",\n                    explanation: \"Un clima de confianza y respeto es esencial para que los miembros se sientan seguros de participar, compartir ideas y colaborar eficazmente.\"\n                },\n                {\n                    question: \"Las 'Orientaciones Pedag\u00f3gicas' en una CA se centran en aspectos como:\",\n                    options: [\"El cumplimiento estricto del calendario escolar\", \"La centralidad del aprendizaje y las expectativas positivas\", \"La homogeneizaci\u00f3n de los m\u00e9todos de ense\u00f1anza\", \"La disciplina y el control del aula\"],\n                    answer: \"La centralidad del aprendizaje y las expectativas positivas\",\n                    explanation: \"Las orientaciones pedag\u00f3gicas se enfocan en la participaci\u00f3n, la centralidad del aprendizaje, mantener expectativas positivas, el progreso permanente y la autonom\u00eda profesional.\"\n                }\n            ]\n        },\n        3: {\n            title: \"Test: Autonom\u00eda Profesional\",\n            questions: [\n                {\n                    question: \"Seg\u00fan el texto, la autonom\u00eda profesional en una CA se fortalece a trav\u00e9s de:\",\n                    options: [\"El trabajo individual y aislado\", \"Entornos colaborativos para tomar decisiones conjuntas\", \"Seguir las indicaciones de un manual\", \"La competencia para ver qui\u00e9n es mejor\"],\n                    answer: \"Entornos colaborativos para tomar decisiones conjuntas\",\n                    explanation: \"Las CA promueven la autonom\u00eda profesional al crear entornos colaborativos para que los docentes tomen decisiones conjuntas sobre sus procesos educativos.\"\n                },\n                {\n                    question: \"La finalidad esencial de la autonom\u00eda de una escuela, seg\u00fan Santos Guerra, es...\",\n                    options: [\"La mejora de la educaci\u00f3n y el aprendizaje\", \"Reducir la carga administrativa\", \"Tener m\u00e1s d\u00edas de vacaciones\", \"La libertad para no seguir el curr\u00edculo\"],\n                    answer: \"La mejora de la educaci\u00f3n y el aprendizaje\",\n                    explanation: \"La autonom\u00eda no es un fin en s\u00ed mismo, sino un medio para lograr la mejora de la educaci\u00f3n en el pa\u00eds, la escuela y el aprendizaje de los estudiantes.\"\n                },\n                {\n                    question: \"Una caracter\u00edstica del ejercicio de la autonom\u00eda en una CA es que es...\",\n                    options: [\"Impulsada por obligaci\u00f3n\", \"Autogestiva e innovadora\", \"R\u00edgida y predecible\", \"Controlada por agentes externos\"],\n                    answer: \"Autogestiva e innovadora\",\n                    explanation: \"La autonom\u00eda en una CA permite a los colectivos identificarse e implementar nuevas formas de conducirse de manera autogestiva e innovadora.\"\n                }\n            ]\n        },\n        4: {\n            title: \"Test: El Rol del Acompa\u00f1amiento\",\n            questions: [\n                {\n                    question: \"\u00bfC\u00f3mo debe transformarse la labor de las autoridades (directivos, supervisores) para consolidar una CA?\",\n                    options: [\"Deben ser m\u00e1s estrictos y controlar todas las decisiones\", \"Deben enfocarse \u00fanicamente en el papeleo administrativo\", \"Deben transitar de un modelo vertical a uno horizontal\", \"Deben reducir su interacci\u00f3n con los docentes\"],\n                    answer: \"Deben transitar de un modelo vertical a uno horizontal\",\n                    explanation: \"Se requiere transitar de un modelo vertical, donde se deciden las prioridades desde arriba, a uno horizontal que reconozca e impulse las iniciativas de cada escuela.\"\n                },\n                {\n                    question: \"El acompa\u00f1amiento de la supervisi\u00f3n y direcci\u00f3n en una CA busca principalmente...\",\n                    options: [\"Decidir los temas que el colectivo debe tratar\", \"Asegurarse de que todos sigan las mismas estrategias\", \"Articular las CA con objetivos comunes y orientar hacia la colaboraci\u00f3n\", \"Evaluar y sancionar a los docentes que no participan\"],\n                    answer: \"Articular las CA con objetivos comunes y orientar hacia la colaboraci\u00f3n\",\n                    explanation: \"El rol del acompa\u00f1amiento es orientar a los colectivos hacia la colaboraci\u00f3n, el di\u00e1logo y la reflexi\u00f3n, conformar redes de apoyo y valorar los avances.\"\n                },\n                {\n                    question: \"En un modelo horizontal de acompa\u00f1amiento, el directivo o supervisor...\",\n                    options: [\"Impone su punto de vista como el \u00fanico v\u00e1lido\", \"Reconoce y brinda condiciones para el ejercicio de la autonom\u00eda profesional docente\", \"Se distancia del colectivo para no influir\", \"Se limita a observar sin intervenir\"],\n                    answer: \"Reconoce y brinda condiciones para el ejercicio de la autonom\u00eda profesional docente\",\n                    explanation: \"Un acompa\u00f1amiento efectivo revalora a los colectivos docentes, reconoce su profesionalismo y brinda las condiciones necesarias para que ejerzan su autonom\u00eda.\"\n                }\n            ]\n        },\n    },\n\n    badges: [\n        { id: 'module1_complete', title: \"Fundador Comunitario\", icon: \"fa-users-viewfinder\", description: \"Completaste el M\u00f3dulo 1.\", unlocked: false },\n        { id: 'module2_complete', title: \"Arquitecto de Pilares\", icon: \"fa-sitemap\", description: \"Completaste el M\u00f3dulo 2.\", unlocked: false },\n        { id: 'module3_complete', title: \"L\u00edder Aut\u00f3nomo\", icon: \"fa-lightbulb\", description: \"Completaste el M\u00f3dulo 3.\", unlocked: false },\n        { id: 'module4_complete', title: \"Gu\u00eda Colaborativo\", icon: \"fa-handshake-angle\", description: \"Completaste el M\u00f3dulo 4.\", unlocked: false },\n        { id: 'perfect_score', title: \"Mente Maestra\", icon: \"fa-brain\", description: \"Obtuviste una puntuaci\u00f3n perfecta en un test.\", unlocked: false },\n        { id: 'all_modules_complete', title: \"Maestro de la CA\", icon: \"fa-crown\", description: \"Completaste todos los m\u00f3dulos.\", unlocked: false }\n    ],\n\n    \/\/ INITIALIZATION\n    init() {\n        this.render();\n        this.addKeywordListeners();\n    },\n\n    \/\/ RENDER LOGIC\n    render() {\n        const contentArea = document.getElementById('content-area');\n        let html = '';\n        \n        switch (this.state.currentPage) {\n            case 'home':\n                html = this.renderHome();\n                break;\n            case 'modules':\n                html = this.renderModules();\n                break;\n            case 'module_content':\n                html = this.renderModuleContent(this.state.currentModuleId);\n                break;\n            case 'quiz':\n                html = this.renderQuiz(this.state.currentModuleId);\n                break;\n            case 'glossary':\n                html = this.renderGlossary();\n                break;\n            case 'games':\n                html = this.renderGames();\n                break;\n             case 'game_matching':\n                html = this.renderMatchingGame();\n                break;\n            case 'game_dragdrop':\n                html = this.renderDragDropGame();\n                break;\n            case 'progress':\n                html = this.renderProgress();\n                break;\n            case 'timeline':\n                html = this.renderTimeline();\n                break;\n            case 'simulator':\n                html = this.renderSimulator();\n                break;\n        }\n        contentArea.innerHTML = html;\n        this.updateNavLinks();\n\n        \/\/ Re-attach listeners if the new content has keywords\n        if (this.state.currentPage === 'module_content') {\n            this.addKeywordListeners();\n        }\n    },\n\n    \/\/ PAGE RENDERING\n    renderHome() {\n        return `\n            <div class=\"animate-fade-in-down\">\n                <h1 class=\"text-4xl font-bold text-gray-800 mb-2\">Plataforma de Comunidades de Aprendizaje<\/h1>\n                <p class=\"text-lg text-gray-600 mb-8\">Explora c\u00f3mo transformar tu colectivo docente en una verdadera Comunidad de Aprendizaje.<\/p>\n                \n                <div class=\"grid md:grid-cols-2 lg:grid-cols-3 gap-6\">\n                    <div class=\"cte-platform-card p-6 flex flex-col items-center text-center cursor-pointer\" onclick=\"app.navigateTo('modules')\">\n                        <i class=\"fas fa-cubes text-4xl text-blue-500 mb-4\"><\/i>\n                        <h3 class=\"text-xl font-semibold text-gray-700\">M\u00f3dulos de Aprendizaje<\/h3>\n                        <p class=\"text-gray-500 mt-2\">Sum\u00e9rgete en el contenido clave sobre las CA.<\/p>\n                    <\/div>\n                    <div class=\"cte-platform-card p-6 flex flex-col items-center text-center cursor-pointer\" onclick=\"app.navigateTo('games')\">\n                        <i class=\"fas fa-gamepad text-4xl text-green-500 mb-4\"><\/i>\n                        <h3 class=\"text-xl font-semibold text-gray-700\">Juegos Interactivos<\/h3>\n                        <p class=\"text-gray-500 mt-2\">Refuerza tu conocimiento mientras te diviertes.<\/p>\n                    <\/div>\n                    <div class=\"cte-platform-card p-6 flex flex-col items-center text-center cursor-pointer\" onclick=\"app.navigateTo('progress')\">\n                        <i class=\"fas fa-chart-line text-4xl text-purple-500 mb-4\"><\/i>\n                        <h3 class=\"text-xl font-semibold text-gray-700\">Tu Progreso<\/h3>\n                        <p class=\"text-gray-500 mt-2\">Revisa tus logros, puntuaci\u00f3n y medallas obtenidas.<\/p>\n                    <\/div>\n                <\/div>\n            <\/div>\n        `;\n    },\n\n    renderModules() {\n        let moduleCards = this.modules.map(module => {\n            const isCompleted = this.state.completedModules.includes(module.id);\n            return `\n                <div class=\"cte-platform-card p-6 flex items-center cursor-pointer\" onclick=\"app.navigateTo('module_content', { moduleId: ${module.id} })\">\n                    <div class=\"mr-6\">\n                        <i class=\"fas fa-${module.icon} text-3xl ${isCompleted ? 'text-green-500' : 'text-blue-500'}\"><\/i>\n                    <\/div>\n                    <div>\n                        <h3 class=\"text-xl font-semibold text-gray-700\">${module.title}<\/h3>\n                        <p class=\"text-gray-500\">Explora los conceptos clave de este m\u00f3dulo.<\/p>\n                    <\/div>\n                    ${isCompleted ? '<i class=\"fas fa-check-circle text-2xl text-green-500 ml-auto\"><\/i>' : ''}\n                <\/div>\n            `;\n        }).join('');\n        \n        return `\n            <h1 class=\"text-3xl font-bold text-gray-800 mb-6\">M\u00f3dulos sobre Comunidades de Aprendizaje<\/h1>\n            <div class=\"space-y-4\">\n                ${moduleCards}\n            <\/div>\n        `;\n    },\n    \n    renderModuleContent(moduleId) {\n        let content = '';\n        switch(moduleId) {\n            case 1:\n                content = `\n                    <h2 class=\"text-2xl font-semibold text-gray-800 mb-4\">M\u00f3dulo 1: \u00bfQu\u00e9 es una Comunidad de Aprendizaje?<\/h2>\n                    <div class=\"space-y-6 text-gray-700 leading-relaxed\">\n                        <p>Una <span class=\"cte-platform-keyword\" data-term=\"CA\">Comunidad de Aprendizaje (CA)<\/span> es m\u00e1s que un grupo de trabajo; es una oportunidad de mejora educativa que busca transformar la escuela y su entorno. Su objetivo es construir una sociedad m\u00e1s justa, cr\u00edtica y solidaria.<\/p>\n                        \n                        <div class=\"cte-platform-card p-6 bg-blue-50 border-l-4 border-blue-400\">\n                            <h3 class=\"font-semibold text-lg mb-2\">Resumen Explicativo<\/h3>\n                            <p>El n\u00facleo de una CA es el <span class=\"cte-platform-keyword\" data-term=\"Aprendizaje Dial\u00f3gico\">aprendizaje dial\u00f3gico<\/span>, un compromiso comunitario para la mejora. En el contexto del Consejo T\u00e9cnico Escolar (CTE), una CA busca que los docentes aborden problemas de su pr\u00e1ctica de forma reflexiva y cr\u00edtica, llegando a acuerdos que se implementan en el aula. No solo se busca la mejora escolar, sino tambi\u00e9n el aprendizaje y la mejora de la pr\u00e1ctica de los propios docentes a trav\u00e9s de la interacci\u00f3n.<\/p>\n                        <\/div>\n\n                        <div class=\"cte-platform-card p-6 bg-green-50 border-l-4 border-green-400\">\n                            <h3 class=\"font-semibold text-lg mb-2\">Ejemplo Pr\u00e1ctico<\/h3>\n                            <p>Imagina que en un CTE, un grupo de maestros nota que los estudiantes tienen dificultades con la resoluci\u00f3n de problemas matem\u00e1ticos. En una CA, en lugar de que cada quien busque una soluci\u00f3n por su cuenta, se abre un di\u00e1logo: un maestro comparte una estrategia de \"matem\u00e1ticas l\u00fadicas\" que le funcion\u00f3, otra propone un proyecto que conecta las matem\u00e1ticas con el presupuesto familiar. A trav\u00e9s del di\u00e1logo, construyen una soluci\u00f3n colectiva y todos aprenden nuevas estrategias.<\/p>\n                        <\/div>\n\n                        <div class=\"cte-platform-card p-6\">\n                            <h3 class=\"font-semibold text-lg mb-2\">Rasgos Fundamentales<\/h3>\n                            <ul class=\"list-disc list-inside space-y-2\">\n                                <li><strong>Objetivo Compartido:<\/strong> La comunidad se une por una meta com\u00fan, como atender problem\u00e1ticas del contexto.<\/li>\n                                <li><strong>Construcci\u00f3n Social del Conocimiento:<\/strong> Se valora el pensamiento cr\u00edtico y el di\u00e1logo colectivo.<\/li>\n                                <li><strong>Experiencias Comunes:<\/strong> El aprendizaje se construye sobre las pr\u00e1cticas cotidianas de ense\u00f1anza y evaluaci\u00f3n.<\/li>\n                                <li><strong>Responsabilidad Colectiva:<\/strong> Se rompe con el individualismo para asumir un compromiso conjunto por la mejora.<\/li>\n                            <\/ul>\n                        <\/div>\n                    <\/div>\n                `;\n                break;\n            case 2:\n                content = `\n                    <h2 class=\"text-2xl font-semibold text-gray-800 mb-4\">M\u00f3dulo 2: Pilares y Condiciones para una CA<\/h2>\n                    <div class=\"space-y-6 text-gray-700 leading-relaxed\">\n                        <p>Para que una <span class=\"cte-platform-keyword\" data-term=\"CA\">Comunidad de Aprendizaje<\/span> florezca, se requieren ciertas condiciones y debe sostenerse sobre pilares fundamentales. Estos elementos trabajan en conjunto para crear un entorno propicio para el crecimiento profesional y la mejora escolar.<\/p>\n                        \n                        <div class=\"cte-platform-card p-6 bg-blue-50 border-l-4 border-blue-400\">\n                            <h3 class=\"font-semibold text-lg mb-2\">Resumen Explicativo<\/h3>\n                            <p>El \u00e9xito de una CA depende de la interacci\u00f3n de cuatro pilares: el <span class=\"cte-platform-keyword\" data-term=\"Aprendizaje Dial\u00f3gico\">Di\u00e1logo<\/span> y la confianza, el <span class=\"cte-platform-keyword\" data-term=\"Trabajo Colaborativo\">Trabajo Colaborativo<\/span>, las Orientaciones Pedag\u00f3gicas claras, y un <span class=\"cte-platform-keyword\" data-term=\"Acompa\u00f1amiento\">Acompa\u00f1amiento<\/span> efectivo de la supervisi\u00f3n y direcci\u00f3n. Estos pilares crean las condiciones para una participaci\u00f3n aut\u00f3noma, un clima de respeto y un foco claro en la mejora continua.<\/p>\n                        <\/div>\n                        \n                        <div class=\"cte-platform-card p-6\">\n                            <h3 class=\"font-semibold text-lg mb-2 text-center\">Esquema: Pilares de una CA<\/h3>\n                             <img decoding=\"async\" src=\"https:\/\/ddmx.cc\/wp-content\/uploads\/2025\/09\/image-1.png\" alt=\"Esquema que muestra las condiciones y pilares de una Comunidad de Aprendizaje: Di\u00e1logo y confianza, Trabajo colaborativo, Orientaciones pedag\u00f3gicas y Acompa\u00f1amiento de Supervisi\u00f3n y Direcci\u00f3n.\" class=\"mx-auto max-w-xl w-full\">\n                        <\/div>\n\n                         <div class=\"cte-platform-card p-6\">\n                            <h3 class=\"font-semibold text-lg mb-2\">Tabla de Condiciones<\/h3>\n                            <table class=\"w-full text-sm text-left text-gray-500\">\n                                <thead class=\"text-xs text-gray-700 uppercase bg-gray-50\">\n                                    <tr>\n                                        <th scope=\"col\" class=\"px-6 py-3\">Pilar<\/th>\n                                        <th scope=\"col\" class=\"px-6 py-3\">Condiciones y Acciones Clave<\/th>\n                                    <\/tr>\n                                <\/thead>\n                                <tbody>\n                                    <tr class=\"bg-white border-b\">\n                                        <td class=\"px-6 py-4 font-medium\">Di\u00e1logo y Confianza<\/td>\n                                        <td class=\"px-6 py-4\">Articular la CA, definir grupos de trabajo, crear redes de apoyo, desarrollar solidaridad y empat\u00eda.<\/td>\n                                    <\/tr>\n                                    <tr class=\"bg-gray-50 border-b\">\n                                        <td class=\"px-6 py-4 font-medium\">Trabajo Colaborativo<\/td>\n                                        <td class=\"px-6 py-4\">Gestionar la participaci\u00f3n con autonom\u00eda, tener un foco de trabajo claro, principio de inclusi\u00f3n y un clima de confianza y respeto.<\/td>\n                                    <\/tr>\n                                    <tr class=\"bg-white border-b\">\n                                        <td class=\"px-6 py-4 font-medium\">Orientaciones Pedag\u00f3gicas<\/td>\n                                        <td class=\"px-6 py-4\">Fomentar la participaci\u00f3n, la centralidad del aprendizaje, expectativas positivas, progreso permanente y la autonom\u00eda profesional.<\/td>\n                                    <\/tr>\n                                     <tr class=\"bg-gray-50\">\n                                        <td class=\"px-6 py-4 font-medium\">Acompa\u00f1amiento<\/td>\n                                        <td class=\"px-6 py-4\">Orientar hacia la colaboraci\u00f3n, conformar redes de apoyo y valorar avances y logros.<\/td>\n                                    <\/tr>\n                                <\/tbody>\n                            <\/table>\n                        <\/div>\n\n                    <\/div>\n                `;\n                break;\n            case 3:\n                content = `\n                    <h2 class=\"text-2xl font-semibold text-gray-800 mb-4\">M\u00f3dulo 3: Autonom\u00eda Profesional en la CA<\/h2>\n                    <div class=\"space-y-6 text-gray-700 leading-relaxed\">\n                        <p>La <span class=\"cte-platform-keyword\" data-term=\"Autonom\u00eda Profesional\">autonom\u00eda profesional<\/span> no es sin\u00f3nimo de aislamiento. Dentro de una <span class=\"cte-platform-keyword\" data-term=\"CA\">Comunidad de Aprendizaje<\/span>, la autonom\u00eda se fortalece y adquiere un nuevo significado al ejercerse de manera colectiva y colaborativa.<\/p>\n                        \n                        <div class=\"cte-platform-card p-6 bg-blue-50 border-l-4 border-blue-400\">\n                            <h3 class=\"font-semibold text-lg mb-2\">Resumen Explicativo<\/h3>\n                            <p>Las CA promueven la autonom\u00eda al crear entornos donde los docentes pueden tomar decisiones conjuntas. La finalidad de esta autonom\u00eda es la mejora de la educaci\u00f3n. Seg\u00fan Freire, el cambio real inicia \"de abajo hacia arriba y de adentro hacia afuera\", lo que implica que el colectivo docente tiene el poder de generar transformaciones desde su propia iniciativa, responsabilidad y participaci\u00f3n democr\u00e1tica.<\/p>\n                        <\/div>\n\n                        <div class=\"cte-platform-card p-6 bg-green-50 border-l-4 border-green-400\">\n                            <h3 class=\"font-semibold text-lg mb-2\">Ejemplo Pr\u00e1ctico<\/h3>\n                            <p>Una escuela, ejerciendo su autonom\u00eda, identifica que sus estudiantes necesitan m\u00e1s habilidades para la ciudadan\u00eda digital. El colectivo docente, en lugar de esperar una directriz externa, investiga, delibera y decide implementar un proyecto transversal sobre el tema. Definen juntos los objetivos, las actividades y c\u00f3mo lo evaluar\u00e1n. Esta decisi\u00f3n, tomada en colaboraci\u00f3n, es un acto de autonom\u00eda profesional colectiva.<\/p>\n                        <\/div>\n                        \n                        <div class=\"cte-platform-card p-6\">\n                            <h3 class=\"font-semibold text-lg mb-2\">Beneficios de la Autonom\u00eda en la CA<\/h3>\n                            <ul class=\"list-disc list-inside space-y-2\">\n                                <li><strong>Mejor Integraci\u00f3n:<\/strong> Fortalece los lazos y el sentido de pertenencia en el colectivo.<\/li>\n                                <li><strong>Mayor Responsabilidad:<\/strong> Los actores se sienten m\u00e1s comprometidos con las decisiones que toman.<\/li>\n                                <li><strong>Capacidad de Iniciativa:<\/strong> Fomenta la proactividad y la b\u00fasqueda de soluciones innovadoras.<\/li>\n                                <li><strong>Decisiones Democr\u00e1ticas:<\/strong> Las decisiones se toman de forma consensuada, lo que les da mayor legitimidad y fuerza.<\/li>\n                                 <li><strong>Innovaci\u00f3n:<\/strong> Permite implementar nuevas formas de trabajo de manera autogestiva y sostenible.<\/li>\n                            <\/ul>\n                        <\/div>\n                    <\/div>\n                `;\n                break;\n            case 4:\n                content = `\n                    <h2 class=\"text-2xl font-semibold text-gray-800 mb-4\">M\u00f3dulo 4: El Rol del Acompa\u00f1amiento Directivo<\/h2>\n                     <div class=\"space-y-6 text-gray-700 leading-relaxed\">\n                        <p>Para que los CTE se consoliden como verdaderas <span class=\"cte-platform-keyword\" data-term=\"CA\">Comunidades de Aprendizaje<\/span>, el papel de directivos y supervisores es fundamental. Este rol, sin embargo, debe transformarse para alinearse con los principios de colaboraci\u00f3n y autonom\u00eda.<\/p>\n                        \n                        <div class=\"cte-platform-card p-6 bg-blue-50 border-l-4 border-blue-400\">\n                            <h3 class=\"font-semibold text-lg mb-2\">Resumen Explicativo<\/h3>\n                            <p>El <span class=\"cte-platform-keyword\" data-term=\"Acompa\u00f1amiento\">acompa\u00f1amiento<\/span> directivo debe transitar de un modelo vertical a uno horizontal. En lugar de decidir las prioridades y las formas de trabajo, el rol del directivo y supervisor es reconocer e impulsar las iniciativas de la escuela. Se trata de revalorar a los colectivos docentes, reconocer su autonom\u00eda y brindar las condiciones para que el di\u00e1logo, la colaboraci\u00f3n y la reflexi\u00f3n sobre la pr\u00e1ctica puedan florecer.<\/p>\n                        <\/div>\n\n                        <div class=\"cte-platform-card p-6 bg-green-50 border-l-4 border-green-400\">\n                            <h3 class=\"font-semibold text-lg mb-2\">Ejemplo Pr\u00e1ctico<\/h3>\n                            <p>Un director, en lugar de llegar al CTE con una agenda de temas predefinidos, inicia la sesi\u00f3n preguntando: \"\u00bfCu\u00e1les son los desaf\u00edos m\u00e1s apremiantes que hemos enfrentado en nuestras aulas este mes?\". Facilita el di\u00e1logo para que el propio colectivo identifique una problem\u00e1tica prioritaria. Su rol no es dar la soluci\u00f3n, sino hacer preguntas, ofrecer recursos si se los piden y asegurarse de que el ambiente sea de confianza para que todos puedan participar. Est\u00e1 brindando condiciones para el ejercicio de la autonom\u00eda.<\/p>\n                        <\/div>\n\n                         <div class=\"cte-platform-card p-6\">\n                            <h3 class=\"font-semibold text-lg mb-2\">Tabla: Transici\u00f3n del Acompa\u00f1amiento<\/h3>\n                            <table class=\"w-full text-sm text-left text-gray-500\">\n                                <thead class=\"text-xs text-gray-700 uppercase bg-gray-50\">\n                                    <tr>\n                                        <th scope=\"col\" class=\"px-6 py-3\">Modelo Vertical (Tradicional)<\/th>\n                                        <th scope=\"col\" class=\"px-6 py-3\">Modelo Horizontal (En una CA)<\/th>\n                                    <\/tr>\n                                <\/thead>\n                                <tbody>\n                                    <tr class=\"bg-white border-b\">\n                                        <td class=\"px-6 py-4\">Decide las prioridades y contenidos.<\/td>\n                                        <td class=\"px-6 py-4\">Reconoce e impulsa las iniciativas de la escuela.<\/td>\n                                    <\/tr>\n                                    <tr class=\"bg-gray-50 border-b\">\n                                        <td class=\"px-6 py-4\">Supervisa y controla.<\/td>\n                                        <td class=\"px-6 py-4\">Acompa\u00f1a y facilita el di\u00e1logo.<\/td>\n                                    <\/tr>\n                                    <tr class=\"bg-white\">\n                                        <td class=\"px-6 py-4\">Espera el cumplimiento de instrucciones.<\/td>\n                                        <td class=\"px-6 py-4\">Brinda condiciones para la autonom\u00eda profesional.<\/td>\n                                    <\/tr>\n                                <\/tbody>\n                            <\/table>\n                        <\/div>\n                    <\/div>\n                `;\n                break;\n        }\n\n        return `\n            <div class=\"mb-6\">\n                <a href=\"#\" onclick=\"app.navigateTo('modules')\" class=\"text-blue-600 hover:underline\"><i class=\"fas fa-arrow-left mr-2\"><\/i> Volver a M\u00f3dulos<\/a>\n            <\/div>\n            ${content}\n            <div class=\"mt-8 text-center\">\n                <button onclick=\"app.navigateTo('quiz', { moduleId: ${moduleId} })\" class=\"bg-blue-600 text-white font-bold py-3 px-8 rounded-lg hover:bg-blue-700 transition-colors\">\n                    <i class=\"fas fa-question-circle mr-2\"><\/i> Realizar Test del M\u00f3dulo\n                <\/button>\n            <\/div>\n        `;\n    },\n\n    renderQuiz(moduleId) {\n        const quiz = this.quizzes[moduleId];\n        let questionsHtml = quiz.questions.map((q, index) => {\n            let optionsHtml = q.options.map((option, i) => `\n                <div id=\"q${index}_opt${i}\" class=\"cte-platform-quiz-option p-4 rounded-lg cursor-pointer\" onclick=\"app.selectAnswer(${moduleId}, ${index}, ${i})\">\n                    ${option}\n                <\/div>\n            `).join('');\n            return `\n                <div id=\"question-${index}\" class=\"mb-8\">\n                    <h3 class=\"text-lg font-semibold mb-4\">${index + 1}. ${q.question}<\/h3>\n                    <div class=\"space-y-3\">\n                        ${optionsHtml}\n                    <\/div>\n                    <div id=\"feedback-${index}\" class=\"mt-3 text-sm\"><\/div>\n                <\/div>\n            `;\n        }).join('');\n\n        return `\n             <div class=\"mb-6\">\n                <a href=\"#\" onclick=\"app.navigateTo('module_content', { moduleId: ${moduleId} })\" class=\"text-blue-600 hover:underline\"><i class=\"fas fa-arrow-left mr-2\"><\/i> Volver al M\u00f3dulo<\/a>\n            <\/div>\n            <h1 class=\"text-3xl font-bold text-gray-800 mb-2\">${quiz.title}<\/h1>\n            <p class=\"text-gray-600 mb-6\">Selecciona la respuesta correcta para cada pregunta.<\/p>\n            <div id=\"quiz-container\">\n                ${questionsHtml}\n            <\/div>\n            <div id=\"quiz-result\" class=\"text-center mt-8\"><\/div>\n        `;\n    },\n    \n    renderGlossary() {\n        let termsHtml = Object.keys(this.glossary).sort().map(term => `\n            <div class=\"cte-platform-card p-4 cursor-pointer\" onclick=\"app.showGlossaryTerm('${term}')\">\n                <h3 class=\"font-semibold text-lg text-gray-800\">${term}<\/h3>\n            <\/div>\n        `).join('');\n\n        return `\n            <h1 class=\"text-3xl font-bold text-gray-800 mb-6\">Glosario de T\u00e9rminos<\/h1>\n            <div class=\"grid md:grid-cols-2 lg:grid-cols-3 gap-4\">\n                ${termsHtml}\n            <\/div>\n        `;\n    },\n    \n    renderGames() {\n        return `\n            <h1 class=\"text-3xl font-bold text-gray-800 mb-6\">Juegos Interactivos<\/h1>\n            <div class=\"grid md:grid-cols-2 gap-6\">\n                <div class=\"cte-platform-card p-6 text-center cursor-pointer\" onclick=\"app.navigateTo('game_matching')\">\n                    <i class=\"fas fa-link text-4xl text-blue-500 mb-4\"><\/i>\n                    <h3 class=\"text-xl font-semibold text-gray-700\">Emparejar Conceptos de CA<\/h3>\n                    <p class=\"text-gray-500 mt-2\">Relaciona cada t\u00e9rmino clave de las CA con su definici\u00f3n.<\/p>\n                <\/div>\n                <div class=\"cte-platform-card p-6 text-center cursor-pointer\" onclick=\"app.navigateTo('game_dragdrop')\">\n                     <i class=\"fas fa-hand-pointer text-4xl text-green-500 mb-4\"><\/i>\n                    <h3 class=\"text-xl font-semibold text-gray-700\">Arrastrar y Soltar Pilares<\/h3>\n                    <p class=\"text-gray-500 mt-2\">Arrastra la descripci\u00f3n correcta a su pilar correspondiente.<\/p>\n                <\/div>\n            <\/div>\n        `;\n    },\n\n    renderMatchingGame() {\n        const gameData = {\n            'CA': 'Proyecto de transformaci\u00f3n basado en el aprendizaje dial\u00f3gico.',\n            'Aprendizaje Dial\u00f3gico': 'Aprendizaje basado en la fuerza de los argumentos y la interacci\u00f3n.',\n            'Autonom\u00eda Profesional': 'Capacidad del colectivo para tomar decisiones informadas.',\n            'Acompa\u00f1amiento': 'Rol horizontal del directivo para impulsar iniciativas.'\n        };\n        const terms = Object.keys(gameData);\n        const definitions = Object.values(gameData);\n\n        \/\/ Shuffle\n        const shuffledTerms = this.shuffleArray([...terms]);\n        const shuffledDefinitions = this.shuffleArray([...definitions]);\n\n        let termsHtml = shuffledTerms.map(term => `<div class=\"p-3 border rounded-lg cursor-pointer bg-blue-100 border-blue-300\" data-type=\"term\" data-value=\"${term}\" onclick=\"game.select(this)\">${term}<\/div>`).join('');\n        let defsHtml = shuffledDefinitions.map(def => `<div class=\"p-3 border rounded-lg cursor-pointer bg-green-100 border-green-300\" data-type=\"definition\" data-value=\"${def}\" onclick=\"game.select(this)\">${def}<\/div>`).join('');\n\n        return `\n            <div class=\"mb-6\">\n                <a href=\"#\" onclick=\"app.navigateTo('games')\" class=\"text-blue-600 hover:underline\"><i class=\"fas fa-arrow-left mr-2\"><\/i> Volver a Juegos<\/a>\n            <\/div>\n            <h2 class=\"text-2xl font-bold text-gray-800 mb-2\">Juego: Emparejar Conceptos de CA<\/h2>\n            <p class=\"text-gray-600 mb-6\">Haz clic en un concepto y luego en su definici\u00f3n correspondiente para emparejarlos.<\/p>\n            \n            <div class=\"grid md:grid-cols-2 gap-8\">\n                <div class=\"space-y-3\">\n                    <h3 class=\"font-semibold text-lg\">Conceptos<\/h3>\n                    <div id=\"terms-container\" class=\"space-y-3\">${termsHtml}<\/div>\n                <\/div>\n                <div class=\"space-y-3\">\n                    <h3 class=\"font-semibold text-lg\">Definiciones<\/h3>\n                    <div id=\"definitions-container\" class=\"space-y-3\">${defsHtml}<\/div>\n                <\/div>\n            <\/div>\n            <div id=\"game-feedback\" class=\"mt-6 text-center font-semibold\"><\/div>\n        `;\n    },\n    \n    renderDragDropGame() {\n        const gameData = {\n            'Di\u00e1logo y Confianza': 'Implica articular la CA y desarrollar solidaridad y empat\u00eda.',\n            'Trabajo Colaborativo': 'Requiere un clima de respeto y un foco de trabajo claro.',\n            'Orientaciones Pedag\u00f3gicas': 'Se enfoca en la centralidad del aprendizaje y expectativas positivas.',\n            'Acompa\u00f1amiento': 'Busca orientar hacia la colaboraci\u00f3n y valorar los logros.'\n        };\n\n        const definitions = this.shuffleArray(Object.entries(gameData));\n\n        let draggablesHtml = definitions.map(([term, def], index) => `\n            <div id=\"drag-${index}\" class=\"cte-platform-draggable p-3 border rounded-lg bg-green-100 border-green-300\" draggable=\"true\" data-term=\"${term}\">${def}<\/div>\n        `).join('');\n\n        let dropTargetsHtml = this.shuffleArray(Object.keys(gameData)).map((term, index) => `\n            <div class=\"mb-4\">\n                <h4 class=\"font-semibold text-lg text-gray-800\">${term}<\/h4>\n                <div id=\"drop-${index}\" class=\"cte-platform-drop-target min-h-[60px] p-3 rounded-lg\" data-term=\"${term}\"><\/div>\n            <\/div>\n        `).join('');\n\n        return `\n            <div class=\"mb-6\">\n                <a href=\"#\" onclick=\"app.navigateTo('games')\" class=\"text-blue-600 hover:underline\"><i class=\"fas fa-arrow-left mr-2\"><\/i> Volver a Juegos<\/a>\n            <\/div>\n            <h2 class=\"text-2xl font-bold text-gray-800 mb-2\">Juego: Arrastrar y Soltar Pilares<\/h2>\n            <p class=\"text-gray-600 mb-6\">Arrastra cada descripci\u00f3n al pilar de la CA que le corresponde.<\/p>\n            <div id=\"game-feedback-drag\" class=\"mb-4 text-center font-semibold\"><\/div>\n\n            <div class=\"grid md:grid-cols-2 gap-8\">\n                <div>\n                    <h3 class=\"font-semibold text-lg mb-3\">Descripciones (Arrastra desde aqu\u00ed)<\/h3>\n                    <div id=\"draggable-container\" class=\"space-y-3\">\n                        ${draggablesHtml}\n                    <\/div>\n                <\/div>\n                <div>\n                    <h3 class=\"font-semibold text-lg mb-3\">Pilares (Suelta aqu\u00ed)<\/h3>\n                    <div id=\"droptarget-container\">\n                        ${dropTargetsHtml}\n                    <\/div>\n                <\/div>\n            <\/div>\n        `;\n    },\n\n    renderProgress() {\n        const completedCount = this.state.completedModules.length;\n        const totalModules = this.modules.length;\n        const progressPercentage = totalModules > 0 ? (completedCount \/ totalModules) * 100 : 0;\n        \n        const unlockedBadges = this.badges.filter(b => this.state.unlockedBadges.includes(b.id));\n        const lockedBadges = this.badges.filter(b => !this.state.unlockedBadges.includes(b.id));\n        \n        let badgesHtml = (title, badges, locked = false) => {\n            if (badges.length === 0) return '';\n            return `\n                <h3 class=\"text-xl font-semibold text-gray-700 mt-8 mb-4\">${title}<\/h3>\n                <div class=\"grid grid-cols-2 md:grid-cols-3 lg:grid-cols-4 gap-4\">\n                    ${badges.map(badge => `\n                        <div class=\"cte-platform-badge ${locked ? 'locked' : ''} cte-platform-card p-4 flex flex-col items-center text-center\" title=\"${badge.description}\">\n                            <i class=\"fas ${badge.icon} text-4xl mb-3 ${locked ? 'text-gray-400' : 'text-yellow-500'}\"><\/i>\n                            <h4 class=\"font-semibold text-sm\">${badge.title}<\/h4>\n                        <\/div>\n                    `).join('')}\n                <\/div>\n            `;\n        };\n\n        return `\n            <h1 class=\"text-3xl font-bold text-gray-800 mb-6\">Tu Progreso<\/h1>\n            <div class=\"cte-platform-card p-6\">\n                <h2 class=\"text-2xl font-semibold text-gray-800 mb-4\">Resumen General<\/h2>\n                \n                <div class=\"mb-6\">\n                    <p class=\"font-medium mb-2\">Progreso de M\u00f3dulos: ${completedCount} de ${totalModules}<\/p>\n                    <div class=\"cte-platform-progress-bar-bg w-full h-4 rounded-full overflow-hidden\">\n                        <div class=\"cte-platform-progress-bar-fill h-full\" style=\"width: ${progressPercentage}%;\"><\/div>\n                    <\/div>\n                <\/div>\n                \n                <div>\n                    <p class=\"font-medium\">Puntuaci\u00f3n Total Acumulada<\/p>\n                    <p class=\"text-4xl font-bold text-blue-600\">${this.state.totalScore} puntos<\/p>\n                <\/div>\n\n                ${badgesHtml('Medallas Desbloqueadas', unlockedBadges)}\n                ${badgesHtml('Medallas Bloqueadas', lockedBadges, true)}\n            <\/div>\n        `;\n    },\n    \n    renderTimeline() {\n        return `\n            <h1 class=\"text-3xl font-bold text-gray-800 mb-8\">L\u00ednea de Tiempo: Del Aislamiento a la Comunidad<\/h1>\n            <div class=\"relative border-l-2 border-blue-500 ml-4 pl-8 py-4\">\n                <!-- Timeline Item 1 -->\n                <div class=\"mb-12\">\n                    <div class=\"absolute w-4 h-4 bg-blue-500 rounded-full -left-[9px] border-2 border-white\"><\/div>\n                    <h3 class=\"text-xl font-semibold text-blue-700\">Pr\u00e1ctica Individualista<\/h3>\n                    <p class=\"text-gray-600 mt-1\">El docente trabaja de forma aislada en su aula. La resoluci\u00f3n de problemas es una responsabilidad \u00fanica y el aprendizaje profesional depende de cursos externos.<\/p>\n                <\/div>\n                <!-- Timeline Item 2 -->\n                <div class=\"mb-12\">\n                    <div class=\"absolute w-4 h-4 bg-blue-500 rounded-full -left-[9px] border-2 border-white\"><\/div>\n                    <h3 class=\"text-xl font-semibold text-blue-700\">Trabajo en Grupo (CTE Inicial)<\/h3>\n                    <p class=\"text-gray-600 mt-1\">Los docentes se re\u00fanen, pero el trabajo puede ser superficial, centrado en lo administrativo y con poca reflexi\u00f3n profunda sobre la pr\u00e1ctica pedag\u00f3gica.<\/p>\n                <\/div>\n                 <!-- Timeline Item 3 -->\n                <div class=\"mb-12\">\n                    <div class=\"absolute w-4 h-4 bg-blue-500 rounded-full -left-[9px] border-2 border-white\"><\/div>\n                    <h3 class=\"text-xl font-semibold text-blue-700\">Trabajo Colaborativo (Hacia la CA)<\/h3>\n                    <p class=\"text-gray-600 mt-1\">El colectivo empieza a compartir experiencias, buscar soluciones conjuntas y asumir una responsabilidad compartida. Se construye confianza.<\/p>\n                <\/div>\n                 <!-- Timeline Item 4 -->\n                <div class=\"mb-12\">\n                    <div class=\"absolute w-4 h-4 bg-blue-500 rounded-full -left-[9px] border-2 border-white\"><\/div>\n                    <h3 class=\"text-xl font-semibold text-blue-700\">Comunidad de Aprendizaje (CA)<\/h3>\n                    <p class=\"text-gray-600 mt-1\">El colectivo funciona con un objetivo compartido. El di\u00e1logo es cr\u00edtico y reflexivo, se toman decisiones aut\u00f3nomas y conjuntas, y el aprendizaje entre pares es constante.<\/p>\n                <\/div>\n            <\/div>\n        `;\n    },\n\n    renderSimulator() {\n        return `\n            <h1 class=\"text-3xl font-bold text-gray-800 mb-6\">Simulador: Fomentando la CA<\/h1>\n            <div class=\"cte-platform-card p-6\" id=\"simulator-container\">\n                <h2 class=\"text-xl font-semibold text-gray-800 mb-2\">Escenario:<\/h2>\n                <p class=\"text-gray-600 mb-6\">En una sesi\u00f3n del CTE, un director nota que pocos docentes comparten sus experiencias por temor a ser juzgados. El di\u00e1logo es limitado y la mayor\u00eda espera instrucciones. \u00bfQu\u00e9 acci\u00f3n fomenta mejor una Comunidad de Aprendizaje?<\/p>\n                <div class=\"space-y-3\" id=\"simulator-options\">\n                    <div class=\"cte-platform-quiz-option p-4 rounded-lg cursor-pointer\" onclick=\"app.showSimulationResult('A')\">\n                        <strong>Opci\u00f3n A:<\/strong> Establecer una regla donde cada docente est\u00e1 obligado a presentar una \"experiencia exitosa\" en cada sesi\u00f3n para forzar la participaci\u00f3n.\n                    <\/div>\n                     <div class=\"cte-platform-quiz-option p-4 rounded-lg cursor-pointer\" onclick=\"app.showSimulationResult('B')\">\n                        <strong>Opci\u00f3n B:<\/strong> El director presenta sus propias estrategias como el modelo a seguir, esperando que los dem\u00e1s las copien para mejorar.\n                    <\/div>\n                     <div class=\"cte-platform-quiz-option p-4 rounded-lg cursor-pointer\" onclick=\"app.showSimulationResult('C')\">\n                        <strong>Opci\u00f3n C:<\/strong> Proponer un di\u00e1logo honesto sobre un desaf\u00edo com\u00fan (no necesariamente un \"\u00e9xito\"), modelando \u00e9l mismo la vulnerabilidad al compartir una dificultad que ha enfrentado y preguntando al grupo por sus ideas.\n                    <\/div>\n                <\/div>\n                <div id=\"simulator-feedback\" class=\"mt-6\"><\/div>\n            <\/div>\n        `;\n    },\n\n    showSimulationResult(option) {\n        document.getElementById('simulator-options').style.display = 'none';\n        const feedbackEl = document.getElementById('simulator-feedback');\n        let title, text;\n        if (option === 'C') {\n            title = '\u00a1Excelente Decisi\u00f3n!';\n            text = 'Esta acci\u00f3n es la que mejor fomenta una CA. Construye un clima de confianza y seguridad al modelar la vulnerabilidad y la reflexi\u00f3n honesta. Transita de un enfoque en el \"\u00e9xito\" a uno en el \"aprendizaje\", invitando a un di\u00e1logo aut\u00e9ntico y colaborativo para resolver un problema real.';\n            feedbackEl.innerHTML = `<div class=\"p-4 rounded-lg bg-green-100 border border-green-300 text-green-800\"><h3 class=\"font-bold\">${title}<\/h3><p>${text}<\/p><\/div>`;\n        } else {\n            title = 'Decisi\u00f3n con \u00c1reas de Oportunidad';\n            if (option === 'A') {\n                text = 'Aunque busca la participaci\u00f3n, esta opci\u00f3n puede generar m\u00e1s ansiedad y resistencia. La participaci\u00f3n forzada no crea un ambiente de confianza y puede llevar a que se compartan experiencias de forma superficial y poco honesta.';\n            } else {\n                text = 'Esta opci\u00f3n refuerza un modelo vertical y jer\u00e1rquico. Posiciona al director como el \u00fanico experto, desalentando el di\u00e1logo entre pares y la construcci\u00f3n colectiva de conocimiento. No aprovecha la riqueza de experiencias del colectivo.';\n            }\n            feedbackEl.innerHTML = `<div class=\"p-4 rounded-lg bg-yellow-100 border border-yellow-300 text-yellow-800\"><h3 class=\"font-bold\">${title}<\/h3><p>${text}<\/p><\/div>`;\n        }\n        feedbackEl.innerHTML += `<button onclick=\"app.navigateTo('simulator')\" class=\"mt-4 bg-blue-600 text-white font-bold py-2 px-4 rounded-lg hover:bg-blue-700\">Intentar de nuevo<\/button>`;\n    },\n\n\n    \/\/ NAVIGATION\n    navigateTo(page, params = {}) {\n        this.state.currentPage = page;\n        if (params.moduleId) {\n            this.state.currentModuleId = params.moduleId;\n        }\n        this.render();\n         \/\/ After rendering, if it's a game, init the game logic\n        if (page === 'game_matching') {\n            game.initMatching();\n        }\n        if (page === 'game_dragdrop') {\n            game.initDragDrop();\n        }\n    },\n\n    updateNavLinks() {\n        const pageToNavId = {\n            'home': 'home',\n            'modules': 'content',\n            'module_content': 'content',\n            'quiz': 'content',\n            'glossary': 'content',\n            'games': 'activities',\n            'game_matching': 'activities',\n            'game_dragdrop': 'activities',\n            'timeline': 'activities',\n            'simulator': 'activities',\n            'progress': 'progress'\n        };\n\n        const activeNavId = pageToNavId[this.state.currentPage];\n\n        document.querySelectorAll('.cte-platform-nav-link').forEach(link => {\n            link.classList.remove('active');\n            if (link.dataset.navId === activeNavId) {\n                link.classList.add('active');\n            }\n        });\n    },\n\n    toggleDropdown(id, show) {\n        const dropdown = document.getElementById(id);\n        if (show) {\n            dropdown.classList.remove('hidden');\n        } else {\n            dropdown.classList.add('hidden');\n        }\n    },\n    \n    \/\/ QUIZ LOGIC\n    selectAnswer(moduleId, questionIndex, optionIndex) {\n        if (this.state.quizData[moduleId].completed) return; \/\/ Prevent changing answers after completion\n\n        \/\/ Remove 'selected' from siblings\n        document.querySelectorAll(`#question-${questionIndex} .cte-platform-quiz-option`).forEach(el => el.classList.remove('selected'));\n        \/\/ Add 'selected' to clicked\n        document.getElementById(`q${questionIndex}_opt${optionIndex}`).classList.add('selected');\n        \n        \/\/ Check if all questions are answered\n        const quiz = this.quizzes[moduleId];\n        const allAnswered = quiz.questions.every((_, i) => document.querySelector(`#question-${i} .selected`));\n        \n        if (allAnswered && !document.getElementById('submit-quiz-btn')) {\n            const resultDiv = document.getElementById('quiz-result');\n            resultDiv.innerHTML = `<button id=\"submit-quiz-btn\" onclick=\"app.submitQuiz(${moduleId})\" class=\"bg-green-600 text-white font-bold py-3 px-8 rounded-lg hover:bg-green-700\">Calificar Test<\/button>`;\n        }\n    },\n    \n    submitQuiz(moduleId) {\n        const quiz = this.quizzes[moduleId];\n        let score = 0;\n        \n        quiz.questions.forEach((q, index) => {\n            const selectedOption = document.querySelector(`#question-${index} .selected`);\n            if (!selectedOption) return;\n\n            const selectedAnswer = selectedOption.innerText.trim();\n            const feedbackEl = document.getElementById(`feedback-${index}`);\n\n            \/\/ Disable further clicks on this question\n            document.querySelectorAll(`#question-${index} .cte-platform-quiz-option`).forEach(opt => opt.style.pointerEvents = 'none');\n            \n            if (selectedAnswer === q.answer) {\n                score++;\n                selectedOption.classList.add('correct');\n                feedbackEl.innerHTML = `<p class=\"text-green-600 font-semibold\"><i class=\"fas fa-check-circle mr-1\"><\/i> \u00a1Correcto!<\/p>`;\n            } else {\n                selectedOption.classList.add('incorrect');\n                feedbackEl.innerHTML = `<p class=\"text-red-600 font-semibold\"><i class=\"fas fa-times-circle mr-1\"><\/i> Incorrecto.<\/p> <p class=\"text-gray-600\">${q.explanation}<\/p>`;\n                \/\/ Highlight the correct answer\n                q.options.forEach((opt, i) => {\n                    if (opt === q.answer) {\n                        document.getElementById(`q${index}_opt${i}`).classList.add('correct');\n                    }\n                });\n            }\n        });\n\n        const points = Math.round((score \/ quiz.questions.length) * 100);\n        this.state.totalScore += points;\n        this.state.quizData[moduleId] = { score: points, completed: true };\n        \n        if (!this.state.completedModules.includes(moduleId)) {\n            this.state.completedModules.push(moduleId);\n        }\n        \n        this.unlockBadges(moduleId, points);\n        \n        const resultDiv = document.getElementById('quiz-result');\n        resultDiv.innerHTML = `\n            <div class=\"cte-platform-card p-6 max-w-md mx-auto bg-gray-50\">\n                <h3 class=\"text-2xl font-bold text-gray-800\">Test completado<\/h3>\n                <p class=\"text-lg mt-2\">Obtuviste <span class=\"font-bold text-blue-600\">${score} de ${quiz.questions.length}<\/span> respuestas correctas.<\/p>\n                <p class=\"text-3xl font-bold text-blue-600 mt-2\">${points} puntos<\/p>\n                <button onclick=\"app.navigateTo('module_content', { moduleId: ${moduleId} })\" class=\"mt-4 bg-blue-600 text-white font-bold py-2 px-4 rounded-lg hover:bg-blue-700\">Volver al M\u00f3dulo<\/button>\n            <\/div>\n        `;\n    },\n    \n    \/\/ BADGE LOGIC\n    unlockBadges(moduleId, score) {\n        const unlock = (badgeId) => {\n            if (!this.state.unlockedBadges.includes(badgeId)) {\n                this.state.unlockedBadges.push(badgeId);\n            }\n        };\n\n        unlock(`module${moduleId}_complete`);\n        if (score === 100) {\n            unlock('perfect_score');\n        }\n        if (this.state.completedModules.length === this.modules.length) {\n            unlock('all_modules_complete');\n        }\n    },\n    \n    \/\/ GLOSSARY & MODAL\n    showGlossaryTerm(term) {\n        document.getElementById('modal-title').innerText = term;\n        document.getElementById('modal-content').innerText = this.glossary[term];\n        document.getElementById('glossary-modal').classList.remove('hidden');\n        document.getElementById('glossary-modal').classList.add('flex');\n    },\n\n    closeModal() {\n        document.getElementById('glossary-modal').classList.add('hidden');\n        document.getElementById('glossary-modal').classList.remove('flex');\n    },\n\n    addKeywordListeners() {\n        document.querySelectorAll('.cte-platform-keyword').forEach(el => {\n            el.addEventListener('click', (e) => {\n                const term = e.target.dataset.term;\n                if (this.glossary[term]) {\n                    this.showGlossaryTerm(term);\n                }\n            });\n        });\n    },\n    \n    \/\/ UTILITIES\n    shuffleArray(array) {\n        for (let i = array.length - 1; i > 0; i--) {\n            const j = Math.floor(Math.random() * (i + 1));\n            [array[i], array[j]] = [array[j], array[i]];\n        }\n        return array;\n    }\n};\n\nconst game = {\n    \/\/ Matching Game state\n    selectedTerm: null,\n    selectedDef: null,\n    matchedPairs: 0,\n    totalPairs: 4,\n    \n    \/\/ Drag & Drop Game state\n    draggedItem: null,\n\n    initMatching() {\n        this.selectedTerm = null;\n        this.selectedDef = null;\n        this.matchedPairs = 0;\n        this.totalPairs = 4; \/\/ Hardcoded for this game\n    },\n    \n    select(element) {\n        const type = element.dataset.type;\n        const value = element.dataset.value;\n\n        if (type === 'term') {\n            if (this.selectedTerm) this.selectedTerm.classList.remove('ring-2', 'ring-blue-500');\n            this.selectedTerm = element;\n            element.classList.add('ring-2', 'ring-blue-500');\n        } else {\n            if (this.selectedDef) this.selectedDef.classList.remove('ring-2', 'ring-green-500');\n            this.selectedDef = element;\n            element.classList.add('ring-2', 'ring-green-500');\n        }\n        this.checkMatch();\n    },\n\n    checkMatch() {\n        if (!this.selectedTerm || !this.selectedDef) return;\n\n        const termValue = this.selectedTerm.dataset.value;\n        const defValue = this.selectedDef.dataset.value;\n        \n        const gameData = {\n            'CA': 'Proyecto de transformaci\u00f3n basado en el aprendizaje dial\u00f3gico.',\n            'Aprendizaje Dial\u00f3gico': 'Aprendizaje basado en la fuerza de los argumentos y la interacci\u00f3n.',\n            'Autonom\u00eda Profesional': 'Capacidad del colectivo para tomar decisiones informadas.',\n            'Acompa\u00f1amiento': 'Rol horizontal del directivo para impulsar iniciativas.'\n        };\n        const feedbackEl = document.getElementById('game-feedback');\n\n        if (gameData[termValue] === defValue) {\n            this.selectedTerm.style.opacity = '0.3';\n            this.selectedDef.style.opacity = '0.3';\n            this.selectedTerm.style.pointerEvents = 'none';\n            this.selectedDef.style.pointerEvents = 'none';\n            feedbackEl.textContent = '\u00a1Correcto!';\n            feedbackEl.className = 'mt-6 text-center font-semibold text-green-600';\n            this.matchedPairs++;\n        } else {\n            feedbackEl.textContent = 'Incorrecto. Intenta de nuevo.';\n            feedbackEl.className = 'mt-6 text-center font-semibold text-red-600';\n        }\n        \n        \/\/ Reset selection\n        this.selectedTerm.classList.remove('ring-2', 'ring-blue-500');\n        this.selectedDef.classList.remove('ring-2', 'ring-green-500');\n        this.selectedTerm = null;\n        this.selectedDef = null;\n\n        if (this.matchedPairs === this.totalPairs) {\n            feedbackEl.textContent = '\u00a1Felicidades! \u00a1Has completado el juego!';\n            feedbackEl.className = 'mt-6 text-center font-semibold text-xl text-blue-600';\n        }\n    },\n    \n    initDragDrop() {\n        this.draggedItem = null;\n        document.querySelectorAll('.cte-platform-draggable').forEach(item => {\n            item.addEventListener('dragstart', this.handleDragStart.bind(this));\n        });\n        document.querySelectorAll('.cte-platform-drop-target').forEach(target => {\n            target.addEventListener('dragover', this.handleDragOver.bind(this));\n            target.addEventListener('dragleave', this.handleDragLeave.bind(this));\n            target.addEventListener('drop', this.handleDrop.bind(this));\n        });\n    },\n\n    handleDragStart(e) {\n        this.draggedItem = e.target;\n        e.dataTransfer.setData('text\/plain', e.target.id);\n        setTimeout(() => {\n            e.target.style.display = 'none';\n        }, 0);\n    },\n    \n    handleDragOver(e) {\n        e.preventDefault();\n        e.currentTarget.classList.add('hover');\n    },\n\n    handleDragLeave(e) {\n        e.currentTarget.classList.remove('hover');\n    },\n\n    handleDrop(e) {\n        e.preventDefault();\n        e.currentTarget.classList.remove('hover');\n        \n        if (e.currentTarget.children.length > 0) return; \/\/ Already has an item\n\n        e.currentTarget.appendChild(this.draggedItem);\n        this.draggedItem.style.display = 'block';\n        this.draggedItem.classList.remove('cte-platform-draggable');\n        this.draggedItem.setAttribute('draggable', 'false');\n\n        \/\/ Check if correct\n        const droppedTerm = this.draggedItem.dataset.term;\n        const targetTerm = e.currentTarget.dataset.term;\n        const feedbackEl = document.getElementById('game-feedback-drag');\n        \n        const gameData = {\n            'Di\u00e1logo y Confianza': 'Implica articular la CA y desarrollar solidaridad y empat\u00eda.',\n            'Trabajo Colaborativo': 'Requiere un clima de respeto y un foco de trabajo claro.',\n            'Orientaciones Pedag\u00f3gicas': 'Se enfoca en la centralidad del aprendizaje y expectativas positivas.',\n            'Acompa\u00f1amiento': 'Busca orientar hacia la colaboraci\u00f3n y valorar los logros.'\n        };\n\n        if (droppedTerm === targetTerm) {\n            e.currentTarget.classList.add('correct');\n            feedbackEl.textContent = '\u00a1Bien hecho!';\n            feedbackEl.className = 'mb-4 text-center font-semibold text-green-600';\n        } else {\n            e.currentTarget.classList.add('bg-red-200', 'border-red-400');\n             feedbackEl.textContent = '\u00a1Ups! Intenta de nuevo.';\n            feedbackEl.className = 'mb-4 text-center font-semibold text-red-600';\n        }\n\n        \/\/ Check for game completion\n        const totalTargets = document.querySelectorAll('#droptarget-container .cte-platform-drop-target').length;\n        const filledTargets = document.querySelectorAll('#droptarget-container .cte-platform-drop-target > div').length;\n        if (totalTargets === filledTargets) {\n            const correctCount = document.querySelectorAll('#droptarget-container .cte-platform-drop-target.correct').length;\n            if (correctCount === totalTargets) {\n                feedbackEl.textContent = '\u00a1Felicidades! \u00a1Completaste el juego perfectamente!';\n                feedbackEl.className = 'mb-4 text-center font-semibold text-xl text-blue-600';\n            }\n        }\n    }\n};\n\ndocument.addEventListener('DOMContentLoaded', () => app.init());\n\n<\/script>\n<\/body>\n<\/html>\n\n\n","protected":false},"excerpt":{"rendered":"<p>Plataforma de Aprendizaje: Comunidades de Aprendizaje Plataforma CA Comunidades de Aprendizaje Inicio Contenido M\u00f3dulos Glosario Actividades Juegos L\u00ednea de Tiempo Simulador Progreso<\/p>\n","protected":false},"author":2,"featured_media":2364,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"inline_featured_image":false,"rop_custom_images_group":[],"rop_custom_messages_group":[],"rop_publish_now":"initial","rop_publish_now_accounts":{"facebook_2925173004293474_260002561269783":""},"rop_publish_now_history":[],"rop_publish_now_status":"pending","site-container-style":"default","site-container-layout":"default","site-sidebar-layout":"default","site-transparent-header":"default","disable-article-header":"default","disable-site-header":"default","disable-site-footer":"default","disable-content-area-spacing":"default","footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[18],"tags":[],"class_list":["post-2370","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-consejo-tecnico-escolar"],"_wp_page_template":null,"_wp_attachment_metadata":null,"_wp_attached_file":null,"_wp_attachment_context":null,"_elementor_edit_mode":null,"_elementor_template_type":null,"_wp_attachment_backup_sizes":null,"_wpas_feature_enabled":null,"_wpas_is_tweetstorm":null,"_wpas_mess":null,"_thumbnail_id":"2364","_wpas_done_all":"1","_wp_attachment_image_alt":null,"_oembed_953a61d5df8c3836a556d8d39803bf3c":null,"_oembed_time_953a61d5df8c3836a556d8d39803bf3c":null,"_wpas_skip_28712532":null,"_oembed_4a4bb227a6bbfc1286813ba1a53587ee":null,"_oembed_time_4a4bb227a6bbfc1286813ba1a53587ee":null,"_oembed_b65f030d0e4fe78a9f2aa20ef42c0e18":null,"_oembed_time_b65f030d0e4fe78a9f2aa20ef42c0e18":null,"_oembed_f6a64b4156635a0bc55b4c4bbc364650":null,"_oembed_time_f6a64b4156635a0bc55b4c4bbc364650":null,"_oembed_a22c2ada96445daed271c1dcee845f2b":null,"_menu_item_type":null,"_menu_item_menu_item_parent":null,"_menu_item_object_id":null,"_menu_item_object":null,"_menu_item_target":null,"_menu_item_classes":null,"_menu_item_xfn":null,"_menu_item_url":null,"_menu_item_orphaned":null,"_wp_attachment_custom_header_last_used_cozibee":null,"_wp_attachment_is_custom_header":null,"_wp_attachment_is_custom_background":null,"_oembed_0fce63d053e1c840acdaf9784da4fc8b":null,"_oembed_time_0fce63d053e1c840acdaf9784da4fc8b":null,"_oembed_868a97a741381805139bcba376ff0625":null,"_oembed_time_868a97a741381805139bcba376ff0625":null,"_oembed_e579f188e1e4ab796dbace1957f8fbde":null,"_oembed_time_e579f188e1e4ab796dbace1957f8fbde":null,"_oembed_3aa5ccda408558f57932bf67f990a691":null,"_oembed_time_3aa5ccda408558f57932bf67f990a691":null,"_oembed_c2491fa9a9f5cdc93a304b975729ea15":null,"_oembed_time_c2491fa9a9f5cdc93a304b975729ea15":null,"_oembed_5d0a0fbc199d09fc11425162a9492c14":null,"_oembed_time_5d0a0fbc199d09fc11425162a9492c14":null,"_oembed_ba589a8b01cad13e4e566584052cb77a":null,"_oembed_time_ba589a8b01cad13e4e566584052cb77a":null,"_oembed_30669573d2b5e70ea857547628b634da":null,"_oembed_time_30669573d2b5e70ea857547628b634da":null,"_oembed_c6c454880f54c026403650bfc764daa8":null,"_oembed_time_c6c454880f54c026403650bfc764daa8":null,"_oembed_3d570b3811c404e494d6a02452207e66":null,"_oembed_time_3d570b3811c404e494d6a02452207e66":null,"_oembed_4e4c64d45329ac65f2ecba3f1098156b":null,"_oembed_time_4e4c64d45329ac65f2ecba3f1098156b":null,"_oembed_26ea7d7572a89a903bdcc029628ad5b2":null,"_oembed_time_26ea7d7572a89a903bdcc029628ad5b2":null,"_oembed_a7e95c0362f8dba8c04afb28dfeba5c4":null,"_oembed_time_a7e95c0362f8dba8c04afb28dfeba5c4":null,"_oembed_e5b9ced47b1732d259a5d4aeddd9f86b":null,"_oembed_time_e5b9ced47b1732d259a5d4aeddd9f86b":null,"_oembed_5b4c9d950ab8f0e6ee36bf1d03b97fa2":null,"_oembed_time_5b4c9d950ab8f0e6ee36bf1d03b97fa2":null,"_oembed_b49cdec356d7242bb8a49d9c9f01bc06":null,"_oembed_time_b49cdec356d7242bb8a49d9c9f01bc06":null,"_oembed_304f4ae101daf3ec11ce08903a61e1a1":null,"_oembed_time_304f4ae101daf3ec11ce08903a61e1a1":null,"_oembed_83e577f7d02d35ed039e43ba03038e30":null,"_oembed_time_83e577f7d02d35ed039e43ba03038e30":null,"_oembed_ac101d4e0aa9c1e0993fbaffe57d0fc5":null,"_oembed_time_ac101d4e0aa9c1e0993fbaffe57d0fc5":null,"_oembed_b8411cad4c872303f3f389c0550cfc51":null,"_oembed_time_b8411cad4c872303f3f389c0550cfc51":null,"_oembed_a21a162044b7b51413df6eac11ad958f":null,"_oembed_time_a21a162044b7b51413df6eac11ad958f":null,"_oembed_fba64fc3e6e979fc9c4aa99f0afe7d79":null,"_oembed_time_fba64fc3e6e979fc9c4aa99f0afe7d79":null,"_oembed_76d1c5765b2bc8197eba722fa7cc4244":null,"_oembed_time_76d1c5765b2bc8197eba722fa7cc4244":null,"_oembed_1af62fd759021cc0b68eaa004effd6d5":null,"_oembed_time_1af62fd759021cc0b68eaa004effd6d5":null,"_oembed_2aeeb91d42a24ab084a9cb37fb3b67f1":null,"_oembed_time_2aeeb91d42a24ab084a9cb37fb3b67f1":null,"_oembed_a20b7becc3d5a90f749947d58de23463":null,"_oembed_time_a20b7becc3d5a90f749947d58de23463":null,"_oembed_8796659fa365a11c137d85033d2e7b2c":null,"_jetpack_post_was_ever_published":null,"_jetpack_newsletter_access":null,"_jetpack_newsletter_tier_id":null,"_oembed_5e6fd9549f847190c195ab03255f6ae1":null,"_oembed_554eaf78a040947b2cdd90835d8cd276":null,"_oembed_time_554eaf78a040947b2cdd90835d8cd276":null,"_oembed_7271f435f5fb97d3120864ad34adb6c3":null,"_oembed_time_7271f435f5fb97d3120864ad34adb6c3":null,"_oembed_1fa2fbab810b9b626ad7cc0992ad6aaf":null,"_oembed_time_1fa2fbab810b9b626ad7cc0992ad6aaf":null,"_oembed_64d2135e548c4ce907bc35b61950835b":null,"_oembed_time_64d2135e548c4ce907bc35b61950835b":null,"_oembed_b06e05f997fbefc05e29757e11f828c6":null,"_oembed_time_b06e05f997fbefc05e29757e11f828c6":null,"_oembed_8ce37cc1b7e4dd2fc03872862421313f":null,"_oembed_time_8ce37cc1b7e4dd2fc03872862421313f":null,"_oembed_2158468bd8321669930d1e9681ce2bef":null,"_oembed_time_2158468bd8321669930d1e9681ce2bef":null,"_oembed_ce1b323d791120f5404dbf8cceb57366":null,"_oembed_time_ce1b323d791120f5404dbf8cceb57366":null,"_oembed_21a8242fe71dbeda6363d1536af838e8":null,"_oembed_time_21a8242fe71dbeda6363d1536af838e8":null,"_oembed_eb56dfdacfea2f082dd29cd9084ec889":null,"_wp_old_slug":null,"_oembed_630acfcb06b9afa6ddad824949b84793":null,"_pingme":null,"_encloseme":null,"_oembed_5a7c9eb8a81530ecf9e4e972c23ba731":null,"_oembed_f2fd7c802a7374c43ea88d0097870f1b":null,"_oembed_time_f2fd7c802a7374c43ea88d0097870f1b":null,"_oembed_time_5a7c9eb8a81530ecf9e4e972c23ba731":null,"_oembed_6a91eb9d3d56701e2bf3c9752e96e963":null,"_oembed_c420e9b8b4ecc62da9e432b3ac6a775c":null,"_oembed_725a018f8f3c315b019b5027147af17c":null,"_oembed_fbaa8b858f2c2b8bd17bd9f041381fd0":null,"_oembed_b1333ac22358b86e275b521bfe898d6c":null,"_oembed_81a8344c3ba22ed7e81d42d93e039c83":null,"_oembed_e8b758a02e7baa37faf81b4537e12296":null,"_oembed_f176d255aad93b4de0d42f54076770bd":null,"_oembed_b39b53a24b9c3ddc8f4d0334bdf02260":null,"_oembed_172d3f081ea3bc54cd6f27cf98769eac":null,"_oembed_a121a60eb9062ad69062a9659affb999":null,"_wp_desired_post_slug":null,"_wp_attachment_custom_header_last_used_blogstream":null,"_edit_lock":"1758813792:2","_last_editor_used_jetpack":null,"_jetpack_related_posts_cache":null,"_edit_last":"2","_wp_trash_meta_status":null,"_wp_trash_meta_time":null,"footnotes":null,"jetpack_publicize_connections":[],"_links":{"self":[{"href":"https:\/\/ddmx.cc\/blog\/wp-json\/wp\/v2\/posts\/2370","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ddmx.cc\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/ddmx.cc\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/ddmx.cc\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/ddmx.cc\/blog\/wp-json\/wp\/v2\/comments?post=2370"}],"version-history":[{"count":1,"href":"https:\/\/ddmx.cc\/blog\/wp-json\/wp\/v2\/posts\/2370\/revisions"}],"predecessor-version":[{"id":2371,"href":"https:\/\/ddmx.cc\/blog\/wp-json\/wp\/v2\/posts\/2370\/revisions\/2371"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/ddmx.cc\/blog\/wp-json\/wp\/v2\/media\/2364"}],"wp:attachment":[{"href":"https:\/\/ddmx.cc\/blog\/wp-json\/wp\/v2\/media?parent=2370"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ddmx.cc\/blog\/wp-json\/wp\/v2\/categories?post=2370"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ddmx.cc\/blog\/wp-json\/wp\/v2\/tags?post=2370"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}