{"id":837,"date":"2026-04-24T16:18:52","date_gmt":"2026-04-24T16:18:52","guid":{"rendered":"https:\/\/museum.wiserighteous.org\/?page_id=837"},"modified":"2026-04-24T16:18:52","modified_gmt":"2026-04-24T16:18:52","slug":"museum-test-prep-app-righteous-events-hall","status":"publish","type":"page","link":"https:\/\/museum.wiserighteous.org\/index.php\/museum-test-prep-app-righteous-events-hall\/","title":{"rendered":"Museum Test Prep App- Righteous Events Hall"},"content":{"rendered":"\n<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n    <meta charset=\"UTF-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, user-scalable=yes\">\n    <title>Museum Test Prep App | Historical Events of Righteousness Hall \u2022 SAT \u2022 PSAT \u2022 ACT<\/title>\n    <!-- Font Awesome for icons -->\n    <link rel=\"stylesheet\" href=\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/font-awesome\/6.0.0-beta3\/css\/all.min.css\">\n    <style>\n        * {\n            margin: 0;\n            padding: 0;\n            box-sizing: border-box;\n        }\n\n        body {\n            background: #1a1a2e;\n            font-family: 'Georgia', 'Times New Roman', Times, serif;\n            color: #2c2b28;\n            line-height: 1.5;\n            padding: 20px;\n        }\n\n        .museum-container {\n            max-width: 1400px;\n            margin: 0 auto;\n            background: #fef7e0;\n            border-radius: 28px;\n            box-shadow: 0 20px 35px rgba(0,0,0,0.3), 0 0 0 1px #c9a87b inset;\n            overflow: hidden;\n        }\n\n        .hero {\n            background: linear-gradient(135deg, #2c2c3a 0%, #1a1a2a 100%);\n            padding: 1.8rem 2.5rem;\n            border-bottom: 6px solid #d4af37;\n            color: #f5e7cf;\n            display: flex;\n            align-items: center;\n            gap: 20px;\n            flex-wrap: wrap;\n        }\n        .hero-text {\n            flex: 2;\n        }\n        .hero h1 {\n            font-size: 2rem;\n            letter-spacing: 1px;\n            font-weight: 600;\n        }\n        .hero h1 i {\n            color: #d4af37;\n            margin-right: 10px;\n        }\n        .hero h1 .app-badge {\n            font-size: 0.8rem;\n            background: #d4af3733;\n            padding: 0.2rem 0.8rem;\n            border-radius: 40px;\n            margin-left: 12px;\n            vertical-align: middle;\n        }\n        .hero p {\n            font-size: 1rem;\n            font-style: italic;\n            margin-top: 0.5rem;\n            opacity: 0.85;\n        }\n        .hero-portrait {\n            flex: 0 0 100px;\n            text-align: center;\n            background: #d4af3730;\n            padding: 8px;\n            border-radius: 50%;\n            border: 2px solid #d4af37;\n        }\n        .hero-portrait i {\n            font-size: 3.5rem;\n            color: #ecd9b4;\n        }\n        .hero-portrait p {\n            font-size: 0.65rem;\n            margin-top: 5px;\n        }\n\n        .flex-main {\n            display: flex;\n            flex-wrap: wrap;\n        }\n        .article-panel {\n            flex: 1.6;\n            min-width: 280px;\n            padding: 2rem 2rem 2rem 2.2rem;\n            background: #fffaf2;\n            border-right: 1px solid #ecd9b4;\n        }\n        .game-sat-panel {\n            flex: 1.2;\n            min-width: 350px;\n            background: #f9efdf;\n            padding: 2rem 1.8rem;\n            display: flex;\n            flex-direction: column;\n            gap: 1.5rem;\n        }\n\n        .article-panel h2 {\n            font-size: 1.8rem;\n            border-left: 7px solid #d4af37;\n            padding-left: 1rem;\n            margin: 0.75rem 0 1rem 0;\n            color: #2d482b;\n        }\n        .article-panel h2 i {\n            color: #d4af37;\n            margin-right: 10px;\n        }\n        .article-panel h3 {\n            font-size: 1.3rem;\n            margin: 1.4rem 0 0.5rem 0;\n            color: #8b5a2b;\n            font-weight: 600;\n        }\n        .article-panel p {\n            margin-bottom: 0.9rem;\n            text-align: justify;\n        }\n        .events-grid {\n            display: flex;\n            flex-wrap: wrap;\n            gap: 10px;\n            margin: 15px 0;\n        }\n        .event-badge {\n            background: #e9e0cf;\n            padding: 6px 14px;\n            border-radius: 40px;\n            font-size: 0.8rem;\n            border: 1px solid #cfb37a;\n        }\n        .event-badge i {\n            margin-right: 6px;\n            font-size: 0.7rem;\n        }\n        .inset-quote {\n            background: #e9e0cf;\n            padding: 0.8rem 1.3rem;\n            border-left: 4px solid #d4af37;\n            margin: 1.2rem 0;\n            border-radius: 12px;\n            font-weight: 500;\n        }\n        .timeline-item {\n            margin: 12px 0;\n            padding-left: 20px;\n            border-left: 3px solid #d4af37;\n        }\n        .timeline-year {\n            font-weight: bold;\n            color: #8b5a2b;\n        }\n        .reference-list {\n            font-size: 0.8rem;\n            margin-top: 1.5rem;\n            border-top: 1px dashed #cfbc93;\n            padding-top: 1rem;\n            color: #5e4b2b;\n        }\n\n        \/* Mode Selection & Quiz Styles *\/\n        .mode-selector {\n            background: white;\n            border-radius: 28px;\n            padding: 1.2rem;\n            text-align: center;\n            box-shadow: 0 4px 12px rgba(0,0,0,0.1);\n        }\n        .mode-buttons {\n            display: flex;\n            gap: 12px;\n            justify-content: center;\n            margin-top: 12px;\n            flex-wrap: wrap;\n        }\n        .mode-btn {\n            flex: 1;\n            min-width: 90px;\n            padding: 12px;\n            border: none;\n            border-radius: 60px;\n            font-weight: bold;\n            font-size: 1rem;\n            cursor: pointer;\n            transition: 0.2s;\n            font-family: inherit;\n            display: flex;\n            align-items: center;\n            justify-content: center;\n            gap: 8px;\n        }\n        .mode-btn.sat {\n            background: #1e3a2f;\n            color: white;\n        }\n        .mode-btn.psat {\n            background: #2c5f6e;\n            color: white;\n        }\n        .mode-btn.act {\n            background: #8b5a2b;\n            color: white;\n        }\n        .mode-btn:hover {\n            transform: translateY(-2px);\n            filter: brightness(1.05);\n        }\n        .mode-btn.active {\n            box-shadow: 0 0 0 3px #ffd966;\n        }\n        .quiz-header {\n            background: linear-gradient(145deg, #2c4b3e, #1e3a2f);\n            color: white;\n            padding: 1rem;\n            border-radius: 28px;\n            text-align: center;\n        }\n        .score-area {\n            font-size: 1.6rem;\n            font-weight: bold;\n            background: #00000055;\n            display: inline-block;\n            padding: 0.2rem 1.2rem;\n            border-radius: 40px;\n            margin-top: 8px;\n        }\n        .question-card {\n            background: white;\n            border-radius: 28px;\n            padding: 1.5rem;\n            box-shadow: 0 8px 18px rgba(0,0,0,0.1);\n        }\n        .question-text {\n            font-size: 1.1rem;\n            font-weight: 700;\n            margin-bottom: 1.2rem;\n            background: #fdf4e0;\n            padding: 12px;\n            border-radius: 20px;\n            border-left: 5px solid #d4af37;\n        }\n        .options-list {\n            display: flex;\n            flex-direction: column;\n            gap: 10px;\n            margin-bottom: 1.5rem;\n        }\n        .opt-btn {\n            background: #efe2cf;\n            border: 2px solid #cfb37a;\n            padding: 10px 14px;\n            border-radius: 60px;\n            font-family: 'Segoe UI', 'Georgia', serif;\n            font-size: 0.9rem;\n            text-align: left;\n            cursor: pointer;\n            transition: 0.2s;\n        }\n        .opt-btn i {\n            margin-right: 10px;\n        }\n        .opt-btn:hover:not(:disabled) {\n            background: #e2cfb0;\n        }\n        .opt-btn.correct-highlight {\n            background: #a5d6a5;\n            border-color: #2e7d32;\n        }\n        .opt-btn.wrong-highlight {\n            background: #ef9a9a;\n            border-color: #c62828;\n        }\n        .opt-btn:disabled {\n            cursor: default;\n            opacity: 0.8;\n        }\n        .feedback {\n            margin-top: 15px;\n            padding: 12px;\n            border-radius: 20px;\n            background: #f3efdf;\n            font-size: 0.9rem;\n            border-left: 5px solid #d4af37;\n        }\n        .next-btn, .restart-btn {\n            background: #846c3e;\n            border: none;\n            color: white;\n            font-weight: bold;\n            padding: 10px;\n            border-radius: 40px;\n            font-size: 1rem;\n            cursor: pointer;\n            margin-top: 10px;\n            width: 100%;\n        }\n        .next-btn:hover, .restart-btn:hover {\n            background: #5f4a2a;\n        }\n        .game-status {\n            font-size: 0.75rem;\n            text-align: center;\n            background: #e2d5bd;\n            padding: 6px;\n            border-radius: 50px;\n            margin-top: 8px;\n        }\n        footer {\n            text-align: center;\n            padding: 1rem;\n            background: #dfd2b6;\n            font-size: 0.7rem;\n            color: #4a3a22;\n        }\n        .disclaimer {\n            font-size: 0.65rem;\n            text-align: center;\n            margin-top: 8px;\n            color: #6b5a3e;\n        }\n        @media (max-width: 780px) {\n            .hero h1 { font-size: 1.3rem; }\n            .hero-portrait { flex-basis: 70px; }\n            .hero-portrait i { font-size: 2.2rem; }\n        }\n    <\/style>\n<\/head>\n<body>\n<div class=\"museum-container\">\n    <div class=\"hero\">\n        <div class=\"hero-text\">\n            <h1><i class=\"fas fa-landmark\"><\/i> Historical Events of Righteousness Hall <span class=\"app-badge\"><i class=\"fas fa-mobile-alt\"><\/i> Museum Test Prep App<\/span><\/h1>\n            <p><i class=\"fas fa-clock\"><\/i> Certain moments in history demonstrate the power of moral conviction to transform societies and defend human dignity.<\/p>\n        <\/div>\n        <div class=\"hero-portrait\">\n            <i class=\"fas fa-history\"><\/i>\n            <p><i class=\"fas fa-globe\"><\/i> Transformative Events<\/p>\n        <\/div>\n    <\/div>\n\n    <div class=\"flex-main\">\n        <div class=\"article-panel\">\n            <h2><i class=\"fas fa-calendar-alt\"><\/i> Pivotal Moments of Moral Change<\/h2>\n            <p>Across centuries and continents, ordinary people and movements have risen against injustice. These events reshaped laws, societies, and human consciousness.<\/p>\n            \n            <div class=\"events-grid\">\n                <span class=\"event-badge\"><i class=\"fas fa-gavel\"><\/i> Abolition of Slave Trade (1807)<\/span>\n                <span class=\"event-badge\"><i class=\"fas fa-fist-raised\"><\/i> Civil Rights Movement (1954\u20131968)<\/span>\n                <span class=\"event-badge\"><i class=\"fas fa-handshake\"><\/i> Fall of Apartheid (1990\u20131994)<\/span>\n                <span class=\"event-badge\"><i class=\"fas fa-female\"><\/i> Women&#8217;s Suffrage (1920)<\/span>\n                <span class=\"event-badge\"><i class=\"fas fa-peace\"><\/i> Indian Independence (1947)<\/span>\n                <span class=\"event-badge\"><i class=\"fas fa-dove\"><\/i> Anti-Apartheid Movement<\/span>\n            <\/div>\n\n            <div class=\"timeline-item\">\n                <span class=\"timeline-year\"><i class=\"fas fa-ship\"><\/i> 1807 \u2013 Abolition of the Slave Trade Act (United Kingdom)<\/span>\n                <p>A landmark moral victory that ended the British transatlantic slave trade and helped inspire global movements to abolish slavery. Led by William Wilberforce and abolitionists, it marked the first major legal blow against the institution of slavery.<\/p>\n            <\/div>\n\n            <div class=\"timeline-item\">\n                <span class=\"timeline-year\"><i class=\"fas fa-church\"><\/i> 1954\u20131968 \u2013 Civil Rights Movement (United States)<\/span>\n                <p>A transformative movement that challenged racial segregation and discrimination through peaceful protest, legal reform, and moral leadership. Figures like Martin Luther King Jr., Rosa Parks, and John Lewis used nonviolent resistance to demand equality.<\/p>\n            <\/div>\n\n            <div class=\"timeline-item\">\n                <span class=\"timeline-year\"><i class=\"fas fa-flag-south-africa\"><\/i> 1990\u20131994 \u2013 Fall of Apartheid (South Africa)<\/span>\n                <p>The dismantling of South Africa&#8217;s racial segregation system and the peaceful transition to democracy led by figures such as Nelson Mandela and F.W. de Klerk. Mandela&#8217;s Truth and Reconciliation Commission model inspired post-conflict justice worldwide.<\/p>\n            <\/div>\n\n            <div class=\"inset-quote\">\n                <i class=\"fas fa-quote-left\"><\/i> \u201cInjustice anywhere is a threat to justice everywhere.\u201d \u2014 Martin Luther King Jr.\n            <\/div>\n\n            <h3><i class=\"fas fa-chart-line\"><\/i> Common Themes<\/h3>\n            <p>These movements share nonviolent resistance, coalition-building, legal challenges, and international solidarity. They remind us that ordinary citizens can bend the arc of history toward justice.<\/p>\n            \n            <div class=\"reference-list\">\n                <i class=\"fas fa-book-open\"><\/i> <strong>References:<\/strong> UK National Archives, Library of Congress, Nelson Mandela Foundation, Equal Justice Initiative.\n            <\/div>\n        <\/div>\n\n        <div class=\"game-sat-panel\">\n            <div class=\"mode-selector\">\n                <i class=\"fas fa-graduation-cap\"><\/i> <strong>Choose Your Exam<\/strong>\n                <div class=\"mode-buttons\">\n                    <button id=\"modeSAT\" class=\"mode-btn sat\"><i class=\"fab fa-sat\"><\/i> SAT<\/button>\n                    <button id=\"modePSAT\" class=\"mode-btn psat\"><i class=\"fas fa-pen-fancy\"><\/i> PSAT<\/button>\n                    <button id=\"modeACT\" class=\"mode-btn act\"><i class=\"fas fa-bolt\"><\/i> ACT<\/button>\n                <\/div>\n            <\/div>\n            <div class=\"quiz-header\">\n                <h3 id=\"modeTitle\"><i class=\"fas fa-brain\"><\/i> SAT \u2726 Historical Righteousness Prep<\/h3>\n                <div class=\"score-area\"><i class=\"fas fa-star\"><\/i> Score: <span id=\"scoreValue\">0<\/span> \/ 600<\/div>\n            <\/div>\n            <div class=\"question-card\" id=\"quizContainer\">\n                <div id=\"dynamicQuestionArea\"><\/div>\n                <div id=\"feedbackArea\" class=\"feedback\"><i class=\"fas fa-info-circle\"><\/i> Select an exam mode above to begin.<\/div>\n                <button id=\"nextButton\" class=\"next-btn\" style=\"display: none;\"><i class=\"fas fa-arrow-right\"><\/i> Next Question<\/button>\n                <button id=\"restartButton\" class=\"restart-btn\"><i class=\"fas fa-undo-alt\"><\/i> Restart Quiz<\/button>\n                <div class=\"game-status\"><i class=\"fas fa-hourglass-half\"><\/i> 6 questions per exam \u2022 Pivotal moral movements<\/div>\n            <\/div>\n        <\/div>\n    <\/div>\n    <footer>\n        <i class=\"fas fa-chess-queen\"><\/i> Museum Test Prep App | SAT \u2022 PSAT \u2022 ACT modes | Historical Events of Righteousness Hall\n        <div class=\"disclaimer\">\n            <i class=\"fas fa-balance-scale\"><\/i> SAT, PSAT, and ACT are registered trademarks of their respective owners. This educational tool is not affiliated with or endorsed by College Board or ACT Inc. All questions are original and based on public domain historical content.\n        <\/div>\n    <\/footer>\n<\/div>\n\n<script>\n    \/\/ ========== HISTORICAL EVENTS QUESTION BANKS ==========\n    \n    \/\/ SAT Style \u2014 Analytical, cause\/effect, evidence-based\n    const SAT_QUESTIONS = [\n        { event: \"Abolition of the Slave Trade Act 1807\", text: \"The passage of the Abolition of the Slave Trade Act in Britain in 1807 is historically significant primarily because it:\", options: [\"Ended slavery completely in the British Empire\", \"Was the first major legal blow against the transatlantic slave trade\", \"Was forced by American pressure\", \"Had no real impact on slavery\"], correct: 1, explanation: \"The act ended British participation in the slave trade, inspiring global abolition movements.\" },\n        { event: \"Civil Rights Movement\", text: \"The Civil Rights Movement's strategy of nonviolent resistance, exemplified by the Montgomery Bus Boycott, was most directly influenced by which earlier leader?\", options: [\"Mahatma Gandhi\", \"George Washington\", \"Winston Churchill\", \"Napoleon Bonaparte\"], correct: 0, explanation: \"Martin Luther King Jr. adopted Gandhi's philosophy of nonviolent civil disobedience.\" },\n        { event: \"Fall of Apartheid\", text: \"The Truth and Reconciliation Commission established in post-apartheid South Africa was notable because it:\", options: [\"Punished all white officials\", \"Focused on revenge rather than justice\", \"Emphasized restorative justice and amnesty for truth\", \"Ignored human rights abuses\"], correct: 2, explanation: \"The TRC offered amnesty in exchange for full disclosure, prioritizing healing over punishment.\" },\n        { event: \"Civil Rights Movement\", text: \"Which landmark 1965 law directly resulted from the Selma to Montgomery marches led by John Lewis and Martin Luther King Jr.?\", options: [\"Civil Rights Act of 1964\", \"Voting Rights Act of 1965\", \"Fair Housing Act of 1968\", \"Emancipation Proclamation\"], correct: 1, explanation: \"The Voting Rights Act outlawed discriminatory voting practices targeting African Americans.\" },\n        { event: \"Abolition Movement\", text: \"William Wilberforce's campaign to end the British slave trade relied heavily on which tactic?\", options: [\"Violent rebellion\", \"Parliamentary advocacy and public awareness\", \"Economic sabotage\", \"Foreign alliances\"], correct: 1, explanation: \"Wilberforce used petitions, speeches, and moral persuasion in Parliament over decades.\" },\n        { event: \"Fall of Apartheid\", text: \"The international anti-apartheid movement contributed to South Africa's transition by:\", options: [\"Military invasion\", \"Economic sanctions and cultural boycotts\", \"Assassinating leaders\", \"Ignoring the situation\"], correct: 1, explanation: \"Sanctions, divestment, and boycotts pressured the regime to negotiate.\" }\n    ];\n\n    \/\/ PSAT Style \u2014 Main idea, vocabulary, simpler inference\n    const PSAT_QUESTIONS = [\n        { event: \"Civil Rights Movement\", text: \"What was the main goal of the Civil Rights Movement in the United States?\", options: [\"End racial segregation and discrimination\", \"Start a new political party\", \"Overturn all laws\", \"Create a separate nation\"], correct: 0, explanation: \"The movement sought equal rights and an end to Jim Crow laws.\" },\n        { event: \"Abolition of the Slave Trade\", text: \"The term 'abolition' most nearly means:\", options: [\"Expansion\", \"Creation\", \"Ending or outlawing\", \"Celebration\"], correct: 2, explanation: \"Abolition refers to formally ending a practice or institution.\" },\n        { event: \"Fall of Apartheid\", text: \"Apartheid in South Africa was a system of:\", options: [\"Economic prosperity\", \"Racial segregation and discrimination\", \"Democratic elections\", \"Religious freedom\"], correct: 1, explanation: \"Apartheid legally enforced racial separation and inequality.\" },\n        { event: \"Civil Rights Movement\", text: \"Rosa Parks is best known for:\", options: [\"Writing a famous book\", \"Refusing to give up her bus seat\", \"Running for president\", \"Leading a labor union\"], correct: 1, explanation: \"Her arrest sparked the Montgomery Bus Boycott.\" },\n        { event: \"Abolition Movement\", text: \"The British abolitionist movement helped inspire:\", options: [\"Colonial expansion\", \"Global efforts to end slavery\", \"World War I\", \"The Industrial Revolution\"], correct: 1, explanation: \"Britain's example encouraged other nations to ban slavery.\" },\n        { event: \"Fall of Apartheid\", text: \"Nelson Mandela's approach after leaving prison was to:\", options: [\"Seek revenge\", \"Promote reconciliation and peace\", \"Start a civil war\", \"Exile himself\"], correct: 1, explanation: \"Mandela famously pursued unity and forgiveness.\" }\n    ];\n\n    \/\/ ACT Style \u2014 Detail recall, factual accuracy, chronological\n    const ACT_QUESTIONS = [\n        { event: \"Civil Rights Movement\", text: \"The March on Washington for Jobs and Freedom (1963) is most famous for:\", options: [\"Martin Luther King Jr.'s 'I Have a Dream' speech\", \"Violent protests\", \"A presidential assassination\", \"The start of World War II\"], correct: 0, explanation: \"King delivered his iconic speech to over 250,000 people.\" },\n        { event: \"Abolition of the Slave Trade Act\", text: \"In which year did the British Parliament pass the Abolition of the Slave Trade Act?\", options: [\"1776\", \"1807\", \"1833\", \"1865\"], correct: 1, explanation: \"1807 marked the end of British slave trading, though slavery itself continued until 1833.\" },\n        { event: \"Fall of Apartheid\", text: \"Nelson Mandela was released from prison in:\", options: [\"1964\", \"1976\", \"1990\", \"1994\"], correct: 2, explanation: \"Mandela was freed in 1990 after 27 years, leading to negotiations to end apartheid.\" },\n        { event: \"Civil Rights Movement\", text: \"The Civil Rights Act of 1964 outlawed discrimination based on:\", options: [\"Race, color, religion, sex, or national origin\", \"Only race\", \"Age only\", \"Political party\"], correct: 0, explanation: \"It was a comprehensive law banning segregation in public places and employment.\" },\n        { event: \"Abolition Movement\", text: \"Which British politician led the decades-long parliamentary fight to end the slave trade?\", options: [\"William Pitt\", \"William Wilberforce\", \"Oliver Cromwell\", \"Winston Churchill\"], correct: 1, explanation: \"Wilberforce introduced abolition bills year after year until success in 1807.\" },\n        { event: \"Fall of Apartheid\", text: \"The first fully democratic elections in South Africa allowing all races to vote took place in:\", options: [\"1985\", \"1990\", \"1994\", \"2000\"], correct: 2, explanation: \"1994 elections brought Nelson Mandela to power as the first Black president.\" }\n    ];\n\n    let currentMode = \"SAT\";\n    let currentQuestions = [...SAT_QUESTIONS];\n    let currentIndex = 0;\n    let playerScore = 0;\n    let quizAnswered = false;\n    let selectedOptIdx = null;\n    let totalPerMode = 6;\n\n    \/\/ DOM elements\n    const dynamicArea = document.getElementById(\"dynamicQuestionArea\");\n    const feedbackDiv = document.getElementById(\"feedbackArea\");\n    const nextBtn = document.getElementById(\"nextButton\");\n    const restartBtn = document.getElementById(\"restartButton\");\n    const scoreSpan = document.getElementById(\"scoreValue\");\n    const modeTitle = document.getElementById(\"modeTitle\");\n\n    function updateScoreUI() {\n        scoreSpan.innerText = playerScore;\n    }\n\n    function loadMode(mode) {\n        currentMode = mode;\n        if (mode === \"SAT\") currentQuestions = [...SAT_QUESTIONS];\n        else if (mode === \"PSAT\") currentQuestions = [...PSAT_QUESTIONS];\n        else currentQuestions = [...ACT_QUESTIONS];\n        \n        let icon = mode === \"SAT\" ? '<i class=\"fab fa-sat\"><\/i>' : (mode === \"PSAT\" ? '<i class=\"fas fa-pen-fancy\"><\/i>' : '<i class=\"fas fa-bolt\"><\/i>');\n        modeTitle.innerHTML = `${icon} ${mode} \u2726 Historical Righteousness Prep`;\n        \n        currentIndex = 0;\n        playerScore = 0;\n        quizAnswered = false;\n        selectedOptIdx = null;\n        updateScoreUI();\n        nextBtn.style.display = \"none\";\n        feedbackDiv.innerHTML = `<i class=\"fas fa-check-circle\"><\/i> ${mode} mode activated. Answer 6 questions about transformative moral events.`;\n        renderQuestion();\n        \n        document.querySelectorAll('.mode-btn').forEach(btn => btn.classList.remove('active'));\n        if (mode === \"SAT\") document.getElementById(\"modeSAT\").classList.add('active');\n        if (mode === \"PSAT\") document.getElementById(\"modePSAT\").classList.add('active');\n        if (mode === \"ACT\") document.getElementById(\"modeACT\").classList.add('active');\n    }\n\n    function renderQuestion() {\n        if (currentIndex >= totalPerMode) {\n            dynamicArea.innerHTML = `\n                <div style=\"text-align:center; padding:20px;\">\n                    <i class=\"fas fa-trophy\" style=\"font-size:3rem; color:#d4af37;\"><\/i>\n                    <h3>${currentMode} Complete!<\/h3>\n                    <p>Your score: ${playerScore} \/ ${totalPerMode*100}<\/p>\n                    <p><i class=\"fas fa-medal\"><\/i> ${getFinalMessage()}<\/p>\n                    <i class=\"fas fa-sync-alt\"><\/i> Switch exam mode or press Restart.\n                <\/div>\n            `;\n            nextBtn.style.display = \"none\";\n            quizAnswered = true;\n            return;\n        }\n\n        const q = currentQuestions[currentIndex];\n        let optionsHtml = '';\n        const letters = ['A', 'B', 'C', 'D'];\n        q.options.forEach((opt, idx) => {\n            let disabledAttr = quizAnswered ? 'disabled' : '';\n            let extraClass = '';\n            if (quizAnswered) {\n                if (idx === q.correct) extraClass = 'correct-highlight';\n                else if (idx === selectedOptIdx && idx !== q.correct) extraClass = 'wrong-highlight';\n            }\n            optionsHtml += `\n                <button class=\"opt-btn ${extraClass}\" data-opt-index=\"${idx}\" ${disabledAttr}>\n                    <i class=\"fas ${idx === 0 ? 'fa-circle' : (idx === 1 ? 'fa-dot-circle' : (idx === 2 ? 'fa-record-vinyl' : 'fa-stop'))}\"><\/i>\n                    <strong>${letters[idx]}.<\/strong> ${escapeHtml(opt)}\n                <\/button>\n            `;\n        });\n\n        const progressHtml = `<div class=\"game-status\" style=\"margin-bottom:12px;\"><i class=\"fas fa-question-circle\"><\/i> Question ${currentIndex+1} of ${totalPerMode} (${currentMode}) \u2022 <i class=\"fas fa-calendar-alt\"><\/i> ${q.event}<\/div>`;\n        const questionHtml = `\n            ${progressHtml}\n            <div class=\"question-text\"><i class=\"fas fa-gavel\"><\/i> ${escapeHtml(q.text)}<\/div>\n            <div class=\"options-list\" id=\"optionsList\">${optionsHtml}<\/div>\n        `;\n        dynamicArea.innerHTML = questionHtml;\n\n        if (!quizAnswered) {\n            document.querySelectorAll('.opt-btn').forEach(btn => {\n                btn.addEventListener('click', (e) => {\n                    if (quizAnswered) return;\n                    const chosenIdx = parseInt(btn.getAttribute('data-opt-index'));\n                    handleAnswer(chosenIdx);\n                });\n            });\n        }\n    }\n\n    function handleAnswer(chosenIdx) {\n        if (quizAnswered) return;\n        const q = currentQuestions[currentIndex];\n        const isCorrect = (chosenIdx === q.correct);\n        selectedOptIdx = chosenIdx;\n        if (isCorrect) {\n            playerScore += 100;\n            updateScoreUI();\n            feedbackDiv.innerHTML = `<i class=\"fas fa-check-circle\" style=\"color:#2e7d32;\"><\/i> \u2705 ${q.explanation} <i class=\"fas fa-award\"><\/i> +100 points (${q.event})`;\n        } else {\n            const correctLetter = String.fromCharCode(65 + q.correct);\n            const correctText = q.options[q.correct];\n            feedbackDiv.innerHTML = `<i class=\"fas fa-times-circle\" style=\"color:#b71c1c;\"><\/i> Incorrect. Correct answer: ${correctLetter}: ${escapeHtml(correctText)}.<br>\ud83d\udcd6 ${q.explanation} (${q.event})`;\n        }\n        quizAnswered = true;\n        renderQuestion();\n        nextBtn.style.display = \"block\";\n    }\n\n    function nextQuestion() {\n        if (!quizAnswered && currentIndex < totalPerMode) {\n            feedbackDiv.innerHTML = `<i class=\"fas fa-exclamation-triangle\"><\/i> Please answer before continuing.`;\n            return;\n        }\n        if (currentIndex + 1 <= totalPerMode) {\n            currentIndex++;\n            quizAnswered = false;\n            selectedOptIdx = null;\n            nextBtn.style.display = \"none\";\n            if (currentIndex < totalPerMode) {\n                feedbackDiv.innerHTML = `<i class=\"fas fa-lightbulb\"><\/i> Read event details carefully, then choose the best answer.`;\n                renderQuestion();\n            } else {\n                renderQuestion();\n                nextBtn.style.display = \"none\";\n            }\n        }\n    }\n\n    function restartQuiz() {\n        loadMode(currentMode);\n    }\n\n    function getFinalMessage() {\n        let maxScore = totalPerMode * 100;\n        if (playerScore === maxScore) return `\ud83c\udfc6 Perfect ${currentMode} score! You understand these pivotal events.`;\n        if (playerScore >= 400) return `\ud83c\udf96\ufe0f Strong ${currentMode} readiness! History remembers the righteous.`;\n        return `\ud83d\udcdc Review the events hall and try again. Moral courage shapes our world.`;\n    }\n\n    function escapeHtml(str) {\n        return str.replace(\/[&<>]\/g, function(m) {\n            if (m === '&') return '&amp;';\n            if (m === '<') return '&lt;';\n            if (m === '>') return '&gt;';\n            return m;\n        });\n    }\n\n    \/\/ Event bindings\n    document.getElementById(\"modeSAT\").addEventListener(\"click\", () => loadMode(\"SAT\"));\n    document.getElementById(\"modePSAT\").addEventListener(\"click\", () => loadMode(\"PSAT\"));\n    document.getElementById(\"modeACT\").addEventListener(\"click\", () => loadMode(\"ACT\"));\n    nextBtn.addEventListener(\"click\", nextQuestion);\n    restartBtn.addEventListener(\"click\", restartQuiz);\n    \n    \/\/ Initialize with SAT\n    loadMode(\"SAT\");\n<\/script>\n<\/body>\n<\/html>\n","protected":false},"excerpt":{"rendered":"<p>Museum Test Prep App | Historical Events of Righteousness Hall \u2022 SAT \u2022 PSAT \u2022 ACT Historical Events of Righteousness Hall Museum Test Prep App Certain moments in history demonstrate the power of moral conviction to transform societies and defend human dignity. Transformative Events Pivotal Moments of Moral Change Across centuries and continents, ordinary people [&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-837","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/museum.wiserighteous.org\/index.php\/wp-json\/wp\/v2\/pages\/837","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=837"}],"version-history":[{"count":1,"href":"https:\/\/museum.wiserighteous.org\/index.php\/wp-json\/wp\/v2\/pages\/837\/revisions"}],"predecessor-version":[{"id":839,"href":"https:\/\/museum.wiserighteous.org\/index.php\/wp-json\/wp\/v2\/pages\/837\/revisions\/839"}],"wp:attachment":[{"href":"https:\/\/museum.wiserighteous.org\/index.php\/wp-json\/wp\/v2\/media?parent=837"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}