{"id":2356,"date":"2026-09-01T22:06:08","date_gmt":"2026-09-01T22:06:08","guid":{"rendered":"https:\/\/museum.wiserighteous.org\/?page_id=2356"},"modified":"2026-09-01T22:06:08","modified_gmt":"2026-09-01T22:06:08","slug":"reflection-for-project-maven","status":"publish","type":"page","link":"https:\/\/museum.wiserighteous.org\/index.php\/reflection-for-project-maven\/","title":{"rendered":"Reflection for Project Maven"},"content":{"rendered":"\n<!-- ============================================================\n     Reflection Methods Hall \u2014 Project Maven Edition\n     Decision Simulation \u00b7 Critical Reflection \u00b7 Life Application\n     ============================================================ -->\n\n<style>\n    .reflection-container {\n        max-width: 820px;\n        margin: 2rem auto;\n        background: #fefcf8;\n        border-radius: 24px;\n        padding: 28px 30px 35px;\n        border: 2px solid #c9a84c;\n        box-shadow: 0 8px 30px rgba(0, 0, 0, 0.08);\n        font-family: 'Georgia', 'Times New Roman', Times, serif;\n        color: #1a1a2e;\n    }\n\n    .reflection-header {\n        text-align: center;\n        border-bottom: 3px dashed #c9a84c;\n        padding-bottom: 16px;\n        margin-bottom: 22px;\n    }\n\n    .reflection-header h2 {\n        font-size: 28px;\n        font-weight: 700;\n        margin: 0;\n        letter-spacing: -0.5px;\n    }\n\n    .reflection-header h2 i {\n        color: #c9a84c;\n        margin-right: 10px;\n    }\n\n    .reflection-header p {\n        font-size: 16px;\n        color: #666;\n        margin-top: 4px;\n        font-style: italic;\n    }\n\n    .reflection-header .exhibit-tag {\n        display: inline-block;\n        background: #1a1a2e;\n        color: #c9a84c;\n        padding: 4px 16px;\n        border-radius: 20px;\n        font-size: 13px;\n        font-weight: 600;\n        letter-spacing: 0.5px;\n        margin-top: 8px;\n    }\n\n    \/* Tabs *\/\n    .tab-nav {\n        display: flex;\n        gap: 8px;\n        margin-bottom: 20px;\n        flex-wrap: wrap;\n        justify-content: center;\n    }\n\n    .tab-btn {\n        padding: 12px 20px;\n        border: 2px solid #e0d8cc;\n        border-radius: 40px;\n        background: white;\n        cursor: pointer;\n        font-family: 'Georgia', 'Times New Roman', Times, serif;\n        font-size: 14px;\n        font-weight: 600;\n        color: #666;\n        transition: 0.25s ease;\n        display: flex;\n        align-items: center;\n        gap: 10px;\n        flex: 1;\n        min-width: 140px;\n        justify-content: center;\n    }\n\n    .tab-btn:hover {\n        border-color: #c9a84c;\n        background: #f9f6f0;\n    }\n\n    .tab-btn.active {\n        border-color: #c9a84c;\n        background: #1a1a2e;\n        color: white;\n    }\n\n    .tab-btn i {\n        font-size: 18px;\n    }\n\n    .tab-content {\n        display: none;\n        animation: fadeIn 0.4s ease;\n        min-height: 360px;\n    }\n\n    .tab-content.active {\n        display: block;\n    }\n\n    @keyframes fadeIn {\n        from {\n            opacity: 0;\n            transform: translateY(10px);\n        }\n        to {\n            opacity: 1;\n            transform: translateY(0);\n        }\n    }\n\n    \/* Card *\/\n    .method-card {\n        background: #faf6ee;\n        border-radius: 18px;\n        padding: 24px 28px;\n        border: 2px solid #e0d8cc;\n    }\n\n    .method-card h3 {\n        font-size: 22px;\n        font-weight: 700;\n        margin: 0 0 4px 0;\n        display: flex;\n        align-items: center;\n        gap: 10px;\n    }\n\n    .method-card h3 i {\n        color: #c9a84c;\n    }\n\n    .method-card .sub {\n        font-size: 14px;\n        color: #888;\n        margin-bottom: 16px;\n        font-style: italic;\n    }\n\n    .method-card .step-indicator {\n        display: inline-block;\n        background: #c9a84c;\n        color: white;\n        font-weight: 700;\n        font-size: 12px;\n        padding: 2px 14px;\n        border-radius: 20px;\n        margin-bottom: 8px;\n        letter-spacing: 0.5px;\n    }\n\n    .method-card .question-box {\n        background: white;\n        border-radius: 14px;\n        padding: 18px 22px;\n        margin: 12px 0 16px 0;\n        border: 2px solid #e0d8cc;\n        font-size: 16px;\n        line-height: 1.7;\n        min-height: 60px;\n    }\n\n    .method-card .question-box .label {\n        font-weight: 700;\n        color: #c9a84c;\n        display: block;\n        margin-bottom: 4px;\n        font-size: 14px;\n    }\n\n    .method-card .options-grid {\n        display: flex;\n        flex-direction: column;\n        gap: 10px;\n        margin: 12px 0 14px 0;\n    }\n\n    .method-card .opt-btn {\n        padding: 14px 18px;\n        border: 2px solid #e0d8cc;\n        border-radius: 12px;\n        background: white;\n        cursor: pointer;\n        font-family: 'Georgia', 'Times New Roman', Times, serif;\n        font-size: 15px;\n        text-align: left;\n        transition: 0.2s ease;\n        display: flex;\n        align-items: center;\n        gap: 12px;\n        font-weight: 600;\n    }\n\n    .method-card .opt-btn:hover:not(:disabled) {\n        border-color: #c9a84c;\n        background: #f9f6f0;\n        transform: translateX(4px);\n    }\n\n    .method-card .opt-btn .letter {\n        display: inline-block;\n        width: 30px;\n        height: 30px;\n        border-radius: 50%;\n        background: #f0ebe0;\n        color: #555;\n        text-align: center;\n        line-height: 30px;\n        font-weight: 700;\n        font-size: 13px;\n        flex-shrink: 0;\n    }\n\n    .method-card .opt-btn:hover:not(:disabled) .letter {\n        background: #c9a84c;\n        color: white;\n    }\n\n    .method-card .opt-btn.selected-correct {\n        border-color: #2e7d32;\n        background: #e8f5e9;\n    }\n\n    .method-card .opt-btn.selected-wrong {\n        border-color: #c62828;\n        background: #ffebee;\n    }\n\n    .method-card .opt-btn:disabled {\n        cursor: default;\n        opacity: 0.7;\n    }\n\n    .method-card .fb-box {\n        padding: 14px 18px;\n        border-radius: 12px;\n        margin: 12px 0 8px 0;\n        font-size: 15px;\n        line-height: 1.6;\n        display: none;\n        border-left: 5px solid;\n    }\n\n    .method-card .fb-box.show {\n        display: block;\n    }\n\n    .method-card .fb-box.correct {\n        background: #e8f5e9;\n        border-left-color: #2e7d32;\n        color: #1e4620;\n    }\n\n    .method-card .fb-box.wrong {\n        background: #ffebee;\n        border-left-color: #c62828;\n        color: #7f1d1d;\n    }\n\n    .method-card .fb-box.info {\n        background: #e3f2fd;\n        border-left-color: #1565c0;\n        color: #0d3c6b;\n    }\n\n    .method-card .fb-box .principle-tag {\n        display: inline-block;\n        background: #c9a84c;\n        color: white;\n        padding: 2px 14px;\n        border-radius: 20px;\n        font-size: 12px;\n        font-weight: 700;\n        margin-top: 6px;\n    }\n\n    .method-card .btn-group {\n        display: flex;\n        gap: 12px;\n        flex-wrap: wrap;\n        margin-top: 14px;\n    }\n\n    .method-card .btn {\n        padding: 10px 24px;\n        border: none;\n        border-radius: 30px;\n        font-weight: 700;\n        font-size: 14px;\n        cursor: pointer;\n        transition: 0.25s ease;\n        font-family: 'Georgia', 'Times New Roman', Times, serif;\n        display: inline-flex;\n        align-items: center;\n        gap: 8px;\n    }\n\n    .method-card .btn-gold {\n        background: #c9a84c;\n        color: white;\n    }\n    .method-card .btn-gold:hover {\n        background: #b8923a;\n        transform: translateY(-2px);\n    }\n    .method-card .btn-dark {\n        background: #1a1a2e;\n        color: white;\n    }\n    .method-card .btn-dark:hover {\n        background: #3d3a5c;\n        transform: translateY(-2px);\n    }\n    .method-card .btn-outline {\n        background: transparent;\n        color: #1a1a2e;\n        border: 2px solid #e0d8cc;\n    }\n    .method-card .btn-outline:hover {\n        border-color: #c9a84c;\n        background: #f9f6f0;\n    }\n    .method-card .btn-green {\n        background: #2e7d32;\n        color: white;\n    }\n    .method-card .btn-green:hover {\n        background: #1b5e20;\n        transform: translateY(-2px);\n    }\n\n    .method-card .textarea-box {\n        width: 100%;\n        padding: 12px 16px;\n        border: 2px solid #e0d8cc;\n        border-radius: 12px;\n        font-family: 'Georgia', 'Times New Roman', Times, serif;\n        font-size: 15px;\n        resize: vertical;\n        min-height: 80px;\n        transition: border-color 0.3s ease;\n        background: white;\n        box-sizing: border-box;\n        margin: 10px 0;\n    }\n\n    .method-card .textarea-box:focus {\n        border-color: #c9a84c;\n        outline: none;\n        box-shadow: 0 0 0 3px rgba(201, 168, 76, 0.15);\n    }\n\n    .method-card .progress-bar {\n        height: 6px;\n        background: #e0d8cc;\n        border-radius: 4px;\n        margin: 12px 0 16px 0;\n        overflow: hidden;\n    }\n\n    .method-card .progress-bar .fill {\n        height: 100%;\n        background: #c9a84c;\n        border-radius: 4px;\n        transition: width 0.5s ease;\n        width: 0%;\n    }\n\n    .method-card .score-display {\n        display: flex;\n        justify-content: space-between;\n        padding: 10px 14px;\n        background: white;\n        border-radius: 12px;\n        border: 2px solid #e0d8cc;\n        margin-top: 12px;\n        font-weight: 700;\n        font-size: 15px;\n        flex-wrap: wrap;\n        gap: 8px;\n    }\n\n    .method-card .score-display .num {\n        color: #c9a84c;\n    }\n\n    .footnote {\n        text-align: center;\n        font-size: 12px;\n        color: #bbb;\n        margin-top: 20px;\n        padding-top: 16px;\n        border-top: 2px dashed #e8e0d4;\n    }\n\n    .footnote i {\n        margin-right: 6px;\n    }\n\n    .win-banner {\n        text-align: center;\n        padding: 20px;\n        background: #e8f5e9;\n        border-radius: 16px;\n        border: 3px solid #2e7d32;\n        margin-top: 10px;\n    }\n\n    .win-banner .big-emoji {\n        font-size: 48px;\n        display: block;\n        margin-bottom: 6px;\n    }\n\n    .win-banner h4 {\n        color: #1b5e20;\n        font-size: 22px;\n        margin: 0 0 4px 0;\n    }\n\n    .win-banner p {\n        color: #555;\n        font-size: 15px;\n        margin: 0;\n    }\n\n    @media (max-width: 640px) {\n        .reflection-container {\n            padding: 16px 14px 20px;\n        }\n        .reflection-header h2 {\n            font-size: 20px;\n        }\n        .tab-btn {\n            font-size: 12px;\n            padding: 10px 12px;\n            min-width: 80px;\n        }\n        .method-card {\n            padding: 16px 16px;\n        }\n        .method-card h3 {\n            font-size: 18px;\n        }\n        .method-card .opt-btn {\n            font-size: 14px;\n            padding: 12px 14px;\n        }\n        .method-card .question-box {\n            font-size: 15px;\n            padding: 14px 16px;\n        }\n        .method-card .btn-group {\n            flex-direction: column;\n            align-items: stretch;\n        }\n        .method-card .btn {\n            justify-content: center;\n        }\n    }\n<\/style>\n\n<div class=\"reflection-container\">\n\n    <div class=\"reflection-header\">\n        <h2><i class=\"fas fa-brain\"><\/i> Reflection Methods Hall<\/h2>\n        <p>Learn from Project Maven through structured reflection<\/p>\n        <span class=\"exhibit-tag\"><i class=\"fas fa-landmark\"><\/i> Project Maven \u00b7 2018<\/span>\n    <\/div>\n\n    <!-- Tab Navigation -->\n    <div class=\"tab-nav\">\n        <button class=\"tab-btn active\" data-tab=\"tab1\">\n            <i class=\"fas fa-chess-queen\"><\/i> Decision Simulation\n        <\/button>\n        <button class=\"tab-btn\" data-tab=\"tab2\">\n            <i class=\"fas fa-search\"><\/i> Critical Reflection\n        <\/button>\n        <button class=\"tab-btn\" data-tab=\"tab3\">\n            <i class=\"fas fa-arrow-right\"><\/i> Life Application\n        <\/button>\n    <\/div>\n\n    <!-- ============================================================ -->\n    <!-- TAB 1: DECISION SIMULATION -->\n    <!-- ============================================================ -->\n    <div class=\"tab-content active\" id=\"tab1\">\n        <div class=\"method-card\">\n            <h3><i class=\"fas fa-chess-queen\"><\/i> Decision Simulation<\/h3>\n            <div class=\"sub\">Step into the shoes of a Google employee facing a real dilemma<\/div>\n\n            <div id=\"simScene\">\n                <!-- Rendered by JavaScript -->\n            <\/div>\n\n            <div class=\"progress-bar\">\n                <div class=\"fill\" id=\"simProgress\" style=\"width:0%;\"><\/div>\n            <\/div>\n\n            <div class=\"score-display\">\n                <span>Step: <span id=\"simStep\">1<\/span> \/ 5<\/span>\n                <span>Score: <span class=\"num\" id=\"simScore\">0<\/span><\/span>\n                <button class=\"btn btn-outline\" onclick=\"resetSim()\"><i class=\"fas fa-undo-alt\"><\/i> Restart<\/button>\n            <\/div>\n        <\/div>\n    <\/div>\n\n    <!-- ============================================================ -->\n    <!-- TAB 2: CRITICAL REFLECTION -->\n    <!-- ============================================================ -->\n    <div class=\"tab-content\" id=\"tab2\">\n        <div class=\"method-card\">\n            <h3><i class=\"fas fa-search\"><\/i> Critical Reflection<\/h3>\n            <div class=\"sub\">Examine your assumptions, evidence, and interpretations<\/div>\n\n            <div id=\"reflectionScene\">\n                <!-- Rendered by JavaScript -->\n            <\/div>\n\n            <div class=\"progress-bar\">\n                <div class=\"fill\" id=\"refProgress\" style=\"width:0%;\"><\/div>\n            <\/div>\n\n            <div class=\"score-display\">\n                <span>Step: <span id=\"refStep\">1<\/span> \/ 5<\/span>\n                <span>Completed: <span class=\"num\" id=\"refCompleted\">0<\/span><\/span>\n                <button class=\"btn btn-outline\" onclick=\"resetRef()\"><i class=\"fas fa-undo-alt\"><\/i> Restart<\/button>\n            <\/div>\n        <\/div>\n    <\/div>\n\n    <!-- ============================================================ -->\n    <!-- TAB 3: LIFE APPLICATION -->\n    <!-- ============================================================ -->\n    <div class=\"tab-content\" id=\"tab3\">\n        <div class=\"method-card\">\n            <h3><i class=\"fas fa-arrow-right\"><\/i> Life Application<\/h3>\n            <div class=\"sub\">Turn what you learned into personal action<\/div>\n\n            <div id=\"applyScene\">\n                <!-- Rendered by JavaScript -->\n            <\/div>\n\n            <div class=\"progress-bar\">\n                <div class=\"fill\" id=\"applyProgress\" style=\"width:0%;\"><\/div>\n            <\/div>\n\n            <div class=\"score-display\">\n                <span>Step: <span id=\"applyStep\">1<\/span> \/ 6<\/span>\n                <span>Progress: <span class=\"num\" id=\"applyProgressNum\">0<\/span>%<\/span>\n                <button class=\"btn btn-outline\" onclick=\"resetApply()\"><i class=\"fas fa-undo-alt\"><\/i> Restart<\/button>\n            <\/div>\n        <\/div>\n    <\/div>\n\n    <div class=\"footnote\">\n        <i class=\"fas fa-chess-queen\"><\/i> Reflection Methods Hall \u00b7 Righteous Museum\n    <\/div>\n<\/div>\n\n<script>\n    \/\/ ================================================================\n    \/\/ TAB SWITCHING\n    \/\/ ================================================================\n    document.querySelectorAll('.tab-btn').forEach(btn => {\n        btn.addEventListener('click', function() {\n            document.querySelectorAll('.tab-btn').forEach(b => b.classList.remove('active'));\n            document.querySelectorAll('.tab-content').forEach(t => t.classList.remove('active'));\n            this.classList.add('active');\n            document.getElementById(this.dataset.tab).classList.add('active');\n        });\n    });\n\n    \/\/ ================================================================\n    \/\/ GAME 1: DECISION SIMULATION\n    \/\/ ================================================================\n\n    const simData = [{\n        scenario: '\ud83c\udfe2 You are a Google engineer. You discover your team is building AI for military drones. You believe this could be used to cause harm. Your manager says: \"This is what we do \u2014 we build technology. What happens after is not our concern.\" What do you do?',\n        options: [\n            { text: 'Stay quiet and keep working \u2014 it\\'s not your decision.', righteous: false,\n            feedback: 'Silence is safer, but it doesn\\'t solve the problem. The employees who spoke up made a real difference.' },\n            { text: 'Respectfully disagree and explain why ethics matter.', righteous: true,\n            feedback: 'This is righteous. You are taking responsibility for how your work is used. Over 4,000 employees did the same.' },\n            { text: 'Document your concerns and share them with colleagues.', righteous: true,\n            feedback: 'This is righteous. Documentation shows you are serious and helps others understand the issue.' }\n        ],\n        principle: 'Courage \u00b7 Responsibility'\n    }, {\n        scenario: '\ud83d\udccb You hear that more than 4,000 employees have signed a petition against Project Maven. Some have even resigned. What do you do?',\n        options: [\n            { text: 'Sign the petition and join the movement.', righteous: true,\n            feedback: 'This is righteous. Collective action amplifies individual voices. The petition became a historic moment in AI ethics.' },\n            { text: 'Keep working quietly \u2014 it doesn\\'t matter what others do.', righteous: false,\n            feedback: 'Ignoring the collective voice misses a chance for change. History shows that speaking together can make a difference.' },\n            { text: 'Write a public letter explaining your concerns.', righteous: true,\n            feedback: 'This is righteous. Public letters can inspire others and pressure institutions to change. The 2026 letter shows this tradition continued.' }\n        ],\n        principle: 'Collective Action \u00b7 Courage'\n    }, {\n        scenario: '\ud83c\udfc6 Google announces it will not renew Project Maven. But in 2026, you learn Google is considering a new military AI contract. What do you do?',\n        options: [\n            { text: 'Let it go \u2014 you already won once.', righteous: false,\n            feedback: 'Righteousness is not a one-time victory. In 2026, more than 600 employees spoke up again. Vigilance is always required.' },\n            { text: 'Sign a new letter urging the CEO to stop it.', righteous: true,\n            feedback: 'This is righteous. Over 600 employees signed a letter in 2026, showing the questions raised in 2018 remained unresolved.' },\n            { text: 'Resign from Google in protest.', righteous: true,\n            feedback: 'This is righteous. Some employees resigned in 2018 and again in 2026. Personal sacrifice can be a powerful statement.' }\n        ],\n        principle: 'Perseverance \u00b7 Integrity'\n    }, {\n        scenario: '\ud83d\udca1 You are asked: \"What is the most important lesson you learned from this experience?\" What do you say?',\n        options: [\n            { text: 'Individuals can make a difference when they act with conscience and courage.', righteous: true,\n            feedback: 'This is the core lesson of the Project Maven protest. Employees who spoke up helped change the direction of AI ethics.' },\n            { text: 'Technology will always be used for military purposes \u2014 there\\'s no point resisting.', righteous: false,\n            feedback: 'The Project Maven protest proves otherwise. Google did not renew its contract because employees spoke up.' },\n            { text: 'The development of powerful AI requires ongoing human oversight and ethical reflection.', righteous: true,\n            feedback: 'This is a righteous perspective. The questions raised by Project Maven remain unresolved, showing oversight must be continuous.' }\n        ],\n        principle: 'Wisdom \u00b7 Hope'\n    }, {\n        scenario: '\ud83c\udf1f Looking back, how do you want to be remembered in this story?',\n        options: [\n            { text: 'As someone who stayed quiet and protected their career.', righteous: false,\n            feedback: 'History remembers those who stood up. The employees who spoke up are now examples of courage and conscience.' },\n            { text: 'As someone who spoke up when it mattered, even though it was hard.', righteous: true,\n            feedback: 'This is righteous. The world needs people who speak up when they see something wrong. You can be one of them.' },\n            { text: 'As someone who helped create a more ethical future for AI.', righteous: true,\n            feedback: 'This is righteous. Every voice matters in building a future where technology serves humanity, not harms it.' }\n        ],\n        principle: 'Legacy \u00b7 Hope'\n    }];\n\n    let simState = { step: 0, score: 0, answered: false };\n\n    function renderSim() {\n        const container = document.getElementById('simScene');\n        const data = simData[simState.step];\n        if (!data) {\n            const total = simData.length * 10;\n            const pct = Math.round((simState.score \/ total) * 100);\n            const msg = pct >= 80 ? '\ud83c\udf1f Excellent! You showed righteous leadership.' :\n                pct >= 60 ? '\ud83d\udc4f Good choices! You showed courage and integrity.' :\n                pct >= 40 ? '\ud83d\udcd6 You made some righteous choices. Keep reflecting.' :\n                '\ud83d\udcad Consider how you might act differently in the future.';\n            container.innerHTML = `\n                <div class=\"question-box\" style=\"text-align:center; padding:30px;\">\n                    <div style=\"font-size:48px; margin-bottom:8px;\">\ud83c\udfc6<\/div>\n                    <h3 style=\"color:#c9a84c; margin:0 0 8px 0;\">Decision Journey Complete!<\/h3>\n                    <p style=\"font-size:18px; font-weight:700;\">Score: <span style=\"color:#c9a84c;\">${simState.score}<\/span> \/ ${total}<\/p>\n                    <p style=\"font-size:16px;\">${msg}<\/p>\n                    <p style=\"font-size:14px; color:#888;\">You made ${simData.filter((d,i) => simState.score > i*10).length} righteous choices.<\/p>\n                <\/div>\n            `;\n            document.getElementById('simProgress').style.width = '100%';\n            document.getElementById('simStep').textContent = '5 \u2713';\n            return;\n        }\n        const pct = (simState.step \/ simData.length) * 100;\n        const letters = ['A', 'B', 'C'];\n        let html = `\n            <div class=\"question-box\">\n                <span class=\"label\">\ud83d\udcd6 Step ${simState.step+1} of 5<\/span>\n                ${data.scenario}\n            <\/div>\n            <div class=\"options-grid\" id=\"simOptions\">\n        `;\n        data.options.forEach((opt, i) => {\n            html += `\n                <button class=\"opt-btn\" onclick=\"chooseSim(${i})\" id=\"simOpt${i}\">\n                    <span class=\"letter\">${letters[i]}<\/span>\n                    ${opt.text}\n                <\/button>\n            `;\n        });\n        html += `<\/div><div class=\"fb-box\" id=\"simFeedback\"><\/div>`;\n        container.innerHTML = html;\n        document.getElementById('simProgress').style.width = pct + '%';\n        document.getElementById('simStep').textContent = simState.step + 1;\n        document.getElementById('simScore').textContent = simState.score;\n        simState.answered = false;\n    }\n\n    function chooseSim(idx) {\n        if (simState.answered) return;\n        const data = simData[simState.step];\n        const opt = data.options[idx];\n        const fb = document.getElementById('simFeedback');\n        document.querySelectorAll('#simOptions .opt-btn').forEach(b => b.disabled = true);\n        document.querySelectorAll('#simOptions .opt-btn').forEach((b, i) => {\n            if (i === idx) b.classList.add(opt.righteous ? 'selected-correct' : 'selected-wrong');\n        });\n        fb.className = `fb-box show ${opt.righteous ? 'correct' : 'wrong'}`;\n        fb.innerHTML = `\n            <strong>${opt.righteous ? '\u2705 Righteous Choice' : '\u274c Not Righteous'}<\/strong><br>\n            ${opt.feedback}<br>\n            <span class=\"principle-tag\">\u2726 ${data.principle}<\/span>\n        `;\n        if (opt.righteous) simState.score += 10;\n        simState.answered = true;\n        document.getElementById('simScore').textContent = simState.score;\n        setTimeout(() => { simState.step++; renderSim(); }, 3200);\n    }\n\n    function resetSim() { simState = { step: 0, score: 0, answered: false };\n        renderSim(); }\n\n    \/\/ ================================================================\n    \/\/ GAME 2: CRITICAL REFLECTION\n    \/\/ ================================================================\n\n    const refData = [\n        { label: 'NOTICE', prompt: 'What is your initial reaction to the Project Maven protest? What seems obvious to you?',\n            hint: 'Try to identify your starting point before examining it.' },\n        { label: 'IDENTIFY', prompt: 'What are the facts? What is your interpretation? What assumptions are you making?',\n            hint: 'Evidence, interpretation, and assumption are different. Separate them.' },\n        { label: 'QUESTION', prompt: 'What questions do you have? What information is missing? What might you be overlooking?',\n            hint: 'Good questions are often more valuable than quick answers.' },\n        { label: 'EXAMINE', prompt: 'What evidence supports your current view? What evidence might challenge it?',\n            hint: 'Look for evidence that both confirms and contradicts your thinking.' },\n        { label: 'RECONSIDER', prompt: 'Has your thinking changed? What would cause you to revise your conclusion?',\n            hint: 'Reflection is recursive. New evidence can change your mind.' }\n    ];\n\n    let refState = { step: 0, completed: 0, answers: [] };\n\n    function renderRef() {\n        const container = document.getElementById('reflectionScene');\n        if (refState.step >= refData.length) {\n            const pct = Math.round((refState.completed \/ refData.length) * 100);\n            container.innerHTML = `\n                <div class=\"win-banner\">\n                    <span class=\"big-emoji\">\ud83e\udde0<\/span>\n                    <h4>Critical Reflection Complete!<\/h4>\n                    <p>You examined your assumptions, evidence, and interpretations.<\/p>\n                    <p style=\"font-size:14px; color:#888;\">You completed ${refState.completed} of ${refData.length} steps.<\/p>\n                <\/div>\n            `;\n            document.getElementById('refProgress').style.width = '100%';\n            document.getElementById('refStep').textContent = '5 \u2713';\n            document.getElementById('refCompleted').textContent = refState.completed;\n            return;\n        }\n        const data = refData[refState.step];\n        const pct = (refState.step \/ refData.length) * 100;\n        const labels = ['1\ufe0f\u20e3', '2\ufe0f\u20e3', '3\ufe0f\u20e3', '4\ufe0f\u20e3', '5\ufe0f\u20e3'];\n        container.innerHTML = `\n            <div class=\"question-box\">\n                <span class=\"label\">${labels[refState.step]} ${data.label}<\/span>\n                ${data.prompt}\n                <div style=\"font-size:14px; color:#888; margin-top:8px; font-style:italic;\">\ud83d\udca1 ${data.hint}<\/div>\n            <\/div>\n            <textarea class=\"textarea-box\" id=\"refInput\" placeholder=\"Write your reflection here...\"><\/textarea>\n            <div class=\"btn-group\">\n                <button class=\"btn btn-gold\" onclick=\"submitRef()\"><i class=\"fas fa-check\"><\/i> Submit Reflection<\/button>\n                <button class=\"btn btn-outline\" onclick=\"skipRef()\"><i class=\"fas fa-forward\"><\/i> Skip<\/button>\n            <\/div>\n            <div class=\"fb-box\" id=\"refFeedback\"><\/div>\n        `;\n        document.getElementById('refProgress').style.width = pct + '%';\n        document.getElementById('refStep').textContent = refState.step + 1;\n        document.getElementById('refCompleted').textContent = refState.completed;\n        document.getElementById('refInput').focus();\n    }\n\n    function submitRef() {\n        const input = document.getElementById('refInput');\n        const fb = document.getElementById('refFeedback');\n        const txt = input.value.trim();\n        if (txt.length < 3) {\n            fb.className = 'fb-box show info';\n            fb.innerHTML = '\ud83d\udca1 Please write a few words before submitting. Even a sentence is a good start.';\n            return;\n        }\n        refState.completed++;\n        fb.className = 'fb-box show correct';\n        fb.innerHTML = `\u2705 Good reflection! You wrote: \"${txt.substring(0, 60)}${txt.length > 60 ? '...' : ''}\"`;\n        refState.answers.push(txt);\n        document.getElementById('refCompleted').textContent = refState.completed;\n        setTimeout(() => { refState.step++;\n            renderRef(); }, 1800);\n    }\n\n    function skipRef() {\n        const fb = document.getElementById('refFeedback');\n        fb.className = 'fb-box show info';\n        fb.innerHTML = '\u23ed\ufe0f You skipped this step. You can return to it later if you like.';\n        setTimeout(() => { refState.step++;\n            renderRef(); }, 1200);\n    }\n\n    function resetRef() { refState = { step: 0, completed: 0, answers: [] };\n        renderRef(); }\n\n    \/\/ ================================================================\n    \/\/ GAME 3: LIFE APPLICATION\n    \/\/ ================================================================\n\n    const applyData = [\n        { label: 'DISCOVER', prompt: 'What is the most important lesson you learned from the Project Maven protest?',\n            hint: 'Think about courage, responsibility, speaking up, or collective action.' },\n        { label: 'INTERPRET', prompt: 'What does this lesson mean for you personally? Why does it matter?',\n            hint: 'Connect the lesson to your own values and experiences.' },\n        { label: 'CONNECT', prompt: 'Where in your life could this lesson apply? (School, family, community, work?)',\n            hint: 'Look for situations where you might need courage or responsibility.' },\n        { label: 'ADAPT', prompt: 'How can you adapt this lesson to your own situation without copying the historical context?',\n            hint: 'Principles can be applied differently in different settings.' },\n        { label: 'PLAN', prompt: 'What is one specific action you can take this week based on what you learned?',\n            hint: 'Make it concrete and realistic. Start small.' },\n        { label: 'REFLECT', prompt: 'How will you know if your action made a difference? What will you learn from it?',\n            hint: 'Consider how you will evaluate your progress and adjust.' }\n    ];\n\n    let applyState = { step: 0, progress: 0, answers: [] };\n\n    function renderApply() {\n        const container = document.getElementById('applyScene');\n        if (applyState.step >= applyData.length) {\n            container.innerHTML = `\n                <div class=\"win-banner\">\n                    <span class=\"big-emoji\">\ud83d\ude80<\/span>\n                    <h4>Life Application Complete!<\/h4>\n                    <p>You turned historical learning into a personal action plan.<\/p>\n                    <p style=\"font-size:14px; color:#888;\">You completed all ${applyData.length} steps.<\/p>\n                    <p style=\"font-size:14px; color:#888; margin-top:6px;\">Now go and act on what you learned!<\/p>\n                <\/div>\n            `;\n            document.getElementById('applyProgress').style.width = '100%';\n            document.getElementById('applyStep').textContent = '6 \u2713';\n            document.getElementById('applyProgressNum').textContent = '100';\n            return;\n        }\n        const data = applyData[applyState.step];\n        const pct = Math.round((applyState.step \/ applyData.length) * 100);\n        const labels = ['1\ufe0f\u20e3', '2\ufe0f\u20e3', '3\ufe0f\u20e3', '4\ufe0f\u20e3', '5\ufe0f\u20e3', '6\ufe0f\u20e3'];\n        container.innerHTML = `\n            <div class=\"question-box\">\n                <span class=\"label\">${labels[applyState.step]} ${data.label}<\/span>\n                ${data.prompt}\n                <div style=\"font-size:14px; color:#888; margin-top:8px; font-style:italic;\">\ud83d\udca1 ${data.hint}<\/div>\n            <\/div>\n            <textarea class=\"textarea-box\" id=\"applyInput\" placeholder=\"Write your response here...\"><\/textarea>\n            <div class=\"btn-group\">\n                <button class=\"btn btn-gold\" onclick=\"submitApply()\"><i class=\"fas fa-check\"><\/i> Submit<\/button>\n                <button class=\"btn btn-outline\" onclick=\"skipApply()\"><i class=\"fas fa-forward\"><\/i> Skip<\/button>\n            <\/div>\n            <div class=\"fb-box\" id=\"applyFeedback\"><\/div>\n        `;\n        document.getElementById('applyProgress').style.width = pct + '%';\n        document.getElementById('applyStep').textContent = applyState.step + 1;\n        document.getElementById('applyProgressNum').textContent = pct;\n        document.getElementById('applyInput').focus();\n    }\n\n    function submitApply() {\n        const input = document.getElementById('applyInput');\n        const fb = document.getElementById('applyFeedback');\n        const txt = input.value.trim();\n        if (txt.length < 3) {\n            fb.className = 'fb-box show info';\n            fb.innerHTML = '\ud83d\udca1 Please write a few words before submitting. Every step matters.';\n            return;\n        }\n        applyState.answers.push(txt);\n        applyState.progress = Math.round(((applyState.answers.length) \/ applyData.length) * 100);\n        fb.className = 'fb-box show correct';\n        fb.innerHTML = `\u2705 Great! You wrote: \"${txt.substring(0, 60)}${txt.length > 60 ? '...' : ''}\"`;\n        document.getElementById('applyProgressNum').textContent = applyState.progress;\n        setTimeout(() => { applyState.step++;\n            renderApply(); }, 1600);\n    }\n\n    function skipApply() {\n        const fb = document.getElementById('applyFeedback');\n        fb.className = 'fb-box show info';\n        fb.innerHTML = '\u23ed\ufe0f You skipped this step. You can return to it later.';\n        setTimeout(() => { applyState.step++;\n            renderApply(); }, 1200);\n    }\n\n    function resetApply() { applyState = { step: 0, progress: 0, answers: [] };\n        renderApply(); }\n\n    \/\/ ================================================================\n    \/\/ INIT\n    \/\/ ================================================================\n    renderSim();\n    renderRef();\n    renderApply();\n<\/script>\n","protected":false},"excerpt":{"rendered":"<p>Reflection Methods Hall Learn from Project Maven through structured reflection Project Maven \u00b7 2018 Decision Simulation Critical Reflection Life Application Decision Simulation Step into the shoes of a Google employee facing a real dilemma Step: 1 \/ 5 Score: 0 Restart Critical Reflection Examine your assumptions, evidence, and interpretations Step: 1 \/ 5 Completed: 0 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-2356","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/museum.wiserighteous.org\/index.php\/wp-json\/wp\/v2\/pages\/2356","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/museum.wiserighteous.org\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/museum.wiserighteous.org\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/museum.wiserighteous.org\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/museum.wiserighteous.org\/index.php\/wp-json\/wp\/v2\/comments?post=2356"}],"version-history":[{"count":1,"href":"https:\/\/museum.wiserighteous.org\/index.php\/wp-json\/wp\/v2\/pages\/2356\/revisions"}],"predecessor-version":[{"id":2357,"href":"https:\/\/museum.wiserighteous.org\/index.php\/wp-json\/wp\/v2\/pages\/2356\/revisions\/2357"}],"wp:attachment":[{"href":"https:\/\/museum.wiserighteous.org\/index.php\/wp-json\/wp\/v2\/media?parent=2356"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}