{"id":13574,"date":"2026-07-16T03:28:45","date_gmt":"2026-07-16T03:28:45","guid":{"rendered":"https:\/\/promotionexams.com\/?page_id=13574"},"modified":"2026-07-16T11:38:22","modified_gmt":"2026-07-16T11:38:22","slug":"chaperwise-mcq-generic-internal-audit-manual","status":"publish","type":"page","link":"https:\/\/promotionexams.com\/?page_id=13574","title":{"rendered":"Chaperwise MCQ-Generic Internal Audit manual"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"13574\" class=\"elementor elementor-13574\">\n\t\t\t\t<div class=\"elementor-element elementor-element-bfd91d2 e-con-full e-flex e-con e-parent\" data-id=\"bfd91d2\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-63706eb elementor-widget elementor-widget-html\" data-id=\"63706eb\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<!--\r\n============================================================\r\nCSS ADDA \u00b7 PromotionExams.com\r\nCHAPTER-WISE MCQ PRACTICE + AI COACH  (Reusable Template)\r\n------------------------------------------------------------\r\nTABS:\r\n  1. Practice Quiz   \u2014 chapter-wise quiz (progress, weak areas,\r\n                       chapter filter, mastery stars)\r\n  2. My Performance  \u2014 AI coach: readiness score, focus areas,\r\n                       study plan, spaced-repetition revision queue\r\n\r\nHOW TO REUSE THIS TEMPLATE (3 steps):\r\n  1. In quizConfig below, change:\r\n       quizId   -> a UNIQUE id per topic (e.g. 'RTI-chapterwise-quiz').\r\n                   This keys localStorage; two quizzes sharing an id\r\n                   will share\/overwrite each other's progress!\r\n       topic    -> heading shown in the header\r\n       paper    -> 'Paper 1' \/ 'Paper 2' (shown in the eyebrow line)\r\n  2. Paste your question bank into  const allQuestions = [ ... ]\r\n     (format documented at the array).\r\n     NOTE: No 'year' field \u2014 this template is chapter-wise only.\r\n  3. Nothing else needs editing.\r\n\r\nRESET BEHAVIOUR:\r\n  \u2022 \"Reset Session\" (Practice tab)   -> clears ONLY the current\r\n    session's answers\/score. Lifetime mastery, weak areas and the\r\n    My Performance data are KEPT.\r\n  \u2022 \"Reset My Performance\" (My Performance tab) -> wipes lifetime\r\n    stats, mastery, weak areas and attempt history (with confirm).\r\n\r\nAll progress persists in localStorage (per quizId).\r\n============================================================\r\n-->\r\n\r\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1, viewport-fit=cover\">\r\n<link rel=\"preconnect\" href=\"https:\/\/fonts.googleapis.com\">\r\n<link rel=\"preconnect\" href=\"https:\/\/fonts.gstatic.com\" crossorigin>\r\n<link href=\"https:\/\/fonts.googleapis.com\/css2?family=Crimson+Pro:wght@500;600;700&family=DM+Sans:wght@400;500;600;700&display=swap\" rel=\"stylesheet\">\r\n\r\n<style>\r\n\/* =====================================================\r\n   CSS ADDA \u2014 INTEGRATED PORTAL DESIGN SYSTEM\r\n   NOTE ON FONT STABILITY: all font sizes are in px (not\r\n   rem) so the widget looks identical on every WordPress\r\n   page\/theme, regardless of the site's root font size.\r\n   Key exam-paper typography carries !important to defeat\r\n   theme overrides. The Google Fonts stylesheet link above\r\n   is REQUIRED \u2014 without it Crimson Pro \/ DM Sans never\r\n   load and the MCQ style changes page to page.\r\n===================================================== *\/\r\n.cwq-portal{\r\n  --navy:#2563EB; --navy-d:#1D4ED8; --navy-l:#3B82F6; --navy-ink:#12275c;\r\n  --gold:#c9992a; --gold-l:#e6c14e; --gold-d:#a37b1c;\r\n  --green:#10B981; --green-d:#059669; --green-bg:#ecfdf5;\r\n  --red:#EF4444; --red-d:#dc2626; --red-bg:#fef2f2;\r\n  --amber:#f59e0b; --amber-d:#d97706;\r\n  --bg:#F6F8FC; --card:#FFFFFF;\r\n  --ink:#1E293B; --mut:#5b6472; --faint:#94A3B8; --line:#E2E8F0;\r\n  --sh-sm:0 1px 2px rgba(16,41,66,.06);\r\n  --sh-md:0 4px 10px -2px rgba(16,41,66,.10);\r\n  --sh-lg:0 12px 26px -8px rgba(16,41,66,.16);\r\n  --r-sm:8px; --r-md:12px; --r-lg:16px;\r\n  --serif:'Crimson Pro',Georgia,'Times New Roman',serif;\r\n  --sans:'DM Sans',-apple-system,BlinkMacSystemFont,sans-serif;\r\n  font-family:var(--sans) !important;\r\n  font-size:16px;\r\n  color:var(--ink); line-height:1.55;\r\n  background:linear-gradient(160deg,#EFF4FF 0%,#F6F8FC 45%,#FDF9EE 100%);\r\n  border-radius:var(--r-lg); overflow:hidden; box-shadow:var(--sh-lg);\r\n  -webkit-user-select:none; user-select:none;\r\n}\r\n.cwq-portal *{margin:0;padding:0;box-sizing:border-box;min-width:0}\r\n\/* Font-stability shield: inherit our stack everywhere unless a rule below overrides *\/\r\n.cwq-portal *:not(i):not(.ic){font-family:inherit}\r\n.cwq-portal img,.cwq-portal svg,.cwq-portal table{max-width:100%}\r\n.cwq-portal table{max-width:none}\r\n@media print{.cwq-portal{display:none!important}}\r\n\r\n.ic{font-style:normal;display:inline-block;line-height:1}\r\n\/* ---------- HEADER ---------- *\/\r\n.gp-header{background:linear-gradient(135deg,#173db3 0%,var(--navy) 62%,#3b6cf0 100%);border-bottom:4px solid var(--gold);padding:26px 28px 0}\r\n.gp-head-top{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:18px}\r\n.gp-brand .eyebrow{font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--gold-l);font-weight:700;margin-bottom:6px}\r\n.gp-brand h1{font-family:var(--serif) !important;font-weight:600;font-size:clamp(20px,3.5vw,28px);line-height:1.15;color:#fff;letter-spacing:-.01em}\r\n.gp-brand p{font-size:13.6px;color:#cfe0ff;margin-top:5px}\r\n.gp-stats{display:flex;gap:10px;flex-wrap:wrap}\r\n.gp-stat{background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.16);border-radius:var(--r-md);padding:9px 16px;min-width:96px;text-align:center}\r\n.gp-stat .n{font-family:var(--serif);font-size:23px;font-weight:600;color:var(--gold-l);line-height:1.1}\r\n.gp-stat .l{font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:#bfdbfe;margin-top:2px}\r\n.gp-stat.clickable{cursor:pointer;transition:transform .25s}\r\n.gp-stat.clickable:hover{transform:translateY(-2px);background:rgba(255,255,255,.16)}\r\n\r\n\/* Tab navigation *\/\r\n.gp-tabs{display:flex;gap:6px;margin-top:22px;flex-wrap:wrap}\r\n.gp-tab{padding:11px 22px;border:none;border-radius:var(--r-md) var(--r-md) 0 0;background:rgba(255,255,255,.10);color:#dbeafe;font-family:var(--sans);font-size:13.6px;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:8px;transition:all .25s}\r\n.gp-tab i{color:var(--gold-l);font-size:12.8px}\r\n.gp-tab:hover{background:rgba(255,255,255,.2);color:#fff}\r\n.gp-tab.active{background:var(--bg);color:var(--navy-d)}\r\n.gp-tab.active i{color:var(--gold)}\r\n.gp-tab .pill{background:var(--red);color:#fff;font-size:10.4px;font-weight:700;padding:1px 7px;border-radius:20px}\r\n\r\n.gp-view{display:none;animation:gpFade .35s ease}\r\n.gp-view.active{display:block}\r\n@keyframes gpFade{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}\r\n\r\n\/* ---------- SHARED CARDS ---------- *\/\r\n.quiz-card,.an-card{background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--sh-sm);overflow:hidden;display:flex;flex-direction:column}\r\n.quiz-card-header{background:linear-gradient(135deg,var(--navy) 0%,var(--navy-d) 100%);padding:13px 16px;color:#fff}\r\n.quiz-card-header h3{font-size:13.4px;font-weight:700;display:flex;align-items:center;gap:8px;color:#fff}\r\n.quiz-card-header h3 i{color:var(--gold-l)}\r\n.quiz-card-header.light{background:linear-gradient(135deg,#F1F5FB 0%,#E4ECFB 100%);border-bottom:1px solid var(--line)}\r\n.quiz-card-header.light h3{color:var(--navy-d)}\r\n.quiz-card-header.light h3 i{color:var(--gold)}\r\n.quiz-card-body{padding:16px;flex:1;display:flex;flex-direction:column}\r\n\r\n.sec-head{display:flex;align-items:baseline;gap:12px;margin:34px 0 16px;border-bottom:1px solid var(--line);padding-bottom:10px}\r\n.sec-head .num{font-family:var(--serif);color:var(--gold);font-size:16.8px;font-weight:600}\r\n.sec-head h2{font-size:18.4px;font-weight:700;letter-spacing:-.01em;color:var(--navy-ink)}\r\n.sec-head .hint{margin-left:auto;color:var(--mut);font-size:12.8px;font-style:italic;font-family:var(--serif)}\r\n\r\n\/* ---------- MODE SELECTOR ---------- *\/\r\n.mode-selector{background:var(--card);padding:13px 20px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px}\r\n.mode-tabs{display:flex;gap:8px;flex-wrap:wrap}\r\n.mode-tab{padding:9px 16px;min-height:40px;border:2px solid var(--line);border-radius:var(--r-md);background:#F8FAFC;font-size:12.8px;font-weight:600;color:var(--mut);cursor:pointer;transition:all .3s;display:flex;align-items:center;gap:6px;font-family:var(--sans)}\r\n.mode-tab:hover{border-color:var(--navy-l);color:var(--navy)}\r\n.mode-tab.active{background:linear-gradient(135deg,var(--navy) 0%,var(--navy-d) 100%);border-color:var(--navy);color:#fff}\r\n.mode-tab.weak-mode{border-color:#f3c1c1}\r\n.mode-tab.weak-mode.active{background:linear-gradient(135deg,var(--red) 0%,var(--red-d) 100%);border-color:var(--red)}\r\n.mode-tab .badge{background:rgba(255,255,255,.3);padding:2px 8px;border-radius:20px;font-size:11.2px}\r\n.mode-tab:not(.active) .badge{background:var(--navy);color:#fff}\r\n.mode-tab.weak-mode:not(.active) .badge{background:var(--red)}\r\n.session-info{display:flex;align-items:center;gap:12px;font-size:12.8px;color:var(--mut)}\r\n.session-info i{color:var(--gold)}\r\n.resume-btn{padding:7px 14px;background:linear-gradient(135deg,var(--gold) 0%,var(--gold-d) 100%);border:none;border-radius:var(--r-md);color:#fff;font-size:12.2px;font-weight:700;cursor:pointer;display:flex;align-items:center;gap:5px;transition:all .3s;font-family:var(--sans)}\r\n.resume-btn:hover{transform:translateY(-2px);box-shadow:var(--sh-md)}\r\n\r\n\/* ---------- QUIZ GRID LAYOUT (filter bar | question | dashboard) ---------- *\/\r\n.quiz-container{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:18px;padding:0 18px 18px;align-items:start}\r\n\/* Full-width horizontal FILTER BAR shown before the MCQ content *\/\r\n.filter-bar{display:block;padding:14px 18px 0}\r\n.filter-bar .quiz-card{margin-bottom:12px}\r\n.filter-bar-row{display:grid;grid-template-columns:1fr;gap:12px}\r\n.filter-list{display:flex;flex-direction:row;flex-wrap:wrap;gap:7px;padding:2px 0;max-height:none;overflow:visible}\r\n.filter-item{padding:7px 12px;border-radius:20px;cursor:pointer;display:inline-flex;align-items:center;gap:8px;transition:all .25s;border:1.5px solid var(--line);background:#F8FAFC;font-size:12.8px;flex:0 0 auto}\r\n.filter-item:hover{background:#EFF6FF;border-color:var(--navy-l)}\r\n.filter-item.active{background:linear-gradient(135deg,var(--navy) 0%,var(--navy-d) 100%);color:#fff}\r\n.filter-item .filter-text{font-weight:600;display:flex;align-items:center;gap:6px;font-size:12.6px}\r\n.filter-item .filter-count{background:rgba(255,255,255,.2);padding:2px 8px;border-radius:20px;font-size:11.2px;font-weight:600}\r\n.filter-item:not(.active) .filter-count{background:var(--navy);color:#fff}\r\n\r\n.weak-areas-card .quiz-card-header{background:linear-gradient(135deg,var(--red) 0%,var(--red-d) 100%)}\r\n.weak-question-list{flex:1;overflow-y:auto;margin-bottom:10px;max-height:180px}\r\n.weak-question-item{background:#F8FAFC;padding:10px 12px;border-radius:var(--r-sm);margin-bottom:8px;font-size:12.5px;display:flex;align-items:center;gap:10px;cursor:pointer;transition:all .3s;border-left:3px solid var(--red)}\r\n.weak-question-item:hover{background:var(--red-bg);transform:translateX(3px)}\r\n.weak-question-item .q-num{font-weight:700;color:var(--red);flex-shrink:0}\r\n.weak-question-item .q-text{flex:1;color:var(--mut);font-size:11.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}\r\n.weak-question-item .wrong-count{background:var(--red);color:#fff;padding:2px 6px;border-radius:20px;font-size:10.4px;font-weight:600}\r\n.practice-weak-btn{width:100%;padding:10px;background:linear-gradient(135deg,var(--red) 0%,var(--red-d) 100%);border:none;border-radius:var(--r-md);color:#fff;font-size:12.8px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:6px;margin-top:10px;transition:all .3s;font-family:var(--sans)}\r\n.practice-weak-btn:hover{transform:translateY(-2px);box-shadow:var(--sh-md)}\r\n\r\n\/* ---------- QUESTION PANEL ---------- *\/\r\n.question-panel{background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--sh-sm);overflow:hidden;align-self:start}\r\n.question-header{background:linear-gradient(135deg,#F1F5FB 0%,#E4ECFB 100%);padding:13px 20px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);flex-wrap:wrap;gap:10px}\r\n.question-number{font-family:var(--serif);font-size:16.3px;font-weight:600;color:var(--navy-d)}\r\n.question-meta{display:flex;gap:8px;align-items:center;flex-wrap:wrap}\r\n.meta-badge{padding:5px 10px;border-radius:20px;font-size:11.7px;font-weight:600;display:flex;align-items:center;gap:4px}\r\n\/* WRAP FIX: long chapter names wrap in the badge instead of one huge pill *\/\r\n.meta-badge.chapter{background:linear-gradient(135deg,var(--gold) 0%,var(--gold-d) 100%);color:#fff;white-space:normal;max-width:100%;line-height:1.3;text-align:left}\r\n.meta-badge.weak{background:linear-gradient(135deg,var(--red) 0%,var(--red-d) 100%);color:#fff}\r\n.meta-badge i{font-size:10.1px}\r\n.question-body{padding:22px}\r\n\/* ---- EXAM-PAPER TYPOGRAPHY (UPSC QP style) ----\r\n   font-family + font-size are !important so the WordPress theme can\r\n   never change how the MCQs look from page to page. *\/\r\n.question-text{font-family:var(--serif) !important;font-size:18.5px !important;line-height:1.7;color:#161b26;padding:20px 22px;background:#fffef9;border:1px solid #e9e3d2;border-left:4px solid var(--gold);border-radius:var(--r-md);margin-bottom:18px;box-shadow:inset 0 1px 0 #fff;text-align:justify;text-justify:inter-word;hyphens:auto;-webkit-hyphens:auto}\r\n.question-text b{font-weight:700}\r\n.question-text .q-stem{display:block}\r\n.q-stmt{display:grid;grid-template-columns:30px 1fr;gap:4px;margin:12px 0 0 14px;line-height:1.65}\r\n.q-stmt .sn{font-weight:600;text-align:left}\r\n.q-lead{display:block;margin-top:16px}\r\n.options-list{display:flex;flex-direction:column;gap:9px}\r\n.option-item{font-family:var(--serif) !important;padding:12px 16px;border:1.5px solid var(--line);border-radius:var(--r-md);cursor:pointer;display:flex;align-items:flex-start;gap:12px;transition:all .25s;background:#fff}\r\n.option-item:hover:not(.disabled){border-color:var(--navy-l);background:#F6F9FF;transform:translateX(4px)}\r\n.option-item.selected{border-color:var(--navy);background:#EFF5FF;box-shadow:0 0 0 1px var(--navy)}\r\n.option-item.correct{border-color:var(--green);background:#F0FDF6;box-shadow:0 0 0 1px var(--green)}\r\n.option-item.incorrect{border-color:var(--red);background:#FEF4F4;box-shadow:0 0 0 1px var(--red)}\r\n.option-item.disabled{cursor:default}\r\n.option-letter{min-width:34px;font-family:inherit;font-weight:600;font-size:17.3px !important;color:#161b26;flex-shrink:0;line-height:1.6;transition:color .25s}\r\n.option-item.selected .option-letter{color:var(--navy-d)}\r\n.option-item.correct .option-letter{color:var(--green-d)}\r\n.option-item.incorrect .option-letter{color:var(--red-d)}\r\n.option-text{font-size:17.3px !important;line-height:1.6;color:#161b26;flex:1;text-align:justify;text-justify:inter-word;hyphens:auto;-webkit-hyphens:auto}\r\n.option-icon{font-size:16px;display:none}\r\n.option-item.correct .option-icon,.option-item.incorrect .option-icon{display:block}\r\n.option-item.correct .option-icon{color:var(--green)}\r\n.option-item.incorrect .option-icon{color:var(--red)}\r\n.explanation-box{margin-top:18px;padding:16px;background:linear-gradient(135deg,#FFFBEB 0%,#FEF3C7 100%);border-radius:var(--r-md);border-left:4px solid var(--gold);display:none;animation:gpSlide .4s ease}\r\n.explanation-box.show{display:block}\r\n@keyframes gpSlide{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:none}}\r\n.explanation-title{font-size:13.4px;font-weight:700;color:var(--gold-d);margin-bottom:8px;display:flex;align-items:center;gap:6px}\r\n.explanation-text{font-family:var(--serif) !important;font-size:16.3px !important;line-height:1.68;color:#1c2330;text-align:justify;text-justify:inter-word;hyphens:auto;-webkit-hyphens:auto}\r\n.mastery-indicator{margin-top:14px;padding:10px 14px;background:#F8FAFC;border-radius:var(--r-md);display:none}\r\n.mastery-indicator.show{display:flex;align-items:center;justify-content:space-between}\r\n.mastery-label{font-size:12.5px;color:var(--mut);display:flex;align-items:center;gap:5px}\r\n.mastery-stars{display:flex;gap:2px}\r\n.mastery-stars i{color:var(--line);font-size:13.6px}\r\n.mastery-stars i.filled{color:#fbbf24}\r\n.question-nav{margin-top:20px;padding:16px 20px;background:#F8FAFC;display:flex;justify-content:space-between;align-items:center;gap:12px;border-radius:var(--r-md);border:1px solid var(--line)}\r\n.nav-btn{padding:11px 22px;min-height:44px;border:none;border-radius:var(--r-md);font-size:13.6px;font-weight:700;cursor:pointer;display:flex;align-items:center;gap:7px;transition:all .3s;font-family:var(--sans);touch-action:manipulation}\r\n.nav-btn.prev{background:#fff;color:var(--mut);border:2px solid var(--line)}\r\n.nav-btn.prev:hover:not(:disabled){border-color:var(--navy);color:var(--navy);transform:translateX(-3px)}\r\n.nav-btn.check{background:linear-gradient(135deg,var(--gold) 0%,var(--gold-d) 100%);color:#fff;flex:1;justify-content:center;max-width:220px;box-shadow:var(--sh-md)}\r\n.nav-btn.check:hover:not(:disabled){transform:translateY(-2px);box-shadow:var(--sh-lg)}\r\n.nav-btn.next{background:linear-gradient(135deg,var(--navy) 0%,var(--navy-d) 100%);color:#fff;box-shadow:var(--sh-md)}\r\n.nav-btn.next:hover:not(:disabled){transform:translateX(3px);box-shadow:var(--sh-lg)}\r\n.nav-btn:disabled{opacity:.5;cursor:not-allowed}\r\n\r\n\/* ---------- RIGHT SIDEBAR ---------- *\/\r\n.dashboard-sidebar{display:flex;flex-direction:column;gap:16px;align-self:start;min-width:0}\r\n\/* Combined Progress + Session card *\/\r\n.progress-combo{display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:center}\r\n.progress-combo .stat-col{display:flex;flex-direction:column;gap:2px}\r\n.progress-combo .stat-row{padding:5px 0}\r\n.progress-ring-container{display:flex;justify-content:center}\r\n.progress-ring{position:relative;width:100px;height:100px}\r\n.progress-ring svg{transform:rotate(-90deg)}\r\n.progress-ring-bg{fill:none;stroke:var(--line);stroke-width:8}\r\n.progress-ring-fill{fill:none;stroke:var(--green);stroke-width:8;stroke-linecap:round;transition:stroke-dashoffset .5s}\r\n.progress-ring-text{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center}\r\n.progress-ring-percentage{font-family:var(--serif);font-size:24px;font-weight:600;color:var(--ink)}\r\n.progress-ring-label{font-size:10.1px;color:var(--mut)}\r\n.progress-stats-mini{display:grid;grid-template-columns:1fr 1fr;gap:8px}\r\n.progress-stat-mini{background:#F8FAFC;padding:10px;border-radius:var(--r-sm);text-align:center}\r\n.progress-stat-mini .value{font-family:var(--serif);font-size:19.2px;font-weight:600}\r\n.progress-stat-mini .value.correct{color:var(--green)}\r\n.progress-stat-mini .value.incorrect{color:var(--red)}\r\n.progress-stat-mini .label{font-size:10.1px;color:var(--mut);margin-top:2px}\r\n.question-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;max-height:200px;overflow-y:auto;padding:2px}\r\n.grid-item{width:100%;aspect-ratio:1;border-radius:var(--r-sm);display:flex;align-items:center;justify-content:center;font-weight:600;font-size:11.7px;cursor:pointer;transition:all .3s;border:2px solid transparent;position:relative}\r\n.grid-item.unattempted{background:var(--navy);color:#fff}\r\n.grid-item.current{background:var(--gold);color:#fff;transform:scale(1.1);box-shadow:var(--sh-md);z-index:1}\r\n.grid-item.attempted{background:#f7ce6b;color:var(--ink)}\r\n.grid-item.correct-answered{background:var(--green);color:#fff}\r\n.grid-item.incorrect-answered{background:var(--red);color:#fff}\r\n.grid-item.weak-marked::after{content:'!';position:absolute;top:-3px;right:-3px;width:12px;height:12px;background:var(--red);border-radius:50%;font-size:8.8px;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700}\r\n.grid-item:hover:not(.current){transform:scale(1.05)}\r\n.legend{padding-top:12px;border-top:1px solid var(--line);margin-top:4px}\r\n.legend-title{font-weight:700;font-size:11.7px;color:var(--ink);margin-bottom:8px}\r\n.legend-items{display:flex;flex-wrap:wrap;gap:10px}\r\n.legend-item{display:flex;align-items:center;gap:5px;font-size:10.9px;color:var(--mut)}\r\n.legend-color{width:14px;height:14px;border-radius:3px}\r\n.legend-color.unattempted{background:var(--navy)}\r\n.legend-color.attempted{background:#f7ce6b}\r\n.legend-color.correct{background:var(--green)}\r\n.legend-color.incorrect{background:var(--red)}\r\n.stat-row{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px dashed var(--line)}\r\n.stat-row:last-child{border-bottom:none}\r\n.stat-label{color:var(--mut);font-size:13.1px}\r\n.stat-value{font-weight:700;font-size:15.2px;color:var(--ink)}\r\n.stat-value.correct{color:var(--green)}\r\n.stat-value.incorrect{color:var(--red)}\r\n.action-buttons{display:flex;flex-direction:column;gap:10px}\r\n.action-btn{width:100%;padding:12px;min-height:46px;border:none;border-radius:var(--r-md);font-size:13.6px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:7px;transition:all .3s;font-family:var(--sans)}\r\n.action-btn.submit{background:linear-gradient(135deg,var(--green) 0%,var(--green-d) 100%);color:#fff;box-shadow:var(--sh-md)}\r\n.action-btn.submit:hover{transform:translateY(-2px);box-shadow:var(--sh-lg)}\r\n.action-btn.reset{background:#F8FAFC;color:var(--mut);border:2px solid var(--line)}\r\n.action-btn.reset:hover{border-color:var(--red);color:var(--red)}\r\n.reset-note{font-size:11.5px;color:var(--faint);text-align:center;margin-top:6px;line-height:1.45}\r\n\r\n\/* ---------- TOAST & MODAL ---------- *\/\r\n.warning-toast{position:fixed;bottom:30px;left:50%;transform:translateX(-50%);background:var(--red);color:#fff;padding:12px 24px;border-radius:var(--r-md);font-weight:600;box-shadow:var(--sh-lg);z-index:10000;display:none;animation:gpUp .3s ease;font-size:14.1px}\r\n.warning-toast.show{display:flex;align-items:center;gap:8px}\r\n.warning-toast.success{background:var(--green)}\r\n@keyframes gpUp{from{opacity:0;transform:translateX(-50%) translateY(20px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}\r\n.result-modal{position:fixed;inset:0;background:rgba(9,20,45,.72);display:none;justify-content:center;align-items:center;z-index:10000;padding:20px}\r\n.result-modal.show{display:flex}\r\n.result-content{background:#fff;padding:32px;border-radius:var(--r-lg);text-align:center;max-width:440px;width:100%;box-shadow:var(--sh-lg);animation:gpModal .3s ease;max-height:90vh;overflow-y:auto}\r\n@keyframes gpModal{from{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}\r\n.result-icon{font-size:50px;margin-bottom:16px}\r\n.result-title{font-family:var(--serif);font-size:24px;font-weight:600;color:var(--ink);margin-bottom:8px}\r\n.result-message{color:var(--mut);margin-bottom:20px;font-size:14.4px}\r\n.result-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:20px}\r\n.result-stat{background:#F8FAFC;padding:12px;border-radius:var(--r-md)}\r\n.result-stat-value{font-family:var(--serif);font-size:22.4px;font-weight:600;color:var(--navy)}\r\n.result-stat-label{font-size:11.5px;color:var(--mut)}\r\n.result-buttons{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}\r\n.result-btn{padding:10px 20px;border:none;border-radius:var(--r-md);font-weight:700;cursor:pointer;transition:all .3s;display:flex;align-items:center;gap:6px;font-size:13.1px;font-family:var(--sans)}\r\n.result-btn.primary{background:linear-gradient(135deg,var(--navy) 0%,var(--navy-d) 100%);color:#fff}\r\n.result-btn.secondary{background:#F8FAFC;color:var(--mut)}\r\n.result-btn.weak{background:linear-gradient(135deg,var(--red) 0%,var(--red-d) 100%);color:#fff}\r\n.result-btn:hover{transform:translateY(-2px)}\r\n\r\n\/* =====================================================\r\n   TAB 2 \u2014 MY PERFORMANCE (AI COACH)\r\n===================================================== *\/\r\n.ai-wrap{padding:6px 28px 40px;max-width:1080px;margin:0 auto}\r\n.an-card{padding:22px 22px}\r\n.bar-row{display:grid;grid-template-columns:34px minmax(190px,1.5fr) 2.3fr auto;align-items:center;gap:12px;padding:6px 0}\r\n.bar-row+.bar-row{border-top:1px dashed #eef1f6}\r\n.bar-rank{font-family:var(--serif);color:var(--mut);font-size:14.4px;text-align:right}\r\n\/* WRAP FIX: long chapter names wrap onto multiple lines instead of overflowing *\/\r\n.bar-name{font-size:13.8px;font-weight:500;line-height:1.35;overflow-wrap:break-word;word-break:break-word}\r\n.bar-track{background:#eef1f6;border-radius:8px;height:20px;overflow:hidden}\r\n.bar-fill{height:100%;border-radius:8px;transition:width .8s ease}\r\n.bar-val{font-weight:700;font-size:14.7px;min-width:64px;text-align:right}\r\n.tbl-scroll{overflow-x:auto;border:1px solid var(--line);border-radius:14px;background:#fff}\r\n.ai-hero{display:grid;grid-template-columns:280px 1fr;gap:18px;align-items:stretch}\r\n.ai-ring-card{background:linear-gradient(150deg,var(--navy-ink) 0%,var(--navy-d) 70%,#2f5fe0 100%);border-radius:var(--r-lg);padding:26px 20px;color:#fff;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:var(--sh-md)}\r\n.ai-ring{position:relative;width:150px;height:150px}\r\n.ai-ring svg{transform:rotate(-90deg)}\r\n.ai-ring .bg{fill:none;stroke:rgba(255,255,255,.14);stroke-width:11}\r\n.ai-ring .fg{fill:none;stroke:var(--gold-l);stroke-width:11;stroke-linecap:round;transition:stroke-dashoffset 1s ease}\r\n.ai-ring-txt{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center}\r\n.ai-ring-txt .n{font-family:var(--serif);font-size:40px;font-weight:600;color:var(--gold-l);line-height:1}\r\n.ai-ring-txt .l{font-size:9.9px;letter-spacing:.12em;text-transform:uppercase;color:#bfdbfe;margin-top:4px}\r\n.ai-verdict{margin-top:14px;font-size:13.8px;color:#dbeafe;line-height:1.5}\r\n.ai-verdict b{color:#fff}\r\n.ai-coach-card{background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);padding:22px;box-shadow:var(--sh-sm)}\r\n.ai-coach-card h3{font-size:15.2px;color:var(--navy-ink);display:flex;align-items:center;gap:8px;margin-bottom:12px}\r\n.ai-coach-card h3 i{color:var(--gold)}\r\n.ai-reco{display:flex;gap:12px;padding:11px 0;border-bottom:1px dashed var(--line);align-items:flex-start}\r\n.ai-reco:last-child{border-bottom:none}\r\n.ai-reco .ic{width:30px;height:30px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:12.8px;flex-shrink:0;margin-top:2px}\r\n.ai-reco .ic.hot{background:var(--red-bg);color:var(--red-d)}\r\n.ai-reco .ic.warm{background:#fef7e6;color:var(--amber-d)}\r\n.ai-reco .ic.cool{background:#eff6ff;color:var(--navy)}\r\n.ai-reco .ic.good{background:var(--green-bg);color:var(--green-d)}\r\n.ai-reco p{font-size:13.9px;color:#37414f}\r\n.ai-reco p b{color:var(--navy-ink)}\r\n.ai-reco .go{margin-left:auto;flex-shrink:0;background:#EFF6FF;color:var(--navy-d);border:1px solid #d4e2fb;border-radius:8px;padding:6px 12px;font-size:11.5px;font-weight:700;cursor:pointer;transition:all .25s;font-family:var(--sans);white-space:nowrap}\r\n.ai-reco .go:hover{background:var(--navy);color:#fff}\r\n\r\n.ai-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-top:18px}\r\n.ai-kpi{background:var(--card);border:1px solid var(--line);border-radius:var(--r-md);padding:14px 16px;box-shadow:var(--sh-sm)}\r\n.ai-kpi .n{font-family:var(--serif);font-size:25.6px;font-weight:600;color:var(--navy-d)}\r\n.ai-kpi .n.g{color:var(--green-d)} .ai-kpi .n.r{color:var(--red-d)} .ai-kpi .n.a{color:var(--amber-d)}\r\n.ai-kpi .l{font-size:10.9px;letter-spacing:.05em;text-transform:uppercase;color:var(--mut);margin-top:2px}\r\n\r\ntable.perf{border-collapse:collapse;width:100%;font-size:13.1px;min-width:760px}\r\ntable.perf th,table.perf td{padding:10px 10px;border-bottom:1px solid #eef1f6;text-align:center}\r\ntable.perf thead th{background:var(--navy);color:#fff;font-weight:600;font-size:11.5px}\r\ntable.perf th:first-child,table.perf td:first-child{text-align:left;padding-left:14px}\r\n\/* WRAP FIX: chapter column wraps; bounded so metric columns stay visible *\/\r\ntable.perf td:first-child{font-weight:500;background:#fbfcfe;white-space:normal;overflow-wrap:break-word;word-break:break-word;min-width:150px;max-width:260px;line-height:1.4}\r\n.mini-track{background:#eef1f6;border-radius:6px;height:9px;overflow:hidden;min-width:80px}\r\n.mini-fill{height:100%;border-radius:6px}\r\n.tag{display:inline-block;font-size:10.6px;font-weight:700;padding:3px 9px;border-radius:20px;text-transform:uppercase;letter-spacing:.03em}\r\n.tag.hot{background:var(--red-bg);color:var(--red-d)}\r\n.tag.warm{background:#fef7e6;color:var(--amber-d)}\r\n.tag.ok{background:#eff6ff;color:var(--navy-d)}\r\n.tag.good{background:var(--green-bg);color:var(--green-d)}\r\n.tag.na{background:#f1f5f9;color:var(--faint)}\r\n.mini-go{background:none;border:1px solid var(--line);border-radius:8px;padding:5px 10px;font-size:11.2px;font-weight:700;color:var(--navy-d);cursor:pointer;transition:all .25s;font-family:var(--sans)}\r\n.mini-go:hover{background:var(--navy);color:#fff;border-color:var(--navy)}\r\n\r\n.rev-item{display:flex;align-items:center;gap:10px;background:#F8FAFC;border-left:3px solid var(--amber);border-radius:var(--r-sm);padding:10px 12px;margin-bottom:8px;font-size:12.6px;cursor:pointer;transition:all .25s}\r\n.rev-item:hover{background:#fef7e6;transform:translateX(3px)}\r\n.rev-item .q-num{font-weight:700;color:var(--amber-d);flex-shrink:0}\r\n.rev-item .q-text{flex:1;color:var(--mut);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}\r\n.rev-item .days{background:var(--amber);color:#fff;padding:2px 8px;border-radius:20px;font-size:10.2px;font-weight:700;white-space:nowrap}\r\n.ai-empty{text-align:center;padding:34px 20px;color:var(--mut)}\r\n.ai-empty i{font-size:32px;color:var(--gold);margin-bottom:12px;display:block}\r\n.ai-empty .big{font-family:var(--serif);font-size:19.2px;color:var(--navy-ink);margin-bottom:6px}\r\n.ai-empty p{font-size:13.9px;max-width:52ch;margin:0 auto}\r\n.ai-two{display:grid;grid-template-columns:1fr 1fr;gap:18px}\r\n.perf-reset-wrap{margin-top:34px;padding:18px;border:1px dashed #f3c1c1;border-radius:var(--r-lg);background:#fffafa;display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}\r\n.perf-reset-wrap p{font-size:13.1px;color:var(--mut);flex:1;min-width:220px}\r\n.perf-reset-wrap p b{color:var(--red-d)}\r\n.perf-reset-btn{padding:11px 20px;background:#fff;border:2px solid #f3c1c1;border-radius:var(--r-md);color:var(--red-d);font-size:13.1px;font-weight:700;cursor:pointer;transition:all .25s;font-family:var(--sans);display:flex;align-items:center;gap:7px;white-space:nowrap}\r\n.perf-reset-btn:hover{background:var(--red);border-color:var(--red);color:#fff}\r\n\r\n\/* ---------- RESPONSIVE ---------- *\/\r\n@media(max-width:1024px){.quiz-container{grid-template-columns:minmax(0,1fr) 270px;gap:14px}}\r\n@media(max-width:900px){\r\n  \/* MOBILE: question first, everything else stacks below *\/\r\n  .quiz-container{grid-template-columns:1fr;padding:0 12px 12px;gap:14px}\r\n  .filter-bar{padding:12px 12px 0}\r\n  .filter-list{flex-wrap:nowrap;overflow-x:auto;padding-bottom:6px;-webkit-overflow-scrolling:touch}\r\n  .question-panel{order:1}\r\n  .dashboard-sidebar{order:2}\r\n  .gp-head-top{flex-direction:column;gap:12px}\r\n  .gp-stats{width:100%;flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px;-webkit-overflow-scrolling:touch}\r\n  .gp-stat{min-width:84px;padding:7px 12px;flex:0 0 auto}\r\n  .gp-stat .n{font-size:19.2px}\r\n  .gp-tabs{overflow-x:auto;flex-wrap:nowrap;-webkit-overflow-scrolling:touch}\r\n  .gp-tab{flex:0 0 auto;white-space:nowrap}\r\n  .mode-selector{flex-direction:column;align-items:stretch;padding:10px 12px}\r\n  .mode-tabs{overflow-x:auto;flex-wrap:nowrap;padding-bottom:4px;-webkit-overflow-scrolling:touch}\r\n  .mode-tab{flex:0 0 auto;white-space:nowrap}\r\n  .session-info{justify-content:center}\r\n  \/* navigator becomes a horizontal strip *\/\r\n  .question-grid{display:flex;flex-wrap:nowrap;overflow-x:auto;max-height:none;padding-bottom:6px;gap:7px;-webkit-overflow-scrolling:touch}\r\n  .grid-item{flex:0 0 40px;height:40px;aspect-ratio:auto}\r\n  .weak-question-list{max-height:150px}\r\n  .ai-hero{grid-template-columns:1fr}\r\n  .ai-two{grid-template-columns:1fr}\r\n}\r\n@media(max-width:600px){\r\n  .gp-header{padding:18px 14px 0}\r\n  .gp-brand h1{font-size:20.5px}\r\n  .gp-brand p{font-size:12.5px}\r\n  .gp-tabs{overflow-x:auto;flex-wrap:nowrap;-webkit-overflow-scrolling:touch}\r\n  .gp-tab{padding:9px 13px;font-size:12px;flex:0 0 auto;white-space:nowrap}\r\n  .ai-wrap{padding:6px 12px 30px}\r\n  .question-header{padding:11px 14px}\r\n  .question-number{font-size:15px}\r\n  .question-body{padding:14px}\r\n  .question-text{font-size:17px !important;padding:15px 16px;line-height:1.68}\r\n  .q-stmt{margin-left:6px;grid-template-columns:26px 1fr}\r\n  .option-item{padding:11px 12px;gap:9px}\r\n  .option-letter{min-width:30px;font-size:16.3px !important}\r\n  .option-text{font-size:16.3px !important}\r\n  .option-item:hover:not(.disabled){transform:none}\r\n  .question-nav{flex-wrap:wrap;padding:12px;gap:9px}\r\n  .nav-btn{padding:11px 16px;font-size:12.8px;flex:1;justify-content:center}\r\n  .nav-btn.check{order:-1;width:100%;max-width:none;flex-basis:100%}\r\n  .progress-combo{grid-template-columns:auto 1fr;gap:10px}\r\n  .result-stats{grid-template-columns:repeat(3,1fr);gap:7px}\r\n  .result-content{padding:22px}\r\n  .result-buttons{flex-direction:column}\r\n  .bar-row{grid-template-columns:28px 1fr;row-gap:4px}\r\n  .bar-track{grid-column:1\/-1}\r\n  .bar-name,.bar-val{grid-column:2;text-align:left}\r\n  .sec-head{flex-wrap:wrap;gap:6px}\r\n  .sec-head .hint{margin-left:0;flex-basis:100%}\r\n  .sec-head h2{font-size:16px}\r\n  .ai-ring{transform:scale(.85);margin:-8px}\r\n  .ai-ring-txt .n{font-size:33.6px}\r\n  .ai-kpis{grid-template-columns:repeat(2,1fr)}\r\n  .ai-kpi .n{font-size:20.8px}\r\n  .ai-reco{flex-wrap:wrap}\r\n  .ai-reco .go{margin-left:42px}\r\n  .warning-toast{width:calc(100% - 32px);justify-content:center;font-size:12.8px}\r\n  .gp-stat{min-width:76px}\r\n  .perf-reset-wrap{flex-direction:column;align-items:stretch}\r\n  .perf-reset-btn{justify-content:center}\r\n}\r\n\/* very small phones *\/\r\n@media(max-width:380px){\r\n  .gp-header{padding:14px 10px 0}\r\n  .gp-tab{padding:8px 10px;font-size:11.2px}\r\n  .mode-tab{padding:8px 11px;font-size:11.7px}\r\n  .question-text{font-size:16px !important;padding:12px}\r\n  .option-text,.option-letter{font-size:15.5px !important}\r\n  .ai-wrap{padding:6px 8px 24px}\r\n  .quiz-container{padding:0 8px 8px}\r\n  .filter-bar{padding:10px 8px 0}\r\n}\r\n<\/style>\r\n\r\n<div class=\"cwq-portal\" id=\"quizWrapper\">\r\n    <!-- Warning Toast -->\r\n    <div class=\"warning-toast\" id=\"warningToast\">\r\n        <span class=\"ic\">\u26a0\ufe0f<\/span>\r\n        <span id=\"toastMessage\">Message<\/span>\r\n    <\/div>\r\n\r\n    <!-- Result Modal -->\r\n    <div class=\"result-modal\" id=\"resultModal\">\r\n        <div class=\"result-content\">\r\n            <div class=\"result-icon\" id=\"resultIcon\">\ud83c\udf89<\/div>\r\n            <h2 class=\"result-title\" id=\"resultTitle\">Great Job!<\/h2>\r\n            <p class=\"result-message\" id=\"resultMessage\">You have completed the quiz.<\/p>\r\n            <div class=\"result-stats\">\r\n                <div class=\"result-stat\">\r\n                    <div class=\"result-stat-value\" id=\"resultCorrect\">0<\/div>\r\n                    <div class=\"result-stat-label\">Correct<\/div>\r\n                <\/div>\r\n                <div class=\"result-stat\">\r\n                    <div class=\"result-stat-value\" id=\"resultIncorrect\">0<\/div>\r\n                    <div class=\"result-stat-label\">Incorrect<\/div>\r\n                <\/div>\r\n                <div class=\"result-stat\">\r\n                    <div class=\"result-stat-value\" id=\"resultScore\">0%<\/div>\r\n                    <div class=\"result-stat-label\">Score<\/div>\r\n                <\/div>\r\n            <\/div>\r\n            <div class=\"result-buttons\">\r\n                <button class=\"result-btn secondary\" id=\"reviewBtn\"><span class=\"ic\">\ud83d\udc41<\/span> Review<\/button>\r\n                <button class=\"result-btn weak\" id=\"practiceWeakBtn\" style=\"display:none;\"><span class=\"ic\">\u26a0\ufe0f<\/span> Practice Weak<\/button>\r\n                <button class=\"result-btn primary\" id=\"retryBtn\"><span class=\"ic\">\u21bb<\/span> Try Again<\/button>\r\n            <\/div>\r\n        <\/div>\r\n    <\/div>\r\n\r\n    <!-- ================= HEADER ================= -->\r\n    <header class=\"gp-header\">\r\n        <div class=\"gp-head-top\">\r\n            <div class=\"gp-brand\">\r\n                <div class=\"eyebrow\" id=\"topicEyebrow\">CSS ADDA \u00b7 PromotionExams.com<\/div>\r\n                <h1 id=\"topicName\">Generic Internal Audit Manual<\/h1>\r\n                <p>Chapter-wise MCQs \u00b7 Smart Practice, Weak-Area Drills &amp; AI Coach<\/p>\r\n            <\/div>\r\n            <div class=\"gp-stats\">\r\n                <div class=\"gp-stat\"><div class=\"n\" id=\"hdrTotalQ\">0<\/div><div class=\"l\">MCQs<\/div><\/div>\r\n                <div class=\"gp-stat\"><div class=\"n\" id=\"hdrChapters\">0<\/div><div class=\"l\">Chapters<\/div><\/div>\r\n                <div class=\"gp-stat\"><div class=\"n\" id=\"hdrMastered\">0%<\/div><div class=\"l\">Mastered<\/div><\/div>\r\n                <div class=\"gp-stat clickable\" id=\"weakBadgeHeader\" style=\"display:none;\"><div class=\"n\" id=\"weakCountHeader\">0<\/div><div class=\"l\">Weak Areas<\/div><\/div>\r\n                <div class=\"gp-stat\"><div class=\"n\" id=\"hdrReadiness\">\u2014<\/div><div class=\"l\">Readiness<\/div><\/div>\r\n            <\/div>\r\n        <\/div>\r\n        <nav class=\"gp-tabs\">\r\n            <button class=\"gp-tab active\" data-view=\"practice\"><span class=\"ic\">\u270d\ufe0f<\/span> Practice Quiz<\/button>\r\n            <button class=\"gp-tab\" data-view=\"performance\"><span class=\"ic\">\ud83e\udde0<\/span> My Performance <span class=\"pill\" id=\"perfPill\" style=\"display:none;\">!<\/span><\/button>\r\n        <\/nav>\r\n    <\/header>\r\n\r\n    <!-- ================= VIEW 1 : PRACTICE QUIZ ================= -->\r\n    <div class=\"gp-view active\" id=\"view-practice\">\r\n\r\n    <!-- Mode Selector -->\r\n    <div class=\"mode-selector\">\r\n        <div class=\"mode-tabs\">\r\n            <button class=\"mode-tab active\" data-mode=\"all\" id=\"modeAll\">\r\n                <span class=\"ic\">\ud83d\udccb<\/span> All Questions <span class=\"badge\" id=\"allCount\">0<\/span>\r\n            <\/button>\r\n            <button class=\"mode-tab\" data-mode=\"chapter\" id=\"modeChapter\">\r\n                <span class=\"ic\">\ud83d\udcda<\/span> By Chapter\r\n            <\/button>\r\n            <button class=\"mode-tab weak-mode\" data-mode=\"weak\" id=\"modeWeak\">\r\n                <span class=\"ic\">\u26a0\ufe0f<\/span> Weak Areas <span class=\"badge\" id=\"weakModeCount\">0<\/span>\r\n            <\/button>\r\n        <\/div>\r\n        <div class=\"session-info\" id=\"sessionInfo\" style=\"display:none;\">\r\n            <span class=\"ic\">\ud83d\udd58<\/span>\r\n            <span id=\"sessionText\">Last session: Q5<\/span>\r\n            <button class=\"resume-btn\" id=\"resumeBtn\"><span class=\"ic\">\u25b6<\/span> Resume<\/button>\r\n        <\/div>\r\n    <\/div>\r\n\r\n    <!-- FILTER BAR (before the MCQ content) -->\r\n    <div class=\"filter-bar\">\r\n        <div class=\"filter-bar-row\">\r\n            <div class=\"quiz-card\" id=\"chapterFilterCard\">\r\n                <div class=\"quiz-card-header light\"><h3><span class=\"ic\">\ud83d\udcda<\/span> Filter by Chapter<\/h3><\/div>\r\n                <div class=\"quiz-card-body\" style=\"padding:10px 14px\"><div class=\"filter-list\" id=\"chapterList\"><\/div><\/div>\r\n            <\/div>\r\n            <div class=\"quiz-card weak-areas-card\" id=\"weakAreasCard\" style=\"display:none;\">\r\n                <div class=\"quiz-card-header\"><h3><span class=\"ic\">\u26a0\ufe0f<\/span> Weak Areas<\/h3><\/div>\r\n                <div class=\"quiz-card-body\" style=\"padding:10px 14px\">\r\n                    <div class=\"weak-question-list\" id=\"weakQuestionList\"><\/div>\r\n                    <button class=\"practice-weak-btn\" id=\"practiceWeakAreasBtn\"><span class=\"ic\">\u21bb<\/span> Practice All Weak Areas<\/button>\r\n                <\/div>\r\n            <\/div>\r\n        <\/div>\r\n    <\/div>\r\n\r\n    <!-- Main Container -->\r\n    <div class=\"quiz-container\">\r\n        <!-- Question Panel (primary) -->\r\n        <main class=\"question-panel\">\r\n            <div class=\"question-header\">\r\n                <span class=\"question-number\" id=\"questionNumber\">Question 1 of 20<\/span>\r\n                <div class=\"question-meta\">\r\n                    <div class=\"meta-badge chapter\"><span class=\"ic\">\ud83d\udcd6<\/span> <span id=\"currentQuestionChapter\">\u2014<\/span><\/div>\r\n                    <div class=\"meta-badge weak\" id=\"weakBadge\" style=\"display:none;\"><span class=\"ic\">\u26a0\ufe0f<\/span> <span>Weak<\/span><\/div>\r\n                <\/div>\r\n            <\/div>\r\n            <div class=\"question-body\">\r\n                <div class=\"question-text\" id=\"questionText\">Loading question...<\/div>\r\n                <div class=\"options-list\" id=\"optionsList\"><\/div>\r\n                <div class=\"explanation-box\" id=\"explanationBox\">\r\n                    <div class=\"explanation-title\"><span class=\"ic\">\ud83d\udca1<\/span> Explanation<\/div>\r\n                    <p class=\"explanation-text\" id=\"explanationText\"><\/p>\r\n                <\/div>\r\n                <div class=\"mastery-indicator\" id=\"masteryIndicator\">\r\n                    <span class=\"mastery-label\"><span class=\"ic\">\u2b50<\/span> Mastery:<\/span>\r\n                    <div class=\"mastery-stars\" id=\"masteryStars\">\r\n                        <i>\u2605<\/i><i>\u2605<\/i><i>\u2605<\/i><i>\u2605<\/i><i>\u2605<\/i>\r\n                    <\/div>\r\n                <\/div>\r\n                <div class=\"question-nav\">\r\n                    <button class=\"nav-btn prev\" id=\"prevBtn\"><span class=\"ic\">\u2190<\/span> Previous<\/button>\r\n                    <button class=\"nav-btn check\" id=\"checkBtn\"><span class=\"ic\">\u2713<\/span> Check Answer<\/button>\r\n                    <button class=\"nav-btn next\" id=\"nextBtn\">Next <span class=\"ic\">\u2192<\/span><\/button>\r\n                <\/div>\r\n            <\/div>\r\n        <\/main>\r\n\r\n        <!-- Right Rail: navigator \u2192 progress \u2192 actions -->\r\n        <aside class=\"dashboard-sidebar\">\r\n            <div class=\"quiz-card\">\r\n                <div class=\"quiz-card-header light\"><h3><span class=\"ic\">\ud83d\uddc2\ufe0f<\/span> Question Navigator<\/h3><\/div>\r\n                <div class=\"quiz-card-body\">\r\n                    <div class=\"question-grid\" id=\"questionGrid\"><\/div>\r\n                    <div class=\"legend\">\r\n                        <div class=\"legend-items\">\r\n                            <div class=\"legend-item\"><div class=\"legend-color unattempted\"><\/div><span>New<\/span><\/div>\r\n                            <div class=\"legend-item\"><div class=\"legend-color attempted\"><\/div><span>Seen<\/span><\/div>\r\n                            <div class=\"legend-item\"><div class=\"legend-color correct\"><\/div><span>Correct<\/span><\/div>\r\n                            <div class=\"legend-item\"><div class=\"legend-color incorrect\"><\/div><span>Incorrect<\/span><\/div>\r\n                        <\/div>\r\n                    <\/div>\r\n                <\/div>\r\n            <\/div>\r\n            <div class=\"quiz-card\">\r\n                <div class=\"quiz-card-header\"><h3><span class=\"ic\">\ud83c\udfc6<\/span> Progress &amp; Session<\/h3><\/div>\r\n                <div class=\"quiz-card-body\">\r\n                    <div class=\"progress-combo\">\r\n                        <div class=\"progress-ring-container\">\r\n                            <div class=\"progress-ring\">\r\n                                <svg width=\"100\" height=\"100\">\r\n                                    <circle class=\"progress-ring-bg\" cx=\"50\" cy=\"50\" r=\"42\"><\/circle>\r\n                                    <circle class=\"progress-ring-fill\" cx=\"50\" cy=\"50\" r=\"42\" stroke-dasharray=\"264\" stroke-dashoffset=\"264\" id=\"progressRingFill\"><\/circle>\r\n                                <\/svg>\r\n                                <div class=\"progress-ring-text\">\r\n                                    <span class=\"progress-ring-percentage\" id=\"progressPercentage\">0%<\/span>\r\n                                    <span class=\"progress-ring-label\">Mastered<\/span>\r\n                                <\/div>\r\n                            <\/div>\r\n                        <\/div>\r\n                        <div class=\"stat-col\">\r\n                            <div class=\"stat-row\"><span class=\"stat-label\">Questions<\/span><span class=\"stat-value\" id=\"totalQuestions\">0<\/span><\/div>\r\n                            <div class=\"stat-row\"><span class=\"stat-label\">Attempted<\/span><span class=\"stat-value\" id=\"attemptedCount\">0<\/span><\/div>\r\n                            <div class=\"stat-row\"><span class=\"stat-label\">Correct<\/span><span class=\"stat-value correct\" id=\"correctCount\">0<\/span><\/div>\r\n                            <div class=\"stat-row\"><span class=\"stat-label\">Incorrect<\/span><span class=\"stat-value incorrect\" id=\"incorrectCount\">0<\/span><\/div>\r\n                        <\/div>\r\n                    <\/div>\r\n                    <div class=\"progress-stats-mini\" style=\"margin-top:10px\">\r\n                        <div class=\"progress-stat-mini\"><div class=\"value correct\" id=\"totalCorrectProgress\">0<\/div><div class=\"label\">Lifetime Correct<\/div><\/div>\r\n                        <div class=\"progress-stat-mini\"><div class=\"value incorrect\" id=\"totalWeakProgress\">0<\/div><div class=\"label\">Weak Areas<\/div><\/div>\r\n                    <\/div>\r\n                <\/div>\r\n            <\/div>\r\n            <div class=\"action-buttons\">\r\n                <button class=\"action-btn submit\" id=\"submitBtn\"><span class=\"ic\">\ud83d\udce4<\/span> Submit &amp; View Results<\/button>\r\n                <button class=\"action-btn reset\" id=\"resetBtn\"><span class=\"ic\">\u21ba<\/span> Reset Session<\/button>\r\n                <p class=\"reset-note\">Resets only this session's answers.<br>Lifetime performance &amp; mastery are kept.<\/p>\r\n            <\/div>\r\n        <\/aside>\r\n    <\/div>\r\n    <\/div><!-- \/view-practice -->\r\n\r\n    <!-- ================= VIEW 2 : MY PERFORMANCE (AI COACH) ================= -->\r\n    <div class=\"gp-view\" id=\"view-performance\">\r\n        <div class=\"ai-wrap\">\r\n            <div id=\"aiEmptyState\" class=\"an-card ai-empty\" style=\"display:none;margin-top:24px;\">\r\n                <span class=\"ic\" style=\"font-size:32px\">\ud83e\udde0<\/span>\r\n                <div class=\"big\">Your AI coach is waiting for data<\/div>\r\n                <p>Attempt a few questions in the Practice tab. The coach will then compute your readiness score, detect weak chapters weighted by their share of the question bank, and build a personalised study plan.<\/p>\r\n            <\/div>\r\n\r\n            <div id=\"aiContent\">\r\n                <div class=\"sec-head\" style=\"margin-top:24px;\"><span class=\"num\">01<\/span><h2>Readiness \u2014 AI Assessment<\/h2><span class=\"hint\">weighted by chapter share of the bank<\/span><\/div>\r\n                <div class=\"ai-hero\">\r\n                    <div class=\"ai-ring-card\">\r\n                        <div class=\"ai-ring\">\r\n                            <svg width=\"150\" height=\"150\">\r\n                                <circle class=\"bg\" cx=\"75\" cy=\"75\" r=\"64\"><\/circle>\r\n                                <circle class=\"fg\" cx=\"75\" cy=\"75\" r=\"64\" stroke-dasharray=\"402\" stroke-dashoffset=\"402\" id=\"aiRingFill\"><\/circle>\r\n                            <\/svg>\r\n                            <div class=\"ai-ring-txt\"><span class=\"n\" id=\"aiScore\">0<\/span><span class=\"l\">Readiness \/ 100<\/span><\/div>\r\n                        <\/div>\r\n                        <div class=\"ai-verdict\" id=\"aiVerdict\"><\/div>\r\n                    <\/div>\r\n                    <div class=\"ai-coach-card\">\r\n                        <h3><span class=\"ic\">\ud83e\ude84<\/span> Smart Study Plan \u2014 What to do next<\/h3>\r\n                        <div id=\"aiRecoList\"><\/div>\r\n                    <\/div>\r\n                <\/div>\r\n                <div class=\"ai-kpis\" id=\"aiKpis\"><\/div>\r\n\r\n                <div class=\"sec-head\"><span class=\"num\">02<\/span><h2>Chapter Performance vs Chapter Weight<\/h2><span class=\"hint\">priority = high weight \u00d7 low accuracy<\/span><\/div>\r\n                <div class=\"tbl-scroll\"><table class=\"perf\">\r\n                    <thead><tr><th>Chapter<\/th><th>Weight<\/th><th>Coverage<\/th><th>Accuracy<\/th><th>Status<\/th><th>Action<\/th><\/tr><\/thead>\r\n                    <tbody id=\"perfTableBody\"><\/tbody>\r\n                <\/table><\/div>\r\n\r\n                <div class=\"ai-two\" style=\"margin-top:34px;\">\r\n                    <div>\r\n                        <div class=\"sec-head\" style=\"margin-top:0;\"><span class=\"num\">03<\/span><h2>Revision Queue<\/h2><span class=\"hint\">spaced repetition<\/span><\/div>\r\n                        <div class=\"an-card\" id=\"revisionQueue\"><\/div>\r\n                    <\/div>\r\n                    <div>\r\n                        <div class=\"sec-head\" style=\"margin-top:0;\"><span class=\"num\">04<\/span><h2>Mastery Distribution<\/h2><\/div>\r\n                        <div class=\"an-card\" id=\"masteryDist\"><\/div>\r\n                    <\/div>\r\n                <\/div>\r\n\r\n                <!-- Performance reset (lifetime data) -->\r\n                <div class=\"perf-reset-wrap\">\r\n                    <p><b>Danger zone:<\/b> this permanently erases your lifetime performance for this quiz \u2014 mastery stars, weak areas, accuracy history and the readiness score. Session reset on the Practice tab does <b>not<\/b> touch this data.<\/p>\r\n                    <button class=\"perf-reset-btn\" id=\"resetPerfBtn\"><span class=\"ic\">\ud83d\uddd1\ufe0f<\/span> Reset My Performance<\/button>\r\n                <\/div>\r\n            <\/div>\r\n        <\/div>\r\n    <\/div><!-- \/view-performance -->\r\n<\/div>\r\n<script>\r\n\/\/ ==========================================\r\n\/\/ QUIZ CONFIGURATION  \u2190 EDIT PER TOPIC\r\n\/\/ ==========================================\r\nconst quizConfig = {\r\n    \/\/ UNIQUE id per topic. Progress is stored in localStorage under this key,\r\n    \/\/ so two quizzes MUST NOT share the same quizId.\r\n    quizId: 'CHANGE-ME-chapterwise-quiz',\r\n    topic: 'Generic Internal Audit Manual',                     \/\/ \u2190 shown in header h1\r\n    paper: 'Paper 2',                        \/\/ \u2190 shown in header eyebrow\r\n    masteryThreshold: 3,   \/\/ total correct needed for \"mastered\"\r\n    weakThreshold: 1,      \/\/ wrong attempts before a question is flagged weak\r\n    revisionGapDays: 7     \/\/ days after which a mastered Q re-enters revision\r\n};\r\n\r\n\/\/ ==========================================\r\n\/\/ QUESTIONS DATA  \u2190 PASTE YOUR QUESTION BANK HERE\r\n\/\/ ------------------------------------------\r\n\/\/ Each question object looks like this:\r\n\/\/ {\r\n\/\/   id: 1,                                  \/\/ unique number across the bank\r\n\/\/   chapter: 'Ch 1: Chapter Name',          \/\/ chapter label (used by filter,\r\n\/\/                                           \/\/ performance table & AI coach)\r\n\/\/   question: \"Question text...\\n1. Statement one\\n2. Statement two\\nSelect the correct answer using the code given below:\",\r\n\/\/   options: [\"Option A\", \"Option B\", \"Option C\", \"Option D\"],\r\n\/\/   correct: 2,                             \/\/ 0-based index of the right option\r\n\/\/   explanation: \"Explanation text shown after checking the answer.\"\r\n\/\/ },\r\n\/\/ Numbered statements: start a line with \"1.\" \/ \"2.\" etc (use \\n or <br>).\r\n\/\/ Lines starting with \"Select the correct answer\u2026\" \/ \"Which of the above\u2026\"\r\n\/\/ are auto-styled as the lead line, UPSC question-paper style.\r\n\/\/ NOTE: No 'year' field \u2014 this template is chapter-wise only.\r\n\/\/ ==========================================\r\nconst allQuestions = [\/\/ \r\n\r\n  \/\/ ------------------------------- CHAPTER II -------------------------------\r\n\r\n  {\r\n    id: 1,\r\n    chapter: 'CH II: Risks, Controls & the Internal Control Framework',\r\n    question: \"The term 'risk', in the context of risk management, is best defined as:\",\r\n    options: [\r\n      \"The possibility of an event occurring that will have an adverse impact on the achievement of objectives\",\r\n      \"Any deviation from prescribed rules and orders detected in the course of audit\",\r\n      \"The certainty of loss arising from an activity of the Ministry\",\r\n      \"The cost incurred by management in instituting internal controls\"\r\n    ],\r\n    correct: 0,\r\n    explanation: \"<b>Option (a) is correct \u2014 Chapter II, Risks &amp; Controls.<\/b><br>Risk is defined as the <b>possibility<\/b> of an event occurring that will have an <b>adverse impact on the achievement of objectives<\/b>.<br><br>(b) describes a compliance deviation, which is the concern of regularity audit, not the definition of risk. (c) is wrong because risk is a <b>possibility<\/b>, not a certainty. (d) confuses risk with the cost of controls, a separate idea used in the cost-benefit test for tolerating risk.\"\r\n  },\r\n\r\n  {\r\n    id: 2,\r\n    chapter: 'CH II: Risks, Controls & the Internal Control Framework',\r\n    question: \"Each risk is identified, assessed and measured in terms of two dimensions before an appropriate response is developed. These two dimensions are:\",\r\n    options: [\r\n      \"Impact (severity) and likelihood of occurrence (probability)\",\r\n      \"Cause and effect\",\r\n      \"Frequency and cost of control\",\r\n      \"Inherent risk and residual risk\"\r\n    ],\r\n    correct: 0,\r\n    explanation: \"<b>Option (a) is correct \u2014 Chapter II, Risks &amp; Controls.<\/b><br>A risk is measured in terms of <b>impact (severity)<\/b> and <b>likelihood of occurrence (probability)<\/b>; only then is a response developed.<br><br>(b) 'cause and effect' are elements of an audit observation (the 5C framework), not the measurement dimensions of a risk. (c) and (d) pair together terms that appear elsewhere in the manual but are not the two dimensions on which a risk is measured.\"\r\n  },\r\n\r\n  {\r\n    id: 3,\r\n    chapter: 'CH II: Risks, Controls & the Internal Control Framework',\r\n    question: \"Consider the following statements regarding the options available for responding to an evaluated risk:\\n1. Obtaining insurance is an example of transferring the risk.\\n2. A risk may be tolerated where the cost of appropriate control is so high as to outweigh the consequential benefits.\\n3. A risk may be tolerated where the adverse outcome from the risk is inconsequential.\\n4. Termination of a risk may sometimes call for cessation of the activity itself.\\nWhich of the statements given above are correct?\",\r\n    options: [\r\n      \"1, 2 and 3 only\",\r\n      \"1, 3 and 4 only\",\r\n      \"2, 3 and 4 only\",\r\n      \"1, 2, 3 and 4\"\r\n    ],\r\n    correct: 3,\r\n    explanation: \"<b>Option (d) is correct \u2014 Chapter II, Risks &amp; Controls (transfer, tolerate, terminate, treat).<\/b><br>Statement 1 \u2713 \u2014 insurance is the example given for <b>transferring<\/b> the risk.<br>Statement 2 \u2713 \u2014 tolerance is justified where the cost of control outweighs the consequential benefits.<br>Statement 3 \u2713 \u2014 tolerance is also justified where the adverse outcome is inconsequential.<br>Statement 4 \u2713 \u2014 termination may necessitate cessation of the activity itself, a decision not always possible in Government owing to political and social sensitivities.<br><br>All four are accurate, so the answer is 1, 2, 3 and 4.\"\r\n  },\r\n\r\n  {\r\n    id: 4,\r\n    chapter: 'CH II: Risks, Controls & the Internal Control Framework',\r\n    question: \"The primary difference between the traditional and the modern approach to Internal Audit lies in:\",\r\n    options: [\r\n      \"The explicit recognition of the concepts of 'risks' and 'controls' in modern internal audit practices\",\r\n      \"The replacement of compliance audit by financial audit under the modern approach\",\r\n      \"The transfer of internal audit responsibility from the internal audit wings to the C&AG\",\r\n      \"The introduction of computer assisted audit techniques under the modern approach\"\r\n    ],\r\n    correct: 0,\r\n    explanation: \"<b>Option (a) is correct \u2014 Chapter II, Risks &amp; Controls.<\/b><br>The distinguishing feature of the modern approach is the <b>explicit recognition of the concepts of 'risks' and 'controls'<\/b>.<br><br>(b) is wrong \u2014 compliance\/regularity audit remains important and is not replaced; the remit is enlarged, not substituted. (c) reverses the position \u2014 internal audit is conducted by the internal audit wings, not handed to the C&amp;AG. (d) is a supporting tool, not stated as the defining difference.\"\r\n  },\r\n\r\n  {\r\n    id: 5,\r\n    chapter: 'CH II: Risks, Controls & the Internal Control Framework',\r\n    question: \"With reference to the concept of internal control, which one of the following statements is NOT correct?\",\r\n    options: [\r\n      \"Internal control provides absolute assurance that the organization's objectives will be achieved\",\r\n      \"Internal control is operated by an organization's management and personnel\",\r\n      \"Safeguarding resources against loss, misuse and damage is one of its general objectives\",\r\n      \"Internal control is most effective when controls are 'built in' and not 'superimposed'\"\r\n    ],\r\n    correct: 0,\r\n    explanation: \"<b>Option (a) is NOT correct \u2014 Chapter II, Internal Control.<\/b><br>Internal control is designed to provide <b>reasonable<\/b> assurance, never <b>absolute<\/b> assurance; the reversed word makes the statement false.<br><br>(b) \u2713 \u2014 it is operated by management <b>and personnel<\/b>. (c) \u2713 \u2014 safeguarding resources against loss, misuse and damage is one of the four general objectives. (d) \u2713 \u2014 built-in controls avoid unnecessary costs and enable quick response to changing conditions.\"\r\n  },\r\n\r\n  {\r\n    id: 6,\r\n    chapter: 'CH II: Risks, Controls & the Internal Control Framework',\r\n    question: \"Which of the following are the general objectives that internal control is designed to achieve?\\n1. Executing orderly, ethical, economical, efficient and effective operations\\n2. Fulfilling accountability obligations\\n3. Complying with applicable laws and regulations\\n4. Safeguarding resources against loss, misuse and damage\\nSelect the correct answer using the code given below:\",\r\n    options: [\r\n      \"1, 2 and 3 only\",\r\n      \"1, 3 and 4 only\",\r\n      \"2, 3 and 4 only\",\r\n      \"1, 2, 3 and 4\"\r\n    ],\r\n    correct: 3,\r\n    explanation: \"<b>Option (d) is correct \u2014 Chapter II, Internal Control.<\/b><br>All four are listed as the general objectives of internal control.<br><br>Note the trap: this four-item list of <b>objectives<\/b> is often confused with the five <b>key concepts of the COSO framework<\/b> (control environment, risk assessment, control activities, information and communication, monitoring). Statements 1\u20134 belong to the objectives, so the answer is all four.\"\r\n  },\r\n\r\n  {\r\n    id: 7,\r\n    chapter: 'CH II: Risks, Controls & the Internal Control Framework',\r\n    question: \"Which one of the following is NOT one of the key concepts of the COSO internal control framework?\",\r\n    options: [\r\n      \"Risk transfer\",\r\n      \"Control environment\",\r\n      \"Information and communication\",\r\n      \"Monitoring\"\r\n    ],\r\n    correct: 0,\r\n    explanation: \"<b>Option (a) is correct (it is the odd one out) \u2014 Chapter II, COSO framework.<\/b><br>The five key concepts of COSO are control environment, risk assessment, control activities, information and communication, and monitoring. <b>Risk transfer<\/b> is not among them.<br><br>'Risk transfer' is one of the four <b>risk-response<\/b> options (transfer, tolerate, terminate, treat); the question exploits the overlap between the response taxonomy and the COSO components. (b), (c) and (d) are all genuine COSO concepts.\"\r\n  },\r\n\r\n  {\r\n    id: 8,\r\n    chapter: 'CH II: Risks, Controls & the Internal Control Framework',\r\n    question: \"Consider the following control activities:\\n1. Barring entry of unauthorised personnel in government offices\\n2. Preparing bank reconciliation statements\\n3. Segregation of duties\\n4. Monitoring and supervision\\nWhich of the above are examples of preventive controls?\",\r\n    options: [\r\n      \"1 and 3 only\",\r\n      \"2 and 4 only\",\r\n      \"1, 2 and 3 only\",\r\n      \"2, 3 and 4 only\"\r\n    ],\r\n    correct: 0,\r\n    explanation: \"<b>Option (a) is correct \u2014 Chapter II, Control Activities.<\/b><br>Preventive controls prevent a risk from occurring \u2014 the examples are <b>barring entry of unauthorised personnel<\/b> (1) and <b>segregation of duties<\/b> (3), along with limiting access to sensitive information.<br><br>Statements 2 and 4 are given as examples of <b>detective<\/b> controls, which help discover inaccuracies or misconduct. Hence only 1 and 3 are preventive.\"\r\n  },\r\n\r\n  {\r\n    id: 9,\r\n    chapter: 'CH II: Risks, Controls & the Internal Control Framework',\r\n    question: \"The elements of risk assessment, in the process of identifying and analyzing relevant risks and determining the appropriate response, are:\",\r\n    options: [\r\n      \"Risk identification, risk evaluation and risk acceptance\",\r\n      \"Risk transfer, risk tolerance and risk termination\",\r\n      \"Risk identification, risk treatment and risk reporting\",\r\n      \"Risk impact, risk likelihood and risk response\"\r\n    ],\r\n    correct: 0,\r\n    explanation: \"<b>Option (a) is correct \u2014 Chapter II, Risk Assessment.<\/b><br>The three elements are <b>risk identification<\/b>, <b>risk evaluation<\/b> (assessing likelihood and significance and categorising the risk as High, Medium or Low) and <b>risk acceptance<\/b> (defining the level of risk the organisation can live with).<br><br>(b) lists three of the four response options, not the elements of assessment. (c) and (d) recombine unrelated terms from the chapter.\"\r\n  },\r\n\r\n  {\r\n    id: 10,\r\n    chapter: 'CH II: Risks, Controls & the Internal Control Framework',\r\n    question: \"The judgement as to what constitutes an 'acceptable risk' is exercised by:\",\r\n    options: [\r\n      \"The Management\",\r\n      \"The Internal Audit Wing\",\r\n      \"The Audit Committee\",\r\n      \"The Comptroller and Auditor General\"\r\n    ],\r\n    correct: 0,\r\n    explanation: \"<b>Option (a) is correct \u2014 Chapter II, Risk Assessment.<\/b><br>What is 'acceptable risk' is a judgement exercised by the <b>Management<\/b>. Since controls carry costs, the benefits of risk reduction must be greater than the cost of controls.<br><br>(b) internal audit evaluates and comments on controls but does not decide the acceptable level of risk; (c) and (d) are oversight\/audit bodies, not the risk-accepting authority.\"\r\n  },\r\n\r\n  {\r\n    id: 11,\r\n    chapter: 'CH II: Risks, Controls & the Internal Control Framework',\r\n    question: \"The scope and frequency of separate evaluations of the internal control system depend primarily on:\",\r\n    options: [\r\n      \"An assessment of risks and the effectiveness of ongoing monitoring procedures\",\r\n      \"The budgetary allocation of the auditee unit\",\r\n      \"The number of audit teams available in the Ministry\",\r\n      \"The directions issued by the Comptroller and Auditor General\"\r\n    ],\r\n    correct: 0,\r\n    explanation: \"<b>Option (a) is correct \u2014 Chapter II, Internal Control (Monitoring).<\/b><br>Monitoring comprises ongoing monitoring and\/or separate evaluations, and the scope and frequency of separate evaluations depend primarily on an <b>assessment of risks and the effectiveness of ongoing monitoring procedures<\/b>.<br><br>(b) and (c) are considerations relevant to staffing and audit planning, not to the frequency of separate evaluations. (d) is not the stated basis.\"\r\n  },\r\n\r\n  {\r\n    id: 12,\r\n    chapter: 'CH II: Risks, Controls & the Internal Control Framework',\r\n    question: \"In the Risk Management Process, the stage at which the results of risk analysis are compared with the risk criteria to determine whether the risk is acceptable, and risks are prioritized, is:\",\r\n    options: [\r\n      \"Evaluate the risk\",\r\n      \"Analyze the risk\",\r\n      \"Identify the risk\",\r\n      \"Establish the context\"\r\n    ],\r\n    correct: 0,\r\n    explanation: \"<b>Option (a) is correct \u2014 Chapter II, Risk Management Process cycle.<\/b><br>Comparing the results of risk analysis with the risk criteria to decide whether a risk is acceptable, and then prioritizing risks, is the <b>Evaluate the risk<\/b> stage.<br><br>(b) 'Analyze the risk' precedes evaluation and determines the nature and level of the risk and its potential impact. (c) 'Identify the risk' is where risks are found and described in a risk statement. (d) 'Establish the context' is where organizational objectives and the internal\/external environment are understood.\"\r\n  },\r\n\r\n  {\r\n    id: 13,\r\n    chapter: 'CH II: Risks, Controls & the Internal Control Framework',\r\n    question: \"In the Risk Management Process, the continuous activity described as 'continually checking the status of a risk to identify change from the performance level required or expected' is:\",\r\n    options: [\r\n      \"Monitoring\",\r\n      \"Reporting and communication\",\r\n      \"Evaluate the risk\",\r\n      \"Analyze the risk\"\r\n    ],\r\n    correct: 0,\r\n    explanation: \"<b>Option (a) is correct \u2014 Chapter II, Risk Management Process cycle.<\/b><br><b>Monitoring<\/b> is the continuous activity of checking the status of a risk to identify change from the required or expected performance level.<br><br>(b) 'Reporting and communication' is the other continuous activity \u2014 informing and engaging stakeholders about the current state of risks and their management. (c) and (d) are sequential stages of the cycle, not the continuous monitoring activity.\"\r\n  },\r\n\r\n  \/\/ ------------------------------- CHAPTER III ------------------------------\r\n\r\n  {\r\n    id: 14,\r\n    chapter: 'CH III: Internal Audit',\r\n    question: \"The primary function of an internal audit practice is best described as:\",\r\n    options: [\r\n      \"Measurement and effectiveness of other controls\",\r\n      \"Preparation of the financial statements of the Ministry\",\r\n      \"Sanction of expenditure within delegated financial powers\",\r\n      \"Certification that the financial statements present a true and fair view\"\r\n    ],\r\n    correct: 0,\r\n    explanation: \"<b>Option (a) is correct \u2014 Chapter III, Internal Audit.<\/b><br>The primary function of internal audit is the <b>measurement and effectiveness of other controls<\/b> \u2014 it functions by measuring and evaluating the effectiveness of other controls.<br><br>(d) describes financial audit, which for government accounts is performed by the <b>C&amp;AG<\/b>. (b) and (c) are executive\/management functions; internal audit neither prepares statements nor sanctions expenditure.\"\r\n  },\r\n\r\n  {\r\n    id: 15,\r\n    chapter: 'CH III: Internal Audit',\r\n    question: \"Consider the following statements regarding the services rendered by Internal Auditors:\\n1. Assurance and Consulting services are the two primary services expected from Internal Auditors.\\n2. Consulting services are advisory in nature and are generally performed at the specific request of the government agency.\\n3. When performing consulting services, the internal auditor may assume management responsibility if the client so requests.\\nWhich of the statements given above is\/are correct?\",\r\n    options: [\r\n      \"1 and 2 only\",\r\n      \"2 and 3 only\",\r\n      \"1 only\",\r\n      \"1, 2 and 3\"\r\n    ],\r\n    correct: 0,\r\n    explanation: \"<b>Option (a) is correct \u2014 Chapter III, Internal Audit.<\/b><br>Statement 1 \u2713 \u2014 Assurance and Consulting are the two primary services.<br>Statement 2 \u2713 \u2014 consulting is advisory and generally performed at the specific request of the agency.<br>Statement 3 \u2717 \u2014 the auditor must <b>maintain objectivity and NOT assume management responsibility<\/b>; there is no exception permitting this at the client's request. The added condition makes statement 3 false.<br><br>Hence only 1 and 2 are correct.\"\r\n  },\r\n\r\n  {\r\n    id: 16,\r\n    chapter: 'CH III: Internal Audit',\r\n    question: \"Match the following types of audit with their focus, and select the correct answer:\\nList-I (Type)\\nA. Regularity Audit\\nB. Propriety Audit\\nC. Financial Audit\\nList-II (Focus)\\n1. Improper expenditure or waste of resources even where covered under the rules\\n2. Reasonable assurance that the financial statements present a true and fair view\\n3. Conformity of expenditure with laws, rules, regulations and orders\",\r\n    options: [\r\n      \"A-3, B-1, C-2\",\r\n      \"A-1, B-3, C-2\",\r\n      \"A-3, B-2, C-1\",\r\n      \"A-2, B-1, C-3\"\r\n    ],\r\n    correct: 0,\r\n    explanation: \"<b>Option (a) is correct \u2014 Chapter III, Types of Internal Audit.<\/b><br>A\u20133: <b>Regularity Audit<\/b> verifies conformity of expenditure with laws, rules, regulations and orders (and adherence to rules on conditions of service, pay and pensions).<br>B\u20131: <b>Propriety Audit<\/b> targets improper expenditure or waste of resources even where the expenditure is covered under the rules and no obvious irregularity appears \u2014 it extends 'to its wisdom, faithfulness and economy'.<br>C\u20132: <b>Financial Audit<\/b> gives reasonable assurance that the statements present a true and fair view (performed for government accounts by the C&amp;AG).\"\r\n  },\r\n\r\n  {\r\n    id: 17,\r\n    chapter: 'CH III: Internal Audit',\r\n    question: \"In a Performance (Value for Money) Audit, the test that 'the expenditure incurred was not in excess of the requirement' corresponds to which criterion?\",\r\n    options: [\r\n      \"Economy\",\r\n      \"Efficiency\",\r\n      \"Effectiveness\",\r\n      \"Equity\"\r\n    ],\r\n    correct: 0,\r\n    explanation: \"<b>Option (a) is correct \u2014 Chapter III, Performance (VFM) Audit.<\/b><br>Expenditure not being in excess of requirement is the test of <b>Economy<\/b>.<br><br>(b) <b>Efficiency<\/b> concerns achieving output with minimum inputs, or maximum output for given inputs \u2014 an input-output relationship. (c) <b>Effectiveness<\/b> concerns whether the expenditure achieved the intended objective. (d) 'Equity' is not one of the three criteria discussed.\"\r\n  },\r\n\r\n  {\r\n    id: 18,\r\n    chapter: 'CH III: Internal Audit',\r\n    question: \"Internal audit that is designed to verify the existence and magnitude of a suspected irregularity, and which the internal audit wing may be requested to conduct upon discovery or suspicion of its occurrence, is:\",\r\n    options: [\r\n      \"Fraud and financial irregularity audit\",\r\n      \"Performance audit\",\r\n      \"Information systems audit\",\r\n      \"Grant and contract audit\"\r\n    ],\r\n    correct: 0,\r\n    explanation: \"<b>Option (a) is correct \u2014 Chapter III, Types of Internal Audit.<\/b><br>A <b>fraud and financial irregularity audit<\/b> verifies the existence and magnitude of a suspected fraud; internal audit may be <b>requested<\/b> to conduct it as a result of discovery or suspicion \u2014 a reactive engagement, not a routine part of the annual programme.<br><br>(b), (c) and (d) are other audit types addressing performance, IT systems, and grant\/contract compliance respectively, none of which is triggered by suspicion of fraud.\"\r\n  },\r\n\r\n  {\r\n    id: 19,\r\n    chapter: 'CH III: Internal Audit',\r\n    question: \"Under Risk Based Auditing, the role of the internal auditor shifts from:\",\r\n    options: [\r\n      \"An examination of compliance with controls to a review of the risk management processes\",\r\n      \"A review of the risk management processes to an examination of compliance with controls\",\r\n      \"Assurance services to consulting services\",\r\n      \"Propriety audit to regularity audit\"\r\n    ],\r\n    correct: 0,\r\n    explanation: \"<b>Option (a) is correct \u2014 Chapter III, Risk Based Auditing.<\/b><br>The context for audits is provided by the Department's objectives, associated risks and the risk management process rather than 'controls' and deviations from them; accordingly the auditor's role shifts from <b>examining compliance with controls<\/b> to <b>reviewing the risk management processes<\/b>.<br><br>(b) reverses this shift. (c) and (d) describe unrelated changes not stated in this context.\"\r\n  },\r\n\r\n  {\r\n    id: 20,\r\n    chapter: 'CH III: Internal Audit',\r\n    question: \"Consider the following statements on the present state of Risk Based Auditing in Government:\\n1. In the absence of well-designed risk management processes embedded in government systems, it is not yet possible for Internal Audit to rely on the Department's own view of risks while determining the scope of an engagement.\\n2. A pragmatic approach requires Internal Audit, in conjunction with management, to undertake the risk assessment exercise and draw up its audit plan.\\nWhich of the statements given above is\/are correct?\",\r\n    options: [\r\n      \"Both 1 and 2\",\r\n      \"1 only\",\r\n      \"2 only\",\r\n      \"Neither 1 nor 2\"\r\n    ],\r\n    correct: 0,\r\n    explanation: \"<b>Option (a) is correct \u2014 Chapter III, Risk Based Auditing.<\/b><br>Statement 1 \u2713 \u2014 until robust risk management processes are embedded, Internal Audit cannot <b>yet<\/b> rely on the Department's own view of risks.<br>Statement 2 \u2713 \u2014 the pragmatic interim approach is a <b>joint<\/b> risk assessment by Internal Audit in conjunction with management, feeding into the audit plan.<br><br>Both statements are accurate.\"\r\n  },\r\n\r\n  {\r\n    id: 21,\r\n    chapter: 'CH III: Internal Audit',\r\n    question: \"In selecting audit areas and transactions, which one of the following statements is correct?\",\r\n    options: [\r\n      \"Areas where discretion is exercised are normally considered more risky than areas where the rule is clear and permits no deviation\",\r\n      \"Higher value transactions are necessarily more risky than lower value transactions\",\r\n      \"Materiality is a consideration even where compliance is required by law\",\r\n      \"Vouchers relating to the month of March are ordinarily excluded from selection\"\r\n    ],\r\n    correct: 0,\r\n    explanation: \"<b>Option (a) is correct \u2014 Chapter III, Audit Sampling.<\/b><br>Discretionary areas are normally considered <b>more risky<\/b> than rule-bound areas that permit no deviation.<br><br>(b) is wrong \u2014 higher value transactions 'need not necessarily be more risky', though auditors examine many for their material impact. (c) reverses the rule \u2014 materiality is <b>not<\/b> a consideration where compliance is required by law. (d) is the opposite of the text \u2014 March vouchers are <b>invariably selected<\/b> owing to 'March rush' expenditure.\"\r\n  },\r\n\r\n  {\r\n    id: 22,\r\n    chapter: 'CH III: Internal Audit',\r\n    question: \"'Audit sampling' means the application of audit procedures to:\",\r\n    options: [\r\n      \"Less than 100% of the items within a class of transactions, to form a conclusion concerning the population\",\r\n      \"All the items within a class of transactions without exception\",\r\n      \"Only the highest-value transactions within a class\",\r\n      \"Only those transactions relating to the last month of the financial year\"\r\n    ],\r\n    correct: 0,\r\n    explanation: \"<b>Option (a) is correct \u2014 Chapter III, Audit Sampling.<\/b><br>Audit sampling applies procedures to <b>less than 100%<\/b> of the items in a class of transactions to form a conclusion about the population; a hundred percent check is not necessary because the objective is served by a test check.<br><br>(b) contradicts the definition. (c) and (d) describe particular selection preferences, not the meaning of sampling itself. (By contrast, CAATs permit 100% testing.)\"\r\n  },\r\n\r\n  {\r\n    id: 23,\r\n    chapter: 'CH III: Internal Audit',\r\n    question: \"Consider the following statements regarding statistical sampling:\\n1. It ensures that all units of the population have an equal chance of selection, thereby eliminating bias.\\n2. It permits auditors to assert their audit findings with a known 'degree of confidence'.\\n3. Sample size is influenced by the purpose of audit, population size and homogeneity, the required level of precision and the level of confidence.\\nWhich of the statements given above are correct?\",\r\n    options: [\r\n      \"1, 2 and 3\",\r\n      \"1 and 2 only\",\r\n      \"2 and 3 only\",\r\n      \"1 and 3 only\"\r\n    ],\r\n    correct: 0,\r\n    explanation: \"<b>Option (a) is correct \u2014 Chapter III, Audit Sampling.<\/b><br>Statement 1 \u2713 \u2014 equal chance of selection eliminates bias.<br>Statement 2 \u2713 \u2014 statistical sampling permits findings to be asserted with a known degree of confidence.<br>Statement 3 \u2713 \u2014 the listed four factors (purpose; population size and homogeneity; precision; confidence) all influence sample size.<br><br>All three are correct.\"\r\n  },\r\n\r\n  {\r\n    id: 24,\r\n    chapter: 'CH III: Internal Audit',\r\n    question: \"In general, what sample size or more would be considered reasonable?\",\r\n    options: [\r\n      \"10 percent\",\r\n      \"5 percent\",\r\n      \"25 percent\",\r\n      \"50 percent\"\r\n    ],\r\n    correct: 0,\r\n    explanation: \"<b>Option (a) is correct \u2014 Chapter III, Audit Sampling.<\/b><br>In general, a sample size of <b>10 percent or more<\/b> would be considered reasonable.<br><br>The distractors are plausible round figures but none is the value stated. The text also notes that for a smaller population the entire group can be the sample, and for a homogeneous population a small sample may suffice.\"\r\n  },\r\n\r\n  {\r\n    id: 25,\r\n    chapter: 'CH III: Internal Audit',\r\n    question: \"Match the following sampling techniques with their descriptions, and select the correct answer:\\nList-I (Technique)\\nA. Interval sampling\\nB. Stratified sampling\\nC. Attribute sampling\\nList-II (Description)\\n1. Population divided into discrete homogeneous groups, a pre-decided number selected from each group\\n2. All items placed at defined intervals are selected, e.g. every tenth or fifteenth voucher\\n3. Items selected on the basis of compliance (yes) or non-compliance (no) with policy and set standards\",\r\n    options: [\r\n      \"A-2, B-1, C-3\",\r\n      \"A-1, B-2, C-3\",\r\n      \"A-2, B-3, C-1\",\r\n      \"A-3, B-1, C-2\"\r\n    ],\r\n    correct: 0,\r\n    explanation: \"<b>Option (a) is correct \u2014 Chapter III, Audit Sampling.<\/b><br>A\u20132: <b>Interval sampling<\/b> selects items at defined intervals (every tenth\/fifteenth\/thirty-fifth voucher).<br>B\u20131: <b>Stratified sampling<\/b> divides the population into discrete homogeneous groups and selects a pre-decided number from each.<br>C\u20133: <b>Attribute sampling<\/b> selects items on the basis of compliance (yes) or non-compliance (no) with policy and set standards, and helps evaluate internal controls over similarly characterized transactions.\"\r\n  },\r\n\r\n  {\r\n    id: 26,\r\n    chapter: 'CH III: Internal Audit',\r\n    question: \"Consider the following statements regarding Computer Assisted Audit Techniques (CAATs):\\n1. They permit 100% testing of data in a short span of time.\\n2. IDEA and ACL are examples of general purpose audit software available off-the-shelf.\\n3. Computer Aided Audit Tools can be used as an 'Add On' to already installed programmes such as Excel and MS Access.\\nWhich of the statements given above are correct?\",\r\n    options: [\r\n      \"1, 2 and 3\",\r\n      \"1 and 2 only\",\r\n      \"2 and 3 only\",\r\n      \"1 and 3 only\"\r\n    ],\r\n    correct: 0,\r\n    explanation: \"<b>Option (a) is correct \u2014 Chapter III, CAATs.<\/b><br>Statement 1 \u2713 \u2014 CAATs permit 100% testing in a short span of time, repeated tests and standardisation.<br>Statement 2 \u2713 \u2014 <b>IDEA<\/b> (Interactive Data Extraction and Analysis) and <b>ACL<\/b> (Audit Command Language) are general purpose audit software available off-the-shelf.<br>Statement 3 \u2713 \u2014 Computer Aided Audit Tools are used as an 'Add On' to installed programmes like Excel and MS Access.<br><br>All three are correct.\"\r\n  },\r\n\r\n  \/\/ ------------------------------- CHAPTER IV -------------------------------\r\n\r\n  {\r\n    id: 27,\r\n    chapter: 'CH IV: Management of Internal Audit',\r\n    question: \"In the Audit Committee to be constituted in each Ministry, which one of the following pairings of member and role is correct?\",\r\n    options: [\r\n      \"Financial Advisor \u2014 Vice Chairperson\",\r\n      \"Secretary of the Ministry \u2014 Convener\/Member Secretary\",\r\n      \"Chief Controller of Accounts \u2014 Chairperson\",\r\n      \"Financial Advisor \u2014 Convener\/Member Secretary\"\r\n    ],\r\n    correct: 0,\r\n    explanation: \"<b>Option (a) is correct \u2014 Chapter IV, Audit Committee.<\/b><br>The <b>Financial Advisor<\/b> is the <b>Vice Chairperson<\/b>.<br><br>(b) is wrong \u2014 the Secretary is the <b>Chairperson<\/b>, not Member Secretary. (c) is wrong \u2014 the CCA\/CA is the <b>Convener\/Member Secretary<\/b>, not Chairperson. (d) is wrong \u2014 it assigns the Convener role to the FA; that role belongs to the CCA\/CA. These are the exact role-swaps the question tests.\"\r\n  },\r\n\r\n  {\r\n    id: 28,\r\n    chapter: 'CH IV: Management of Internal Audit',\r\n    question: \"The Chief Audit Executive (CAE) heading the internal audit function of a Ministry reports to the Secretary of the Ministry through the:\",\r\n    options: [\r\n      \"Financial Advisor\",\r\n      \"Controller General of Accounts\",\r\n      \"Comptroller and Auditor General\",\r\n      \"Program Division Head\"\r\n    ],\r\n    correct: 0,\r\n    explanation: \"<b>Option (a) is correct \u2014 Chapter IV, Chief Audit Executive.<\/b><br>The CAE (a Pr.CCA\/CCA\/CA) reports to the Secretary of the Ministry <b>through the Financial Advisor<\/b>; functionally, internal audit reports to the Audit Committee chaired by the Secretary.<br><br>(b) and (c) are external oversight bodies, not the reporting channel to the Secretary; (d) is a member of the Audit Committee, not the reporting route.\"\r\n  },\r\n\r\n  {\r\n    id: 29,\r\n    chapter: 'CH IV: Management of Internal Audit',\r\n    question: \"Which one of the following is the document that formally records the audit mandate and the powers granted to internal audit, defines its functional and administrative reporting lines, and serves as the foundation for the annual audit plan?\",\r\n    options: [\r\n      \"The Internal Audit Charter\",\r\n      \"The Annual Audit Programme\",\r\n      \"The Action Taken Report\",\r\n      \"The Test Audit Note\"\r\n    ],\r\n    correct: 0,\r\n    explanation: \"<b>Option (a) is correct \u2014 Chapter IV, Internal Audit Charter.<\/b><br>The <b>Internal Audit Charter<\/b> documents the audit mandate and powers, defines the framework and the functional and administrative reporting lines, establishes the position of internal audit, and serves as the foundation for the annual audit plan.<br><br>(b) is the yearly plan of engagements; (c) is the auditee's response to observations; (d) is a statutory-audit objection document \u2014 none of these defines the mandate.\"\r\n  },\r\n\r\n  {\r\n    id: 30,\r\n    chapter: 'CH IV: Management of Internal Audit',\r\n    question: \"Under the model Internal Audit Charter, reports of the Internal Audit Wing which have significant issues would be circulated with the approval of the:\",\r\n    options: [\r\n      \"Vice Chairman of the Audit Committee\",\r\n      \"Chairperson of the Audit Committee\",\r\n      \"Chief Audit Executive\",\r\n      \"Controller General of Accounts\"\r\n    ],\r\n    correct: 0,\r\n    explanation: \"<b>Option (a) is correct \u2014 Chapter IV, Internal Audit Charter.<\/b><br>Reports with significant issues are circulated with the approval of the <b>Vice Chairman<\/b> of the Audit Committee (the Financial Advisor).<br><br>(c) is wrong \u2014 all reports are issued within one week of the CAE's approval, but the circulation of significant-issue reports needs the Vice Chairman's approval. (b) is the authority to whom the <b>Annual Audit Review<\/b> is submitted, not the approver for significant-issue reports. (d) is an external body.\"\r\n  },\r\n\r\n  {\r\n    id: 31,\r\n    chapter: 'CH IV: Management of Internal Audit',\r\n    question: \"The Annual Audit Review for the Ministry is required to be submitted to the Office of the Controller General of Accounts, in the prescribed format, by:\",\r\n    options: [\r\n      \"31st May\",\r\n      \"15th January\",\r\n      \"31st March\",\r\n      \"30th September\"\r\n    ],\r\n    correct: 0,\r\n    explanation: \"<b>Option (a) is correct \u2014 Chapter IV, Internal Audit Charter.<\/b><br>The Annual Audit Review is submitted to the O\/o CGA in the prescribed format by <b>31st May<\/b>.<br><br>(b) 15th January is the deadline for the <b>Annual Audit Programme<\/b>, an adjacent date used here as a distractor. (c) and (d) do not appear in this context.\"\r\n  },\r\n\r\n  {\r\n    id: 32,\r\n    chapter: 'CH IV: Management of Internal Audit',\r\n    question: \"As a safeguard of independence, no auditor should audit his own decision, nor be involved in the audit of a unit where he may have worked within the past:\",\r\n    options: [\r\n      \"One year\",\r\n      \"Two years\",\r\n      \"Three years\",\r\n      \"Six months\"\r\n    ],\r\n    correct: 0,\r\n    explanation: \"<b>Option (a) is correct \u2014 Chapter IV, constitution of audit teams.<\/b><br>No auditor should audit his own decision, nor be involved in the audit of a unit where he worked within the past <b>one year<\/b>.<br><br>The distractors are plausible cooling-off periods, but the text specifies one year. (Staff from Pay and Accounts Offices may serve on teams only if not directly involved with payment and accounting of the auditee unit.)\"\r\n  },\r\n\r\n  {\r\n    id: 33,\r\n    chapter: 'CH IV: Management of Internal Audit',\r\n    question: \"Special audit engagements taken up by the Internal Audit Wing with defined Terms of Reference given by the executive wing of the Ministry are to be:\",\r\n    options: [\r\n      \"Intimated to the Audit Committee in the next meeting of the committee\",\r\n      \"Approved by the Audit Committee before commencement\",\r\n      \"Approved by the Controller General of Accounts before commencement\",\r\n      \"Reported directly to the Comptroller and Auditor General\"\r\n    ],\r\n    correct: 0,\r\n    explanation: \"<b>Option (a) is correct \u2014 Chapter IV, special audit engagements.<\/b><br>Special engagements with ToR given by the executive wing are <b>intimated to the Audit Committee in its next meeting<\/b> \u2014 they do not require prior approval.<br><br>(b) adds a requirement of prior approval that the text does not impose. Contrast: special audits <b>assigned by the Audit Committee itself<\/b> may involve the CAE reporting directly to the Committee \u2014 a different situation. (c) and (d) name authorities not involved here.\"\r\n  },\r\n\r\n  {\r\n    id: 34,\r\n    chapter: 'CH IV: Management of Internal Audit',\r\n    question: \"Under Rule 70 of the General Financial Rules, 2017, the Chief Accounting Authority responsible and accountable for the sound financial management of a Ministry\/Department is the:\",\r\n    options: [\r\n      \"Secretary of the Ministry\/Department\",\r\n      \"Financial Advisor of the Ministry\/Department\",\r\n      \"Chief Controller of Accounts\",\r\n      \"Controller General of Accounts\"\r\n    ],\r\n    correct: 0,\r\n    explanation: \"<b>Option (a) is correct \u2014 Rule 70, GFR 2017 (cited in Chapters I and IV).<\/b><br>Rule 64 designates the <b>Secretary<\/b> of the Ministry\/Department as the Chief Accounting Authority, responsible and accountable for financial management, who shall ensure full and proper records affording better internal controls.<br><br>(b) The FA heads the accounting\/audit set-up but is not the Chief Accounting Authority under Rule 64. (c) and (d) are accounting authorities but not the designated Chief Accounting Authority of the Ministry.\"\r\n  },\r\n\r\n  {\r\n    id: 35,\r\n    chapter: 'CH IV: Management of Internal Audit',\r\n    question: \"The periodic review of the performance of Internal Audit with respect to the Guidelines and Code of Ethics is carried out by the:\",\r\n    options: [\r\n      \"Office of the Controller General of Accounts\",\r\n      \"Comptroller and Auditor General\",\r\n      \"Audit Committee of the Ministry\",\r\n      \"Financial Advisor of the Ministry\"\r\n    ],\r\n    correct: 0,\r\n    explanation: \"<b>Option (a) is correct \u2014 Chapter IV, oversight of Internal Audit.<\/b><br>The Guidelines and Code of Ethics are issued by the O\/o CGA, and the performance of Internal Audit against them is periodically reviewed by the <b>O\/o CGA<\/b>; the results are shared by the CAE with the Audit Committee.<br><br>(b) The C&amp;AG is the external\/statutory auditor, not the reviewer of the departmentalised internal audit set-up \u2014 this CGA\u2194C&amp;AG swap is the intended trap. (c) receives the results; (d) is within the reporting line, not the reviewer.\"\r\n  },\r\n\r\n  {\r\n    id: 36,\r\n    chapter: 'CH IV: Management of Internal Audit',\r\n    question: \"Consider the following statements regarding the model Internal Audit Charter:\\n1. Internal Audit is to have unfettered access to all officers, buildings, information, explanations and documentation required to discharge its responsibilities.\\n2. Internal audit is concerned with controls that ensure reliability and integrity of financial and operating information, effectiveness and efficiency of operations, safeguarding of assets, and compliance with laws, regulations and contracts.\\nWhich of the statements given above is\/are correct?\",\r\n    options: [\r\n      \"Both 1 and 2\",\r\n      \"1 only\",\r\n      \"2 only\",\r\n      \"Neither 1 nor 2\"\r\n    ],\r\n    correct: 0,\r\n    explanation: \"<b>Option (a) is correct \u2014 Chapter IV, Internal Audit Charter.<\/b><br>Statement 1 \u2713 \u2014 internal audit is to have <b>unfettered access<\/b> to officers, buildings, information, explanations and documentation.<br>Statement 2 \u2713 \u2014 the four controls with which internal audit is concerned are exactly those listed.<br><br>Both statements reproduce the charter accurately.\"\r\n  },\r\n\r\n  {\r\n    id: 37,\r\n    chapter: 'CH IV: Management of Internal Audit',\r\n    question: \"Under the revised charter for Financial Advisers, Internal Audit Wings were to move beyond compliance\/regulatory audit and focus on certain areas. Which one of the following is one such focus area?\",\r\n    options: [\r\n      \"Identification and monitoring of risk factors, including those contained in the Outcome Budget\",\r\n      \"Preparation of the annual financial statements of the Ministry\",\r\n      \"Sanctioning of grants-in-aid to grantee institutions\",\r\n      \"Conducting the statutory audit of the Ministry\"\r\n    ],\r\n    correct: 0,\r\n    explanation: \"<b>Option (a) is correct \u2014 Chapter IV, revised charter for Financial Advisers.<\/b><br>One redefined focus area is the <b>identification and monitoring of risk factors, including those in the Outcome Budget<\/b>. The others are assessment of adequacy and effectiveness of internal controls; critical assessment of economy, efficiency and effectiveness of service delivery (value for money); and providing an effective monitoring system for mid-course corrections.<br><br>(b), (c) and (d) are functions of management or the C&amp;AG, not internal audit.\"\r\n  },\r\n\r\n  {\r\n    id: 38,\r\n    chapter: 'CH IV: Management of Internal Audit',\r\n    question: \"While the broad scope of the annual audit plan is approved by the Audit Committee, which one of the following is NOT a stated term of reference of the Audit Committee?\",\r\n    options: [\r\n      \"Deciding the detailed audit programme assigning resources for individual audits\",\r\n      \"Approving the internal audit charter\",\r\n      \"Evaluating the performance of the Internal Audit Wing and offering guidance\",\r\n      \"Determining modalities to resolve key audit issues brought out by the Internal Audit Wing\"\r\n    ],\r\n    correct: 0,\r\n    explanation: \"<b>Option (a) is NOT a function of the Audit Committee \u2014 Chapters IV and V.<\/b><br>The Committee approves the <b>broad scope<\/b> of the annual audit plan, but the <b>detailed audit programme assigning resources<\/b> for individual audits is decided by the <b>Chief Audit Executive<\/b>.<br><br>(b), (c) and (d) are all express terms of reference of the Audit Committee. The distractor exploits the strategic-approval (Committee) versus operational-assignment (CAE) division of labour.\"\r\n  },\r\n\r\n  \/\/ ------------------------------- CHAPTER V --------------------------------\r\n\r\n  {\r\n    id: 39,\r\n    chapter: 'CH V: The Internal Audit Process',\r\n    question: \"The internal audit process comprises five main phases. Which one of the following is the correct sequence?\",\r\n    options: [\r\n      \"Planning \u2192 Preparing for audit \u2192 Performing \u2192 Reporting \u2192 Follow up action\",\r\n      \"Preparing for audit \u2192 Planning \u2192 Performing \u2192 Follow up action \u2192 Reporting\",\r\n      \"Planning \u2192 Performing \u2192 Preparing for audit \u2192 Reporting \u2192 Follow up action\",\r\n      \"Planning \u2192 Preparing for audit \u2192 Reporting \u2192 Performing \u2192 Follow up action\"\r\n    ],\r\n    correct: 0,\r\n    explanation: \"<b>Option (a) is correct \u2014 Chapter V, Internal Audit Process.<\/b><br>The five phases in order are <b>Planning \u2192 Preparing for audit \u2192 Performing \u2192 Reporting \u2192 Follow up action<\/b>; for convenience they compress into planning, execution and reporting.<br><br>Each distractor disturbs the order \u2014 (b) inverts planning and preparation and misplaces reporting, (c) places performing before preparation, (d) places reporting before performing.\"\r\n  },\r\n\r\n  {\r\n    id: 40,\r\n    chapter: 'CH V: The Internal Audit Process',\r\n    question: \"If the primary focus of an internal auditing engagement is advice rather than assurance, the internal audit process may be amended in consultation with the:\",\r\n    options: [\r\n      \"Chief Audit Executive of the Ministry\",\r\n      \"Audit Committee of the Ministry\",\r\n      \"Financial Advisor of the Ministry\",\r\n      \"Controller General of Accounts\"\r\n    ],\r\n    correct: 0,\r\n    explanation: \"<b>Option (a) is correct \u2014 Chapter V, Internal Audit Process.<\/b><br>Where the focus is advice (consulting) rather than assurance, the process may be amended in consultation with the <b>Chief Audit Executive<\/b>.<br><br>The distractors substitute higher or external authorities (Audit Committee, FA, CGA), but the text fixes this discretion with the CAE.\"\r\n  },\r\n\r\n  {\r\n    id: 41,\r\n    chapter: 'CH V: The Internal Audit Process',\r\n    question: \"Consider the following statements regarding the preparation of the Annual Audit Programme:\\n1. The annual audit programme should be finalised by 15th January every year, with a copy sent to the Office of the Controller General of Accounts.\\n2. For planning purposes, it is safe to plan for about 210 working days after deducting holidays, leave, travel, report preparation, follow-up and training.\\n3. An average of 10 working days may be kept for regular audits and 15 to 23 days for special audits.\\nWhich of the statements given above are correct?\",\r\n    options: [\r\n      \"1, 2 and 3\",\r\n      \"1 and 2 only\",\r\n      \"2 and 3 only\",\r\n      \"1 and 3 only\"\r\n    ],\r\n    correct: 0,\r\n    explanation: \"<b>Option (a) is correct \u2014 Chapter V, Annual Audit Programme.<\/b><br>Statement 1 \u2713 \u2014 finalised by <b>15th January<\/b>, with a copy to the O\/o CGA.<br>Statement 2 \u2713 \u2014 plan for about <b>210 working days<\/b> after the stated deductions.<br>Statement 3 \u2713 \u2014 <b>10 days<\/b> average for regular audits and <b>15\u201323 days<\/b> for special audits.<br><br>All three figures are as stated, so the answer is 1, 2 and 3.\"\r\n  },\r\n\r\n  {\r\n    id: 42,\r\n    chapter: 'CH V: The Internal Audit Process',\r\n    question: \"Consider the following statements regarding selection of units for audit under the annual plan:\\n1. While selecting the number of units of similar types to be audited, a random sampling technique should be used so that the sample is representative of the population.\\n2. Judgmental sampling may be used for selecting areas, states and\/or districts for auditing.\\n3. The budgetary allocations to the units\/schemes\/organizations are a consideration in deciding upon the audit universe.\\nWhich of the statements given above are correct?\",\r\n    options: [\r\n      \"1, 2 and 3\",\r\n      \"1 and 3 only\",\r\n      \"2 and 3 only\",\r\n      \"1 and 2 only\"\r\n    ],\r\n    correct: 0,\r\n    explanation: \"<b>Option (a) is correct \u2014 Chapter V, audit universe and selection.<\/b><br>Statement 1 \u2713 \u2014 a <b>random sampling<\/b> technique is used for units of similar types, to be representative.<br>Statement 2 \u2713 \u2014 <b>judgmental sampling<\/b> may be used for selecting areas, states and\/or districts.<br>Statement 3 \u2713 \u2014 budgetary allocations are a consideration in deciding the audit universe.<br><br>Note the deliberate contrast the manual draws: random for similar-type units, judgmental for areas\/states\/districts. All three are correct.\"\r\n  },\r\n\r\n  {\r\n    id: 43,\r\n    chapter: 'CH V: The Internal Audit Process',\r\n    question: \"Once finalized, the audit programme should be communicated to the auditee units:\",\r\n    options: [\r\n      \"30 days before the commencement of audit\",\r\n      \"7 days before the commencement of audit\",\r\n      \"On the first day of the audit\",\r\n      \"Within a fortnight of completion of the audit\"\r\n    ],\r\n    correct: 0,\r\n    explanation: \"<b>Option (a) is correct \u2014 Chapter V, intimation of audit.<\/b><br>The finalized programme is communicated to the auditee units <b>30 days before<\/b> the commencement of audit so they are ready with records; a questionnaire may accompany it.<br><br>(d) 'within a fortnight of completion' is the timeline for <b>issuing the final report<\/b>, used here as a distractor. (b) and (c) give shorter notice than the text allows.\"\r\n  },\r\n\r\n  {\r\n    id: 44,\r\n    chapter: 'CH V: The Internal Audit Process',\r\n    question: \"The primary purpose of the entry conference (opening meeting) between the internal auditors and the Head of the organisation being audited is to:\",\r\n    options: [\r\n      \"Establish an appropriate environment for the audit\",\r\n      \"Obtain the department's written comments on the draft audit findings\",\r\n      \"Finalise and issue the audit report\",\r\n      \"Settle the outstanding audit paras of previous years\"\r\n    ],\r\n    correct: 0,\r\n    explanation: \"<b>Option (a) is correct \u2014 Chapter V, entry conference.<\/b><br>The primary purpose of the entry conference is to <b>establish an appropriate environment<\/b> for the audit \u2014 communicating objectives and scope and settling logistics.<br><br>(b) belongs to the <b>exit<\/b> meeting, not the entry conference. (c) occurs at the reporting stage. (d) is part of follow-up. Note also: audits with an element of surprise have <b>no<\/b> entry conference.\"\r\n  },\r\n\r\n  {\r\n    id: 45,\r\n    chapter: 'CH V: The Internal Audit Process',\r\n    question: \"Consider the following statements regarding the reliability of audit evidence:\\n1. Audit evidence from external sources is more reliable than that obtained from the entity's records.\\n2. Audit evidence in the form of documents and written representations is more reliable than oral representations.\\n3. Photocopies, telexes and facsimiles are more reliable than original documents.\\nWhich of the statements given above are correct?\",\r\n    options: [\r\n      \"1 and 2 only\",\r\n      \"1 and 3 only\",\r\n      \"2 and 3 only\",\r\n      \"1, 2 and 3\"\r\n    ],\r\n    correct: 0,\r\n    explanation: \"<b>Option (a) is correct \u2014 Chapter V, audit evidence.<\/b><br>Statement 1 \u2713 \u2014 external-source evidence (e.g. third-party confirmation) is more reliable than the entity's records.<br>Statement 2 \u2713 \u2014 documents and written representations outrank oral representations.<br>Statement 3 \u2717 \u2014 the reliability order is reversed: <b>original<\/b> documents are more reliable than photocopies, telexes or facsimiles.<br><br>Hence only 1 and 2 are correct.\"\r\n  },\r\n\r\n  {\r\n    id: 46,\r\n    chapter: 'CH V: The Internal Audit Process',\r\n    question: \"With reference to audit evidence, 'sufficiency' and 'appropriateness' respectively refer to:\",\r\n    options: [\r\n      \"The quantity of audit evidence; and the reliability of the evidence and its relevance to a particular assertion\",\r\n      \"The reliability of the evidence; and the quantity of audit evidence\",\r\n      \"The cost of obtaining evidence; and the timing of the evidence\",\r\n      \"The source of the evidence; and the format of the evidence\"\r\n    ],\r\n    correct: 0,\r\n    explanation: \"<b>Option (a) is correct \u2014 Chapter V, audit evidence.<\/b><br><b>Sufficiency<\/b> is the measure of the <b>quantity<\/b> of evidence; <b>appropriateness<\/b> refers to its <b>reliability<\/b> and its <b>relevance to a particular assertion<\/b>. Evidence is appropriate when both relevant and reliable.<br><br>(b) reverses the two definitions; (c) and (d) substitute considerations the text does not use to define these terms.\"\r\n  },\r\n\r\n  {\r\n    id: 47,\r\n    chapter: 'CH V: The Internal Audit Process',\r\n    question: \"Which one of the following documents typically forms part of the Permanent Audit File rather than the Current Audit File?\",\r\n    options: [\r\n      \"Legal and regulatory issues impacting the organization\",\r\n      \"Copies of the draft and final audit reports\",\r\n      \"Minutes of the entry and exit meetings\",\r\n      \"Follow-up of previous audit reports\"\r\n    ],\r\n    correct: 0,\r\n    explanation: \"<b>Option (a) is correct \u2014 Chapter V, working papers.<\/b><br>The <b>Permanent Audit File<\/b> holds information relevant to current and future audits \u2014 including the organizational chart, risk assessment, and <b>legal and regulatory issues impacting the organization<\/b>.<br><br>(b), (c) and (d) are all listed under the <b>Current Audit File<\/b>, which relates to the current audit only. The distractors are genuine file contents placed under the wrong file.\"\r\n  },\r\n\r\n  {\r\n    id: 48,\r\n    chapter: 'CH V: The Internal Audit Process',\r\n    question: \"An audit observation emerges through a process of comparing:\",\r\n    options: [\r\n      \"'What should exist' (the audit criteria) with 'what exists' (the audit evidence)\",\r\n      \"The permanent audit file with the current audit file\",\r\n      \"The annual audit plan with the audit universe\",\r\n      \"The entry conference minutes with the exit conference minutes\"\r\n    ],\r\n    correct: 0,\r\n    explanation: \"<b>Option (a) is correct \u2014 Chapter V, audit observations.<\/b><br>Observations emerge by comparing <b>'what should exist' (criteria)<\/b> with <b>'what exists' (evidence)<\/b>; where a difference exists, the auditor assesses the effect, impact and cause and documents it.<br><br>(b), (c) and (d) pair documents\/records that are not the basis for developing an observation.\"\r\n  },\r\n\r\n  {\r\n    id: 49,\r\n    chapter: 'CH V: The Internal Audit Process',\r\n    question: \"In the 5C framework used to develop audit observations, match each element with the question it answers:\\nList-I (Element)\\nA. Criteria\\nB. Condition\\nC. Cause\\nList-II (Question)\\n1. What exists?\\n2. Why did it happen?\\n3. What should exist?\",\r\n    options: [\r\n      \"A-3, B-1, C-2\",\r\n      \"A-1, B-3, C-2\",\r\n      \"A-3, B-2, C-1\",\r\n      \"A-2, B-1, C-3\"\r\n    ],\r\n    correct: 0,\r\n    explanation: \"<b>Option (a) is correct \u2014 Chapter V, 5C framework.<\/b><br>A\u20133: <b>Criteria<\/b> = what should exist (the benchmark).<br>B\u20131: <b>Condition<\/b> = what exists (the factual evidence).<br>C\u20132: <b>Cause<\/b> = why did it happen (the reason for the difference; a prerequisite to a meaningful recommendation).<br><br>The remaining elements are Consequence\/Effect (what effect did it have) and Corrective Action (what should be done).\"\r\n  },\r\n\r\n  {\r\n    id: 50,\r\n    chapter: 'CH V: The Internal Audit Process',\r\n    question: \"If the audited entity refuses to provide comments, or is unable to provide comments within a reasonable period of time, the auditors:\",\r\n    options: [\r\n      \"May issue the report without receiving comments, indicating in the report that the audited entity did not provide comments\",\r\n      \"Must withhold the report until the comments are received\",\r\n      \"Must drop every observation on which comments were not received\",\r\n      \"Must refer the matter to the Comptroller and Auditor General for a decision\"\r\n    ],\r\n    correct: 0,\r\n    explanation: \"<b>Option (a) is correct \u2014 Chapter V, draft report and exit meeting.<\/b><br>Where the audited entity refuses or is unable to comment within a reasonable time, the auditors <b>may issue the report without the comments<\/b>, but must <b>indicate<\/b> that the entity did not provide comments.<br><br>(b) wrongly holds the report hostage to the auditee's silence. (c) and (d) impose consequences the text does not provide; disagreements are simply taken on record with reasons.\"\r\n  },\r\n\r\n  {\r\n    id: 51,\r\n    chapter: 'CH V: The Internal Audit Process',\r\n    question: \"To facilitate initiation of appropriate remedial action, audit reports should normally be issued within:\",\r\n    options: [\r\n      \"A fortnight of completion of the audit engagement\",\r\n      \"One week of completion of the audit engagement\",\r\n      \"One month of completion of the audit engagement\",\r\n      \"Six months of completion of the audit engagement\"\r\n    ],\r\n    correct: 0,\r\n    explanation: \"<b>Option (a) is correct \u2014 Chapter V, reporting.<\/b><br>Reports must be accurate, objective, clear, concise and complete, and should be issued in a timely manner \u2014 normally within a <b>fortnight<\/b> of completion of the audit engagement.<br><br>(b) 'one week' is the timeline for issuing a report after the CAE's approval, a related but different milestone. (c) and (d) are longer than the text allows.\"\r\n  },\r\n\r\n  {\r\n    id: 52,\r\n    chapter: 'CH V: The Internal Audit Process',\r\n    question: \"In grouping audit findings by severity of risk, 'High risk areas' are those where:\",\r\n    options: [\r\n      \"Absence of immediate corrective action may have a major negative impact on achievement of objectives\",\r\n      \"Failure to take action could result in significant consequences\",\r\n      \"Suggested action would bring in greater efficiency or enhanced controls at minimal additional costs\",\r\n      \"Compliance is required by law irrespective of materiality\"\r\n    ],\r\n    correct: 0,\r\n    explanation: \"<b>Option (a) is correct \u2014 Chapter V, grouping of audit findings.<\/b><br><b>High risk<\/b> areas are those where absence of <b>immediate<\/b> corrective action may have a <b>major negative impact<\/b> on achievement of objectives.<br><br>(b) defines <b>Medium risk<\/b> (significant consequences); (c) defines <b>Low risk<\/b> (efficiency gains at minimal cost). (d) is drawn from the sampling discussion and is not a risk-severity category at all.\"\r\n  },\r\n\r\n  {\r\n    id: 53,\r\n    chapter: 'CH V: The Internal Audit Process',\r\n    question: \"Audit issues which could not be resolved through communication with the administrative division\/audit client are to be reported to the Audit Committee if they remain unresolved for a period of:\",\r\n    options: [\r\n      \"Six months\",\r\n      \"Three months\",\r\n      \"One year\",\r\n      \"One month\"\r\n    ],\r\n    correct: 0,\r\n    explanation: \"<b>Option (a) is correct \u2014 Chapter V, follow-up on audit reports.<\/b><br>Issues unresolved within <b>six months<\/b> through communication with the administrative division\/audit client are reported to the Audit Committee, and the Chairman of the Committee issues further directions.<br><br>The distractors are plausible periods, but the text specifies six months. Progress in settlement of old paras is watched by the Pr.CCA\/CCA\/CA.\"\r\n  },\r\n\r\n  \/\/ ------------------------------- CHAPTER VI -------------------------------\r\n\r\n  {\r\n    id: 54,\r\n    chapter: 'CH VI: Quality Assurance',\r\n    question: \"In the hierarchy of quality assurance elements, an 'Internal Review' covering an aggregate of engagements is carried out by a supervisor or peer who is:\",\r\n    options: [\r\n      \"Outside the line of responsibility, providing assurance at the level of the Chief Audit Executive\",\r\n      \"Within the line of responsibility, providing assurance at the level of Audit Function Management\",\r\n      \"From outside the organization, providing assurance at the level of the Audit Committee\",\r\n      \"The individual auditor, providing assurance at the individual level\"\r\n    ],\r\n    correct: 0,\r\n    explanation: \"<b>Option (a) is correct \u2014 Chapter VI, hierarchy of quality assurance elements.<\/b><br><b>Internal Review<\/b> covers an aggregate of engagements and is done by a supervisor\/peer <b>outside the line of responsibility<\/b>, providing assurance at the level of the <b>Chief Audit Executive<\/b>.<br><br>(b) describes <b>Supervisory Review<\/b> (within the line, at Audit Function Management level). (c) describes <b>External Review<\/b> (outside the organization, at Audit Committee\/senior management level). (d) describes <b>Professionalism\/Due Care<\/b> at the individual level.\"\r\n  },\r\n\r\n  {\r\n    id: 55,\r\n    chapter: 'CH VI: Quality Assurance',\r\n    question: \"Consider the following statements regarding reviews of the internal audit function:\\n1. Self assessment is the responsibility of the Chief Audit Executive.\\n2. Peer reviews are conducted by members of Internal Audit Wings of other Ministries\/Departments.\\n3. External reviews are conducted by the Comptroller and Auditor General.\\nWhich of the statements given above are correct?\",\r\n    options: [\r\n      \"1 and 2 only\",\r\n      \"1 and 3 only\",\r\n      \"2 and 3 only\",\r\n      \"1, 2 and 3\"\r\n    ],\r\n    correct: 0,\r\n    explanation: \"<b>Option (a) is correct \u2014 Chapter VI, reviews of internal audit.<\/b><br>Statement 1 \u2713 \u2014 self assessment is the CAE's responsibility.<br>Statement 2 \u2713 \u2014 peer reviews are done by members of IAWs of <b>other<\/b> Ministries\/Departments (a safeguard of reviewer independence).<br>Statement 3 \u2717 \u2014 external reviews are done by the <b>O\/o CGA<\/b>, not the C&amp;AG. The wrong authority makes statement 3 false.<br><br>Hence only 1 and 2 are correct.\"\r\n  },\r\n\r\n  {\r\n    id: 56,\r\n    chapter: 'CH VI: Quality Assurance',\r\n    question: \"In evaluating the performance of the internal audit function, the measure of the time elapsed from completion of testing to issuance of the final audit report is termed:\",\r\n    options: [\r\n      \"Report issuance\",\r\n      \"Plan completion\",\r\n      \"Issue closure\",\r\n      \"Staff utilization rate\"\r\n    ],\r\n    correct: 0,\r\n    explanation: \"<b>Option (a) is correct \u2014 Chapter VI, performance measures.<\/b><br><b>Report issuance<\/b> measures the time elapsed from completion of testing to issuance of the final audit report.<br><br>(b) <b>Plan completion<\/b> = degree to which the annual plan of engagements is completed. (c) <b>Issue closure<\/b> = findings acted upon and resolved. (d) <b>Staff utilization rate<\/b> = percentage of time spent on engagements versus administrative time. Each distractor is a real, adjacent measure.\"\r\n  },\r\n\r\n  {\r\n    id: 57,\r\n    chapter: 'CH VI: Quality Assurance',\r\n    question: \"When audit departments obtain contract auditors from service providers to supplement their capacity, the practice is referred to as:\",\r\n    options: [\r\n      \"Co-sourcing\",\r\n      \"Peer review\",\r\n      \"Guest auditing\",\r\n      \"Rotational programming\"\r\n    ],\r\n    correct: 0,\r\n    explanation: \"<b>Option (a) is correct \u2014 Chapter VI, staffing of internal audit.<\/b><br>Obtaining contract auditors from service providers is called <b>co-sourcing<\/b>.<br><br>(c) 'guest auditing' and (d) 'rotational programming' refer to bringing in management\/others on rotation to address the same staffing challenge, but are distinct from co-sourcing. (b) peer review is a quality-assurance activity, not a staffing method.\"\r\n  },\r\n\r\n  {\r\n    id: 58,\r\n    chapter: 'CH VI: Quality Assurance',\r\n    question: \"Where Consultants are engaged by the Chief Audit Executive (CAE) to handle internal audit assignments, the responsibility for the quality and timely delivery of the audit lies:\",\r\n    options: [\r\n      \"Only with the CAE\",\r\n      \"Jointly with the CAE and the Consultants\",\r\n      \"Only with the Consultants\",\r\n      \"With the Audit Committee\"\r\n    ],\r\n    correct: 0,\r\n    explanation: \"<b>Option (a) is correct \u2014 Chapter VI, engagement of consultants.<\/b><br>Consultants work under the overall control of the CAE, and responsibility for the quality and timely delivery of the audit lies <b>only with the CAE<\/b> \u2014 accountability is non-delegable.<br><br>(b) wrongly splits the responsibility; (c) wrongly shifts it entirely to the consultant; (d) misattributes it to the Committee. The CAE also assesses consultants' competency, independence and objectivity (experience, education, training, membership).\"\r\n  },\r\n\r\n  {\r\n    id: 59,\r\n    chapter: 'CH VI: Quality Assurance',\r\n    question: \"Which one of the following is NOT among the parameters to be considered in deciding the staffing requirements of Internal Audit Wings?\",\r\n    options: [\r\n      \"The number of paragraphs pending in the Reports of the Comptroller and Auditor General relating to the Ministry\",\r\n      \"The number of audit units and the number of employees in each audit unit\",\r\n      \"The budget of each audit unit and the inherent risks in the functioning of each audit unit\",\r\n      \"The time required for report writing and the time reserved for training and continuous professional education\"\r\n    ],\r\n    correct: 0,\r\n    explanation: \"<b>Option (a) is NOT a staffing parameter \u2014 Chapter VI, staffing of internal audit.<\/b><br>The listed parameters are the number of audit units; employees in each unit; budget of each unit; inherent risks; time to complete an engagement (including travel); time for report writing; time for training\/CPE; and leave. Pendency of C&amp;AG paragraphs is <b>not<\/b> among them.<br><br>(b), (c) and (d) all list genuine parameters. C&amp;AG\/statutory observations guide the risk assessment and work programme \u2014 not the staff-strength calculation.\"\r\n  },\r\n\r\n  {\r\n    id: 60,\r\n    chapter: 'CH VI: Quality Assurance',\r\n    question: \"Among the principles of conduct prescribed for Internal Auditors, the requirement to engage only in those services for which they have the necessary knowledge, skills and experience falls under:\",\r\n    options: [\r\n      \"Competency\",\r\n      \"Integrity\",\r\n      \"Objectivity\",\r\n      \"Confidentiality\"\r\n    ],\r\n    correct: 0,\r\n    explanation: \"<b>Option (a) is correct \u2014 Chapter VI, principles of conduct.<\/b><br><b>Competency<\/b> requires auditors to engage only in services for which they have the necessary knowledge, skills and experience, and to continuously improve their proficiency and quality.<br><br>(b) <b>Integrity<\/b> establishes trust; (c) <b>Objectivity<\/b> requires impartial assessment and not accepting anything that may influence judgement; (d) <b>Confidentiality<\/b> concerns respecting the value and ownership of information received.\"\r\n  },\r\n\r\n  {\r\n    id: 61,\r\n    chapter: 'CH VI: Quality Assurance',\r\n    question: \"Under the principle of Confidentiality, internal auditors should not disclose information received during the course of their duties:\",\r\n    options: [\r\n      \"Without appropriate authority, unless there is a legal or professional obligation to do so\",\r\n      \"Under any circumstances whatsoever, including where a legal obligation exists\",\r\n      \"Except where they personally consider disclosure to be in the public interest\",\r\n      \"Except to representatives of the press and media\"\r\n    ],\r\n    correct: 0,\r\n    explanation: \"<b>Option (a) is correct \u2014 Chapter VI, principle of Confidentiality.<\/b><br>Auditors should not disclose information <b>without appropriate authority, unless there is a legal or professional obligation<\/b> to do so.<br><br>(b) wrongly makes the bar absolute and omits the legal\/professional-obligation carve-out. (c) and (d) invent grounds for disclosure the text does not permit. The carve-out is the key testable element here.\"\r\n  },\r\n\r\n  {\r\n    id: 62,\r\n    chapter: 'CH VI: Quality Assurance',\r\n    question: \"Consider the following statements regarding the interface of Internal Audit with Statutory Audit:\\n1. The Audit Committee constituted in the Ministry should undertake the review of statutory audit observations as well.\\n2. The Internal Audit Wing should maintain a DDO-wise count of outstanding objections included in the Test Audit Notes issued by Statutory Audit officers and monitor the progress towards their settlement.\\n3. The observations made by statutory and internal audits should guide the risk assessment process and the development of the work programme for internal audit.\\nWhich of the statements given above are correct?\",\r\n    options: [\r\n      \"1, 2 and 3\",\r\n      \"1 and 2 only\",\r\n      \"2 and 3 only\",\r\n      \"1 and 3 only\"\r\n    ],\r\n    correct: 0,\r\n    explanation: \"<b>Option (a) is correct \u2014 Chapter VI, interface with statutory audit.<\/b><br>Statement 1 \u2713 \u2014 the Audit Committee also reviews statutory audit observations.<br>Statement 2 \u2713 \u2014 the IAW maintains a <b>DDO-wise count<\/b> of outstanding objections in the Test Audit Notes and monitors settlement.<br>Statement 3 \u2713 \u2014 both audits' observations guide the risk assessment and the internal audit work programme.<br><br>All three are correct; internal and statutory audit are to complement each other.\"\r\n  },\r\n\r\n  {\r\n    id: 63,\r\n    chapter: 'CH VI: Quality Assurance',\r\n    question: \"A Ministry identifies a risk, applies control activities to it, and a part of the risk still remains, which it decides to tolerate because the cost of eliminating it would be very high. The risk that remains after the risk management process has been applied is known as:\",\r\n    options: [\r\n      \"Residual risk\",\r\n      \"Inherent risk\",\r\n      \"Transferred risk\",\r\n      \"Acceptable risk\"\r\n    ],\r\n    correct: 0,\r\n    explanation: \"<b>Option (a) is correct \u2014 Chapter VI Glossary \/ Chapter II.<\/b><br><b>Residual risk<\/b> is the portion of inherent risk that remains after management executes its risk management process; management may tolerate it, especially where the cost to eliminate it is very high and it is within acceptable limits.<br><br>(b) <b>Inherent risk<\/b> is the risk before the process is applied, not what remains. (c) <b>Transferred risk<\/b> would apply if, say, insurance had been taken. (d) <b>Acceptable risk<\/b> is the decision to tolerate the residual risk, not a name for the remaining portion itself.\"\r\n  },\r\n\r\n  {\r\n    id: 64,\r\n    chapter: 'CH VI: Quality Assurance',\r\n    question: \"An internal control system and an internal audit, however well designed, are said to provide only 'reasonable assurance' and not a guarantee regarding achievement of objectives. The best explanation for this is that reasonable assurance is:\",\r\n    options: [\r\n      \"A level of assurance supported by generally accepted auditing procedure and judgments, and therefore not absolute\",\r\n      \"Assurance provided only after the Comptroller and Auditor General has certified the accounts\",\r\n      \"Assurance confined to compliance with laws and not extending to operations\",\r\n      \"Assurance limited to the high-value transactions selected for audit\"\r\n    ],\r\n    correct: 0,\r\n    explanation: \"<b>Option (a) is correct \u2014 Chapter VI Glossary \/ Chapter II.<\/b><br><b>Reasonable assurance<\/b> is a level of assurance supported by generally accepted auditing procedure and judgments \u2014 being a matter of procedure and judgment, it stops short of an absolute guarantee, which is why internal control provides 'reasonable', not absolute, assurance.<br><br>(b) misattributes the limitation to C&amp;AG certification. (c) wrongly narrows it to one class of objective. (d) wrongly ties it to selected transactions.\"\r\n  }\r\n\r\n];\r\n\r\n\/\/ export default mcqs; \/\/ uncomment if using as an ES module];\r\n\r\n\/\/ export default mcqs; \/\/ uncomment if using as an ES module];\r\n\r\n\/\/ ==========================================\r\n\/\/ STATE\r\n\/\/ ==========================================\r\nlet initDone = false;\r\nlet currentMode = 'all';\r\nlet currentFilter = null;\r\nlet filteredQuestions = [...allQuestions];\r\nlet currentQuestionIndex = 0;\r\nlet selectedOption = null;\r\nlet answerChecked = false;\r\nlet sessionStats = { attempted: 0, correct: 0, incorrect: 0 };\r\nlet sessionStartTs = Date.now();\r\nlet sessionAnswers = {};\r\nlet progress = { questionStats: {}, weakAreas: [], lastQuestionId: null, lastMode: 'all', lastFilter: null, attemptLog: [] };\r\n\r\nconst $id = (x) => document.getElementById(x);\r\nconst CHAPTERS = [...new Set(allQuestions.map(q => q.chapter))];\r\n\/\/ Case-insensitive helpers: work for \"Ch 1:\", \"CH 1:\", \"ch 1:\" alike.\r\nconst chShort = (c) => c.replace(\/^CH\\s*(\\d+):.*$\/i, 'CH $1').replace('ANNEXURE\/Appendices', 'Annexures');\r\nconst chFull = (c) => { const m = c.match(\/^CH\\s*\\d+:\\s*(.+)$\/i); return m ? m[1] : c; };\r\n\/\/ One label, printed once (avoids the \"name: name\" doubling bug).\r\nconst chLabel = (c) => \/^CH\\s*\\d+:\/i.test(c) ? (chShort(c) + ': ' + chFull(c)) : c;\r\n\r\n\/\/ ==========================================\r\n\/\/ PERSISTENCE (localStorage)\r\n\/\/ ==========================================\r\nfunction loadProgress() {\r\n    try {\r\n        const saved = localStorage.getItem('quiz_progress_' + quizConfig.quizId);\r\n        if (saved) {\r\n            const p = JSON.parse(saved);\r\n            progress = Object.assign(progress, p);\r\n            if (!progress.questionStats) progress.questionStats = {};\r\n            if (!Array.isArray(progress.weakAreas)) progress.weakAreas = [];\r\n            if (!Array.isArray(progress.attemptLog)) progress.attemptLog = [];\r\n        }\r\n    } catch (e) { console.warn('Progress load failed', e); }\r\n}\r\nfunction saveProgress() {\r\n    try {\r\n        if (progress.attemptLog.length > 500) progress.attemptLog = progress.attemptLog.slice(-500);\r\n        localStorage.setItem('quiz_progress_' + quizConfig.quizId, JSON.stringify(progress));\r\n    } catch (e) { console.warn('Progress save failed', e); }\r\n}\r\nfunction getQStat(qid) {\r\n    if (!progress.questionStats[qid]) progress.questionStats[qid] = { correct: 0, incorrect: 0, lastAttempt: null, lastCorrect: null };\r\n    return progress.questionStats[qid];\r\n}\r\n\r\n\/\/ ==========================================\r\n\/\/ TOAST\r\n\/\/ ==========================================\r\nlet toastTimer = null;\r\nfunction showToast(msg, type) {\r\n    const t = $id('warningToast');\r\n    $id('toastMessage').textContent = msg;\r\n    t.classList.toggle('success', type === 'success');\r\n    t.classList.add('show');\r\n    clearTimeout(toastTimer);\r\n    toastTimer = setTimeout(() => t.classList.remove('show'), 2600);\r\n}\r\n\r\n\/\/ ==========================================\r\n\/\/ TAB NAVIGATION\r\n\/\/ ==========================================\r\nfunction switchView(view) {\r\n    document.querySelectorAll('.cwq-portal .gp-tab').forEach(b => b.classList.toggle('active', b.dataset.view === view));\r\n    document.querySelectorAll('.cwq-portal .gp-view').forEach(v => v.classList.toggle('active', v.id === 'view-' + view));\r\n    if (view === 'performance') renderAI();\r\n}\r\n\r\n\/\/ ==========================================\r\n\/\/ MODE \/ FILTERS\r\n\/\/ ==========================================\r\nfunction setMode(mode, filter) {\r\n    currentMode = mode;\r\n    currentFilter = filter || null;\r\n    document.querySelectorAll('.cwq-portal .mode-tab').forEach(t => t.classList.toggle('active', t.dataset.mode === mode));\r\n    $id('chapterFilterCard').style.display = (mode === 'chapter') ? '' : 'none';\r\n    $id('weakAreasCard').style.display = (mode === 'weak') ? '' : 'none';\r\n    applyFilters();\r\n    progress.lastMode = mode; progress.lastFilter = currentFilter; saveProgress();\r\n}\r\nfunction applyFilters() {\r\n    if (currentMode === 'all') filteredQuestions = [...allQuestions];\r\n    else if (currentMode === 'chapter') filteredQuestions = currentFilter ? allQuestions.filter(q => q.chapter === currentFilter) : [...allQuestions];\r\n    else if (currentMode === 'weak') {\r\n        filteredQuestions = allQuestions.filter(q => progress.weakAreas.includes(q.id));\r\n        if (!filteredQuestions.length) { showToast('No weak areas yet \u2014 great going!', 'success'); filteredQuestions = [...allQuestions]; setMode('all'); return; }\r\n    }\r\n    currentQuestionIndex = 0;\r\n    sessionStats = { attempted: 0, correct: 0, incorrect: 0 };\r\n    sessionStartTs = Date.now();\r\n    sessionAnswers = {};\r\n    renderFilters(); renderGrid(); loadQuestion(); updateStats();\r\n}\r\nfunction renderFilters() {\r\n    $id('chapterList').innerHTML = CHAPTERS.map(c => {\r\n        const n = allQuestions.filter(q => q.chapter === c).length;\r\n        return '<div class=\"filter-item' + (currentMode === 'chapter' && currentFilter === c ? ' active' : '') + '\" data-chapter=\"' + encodeURIComponent(c) + '\" title=\"' + c + '\"><span class=\"filter-text\">' + chLabel(c) + '<\/span><span class=\"filter-count\">' + n + '<\/span><\/div>';\r\n    }).join('');\r\n    renderWeakList();\r\n}\r\nfunction renderWeakList() {\r\n    const list = $id('weakQuestionList');\r\n    const weak = allQuestions.filter(q => progress.weakAreas.includes(q.id));\r\n    list.innerHTML = weak.length ? weak.map(q => {\r\n        const s = getQStat(q.id);\r\n        return '<div class=\"weak-question-item\" data-goto=\"' + q.id + '\"><span class=\"q-num\">Q' + q.id + '<\/span><span class=\"q-text\">' + q.question.replace(\/<br\\s*\\\/?>|\\n\/gi, ' ').substring(0, 60) + '\u2026<\/span><span class=\"wrong-count\">' + s.incorrect + '\u2717<\/span><\/div>';\r\n    }).join('') : '<p style=\"font-size:12.5px;color:var(--mut);text-align:center;padding:14px 4px;\">No weak areas. Keep practising!<\/p>';\r\n}\r\n\r\n\/\/ ==========================================\r\n\/\/ QUESTION RENDERING\r\n\/\/ ==========================================\r\nfunction loadQuestion() {\r\n    const q = filteredQuestions[currentQuestionIndex];\r\n    if (!q) {\r\n        $id('questionText').innerHTML = '<b>No questions loaded yet.<\/b> Paste your question bank into the <code>allQuestions<\/code> array in this file (format documented at the array) and reload.';\r\n        $id('optionsList').innerHTML = '';\r\n        $id('questionNumber').textContent = 'Question 0 of 0';\r\n        return;\r\n    }\r\n    selectedOption = null; answerChecked = false;\r\n    $id('questionNumber').textContent = 'Question ' + (currentQuestionIndex + 1) + ' of ' + filteredQuestions.length;\r\n    $id('currentQuestionChapter').textContent = chLabel(q.chapter);\r\n    $id('weakBadge').style.display = progress.weakAreas.includes(q.id) ? '' : 'none';\r\n    $id('questionText').innerHTML = formatQuestion(q);\r\n    $id('explanationBox').classList.remove('show');\r\n    renderOptions(q);\r\n    renderMastery(q);\r\n    const prior = sessionAnswers[q.id];\r\n    if (prior !== undefined) revealAnswer(q, prior, true);\r\n    $id('prevBtn').disabled = currentQuestionIndex === 0;\r\n    $id('nextBtn').disabled = currentQuestionIndex === filteredQuestions.length - 1;\r\n    $id('checkBtn').disabled = prior !== undefined;\r\n    renderGrid();\r\n    progress.lastQuestionId = q.id; saveProgress();\r\n    if (initDone && window.innerWidth <= 900) {\r\n        const p = document.querySelector('.cwq-portal .question-panel');\r\n        if (p) p.scrollIntoView({ behavior: 'smooth', block: 'start' });\r\n    }\r\n}\r\n\/\/ UPSC exam-paper formatting: numbered statements get their own spaced rows,\r\n\/\/ the \"Select the correct answer \/ Which of the above\" lead sits on its own line.\r\n\/\/ Splits on BOTH \"\\n\" and \"<br>\" so either style works in pasted data.\r\nfunction formatQuestion(q) {\r\n    const parts = q.question.split(\/<br\\s*\\\/?>|\\n\/i);\r\n    let html = '<span class=\"q-stem\"><b>Q' + q.id + '.<\/b> ' + (parts[0] || '') + '<\/span>';\r\n    for (let i = 1; i < parts.length; i++) {\r\n        const seg = parts[i].trim();\r\n        if (!seg) continue;\r\n        const m = seg.match(\/^(\\d+)\\.\\s*(.*)$\/s);\r\n        if (m) html += '<span class=\"q-stmt\"><span class=\"sn\">' + m[1] + '.<\/span><span>' + m[2] + '<\/span><\/span>';\r\n        else if (\/^(select the correct|which of the (above|following|statements)|choose the correct|consider the following|statement)\/i.test(seg))\r\n            html += '<span class=\"q-lead\">' + seg + '<\/span>';\r\n        else html += '<span class=\"q-lead\" style=\"font-style:normal\">' + seg + '<\/span>';\r\n    }\r\n    return html;\r\n}\r\nfunction renderOptions(q) {\r\n    $id('optionsList').innerHTML = q.options.map((opt, i) =>\r\n        '<div class=\"option-item\" data-opt=\"' + i + '\"><span class=\"option-letter\">(' + String.fromCharCode(97 + i) + ')<\/span><span class=\"option-text\">' + opt + '<\/span><i class=\"option-icon\" style=\"margin-top:4px\"><\/i><\/div>'\r\n    ).join('');\r\n}\r\nfunction renderMastery(q) {\r\n    const s = getQStat(q.id);\r\n    const mi = $id('masteryIndicator');\r\n    if (s.correct + s.incorrect === 0) { mi.classList.remove('show'); return; }\r\n    mi.classList.add('show');\r\n    const stars = $id('masteryStars').querySelectorAll('i');\r\n    stars.forEach((st, i) => st.classList.toggle('filled', i < Math.min(s.correct, 5)));\r\n}\r\nfunction checkAnswer() {\r\n    if (answerChecked || selectedOption === null) { if (selectedOption === null) showToast('Select an option first'); return; }\r\n    const q = filteredQuestions[currentQuestionIndex];\r\n    const isCorrect = selectedOption === q.correct;\r\n    sessionAnswers[q.id] = selectedOption;\r\n    sessionStats.attempted++; isCorrect ? sessionStats.correct++ : sessionStats.incorrect++;\r\n    updateQuestionStats(q, isCorrect);\r\n    revealAnswer(q, selectedOption, false);\r\n    updateStats(); renderGrid(); renderWeakList(); updateHeader();\r\n}\r\nfunction revealAnswer(q, chosen, restoring) {\r\n    answerChecked = true;\r\n    const items = $id('optionsList').querySelectorAll('.option-item');\r\n    items.forEach((it, i) => {\r\n        it.classList.add('disabled');\r\n        if (i === q.correct) { it.classList.add('correct'); const oi = it.querySelector('.option-icon'); oi.textContent = '\\u2713'; oi.style.fontStyle = 'normal'; }\r\n        else if (i === chosen) { it.classList.add('incorrect'); const oj = it.querySelector('.option-icon'); oj.textContent = '\\u2717'; oj.style.fontStyle = 'normal'; }\r\n    });\r\n    $id('explanationText').innerHTML = q.explanation;\r\n    $id('explanationBox').classList.add('show');\r\n    $id('checkBtn').disabled = true;\r\n    renderMastery(q);\r\n    if (!restoring) showToast(chosen === q.correct ? 'Correct! Well done.' : 'Incorrect \u2014 read the explanation.', chosen === q.correct ? 'success' : '');\r\n}\r\nfunction updateQuestionStats(q, isCorrect) {\r\n    const s = getQStat(q.id);\r\n    isCorrect ? s.correct++ : s.incorrect++;\r\n    s.lastAttempt = Date.now(); s.lastCorrect = isCorrect;\r\n    progress.attemptLog.push({ qid: q.id, correct: isCorrect, ts: Date.now() });\r\n    const isWeak = progress.weakAreas.includes(q.id);\r\n    if (!isCorrect && s.incorrect >= quizConfig.weakThreshold && !isWeak) progress.weakAreas.push(q.id);\r\n    if (isCorrect && isWeak && s.correct >= quizConfig.masteryThreshold) progress.weakAreas = progress.weakAreas.filter(id => id !== q.id);\r\n    saveProgress();\r\n}\r\n\r\n\/\/ ==========================================\r\n\/\/ GRID + STATS\r\n\/\/ ==========================================\r\nfunction renderGrid() {\r\n    $id('questionGrid').innerHTML = filteredQuestions.map((q, i) => {\r\n        let cls = 'unattempted';\r\n        const ans = sessionAnswers[q.id];\r\n        if (ans !== undefined) cls = (ans === q.correct) ? 'correct-answered' : 'incorrect-answered';\r\n        else { const s = progress.questionStats[q.id]; if (s && (s.correct + s.incorrect) > 0) cls = 'attempted'; }\r\n        if (i === currentQuestionIndex) cls = 'current';\r\n        const weak = progress.weakAreas.includes(q.id) ? ' weak-marked' : '';\r\n        return '<div class=\"grid-item ' + cls + weak + '\" data-idx=\"' + i + '\" title=\"Q' + q.id + '\">' + (i + 1) + '<\/div>';\r\n    }).join('');\r\n}\r\nfunction masteredCount() { return allQuestions.filter(q => { const s = progress.questionStats[q.id]; return s && s.correct >= quizConfig.masteryThreshold; }).length; }\r\nfunction updateStats() {\r\n    $id('totalQuestions').textContent = filteredQuestions.length;\r\n    $id('attemptedCount').textContent = sessionStats.attempted;\r\n    $id('correctCount').textContent = sessionStats.correct;\r\n    $id('incorrectCount').textContent = sessionStats.incorrect;\r\n    const mastered = masteredCount();\r\n    const pct = allQuestions.length ? Math.round(mastered \/ allQuestions.length * 100) : 0;\r\n    $id('progressPercentage').textContent = pct + '%';\r\n    $id('progressRingFill').style.strokeDashoffset = 264 - (264 * pct \/ 100);\r\n    $id('totalCorrectProgress').textContent = Object.values(progress.questionStats).reduce((a, s) => a + s.correct, 0);\r\n    $id('totalWeakProgress').textContent = progress.weakAreas.length;\r\n    $id('allCount').textContent = allQuestions.length;\r\n    $id('weakModeCount').textContent = progress.weakAreas.length;\r\n}\r\nfunction updateHeader() {\r\n    $id('hdrTotalQ').textContent = allQuestions.length;\r\n    $id('hdrChapters').textContent = CHAPTERS.length;\r\n    const pct = allQuestions.length ? Math.round(masteredCount() \/ allQuestions.length * 100) : 0;\r\n    $id('hdrMastered').textContent = pct + '%';\r\n    const w = progress.weakAreas.length;\r\n    $id('weakBadgeHeader').style.display = w ? '' : 'none';\r\n    $id('weakCountHeader').textContent = w;\r\n    const r = computeReadiness();\r\n    $id('hdrReadiness').textContent = r.attempted ? r.score + '%' : '\u2014';\r\n    $id('perfPill').style.display = w >= 5 ? '' : 'none';\r\n}\r\n\r\n\/\/ ==========================================\r\n\/\/ SUBMIT \/ RESULT \/ RESETS\r\n\/\/ ==========================================\r\nfunction submitExam() {\r\n    if (!sessionStats.attempted) { showToast('Attempt at least one question first'); return; }\r\n    const pct = Math.round(sessionStats.correct \/ sessionStats.attempted * 100);\r\n    $id('resultCorrect').textContent = sessionStats.correct;\r\n    $id('resultIncorrect').textContent = sessionStats.incorrect;\r\n    $id('resultScore').textContent = pct + '%';\r\n    $id('resultIcon').textContent = pct >= 80 ? '\ud83c\udfc6' : pct >= 60 ? '\ud83c\udf89' : pct >= 40 ? '\ud83d\udcd6' : '\ud83d\udcaa';\r\n    $id('resultTitle').textContent = pct >= 80 ? 'Outstanding!' : pct >= 60 ? 'Great Job!' : pct >= 40 ? 'Keep Practising!' : 'Needs Revision';\r\n    $id('resultMessage').textContent = 'You attempted ' + sessionStats.attempted + ' of ' + filteredQuestions.length + ' questions in this session.';\r\n    $id('practiceWeakBtn').style.display = progress.weakAreas.length ? '' : 'none';\r\n    $id('resultModal').classList.add('show');\r\n}\r\nfunction reviewAnswers() { $id('resultModal').classList.remove('show'); currentQuestionIndex = 0; loadQuestion(); }\r\nfunction retryQuiz() { $id('resultModal').classList.remove('show'); sessionStats = { attempted: 0, correct: 0, incorrect: 0 }; sessionAnswers = {}; currentQuestionIndex = 0; loadQuestion(); updateStats(); }\r\n\/\/ SESSION RESET (Practice tab): clears ONLY this session's answers\/score.\r\n\/\/ Lifetime performance (mastery, weak areas, attempt history) is preserved.\r\nfunction resetSession() {\r\n    if (!confirm('Reset this session? Only the current answers and session score are cleared \u2014 your lifetime performance and mastery are kept.')) return;\r\n    sessionStats = { attempted: 0, correct: 0, incorrect: 0 };\r\n    sessionAnswers = {};\r\n    sessionStartTs = Date.now();\r\n    currentQuestionIndex = 0;\r\n    loadQuestion(); updateStats(); renderGrid();\r\n    showToast('Session reset \u2014 performance data kept', 'success');\r\n}\r\n\/\/ PERFORMANCE RESET (My Performance tab): wipes lifetime data after confirm.\r\nfunction resetPerformance() {\r\n    if (!confirm('Permanently erase ALL lifetime performance for this quiz?\\n\\nThis clears mastery stars, weak areas, accuracy history and the readiness score. This cannot be undone.')) return;\r\n    progress = { questionStats: {}, weakAreas: [], lastQuestionId: null, lastMode: 'all', lastFilter: null, attemptLog: [] };\r\n    saveProgress();\r\n    sessionStats = { attempted: 0, correct: 0, incorrect: 0 };\r\n    sessionAnswers = {};\r\n    sessionStartTs = Date.now();\r\n    setMode('all');\r\n    updateHeader();\r\n    renderAI();\r\n    showToast('Lifetime performance erased', 'success');\r\n}\r\n\r\n\/\/ ==========================================\r\n\/\/ TAB 2 \u2014 AI COACH ENGINE (rule-based, client-side)\r\n\/\/ Chapter weight = chapter's share of the question bank\r\n\/\/ ==========================================\r\nfunction chapterCounts() {\r\n    const map = {};\r\n    allQuestions.forEach(q => { map[q.chapter] = (map[q.chapter] || 0) + 1; });\r\n    return Object.entries(map).sort((a, b) => b[1] - a[1]);\r\n}\r\nfunction chapterStats() {\r\n    const total = allQuestions.length;\r\n    return chapterCounts().map(([c, n]) => {\r\n        const qs = allQuestions.filter(q => q.chapter === c);\r\n        let attempted = 0, correct = 0, incorrect = 0, scoreSum = 0;\r\n        qs.forEach(q => {\r\n            const s = progress.questionStats[q.id];\r\n            if (s && (s.correct + s.incorrect) > 0) { attempted++; correct += s.correct; incorrect += s.incorrect; }\r\n            scoreSum += s ? Math.min(s.correct \/ quizConfig.masteryThreshold, 1) : 0;\r\n        });\r\n        const acc = (correct + incorrect) ? correct \/ (correct + incorrect) : null;\r\n        const weight = n \/ total;\r\n        const coverage = attempted \/ n;\r\n        const mastery = scoreSum \/ n;\r\n        const priority = weight * (acc === null ? 0.85 : (1 - acc)) * (0.5 + 0.5 * (1 - coverage));\r\n        return { chapter: c, count: n, weight, attempted, coverage, acc, mastery, priority };\r\n    });\r\n}\r\nfunction computeReadiness() {\r\n    const stats = chapterStats();\r\n    const score = Math.round(stats.reduce((a, s) => a + s.weight * s.mastery, 0) * 100);\r\n    const attempted = Object.values(progress.questionStats).some(s => (s.correct + s.incorrect) > 0);\r\n    return { score, attempted, stats };\r\n}\r\nfunction renderAI() {\r\n    if (!allQuestions.length) {\r\n        $id('aiEmptyState').style.display = '';\r\n        $id('aiContent').style.display = 'none';\r\n        return;\r\n    }\r\n    const { score, attempted, stats } = computeReadiness();\r\n    $id('aiEmptyState').style.display = attempted ? 'none' : '';\r\n    $id('aiContent').style.display = attempted ? '' : 'none';\r\n    if (!attempted) return;\r\n\r\n    \/\/ Readiness ring\r\n    $id('aiScore').textContent = score;\r\n    $id('aiRingFill').style.strokeDashoffset = 402 - (402 * score \/ 100);\r\n    const verdict = score >= 80 ? '<b>Exam-ready.<\/b> Maintain with the revision queue and weak-area drills.'\r\n        : score >= 60 ? '<b>Strong base.<\/b> Close the gaps in your top-weight chapters to cross 80.'\r\n        : score >= 35 ? '<b>Building up.<\/b> Focus on the priority chapters below \u2014 they move your score fastest.'\r\n        : '<b>Early stage.<\/b> Start with the highest-weight chapters; every mastered question compounds.';\r\n    $id('aiVerdict').innerHTML = verdict + '<br><span style=\"font-size:11.8px;opacity:.8\">Score = \u03a3 (chapter weight \u00d7 your mastery), computed across ' + CHAPTERS.length + ' chapters of the bank.<\/span>';\r\n\r\n    \/\/ KPIs\r\n    const totalAttempted = allQuestions.filter(q => { const s = progress.questionStats[q.id]; return s && (s.correct + s.incorrect) > 0; }).length;\r\n    const allC = Object.values(progress.questionStats).reduce((a, s) => a + s.correct, 0);\r\n    const allI = Object.values(progress.questionStats).reduce((a, s) => a + s.incorrect, 0);\r\n    const accAll = (allC + allI) ? Math.round(allC \/ (allC + allI) * 100) : 0;\r\n    const recent = progress.attemptLog.slice(-20);\r\n    const accRecent = recent.length ? Math.round(recent.filter(a => a.correct).length \/ recent.length * 100) : 0;\r\n    const trendArrow = recent.length >= 5 ? (accRecent > accAll ? ' <span style=\"color:var(--green)\">\\u2197<\/span>' : accRecent < accAll ? ' <span style=\"color:var(--red)\">\\u2198<\/span>' : '') : '';\r\n    $id('aiKpis').innerHTML =\r\n        '<div class=\"ai-kpi\"><div class=\"n\">' + totalAttempted + '\/' + allQuestions.length + '<\/div><div class=\"l\">Coverage<\/div><\/div>' +\r\n        '<div class=\"ai-kpi\"><div class=\"n ' + (accAll >= 70 ? 'g' : accAll >= 45 ? 'a' : 'r') + '\">' + accAll + '%<\/div><div class=\"l\">Lifetime Accuracy<\/div><\/div>' +\r\n        '<div class=\"ai-kpi\"><div class=\"n ' + (accRecent >= 70 ? 'g' : accRecent >= 45 ? 'a' : 'r') + '\">' + accRecent + '%' + trendArrow + '<\/div><div class=\"l\">Last 20 Attempts<\/div><\/div>' +\r\n        '<div class=\"ai-kpi\"><div class=\"n g\">' + masteredCount() + '<\/div><div class=\"l\">Mastered (' + quizConfig.masteryThreshold + '\u2605)<\/div><\/div>' +\r\n        '<div class=\"ai-kpi\"><div class=\"n r\">' + progress.weakAreas.length + '<\/div><div class=\"l\">Weak Questions<\/div><\/div>';\r\n\r\n    \/\/ Smart study plan\r\n    const byPriority = [...stats].sort((a, b) => b.priority - a.priority);\r\n    const recos = [];\r\n    byPriority.slice(0, 3).forEach(s => {\r\n        if (s.acc === null) recos.push({ ic: 'warm', icon: '\ud83e\udded', txt: '<b>' + chShort(s.chapter) + '<\/b> carries <b>' + Math.round(s.weight * 100) + '%<\/b> of the bank but you haven\\u2019t attempted it yet \u2014 begin here.', ch: s.chapter });\r\n        else if (s.acc < 0.6) recos.push({ ic: 'hot', icon: '\ud83d\udd25', txt: '<b>' + chShort(s.chapter) + '<\/b>: chapter weight <b>' + Math.round(s.weight * 100) + '%<\/b>, your accuracy only <b>' + Math.round(s.acc * 100) + '%<\/b> \u2014 highest payoff zone right now.', ch: s.chapter });\r\n        else if (s.coverage < 0.6) recos.push({ ic: 'cool', icon: '\ud83d\udd0d', txt: '<b>' + chShort(s.chapter) + '<\/b>: accuracy is fine (' + Math.round(s.acc * 100) + '%) but you\\u2019ve only covered <b>' + Math.round(s.coverage * 100) + '%<\/b> of its questions \u2014 finish the set.', ch: s.chapter });\r\n    });\r\n    if (progress.weakAreas.length >= 3) recos.push({ ic: 'hot', icon: '\u26a0\ufe0f', txt: 'You have <b>' + progress.weakAreas.length + ' weak questions<\/b> flagged. One focused Weak-Areas session will clear the backlog.', weak: true });\r\n    const due = revisionDue();\r\n    if (due.length) recos.push({ ic: 'warm', icon: '\ud83d\udd01', txt: '<b>' + due.length + ' mastered questions<\/b> haven\\u2019t been touched in over ' + quizConfig.revisionGapDays + ' days \u2014 revise before they fade.' });\r\n    const best = [...stats].filter(s => s.acc !== null).sort((a, b) => b.acc - a.acc)[0];\r\n    if (best && best.acc >= 0.75) recos.push({ ic: 'good', icon: '\ud83c\udfc5', txt: 'Strongest area: <b>' + chShort(best.chapter) + '<\/b> at <b>' + Math.round(best.acc * 100) + '%<\/b> accuracy \u2014 bank these marks on exam day.' });\r\n    $id('aiRecoList').innerHTML = recos.map(r =>\r\n        '<div class=\"ai-reco\"><span class=\"ic ' + r.ic + '\">' + r.icon + '<\/span><p>' + r.txt + '<\/p>' +\r\n        (r.ch ? '<button class=\"go\" data-practice-ch=\"' + encodeURIComponent(r.ch) + '\">Practice \\u2192<\/button>' : r.weak ? '<button class=\"go\" data-practice-weak=\"1\">Start \\u2192<\/button>' : '') + '<\/div>'\r\n    ).join('');\r\n\r\n    \/\/ Performance table\r\n    $id('perfTableBody').innerHTML = byPriority.map(s => {\r\n        const accPct = s.acc === null ? null : Math.round(s.acc * 100);\r\n        const tag = s.acc === null ? '<span class=\"tag na\">Not started<\/span>'\r\n            : accPct < 45 ? '<span class=\"tag hot\">Critical<\/span>'\r\n            : accPct < 65 ? '<span class=\"tag warm\">Needs work<\/span>'\r\n            : accPct < 85 ? '<span class=\"tag ok\">On track<\/span>'\r\n            : '<span class=\"tag good\">Strong<\/span>';\r\n        const accBar = s.acc === null ? '\u2014' : '<div class=\"mini-track\"><div class=\"mini-fill\" style=\"width:' + accPct + '%;background:' + (accPct < 45 ? 'var(--red)' : accPct < 65 ? 'var(--amber)' : 'var(--green)') + '\"><\/div><\/div><span style=\"font-size:11.5px\">' + accPct + '%<\/span>';\r\n        return '<tr><td title=\"' + s.chapter + '\">' + chLabel(s.chapter) + '<\/td><td><b>' + Math.round(s.weight * 100) + '%<\/b> <span style=\"color:var(--faint);font-size:11.2px\">(' + s.count + ' Qs)<\/span><\/td><td>' + s.attempted + '\/' + s.count + '<\/td><td>' + accBar + '<\/td><td>' + tag + '<\/td><td><button class=\"mini-go\" data-practice-ch=\"' + encodeURIComponent(s.chapter) + '\">Practice<\/button><\/td><\/tr>';\r\n    }).join('');\r\n\r\n    \/\/ Revision queue\r\n    $id('revisionQueue').innerHTML = due.length ? due.slice(0, 8).map(({ q, days }) =>\r\n        '<div class=\"rev-item\" data-goto=\"' + q.id + '\"><span class=\"q-num\">Q' + q.id + '<\/span><span class=\"q-text\">' + q.question.replace(\/<br\\s*\\\/?>|\\n\/gi, ' ').substring(0, 55) + '\u2026<\/span><span class=\"days\">' + days + 'd ago<\/span><\/div>'\r\n    ).join('') : '<div class=\"ai-empty\" style=\"padding:18px\"><p style=\"font-size:13.3px\">Nothing due for revision. Mastered questions reappear here after ' + quizConfig.revisionGapDays + ' days.<\/p><\/div>';\r\n\r\n    \/\/ Mastery distribution\r\n    const buckets = [0, 0, 0, 0]; \/\/ untouched, learning, close, mastered\r\n    allQuestions.forEach(q => {\r\n        const s = progress.questionStats[q.id];\r\n        if (!s || (s.correct + s.incorrect) === 0) buckets[0]++;\r\n        else if (s.correct >= quizConfig.masteryThreshold) buckets[3]++;\r\n        else if (s.correct >= 2) buckets[2]++;\r\n        else buckets[1]++;\r\n    });\r\n    const labels = ['Untouched', 'Learning (0\u20131\u2605)', 'Almost there (2\u2605)', 'Mastered (' + quizConfig.masteryThreshold + '\u2605+)'];\r\n    const colors = ['#cbd5e1', 'var(--amber)', 'var(--navy-l)', 'var(--green)'];\r\n    $id('masteryDist').innerHTML = buckets.map((n, i) =>\r\n        '<div class=\"bar-row\" style=\"grid-template-columns:minmax(130px,1fr) 2fr auto\"><span class=\"bar-name\">' + labels[i] + '<\/span><div class=\"bar-track\"><div class=\"bar-fill\" style=\"width:' + (allQuestions.length ? n \/ allQuestions.length * 100 : 0) + '%;background:' + colors[i] + '\"><\/div><\/div><span class=\"bar-val\">' + n + '<\/span><\/div>'\r\n    ).join('');\r\n}\r\nfunction revisionDue() {\r\n    const now = Date.now(), gap = quizConfig.revisionGapDays * 86400000;\r\n    return allQuestions.map(q => {\r\n        const s = progress.questionStats[q.id];\r\n        if (s && s.correct >= quizConfig.masteryThreshold && s.lastAttempt && (now - s.lastAttempt) > gap)\r\n            return { q, days: Math.floor((now - s.lastAttempt) \/ 86400000) };\r\n        return null;\r\n    }).filter(Boolean).sort((a, b) => b.days - a.days);\r\n}\r\nfunction gotoQuestion(qid) {\r\n    switchView('practice');\r\n    let idx = filteredQuestions.findIndex(q => q.id === qid);\r\n    if (idx === -1) { setMode('all'); idx = filteredQuestions.findIndex(q => q.id === qid); }\r\n    if (idx !== -1) { currentQuestionIndex = idx; loadQuestion(); }\r\n}\r\nfunction practiceChapter(ch) {\r\n    switchView('practice');\r\n    setMode('chapter', ch);\r\n    showToast('Filtered to ' + chShort(ch), 'success');\r\n}\r\n\r\n\/\/ ==========================================\r\n\/\/ EVENT DELEGATION (single listener)\r\n\/\/ ==========================================\r\ndocument.addEventListener('click', function (e) {\r\n    const w = e.target.closest('.cwq-portal');\r\n    if (!w) return;\r\n    const tab = e.target.closest('.gp-tab'); if (tab) { switchView(tab.dataset.view); return; }\r\n    const mode = e.target.closest('.mode-tab'); if (mode) { setMode(mode.dataset.mode); return; }\r\n    const cf = e.target.closest('.filter-item[data-chapter]'); if (cf) { const c = decodeURIComponent(cf.dataset.chapter); setMode('chapter', currentFilter === c ? null : c); return; }\r\n    const gi = e.target.closest('.grid-item'); if (gi) { currentQuestionIndex = parseInt(gi.dataset.idx, 10); loadQuestion(); return; }\r\n    const go = e.target.closest('[data-goto]'); if (go) { gotoQuestion(parseInt(go.dataset.goto, 10)); return; }\r\n    const pc = e.target.closest('[data-practice-ch]'); if (pc) { practiceChapter(decodeURIComponent(pc.dataset.practiceCh)); return; }\r\n    const pw = e.target.closest('[data-practice-weak]'); if (pw) { switchView('practice'); setMode('weak'); return; }\r\n    const opt = e.target.closest('.option-item'); if (opt && !answerChecked) {\r\n        $id('optionsList').querySelectorAll('.option-item').forEach(o => o.classList.remove('selected'));\r\n        opt.classList.add('selected'); selectedOption = parseInt(opt.dataset.opt, 10); return;\r\n    }\r\n    switch (e.target.closest('button') ? e.target.closest('button').id : '') {\r\n        case 'checkBtn': checkAnswer(); break;\r\n        case 'prevBtn': if (currentQuestionIndex > 0) { currentQuestionIndex--; loadQuestion(); } break;\r\n        case 'nextBtn': if (currentQuestionIndex < filteredQuestions.length - 1) { currentQuestionIndex++; loadQuestion(); } break;\r\n        case 'submitBtn': submitExam(); break;\r\n        case 'resetBtn': resetSession(); break;\r\n        case 'resetPerfBtn': resetPerformance(); break;\r\n        case 'reviewBtn': reviewAnswers(); break;\r\n        case 'retryBtn': retryQuiz(); break;\r\n        case 'practiceWeakBtn': $id('resultModal').classList.remove('show'); setMode('weak'); break;\r\n        case 'practiceWeakAreasBtn': setMode('weak'); break;\r\n        case 'resumeBtn': {\r\n            const qid = progress.lastQuestionId;\r\n            if (progress.lastMode) setMode(progress.lastMode, progress.lastFilter);\r\n            if (qid) gotoQuestion(qid);\r\n            $id('sessionInfo').style.display = 'none';\r\n            break;\r\n        }\r\n    }\r\n});\r\n\r\n\/\/ Screenshot \/ copy deterrents\r\ndocument.addEventListener('contextmenu', function (e) { if (e.target.closest('.cwq-portal')) { e.preventDefault(); showToast('Right-click is disabled to protect content'); } });\r\ndocument.addEventListener('keydown', function (e) {\r\n    if ((e.ctrlKey || e.metaKey) && ['c', 's', 'p', 'u'].includes(e.key.toLowerCase()) && document.querySelector('.cwq-portal')) {\r\n        e.preventDefault(); showToast('Copying is disabled to protect content');\r\n    }\r\n    if (e.key === 'PrintScreen') showToast('Screenshots are discouraged \u2014 content is protected');\r\n});\r\n\r\n\/\/ ==========================================\r\n\/\/ INIT\r\n\/\/ ==========================================\r\ndocument.addEventListener('DOMContentLoaded', function () {\r\n    $id('topicName').textContent = quizConfig.topic;\r\n    $id('topicEyebrow').textContent = 'CSS ADDA \u00b7 PromotionExams.com \u00b7 ' + quizConfig.paper;\r\n    loadProgress();\r\n    renderFilters();\r\n    setMode(progress.lastMode || 'all', progress.lastFilter || null);\r\n    updateHeader();\r\n    if (progress.lastQuestionId) {\r\n        const q = allQuestions.find(x => x.id === progress.lastQuestionId);\r\n        if (q) { $id('sessionInfo').style.display = ''; $id('sessionText').textContent = 'Last session: Q' + q.id + ' (' + chShort(q.chapter) + ')'; }\r\n    }\r\n    initDone = true;\r\n});\r\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>\u26a0\ufe0f Message \ud83c\udf89 Great Job! You have completed the quiz. 0 Correct 0 Incorrect 0% Score \ud83d\udc41 Review \u26a0\ufe0f Practice [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"site-sidebar-layout":"no-sidebar","site-content-layout":"","ast-site-content-layout":"full-width-container","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"disabled","ast-banner-title-visibility":"disabled","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"disabled","footer-sml-layout":"disabled","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"categories":[],"tags":[],"class_list":["post-13574","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/promotionexams.com\/index.php?rest_route=\/wp\/v2\/pages\/13574","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/promotionexams.com\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/promotionexams.com\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/promotionexams.com\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/promotionexams.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=13574"}],"version-history":[{"count":10,"href":"https:\/\/promotionexams.com\/index.php?rest_route=\/wp\/v2\/pages\/13574\/revisions"}],"predecessor-version":[{"id":13588,"href":"https:\/\/promotionexams.com\/index.php?rest_route=\/wp\/v2\/pages\/13574\/revisions\/13588"}],"wp:attachment":[{"href":"https:\/\/promotionexams.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=13574"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/promotionexams.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=13574"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/promotionexams.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=13574"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}