{"id":1358,"date":"2025-12-06T18:19:51","date_gmt":"2025-12-06T18:19:51","guid":{"rendered":"https:\/\/theavinashtripathi.com\/learn\/?page_id=1358"},"modified":"2025-12-07T06:35:56","modified_gmt":"2025-12-07T06:35:56","slug":"psychometric-test","status":"publish","type":"page","link":"https:\/\/theavinashtripathi.com\/learn\/psychometric-test\/","title":{"rendered":"Psychometric Test"},"content":{"rendered":"    <div id=\"av-psych-test\" data-duration=\"600\">\n        <div class=\"av-psych-header\">\n            <h1>Learning Style Diagnosis<\/h1>\n            <p class=\"av-psych-subtitle\">\n                A free <strong>10-minute<\/strong> written assessment\n                with <strong>10<\/strong> reflective questions.\n                Designed to understand how a student learns, thinks and retains concepts.\n            <\/p>\n        <\/div>\n\n        <form id=\"av-psych-form\" method=\"post\">\n            <input type=\"hidden\" id=\"av_psych_nonce\" name=\"av_psych_nonce\" value=\"9b9531f803\" \/><input type=\"hidden\" name=\"_wp_http_referer\" value=\"\/learn\/wp-json\/wp\/v2\/pages\/1358\" \/>            <input type=\"hidden\" name=\"av_psych_form_flag\" value=\"1\" \/>\n\n            <!-- Pre-info fields -->\n            <div class=\"av-psych-student-meta\">\n                <label>\n                    Student Name <span class=\"av-psych-required\">*<\/span>\n                    <input type=\"text\" id=\"av_student_name\" name=\"av_student_name\"\n                           autocomplete=\"name\" required>\n                <\/label>\n\n                <label>\n                    Class <span class=\"av-psych-required\">*<\/span>\n                    <input type=\"text\" id=\"av_student_class\" name=\"av_student_class\"\n                           placeholder=\"e.g. 7, 8, 9, 10\" required>\n                <\/label>\n\n                <label>\n                    School <span class=\"av-psych-required\">*<\/span>\n                    <input type=\"text\" id=\"av_student_school\" name=\"av_student_school\"\n                           autocomplete=\"organization\" required>\n                <\/label>\n\n                <label>\n                    Favourite subject <span class=\"av-psych-required\">*<\/span>\n                    <input type=\"text\" id=\"av_student_fav_subject\" name=\"av_student_fav_subject\"\n                           placeholder=\"e.g. Maths, Science, SST\" required>\n                <\/label>\n\n                <label>\n                    Parent Name <span class=\"av-psych-required\">*<\/span>\n                    <input type=\"text\" id=\"av_parent_name\" name=\"av_parent_name\"\n                           placeholder=\"Father \/ Mother \/ Guardian\" required>\n                <\/label>\n\n                <label>\n                    Parent Mobile <span class=\"av-psych-required\">*<\/span>\n                    <input type=\"tel\" id=\"av_parent_mobile\" name=\"av_parent_mobile\"\n                           placeholder=\"10-digit mobile number\" pattern=\"\\d{10}\" required>\n                <\/label>\n\n                <label>\n                    How did you hear about us?\n                    <select id=\"av_student_hear_about\" name=\"av_student_hear_about\">\n                        <option value=\"\">Select an option<\/option>\n                        <option value=\"Friend\">Friend<\/option>\n                        <option value=\"School\">School<\/option>\n                        <option value=\"Social media\">Social media<\/option>\n                        <option value=\"YouTube\">YouTube<\/option>\n                        <option value=\"Other\">Other<\/option>\n                    <\/select>\n                <\/label>\n            <\/div>\n\n            <!-- Inline error box -->\n            <div id=\"av-psych-error\" class=\"av-psych-error\"><\/div>\n\n            <div class=\"av-psych-timer-wrap\">\n                <button type=\"button\" id=\"av-psych-start\" class=\"av-psych-btn-start\" disabled>\n                    Start Diagnosis\n                <\/button>\n                <div class=\"av-psych-timer\">\n                    Time left:\n                    <span id=\"av-psych-time\">\n                        10:00                    <\/span>\n                <\/div>\n            <\/div>\n\n            <!-- Status hints -->\n            <div id=\"av-psych-status\" class=\"av-psych-status\">\n                You will have 10 minutes to complete this assessment.\n                Please do not refresh the page once you start.\n            <\/div>\n\n            <!-- Questions (initially disabled until Start) -->\n            <div class=\"av-psych-questions av-psych-disabled\" id=\"av-psych-questions\">\n                                                        <div class=\"av-psych-question-block\">\n                        <div class=\"av-psych-question-text\">\n                            <span class=\"av-psych-q-number\">\n                                Q1.\n                            <\/span>\n                            <span>Q1. The Viral Number (Sankhya Pattern) English: Look at the series: 8, 27, 64, 125, ?. What number comes next? Hindi: \u0907\u0938 \u0936\u094d\u0930\u0943\u0902\u0916\u0932\u093e \u0915\u094b \u0926\u0947\u0916\u0947\u0902: 8, 27, 64, 125, ?. \u0905\u0917\u0932\u0940 \u0938\u0902\u0916\u094d\u092f\u093e \u0915\u094d\u092f\u093e \u0939\u094b\u0917\u0940? (Hint: Think about cubes \/ \u0938\u0902\u0915\u0947\u0924: \u0918\u0928 \u0938\u0902\u0916\u094d\u092f\u093e\u0913\u0902 \u0915\u0947 \u092c\u093e\u0930\u0947 \u092e\u0947\u0902 \u0938\u094b\u091a\u0947\u0902)<\/span>\n                        <\/div>\n                        <textarea\n                            name=\"q_1627\"\n                            rows=\"3\"\n                            class=\"av-psych-answer\"\n                            placeholder=\"Type your answer here...\"\n                            disabled\n                        ><\/textarea>\n                    <\/div>\n                                                        <div class=\"av-psych-question-block\">\n                        <div class=\"av-psych-question-text\">\n                            <span class=\"av-psych-q-number\">\n                                Q2.\n                            <\/span>\n                            <span>Q6. The Calendar Logic (Calendar Tark) English: If the day before yesterday was Thursday, what day will it be the day after tomorrow? Hindi: \u092f\u0926\u093f \u092a\u0930\u0938\u094b\u0902 (\u092c\u0940\u0924\u093e \u0939\u0941\u0906) \u0917\u0941\u0930\u0941\u0935\u093e\u0930 \u0925\u093e, \u0924\u094b \u092a\u0930\u0938\u094b\u0902 (\u0906\u0928\u0947 \u0935\u093e\u0932\u093e) \u0915\u094c\u0928 \u0938\u093e \u0926\u093f\u0928 \u0939\u094b\u0917\u093e?<\/span>\n                        <\/div>\n                        <textarea\n                            name=\"q_1628\"\n                            rows=\"3\"\n                            class=\"av-psych-answer\"\n                            placeholder=\"Type your answer here...\"\n                            disabled\n                        ><\/textarea>\n                    <\/div>\n                                                        <div class=\"av-psych-question-block\">\n                        <div class=\"av-psych-question-text\">\n                            <span class=\"av-psych-q-number\">\n                                Q3.\n                            <\/span>\n                            <span>Q9. Direction Sense (Disha Gyan) English: You walk 10 meters North, turn Left and walk 10 meters, then turn Left again and walk 10 meters. How many meters are you from your starting point? Hindi: \u0906\u092a 10 \u092e\u0940\u091f\u0930 \u0909\u0924\u094d\u0924\u0930 \u0915\u0940 \u0913\u0930 \u091a\u0932\u0924\u0947 \u0939\u0948\u0902, \u092c\u093e\u090f\u0902 \u092e\u0941\u0921\u093c\u0924\u0947 \u0939\u0948\u0902 \u0914\u0930 10 \u092e\u0940\u091f\u0930 \u091a\u0932\u0924\u0947 \u0939\u0948\u0902, \u092b\u093f\u0930 \u0938\u0947 \u092c\u093e\u090f\u0902 \u092e\u0941\u0921\u093c\u0924\u0947 \u0939\u0948\u0902 \u0914\u0930 10 \u092e\u0940\u091f\u0930 \u091a\u0932\u0924\u0947 \u0939\u0948\u0902\u0964 \u0906\u092a \u0905\u092a\u0928\u0947 \u0936\u0941\u0930\u0941\u0906\u0924\u0940 \u092c\u093f\u0902\u0926\u0941 \u0938\u0947 \u0915\u093f\u0924\u0928\u0947 \u092e\u0940\u091f\u0930 \u0926\u0942\u0930 \u0939\u0948\u0902?<\/span>\n                        <\/div>\n                        <textarea\n                            name=\"q_1629\"\n                            rows=\"3\"\n                            class=\"av-psych-answer\"\n                            placeholder=\"Type your answer here...\"\n                            disabled\n                        ><\/textarea>\n                    <\/div>\n                                                        <div class=\"av-psych-question-block\">\n                        <div class=\"av-psych-question-text\">\n                            <span class=\"av-psych-q-number\">\n                                Q4.\n                            <\/span>\n                            <span>Q4. The Broken Item English: You accidentally break a valuable item at a relative&#8217;s house, and nobody noticed. When they ask who did it, what will you say? Hindi: \u0906\u092a\u0928\u0947 \u0917\u0932\u0924\u0940 \u0938\u0947 \u0915\u093f\u0938\u0940 \u0930\u093f\u0936\u094d\u0924\u0947\u0926\u093e\u0930 \u0915\u0947 \u0918\u0930 \u092a\u0930 \u090f\u0915 \u0915\u0940\u092e\u0924\u0940 \u0938\u093e\u092e\u093e\u0928 \u0924\u094b\u0921\u093c \u0926\u093f\u092f\u093e, \u0914\u0930 \u0915\u093f\u0938\u0940 \u0928\u0947 \u0928\u0939\u0940\u0902 \u0926\u0947\u0916\u093e\u0964 \u091c\u092c \u0935\u0947 \u092a\u0942\u091b\u0924\u0947 \u0939\u0948\u0902 \u0915\u093f \u092f\u0939 \u0915\u093f\u0938\u0928\u0947 \u0915\u093f\u092f\u093e, \u0924\u094b \u0906\u092a \u0915\u094d\u092f\u093e \u0915\u0939\u0947\u0902\u0917\u0947?<\/span>\n                        <\/div>\n                        <textarea\n                            name=\"q_1630\"\n                            rows=\"3\"\n                            class=\"av-psych-answer\"\n                            placeholder=\"Type your answer here...\"\n                            disabled\n                        ><\/textarea>\n                    <\/div>\n                                                        <div class=\"av-psych-question-block\">\n                        <div class=\"av-psych-question-text\">\n                            <span class=\"av-psych-q-number\">\n                                Q5.\n                            <\/span>\n                            <span>Q5. The Brick Test English: List 3 unusual uses for a red brick, other than building a wall. Hindi: \u0926\u0940\u0935\u093e\u0930 \u092c\u0928\u093e\u0928\u0947 \u0915\u0947 \u0905\u0932\u093e\u0935\u093e, \u090f\u0915 \u0932\u093e\u0932 \u0908\u0902\u091f \u0915\u0947 3 \u0905\u0928\u094b\u0916\u0947 \u0909\u092a\u092f\u094b\u0917 \u092c\u0924\u093e\u090f\u0902\u0964<\/span>\n                        <\/div>\n                        <textarea\n                            name=\"q_1631\"\n                            rows=\"3\"\n                            class=\"av-psych-answer\"\n                            placeholder=\"Type your answer here...\"\n                            disabled\n                        ><\/textarea>\n                    <\/div>\n                                                        <div class=\"av-psych-question-block\">\n                        <div class=\"av-psych-question-text\">\n                            <span class=\"av-psych-q-number\">\n                                Q6.\n                            <\/span>\n                            <span>Q11. The Superpower English: If you could have one superpower, what would it be and why? Hindi: \u092f\u0926\u093f \u0906\u092a\u0915\u0947 \u092a\u093e\u0938 \u0905\u092a\u0928\u0940 \u090f\u0915 \u0938\u0941\u092a\u0930\u092a\u093e\u0935\u0930 \u0939\u094b \u0938\u0915\u0924\u0940 \u0939\u0948, \u0924\u094b \u0935\u0939 \u0915\u094d\u092f\u093e \u0939\u094b\u0917\u0940 \u0914\u0930 \u0915\u094d\u092f\u094b\u0902? (Example: &#8220;Super memory&#8221; = wants to rote learn. &#8220;Stop time&#8221; = needs more time\/anxious).<\/span>\n                        <\/div>\n                        <textarea\n                            name=\"q_1632\"\n                            rows=\"3\"\n                            class=\"av-psych-answer\"\n                            placeholder=\"Type your answer here...\"\n                            disabled\n                        ><\/textarea>\n                    <\/div>\n                                                        <div class=\"av-psych-question-block\">\n                        <div class=\"av-psych-question-text\">\n                            <span class=\"av-psych-q-number\">\n                                Q7.\n                            <\/span>\n                            <span>Q3. The Shared Age (Aayu Ganana)English: A and B together are 110 years old. A is 100 years older than B. How old is B?Hindi: A \u0914\u0930 B \u0915\u0940 \u0915\u0941\u0932 \u0906\u092f\u0941 110 \u0935\u0930\u094d\u0937 \u0939\u0948\u0964 A, B \u0938\u0947 100 \u0935\u0930\u094d\u0937 \u092c\u0921\u093c\u093e \u0939\u0948\u0964 B \u0915\u0940 \u0906\u092f\u0941 \u0915\u094d\u092f\u093e \u0939\u0948?<\/span>\n                        <\/div>\n                        <textarea\n                            name=\"q_1633\"\n                            rows=\"3\"\n                            class=\"av-psych-answer\"\n                            placeholder=\"Type your answer here...\"\n                            disabled\n                        ><\/textarea>\n                    <\/div>\n                                                        <div class=\"av-psych-question-block\">\n                        <div class=\"av-psych-question-text\">\n                            <span class=\"av-psych-q-number\">\n                                Q8.\n                            <\/span>\n                            <span>Q5. The Doctor&#8217;s Relation (Rishta) English: A doctor in Paris has a brother in London, but the brother in London has no brother in Paris. How is this possible? Hindi: \u092a\u0947\u0930\u093f\u0938 \u092e\u0947\u0902 \u090f\u0915 \u0921\u0949\u0915\u094d\u091f\u0930 \u0915\u093e \u0932\u0902\u0926\u0928 \u092e\u0947\u0902 \u090f\u0915 \u092d\u093e\u0908 \u0939\u0948, \u0932\u0947\u0915\u093f\u0928 \u0932\u0902\u0926\u0928 \u0935\u093e\u0932\u0947 \u092d\u093e\u0908 \u0915\u093e \u092a\u0947\u0930\u093f\u0938 \u092e\u0947\u0902 \u0915\u094b\u0908 \u092d\u093e\u0908 \u0928\u0939\u0940\u0902 \u0939\u0948\u0964 \u092f\u0939 \u0915\u0948\u0938\u0947 \u0938\u0902\u092d\u0935 \u0939\u0948?<\/span>\n                        <\/div>\n                        <textarea\n                            name=\"q_1634\"\n                            rows=\"3\"\n                            class=\"av-psych-answer\"\n                            placeholder=\"Type your answer here...\"\n                            disabled\n                        ><\/textarea>\n                    <\/div>\n                                                        <div class=\"av-psych-question-block\">\n                        <div class=\"av-psych-question-text\">\n                            <span class=\"av-psych-q-number\">\n                                Q9.\n                            <\/span>\n                            <span>Q2. The Division Trick (Bhaag)English: Divide 30 by half and add 10. What is the answer?Hindi: 30 \u0915\u094b \u0906\u0927\u0947 (half) \u0938\u0947 \u092d\u093e\u0917 \u0926\u0947\u0902 \u0914\u0930 10 \u091c\u094b\u0921\u093c\u0947\u0902\u0964 \u0909\u0924\u094d\u0924\u0930 \u0915\u094d\u092f\u093e \u0939\u0948?<\/span>\n                        <\/div>\n                        <textarea\n                            name=\"q_1635\"\n                            rows=\"3\"\n                            class=\"av-psych-answer\"\n                            placeholder=\"Type your answer here...\"\n                            disabled\n                        ><\/textarea>\n                    <\/div>\n                                                        <div class=\"av-psych-question-block\">\n                        <div class=\"av-psych-question-text\">\n                            <span class=\"av-psych-q-number\">\n                                Q10.\n                            <\/span>\n                            <span>Q6. The Driver Test (Driver Kaun) English: You are driving a bus. At the first stop, 4 people get on. At the second stop, 8 people get on and 2 get off. At the third stop, 3 get off. What is the name of the driver? Hindi: \u0906\u092a \u090f\u0915 \u092c\u0938 \u091a\u0932\u093e \u0930\u0939\u0947 \u0939\u0948\u0902\u0964 \u092a\u0939\u0932\u0947 \u0938\u094d\u091f\u0949\u092a \u092a\u0930 4 \u0932\u094b\u0917 \u091a\u0922\u093c\u0924\u0947 \u0939\u0948\u0902\u0964 \u0926\u0942\u0938\u0930\u0947 \u0938\u094d\u091f\u0949\u092a \u092a\u0930 8 \u0932\u094b\u0917 \u091a\u0922\u093c\u0924\u0947 \u0939\u0948\u0902 \u0914\u0930 2 \u0909\u0924\u0930 \u091c\u093e\u0924\u0947 \u0939\u0948\u0902\u0964 \u0924\u0940\u0938\u0930\u0947 \u0938\u094d\u091f\u0949\u092a \u092a\u0930 3 \u0909\u0924\u0930 \u091c\u093e\u0924\u0947 \u0939\u0948\u0902\u0964 \u0921\u094d\u0930\u093e\u0907\u0935\u0930 \u0915\u093e \u0928\u093e\u092e \u0915\u094d\u092f\u093e \u0939\u0948?<\/span>\n                        <\/div>\n                        <textarea\n                            name=\"q_1636\"\n                            rows=\"3\"\n                            class=\"av-psych-answer\"\n                            placeholder=\"Type your answer here...\"\n                            disabled\n                        ><\/textarea>\n                    <\/div>\n                            <\/div>\n\n            <div class=\"av-psych-actions\">\n                <button type=\"submit\" id=\"av-psych-submit\"\n                        class=\"av-psych-btn-submit\" disabled>\n                    Submit Diagnosis\n                <\/button>\n            <\/div>\n        <\/form>\n    <\/div>\n\n        <!-- Inline JS (scoped) -->\n    <script>\n    document.addEventListener('DOMContentLoaded', function () {\n        const container   = document.getElementById('av-psych-test');\n        if (!container) return;\n\n        const duration    = parseInt(container.dataset.duration || '600', 10);\n        const startBtn    = document.getElementById('av-psych-start');\n        const timerSpan   = document.getElementById('av-psych-time');\n        const form        = document.getElementById('av-psych-form');\n        const questionsEl = document.getElementById('av-psych-questions');\n        const submitBtn   = document.getElementById('av-psych-submit');\n\n        const nameInput   = document.getElementById('av_student_name');\n        const classInput  = document.getElementById('av_student_class');\n        const schoolInput = document.getElementById('av_student_school');\n        const favInput    = document.getElementById('av_student_fav_subject');\n        const parentName  = document.getElementById('av_parent_name');\n        const parentMob   = document.getElementById('av_parent_mobile');\n\n        const errorBox    = document.getElementById('av-psych-error');\n        const statusBox   = document.getElementById('av-psych-status');\n\n        let   remaining   = duration;\n        let   intervalId  = null;\n        let   started     = false;\n\n        function formatTime(sec) {\n            const m = Math.floor(sec \/ 60);\n            const s = sec % 60;\n            return String(m).padStart(2, '0') + ':' + String(s).padStart(2, '0');\n        }\n\n        function markInvalid(field) {\n            field.classList.add('av-psych-input-invalid');\n        }\n\n        function clearInvalid(field) {\n            field.classList.remove('av-psych-input-invalid');\n        }\n\n        function enableQuestions() {\n            questionsEl.classList.remove('av-psych-disabled');\n            const textareas = questionsEl.querySelectorAll('textarea');\n            textareas.forEach(t => t.disabled = false);\n            submitBtn.disabled = false;\n        }\n\n        function disableControls() {\n            const textareas = questionsEl.querySelectorAll('textarea');\n            textareas.forEach(t => t.disabled = true);\n            submitBtn.disabled = true;\n            if (startBtn) startBtn.disabled = true;\n        }\n\n        \/\/ Helper: create or update hidden input inside form\n        function createHiddenFieldIfMissing(formEl, name, value) {\n            if (!formEl) return null;\n            \/\/ try to find existing hidden input with same name\n            var existing = formEl.querySelector('input[type=\"hidden\"][name=\"' + name + '\"]');\n            if (existing) {\n                existing.value = value;\n                return existing;\n            }\n            var hid = document.createElement('input');\n            hid.type = 'hidden';\n            hid.name = name;\n            hid.value = value;\n            formEl.appendChild(hid);\n            return hid;\n        }\n\n        \/\/ New robust lock: clone values to hidden inputs, then lock visible controls (readonly\/disabled)\n        function lockPersonalFields() {\n            if (!form) return;\n            const fields = [nameInput, classInput, schoolInput, favInput, parentName, parentMob];\n            fields.forEach(function (field) {\n                if (!field) return;\n\n                \/\/ canonical name attribute (fallback to id)\n                var nm = field.getAttribute('name') || field.id || null;\n                var val = (field.value != null) ? field.value : '';\n\n                \/\/ create or update hidden clone BEFORE disabling the visible input\n                if (nm) {\n                    createHiddenFieldIfMissing(form, nm, val);\n                } else {\n                    \/\/ safety fallback: unique hidden name\n                    createHiddenFieldIfMissing(form, 'av_psy_unnamed_field_' + Math.floor(Math.random()*100000), val);\n                }\n\n                \/\/ Now visually lock the original field: prefer readonly for inputs\/textareas, disable for selects\n                try {\n                    var tag = (field.tagName || '').toLowerCase();\n                    if (tag === 'input' || tag === 'textarea') {\n                        try { field.readOnly = true; } catch (e) { field.disabled = true; }\n                    } else {\n                        field.disabled = true;\n                    }\n                    field.classList.add('av-psych-input-locked');\n                } catch (e) {\n                    try { field.disabled = true; } catch (e2) {}\n                    field.classList.add('av-psych-input-locked');\n                }\n            });\n        }\n\n        \/\/ Ensure hidden clones are synced with visible fields just before submit (in case values changed)\n        function syncHiddenClonesBeforeSubmit() {\n            if (!form) return;\n            var syncPairs = [\n                {el: nameInput, name: (nameInput ? nameInput.getAttribute('name') : 'av_student_name')},\n                {el: classInput, name: (classInput ? classInput.getAttribute('name') : 'av_student_class')},\n                {el: schoolInput, name: (schoolInput ? schoolInput.getAttribute('name') : 'av_student_school')},\n                {el: favInput, name: (favInput ? favInput.getAttribute('name') : 'av_student_fav_subject')},\n                {el: parentName, name: (parentName ? parentName.getAttribute('name') : 'av_parent_name')},\n                {el: parentMob, name: (parentMob ? parentMob.getAttribute('name') : 'av_parent_mobile')}\n            ];\n            syncPairs.forEach(function(pair) {\n                if (!pair.el || !pair.name) return;\n                var val = pair.el.value != null ? pair.el.value : '';\n                createHiddenFieldIfMissing(form, pair.name, val);\n            });\n        }\n\n        function requiredFilled() {\n            return (\n                nameInput && nameInput.value.trim()   !== '' &&\n                classInput && classInput.value.trim()  !== '' &&\n                schoolInput && schoolInput.value.trim() !== '' &&\n                favInput && favInput.value.trim()    !== '' &&\n                parentName && parentName.value.trim()  !== '' &&\n                parentMob && parentMob.value.trim().match(\/^\\d{10}$\/)\n            );\n        }\n\n        function showError(msg) {\n            if (!errorBox) return;\n            errorBox.innerHTML = msg;\n            errorBox.style.display = 'block';\n        }\n\n        function clearError() {\n            if (!errorBox) return;\n            errorBox.innerHTML = '';\n            errorBox.style.display = 'none';\n        }\n\n        function showStatus(msg) {\n            if (!statusBox) return;\n            statusBox.innerHTML = msg;\n            statusBox.style.display = 'block';\n        }\n\n        function updateStartState() {\n            if (requiredFilled()) {\n                clearError();\n                startBtn.disabled = false;\n                startBtn.classList.add('av-psych-btn-start--ready');\n                [nameInput, classInput, schoolInput, favInput, parentName, parentMob].forEach(function(f){ if(f) clearInvalid(f); });\n            } else {\n                startBtn.disabled = true;\n                startBtn.classList.remove('av-psych-btn-start--ready');\n            }\n        }\n\n        function startTimer() {\n            if (started) return;\n\n            \/\/ Final check\n            if (!requiredFilled()) {\n                showError('Please fill in all required fields (including Parent Name and Mobile) before starting the diagnosis.');\n                [nameInput, classInput, schoolInput, favInput, parentName, parentMob].forEach(function (field) {\n                    if (!field) return;\n                    if (field.value.trim() === '' || (field === parentMob && !field.value.trim().match(\/^\\d{10}$\/))) {\n                        markInvalid(field);\n                    } else {\n                        clearInvalid(field);\n                    }\n                });\n                const firstEmpty = [nameInput, classInput, schoolInput, favInput, parentName, parentMob].find(f => f && f.value.trim() === '');\n                if (firstEmpty) {\n                    try { firstEmpty.focus(); } catch (e) {}\n                }\n                return;\n            } else {\n                clearError();\n                [nameInput, classInput, schoolInput, favInput, parentName, parentMob].forEach(function(f){ if(f) clearInvalid(f); });\n            }\n\n            started = true;\n            enableQuestions();\n\n            \/\/ Create hidden clones and lock visible fields\n            lockPersonalFields();\n\n            startBtn.classList.add('av-psych-btn-start--running');\n\n            showStatus('Diagnosis in progress. Please do not refresh or close this page until you submit.');\n\n            \/\/ Smooth scroll to questions\n            try { questionsEl.scrollIntoView({ behavior: 'smooth', block: 'start' }); } catch (e) {}\n\n            timerSpan.textContent = formatTime(remaining);\n\n            intervalId = setInterval(function () {\n                remaining--;\n                if (remaining <= 0) {\n                    timerSpan.textContent = '00:00';\n                    clearInterval(intervalId);\n                    disableControls();\n                    \/\/ Sync hidden clones just before auto-submit\n                    syncHiddenClonesBeforeSubmit();\n                    form.submit(); \/\/ auto-submit\n                } else {\n                    timerSpan.textContent = formatTime(remaining);\n\n                    if (remaining === 300) {\n                        showStatus('Less than 5 minutes left. Stay focused and complete your answers.');\n                    }\n                    if (remaining === 60) {\n                        showStatus('Last 1 minute. Wrap up your thoughts and finish your responses.');\n                    }\n                }\n            }, 1000);\n        }\n\n        \/\/ Live validation on pre-info fields\n        [nameInput, classInput, schoolInput, favInput, parentName, parentMob].forEach(function (field) {\n            if (!field) return;\n            field.addEventListener('input', function () {\n                if (field.value.trim() !== '') {\n                    clearInvalid(field);\n                }\n                updateStartState();\n            });\n        });\n\n        if (startBtn) {\n            startBtn.addEventListener('click', startTimer);\n        }\n\n        \/\/ Prevent double submit by disabling submit button on submit\n        form.addEventListener('submit', function (e) {\n            \/\/ ensure hidden clones are updated with final values\n            syncHiddenClonesBeforeSubmit();\n\n            submitBtn.disabled = true;\n        });\n\n        \/\/ Initial state\n        updateStartState();\n    });\n    <\/script>\n\n    <!-- Inline CSS (scoped) -->\n    <style>\n    #av-psych-test {\n        max-width: 900px;\n        margin: 0 auto 3rem;\n        padding: 1rem 1.25rem 2rem;\n        background: rgba(0,0,0,0.4);\n        border-radius: 18px;\n        border: 1px solid rgba(148,163,184,0.35);\n        box-shadow: 0 18px 45px rgba(0,0,0,0.7);\n    }\n\n    .av-psych-header h1 {\n        margin-bottom: 0.25rem;\n        font-size: 1.6rem;\n    }\n    .av-psych-subtitle {\n        margin-top: 0;\n        margin-bottom: 1rem;\n        opacity: 0.9;\n        font-size: 0.9rem;\n    }\n\n    .av-psych-required {\n        color: #f97316;\n        margin-left: 2px;\n    }\n\n    .av-psych-student-meta {\n        display: grid;\n        grid-template-columns: repeat(auto-fit,minmax(220px,1fr));\n        gap: 0.75rem;\n        margin-bottom: 1rem;\n    }\n    .av-psych-student-meta label {\n        font-size: 0.85rem;\n        display: flex;\n        flex-direction: column;\n        gap: 0.2rem;\n    }\n    .av-psych-student-meta input,\n    .av-psych-student-meta select {\n        background: #020617;\n        border-radius: 8px;\n        border: 1px solid rgba(148,163,184,0.6);\n        padding: 0.4rem 0.55rem;\n        color: #e5e7eb;\n        transition: border-color 0.15s ease, box-shadow 0.15s ease, opacity 0.15s ease;\n    }\n\n    .av-psych-input-invalid {\n        border-color: rgba(239, 68, 68, 0.9) !important;\n        box-shadow: 0 0 0 1px rgba(239, 68, 68, 0.6);\n    }\n\n    .av-psych-input-locked {\n        opacity: 0.65;\n    }\n\n    .av-psych-error {\n        display: none;\n        margin-bottom: 1rem;\n        padding: 0.7rem 1rem;\n        border-radius: 10px;\n        background: rgba(239, 68, 68, 0.15);\n        border: 1px solid rgba(239, 68, 68, 0.5);\n        color: #ef4444;\n        font-size: 0.9rem;\n        font-weight: 500;\n    }\n\n    .av-psych-status {\n        margin-bottom: 1.25rem;\n        padding: 0.6rem 0.9rem;\n        border-radius: 10px;\n        background: rgba(37,99,235,0.15);\n        border: 1px solid rgba(59,130,246,0.5);\n        color: #bfdbfe;\n        font-size: 0.85rem;\n    }\n\n    .av-psych-timer-wrap {\n        display: flex;\n        align-items: center;\n        gap: 0.75rem;\n        margin-bottom: 0.9rem;\n        flex-wrap: wrap;\n    }\n\n    .av-psych-timer {\n        font-family: monospace;\n        font-size: 1rem;\n        padding: 0.4rem 0.7rem;\n        border-radius: 999px;\n        background: #020617;\n        border: 1px solid rgba(148,163,184,0.6);\n    }\n\n    .av-psych-btn-start {\n        padding: 0.5rem 1.1rem;\n        border-radius: 999px;\n        border: none;\n        cursor: pointer;\n        font-size: 0.9rem;\n        font-weight: 600;\n        background: #1f2933;\n        color: #9ca3af;\n        transition: background 0.15s ease, color 0.15s ease, opacity 0.15s ease;\n    }\n    .av-psych-btn-start--ready {\n        background: #22c55e;\n        color: #020617;\n    }\n    .av-psych-btn-start--running {\n        opacity: 0.75;\n        cursor: default;\n    }\n\n    .av-psych-question-block {\n        margin-bottom: 1rem;\n    }\n    .av-psych-question-text {\n        margin-bottom: 0.35rem;\n        font-size: 0.95rem;\n        display: flex;\n        gap: 0.4rem;\n    }\n    .av-psych-q-number {\n        font-weight: 600;\n        color: #22c55e;\n    }\n    .av-psych-answer {\n        width: 100%;\n        background: #020617;\n        border-radius: 10px;\n        border: 1px solid rgba(148,163,184,0.6);\n        padding: 0.55rem 0.6rem;\n        color: #e5e7eb;\n        resize: vertical;\n        min-height: 70px;\n    }\n\n    .av-psych-disabled textarea {\n        opacity: 0.5;\n        cursor: not-allowed;\n    }\n\n    .av-psych-actions {\n        margin-top: 1.5rem;\n        text-align: right;\n    }\n\n    .av-psych-btn-submit {\n        padding: 0.6rem 1.3rem;\n        border-radius: 999px;\n        border: none;\n        background: #22c55e;\n        color: #020617;\n        cursor: pointer;\n        font-weight: 600;\n        font-size: 0.92rem;\n        transition: opacity 0.15s ease;\n    }\n    .av-psych-btn-submit:disabled {\n        opacity: 0.5;\n        cursor: not-allowed;\n    }\n\n    .av-psych-thanks {\n        max-width: 700px;\n        margin: 0 auto 3rem;\n        padding: 1.5rem 1.5rem 2rem;\n        background: rgba(0,0,0,0.5);\n        border-radius: 18px;\n        border: 1px solid rgba(34,197,94,0.4);\n    }\n    .av-psych-thanks h2 {\n        margin-top: 0;\n        margin-bottom: 0.5rem;\n    }\n    .av-psych-whatsapp-btn {\n        display: inline-block;\n        margin-top: 1rem;\n        padding: 0.6rem 1.2rem;\n        border-radius: 999px;\n        text-decoration: none;\n        background: #22c55e;\n        color: #020617;\n        font-weight: 600;\n        font-size: 0.9rem;\n    }\n    .av-psych-whatsapp-btn:hover {\n        opacity: 0.9;\n    }\n    <\/style>\n    \n\n\n\n<p>Note: Your responses are kept private and used only for educational purposes as described in our <a href=\"\/learn\/privacy-policy\/\" target=\"_blank\" rel=\"noreferrer noopener\">Privacy Policy<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Note: Your responses are kept private and used only for educational purposes as described in our Privacy Policy.<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_gspb_post_css":"","footnotes":""},"class_list":["post-1358","page","type-page","status-publish","hentry"],"blocksy_meta":[],"_links":{"self":[{"href":"https:\/\/theavinashtripathi.com\/learn\/wp-json\/wp\/v2\/pages\/1358","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/theavinashtripathi.com\/learn\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/theavinashtripathi.com\/learn\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/theavinashtripathi.com\/learn\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/theavinashtripathi.com\/learn\/wp-json\/wp\/v2\/comments?post=1358"}],"version-history":[{"count":0,"href":"https:\/\/theavinashtripathi.com\/learn\/wp-json\/wp\/v2\/pages\/1358\/revisions"}],"wp:attachment":[{"href":"https:\/\/theavinashtripathi.com\/learn\/wp-json\/wp\/v2\/media?parent=1358"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}