{"id":18097,"date":"2026-10-22T14:49:40","date_gmt":"2026-10-22T14:49:40","guid":{"rendered":"https:\/\/promotionexams.com\/?page_id=18097"},"modified":"2026-10-29T09:15:55","modified_gmt":"2026-10-29T09:15:55","slug":"test-series-cga-aao-cbt","status":"publish","type":"page","link":"https:\/\/promotionexams.com\/?page_id=18097","title":{"rendered":"Test Series- CGA AAO CBT"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"18097\" class=\"elementor elementor-18097\">\n\t\t\t\t<div class=\"elementor-element elementor-element-c446ea9 e-con-full e-flex e-con e-parent\" data-id=\"c446ea9\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-c1711da elementor-widget elementor-widget-html\" data-id=\"c1711da\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n<meta charset=\"UTF-8\">\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n<title>CGA AAO CBT Test Series \u2014 All 5 Papers, Chapter-wise &amp; Live Mocks | PromotionExams<\/title>\n<meta name=\"description\" content=\"CGA AAO CBT test series for all five papers \u2014 GAR 1990, R&amp;P Rules 2022, LMMH, Civil Accounts Manual, Budget Manual, GFR, audit &amp; procurement manuals, plus live mocks.\">\n<meta name=\"keywords\" content=\"CGA AAO CBT test series, AAO exam mock test, Assistant Accounts Officer departmental exam, Government Accounting Rules 1990 MCQ, Receipt and Payment Rules 2022 MCQ, LMMH MCQ, Civil Accounts Manual MCQ, Suspense Manual MCQ, CPWD Works Manual MCQ, Budget Manual MCQ, FRBM Act MCQ, CAG DPC Act MCQ, Internal Audit Manual MCQ, GeM MCQ, Manual for Procurement of Goods MCQ\">\n<meta name=\"author\" content=\"PromotionExams\">\n<meta name=\"robots\" content=\"index, follow, max-image-preview:large\">\n<meta name=\"theme-color\" content=\"#1E3A8A\">\n<link rel=\"canonical\" href=\"https:\/\/promotionexams.com\/test-series\/cga-aao-cbt\/\">\n<meta property=\"og:type\" content=\"website\">\n<meta property=\"og:site_name\" content=\"PromotionExams\">\n<meta property=\"og:locale\" content=\"en_IN\">\n<meta property=\"og:title\" content=\"CGA AAO CBT Test Series \u2014 All Five Papers\">\n<meta property=\"og:description\" content=\"CGA AAO CBT test series for all five papers \u2014 GAR 1990, R&amp;P Rules 2022, LMMH, Civil Accounts Manual, Budget Manual, GFR, audit &amp; procurement manuals, plus live mocks.\">\n<meta property=\"og:url\" content=\"https:\/\/promotionexams.com\/test-series\/cga-aao-cbt\/\">\n<meta property=\"og:image\" content=\"https:\/\/promotionexams.com\/wp-content\/uploads\/2025\/08\/CSS-removebg-preview.png\">\n<meta name=\"twitter:card\" content=\"summary_large_image\">\n<meta name=\"twitter:title\" content=\"CGA AAO CBT Test Series \u2014 All Five Papers | PromotionExams\">\n<meta name=\"twitter:description\" content=\"CGA AAO CBT test series for all five papers \u2014 GAR 1990, R&amp;P Rules 2022, LMMH, Civil Accounts Manual, Budget Manual, GFR, audit &amp; procurement manuals, plus live mocks.\">\n<meta name=\"twitter:image\" content=\"https:\/\/promotionexams.com\/wp-content\/uploads\/2025\/08\/CSS-removebg-preview.png\">\n<link rel=\"preconnect\" href=\"https:\/\/fonts.googleapis.com\">\n<link rel=\"preconnect\" href=\"https:\/\/fonts.gstatic.com\" crossorigin>\n<link rel=\"stylesheet\" href=\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/font-awesome\/6.4.0\/css\/all.min.css\">\n<\/head>\n<body>\n<!-- ===================================================================\n     CGA AAO CBT TEST SERIES \u2014 paste everything between this marker\n     and END OF PASTE BLOCK into an Elementor HTML widget.\n     Scoped to #ts-repo. Elementor: container Content Width = Full Width, padding 0.\n     Sticky site header? set --ts-top in the CSS to its height.\n\n     SEO PLUGIN (Rank Math \/ Yoast) \u2014 the <head> above does not travel with an\n     Elementor widget, so set these on the page itself:\n       Title        CGA AAO CBT Test Series \u2014 All 5 Papers, Chapter-wise & Live Mocks | PromotionExams\n       Description  CGA AAO CBT test series for all five papers \u2014 GAR 1990, R&P Rules 2022, LMMH, Civil Accounts Manual, Budget Manual, GFR, audit & procurement manuals, plus live mocks.\n       Canonical    https:\/\/promotionexams.com\/test-series\/cga-aao-cbt\/\n       Focus terms  CGA AAO CBT test series, AAO exam mock test, Assistant Accounts Officer departmental exam, Government Accounting Rules 1990 MCQ\n     The page's URL must match the canonical above \u2014 change it in catalog.py\n     and rebuild if the page lives somewhere else.\n     =================================================================== -->\n<!-- ====================================================================================================\n     PRODUCT MAP \u2014 CGA AAO CBT (read-only index; edit prices in PE_EDITS \/ PE_BUNDLES at the foot)\n     ====================================================================================================\n       combo-mop                  combo    199\/249    woo 16147   Manual of Office Procedure \u2014 Complete Pack\n       combo-rti                  combo    149\/199    woo 16040   RTI Act, 2005 \u2014 Complete Pack\n       combo-pension              combo    199\/249    woo 16191   CCS (Pension) Rules \u2014 Complete Pack\n       combo-conduct              combo    149\/199    woo 17045   CCS (Conduct) Rules, 1964 \u2014 Complete Pack\n       combo-leave                combo    149\/199    woo 15560   CCS (Leave\/LTC) Rules \u2014 Complete Pack\n       cga-p3-gar                 chapter  199\/249    woo 15503   Government Accounting Rules, 1990\n       cga-p3-rp                  chapter  99\/149     woo 14720   CGA (Receipt & Payment) Rules, 2022\n       cga-p3-rp-si               chapter  179\/249    woo 14856   Subsidiary Instructions on R&P Rules, 2022\n       cga-p3-cam                 chapter  249\/349    woo 17228   Civil Account Manual (CAM)\n       cga-p3-mpw                 chapter  179\/249    woo 14562   Manual for Procurement of Works\n       cga-p3-cpwd                chapter  149\/199    woo 13930   CPWD Works Manual\n       cga-p3-lmmh                chapter  149\/199    woo 14632   List of Major & Minor Heads\n       cga-p3-suspense            chapter  119\/179    woo 13739   Suspense Manual\n       cw-ruaab                   chapter  99\/149     woo 17433   Report on Uniform Format of Accounts for Central Autonomou\n       cw-budget                  chapter  149\/199    woo 14738   Budget Manual & Contingency Fund Rules\n       cga-p4-parl-comm           chapter  99\/149     woo 13687   Lok Sabha Rules, Ch. XXVI \u2014 Parliamentary Committees\n       cga-p4-cag-act             chapter  49\/99      woo 14424   CAG's (DPC) Act, 1971\n       cga-p4-frbm-act            chapter  49\/99      woo 685   FRBM Act & Rules\n       combo-coi-cga              combo    299\/349    woo 14677   Constitution of India \u2014 PYQs + Article-wise\n       combo-gfr                  combo    199\/249    woo 16094   GFR, 2017 \u2014 Complete Pack\n       combo-dfpr                 combo    119\/179    woo 16207   DFPR, 2024 \u2014 Complete Pack\n       cga-p5-mpgoods             chapter  199\/249    woo 17363   Manual of Procurement of Goods, 2024\n       cga-p5-mpconsul            chapter  179\/249    woo 17382   Manual of Procurement of Consultancy Services, 2025\n       cga-p5-mpnonconsul         chapter  179\/249    woo 17383   Manual of Procurement of Non-Consultancy Services, 2025\n       cga-p5-iah                 chapter  129\/199    woo 14839   Internal Audit Handbook\n       cga-p5-giam                chapter  129\/199    woo 13601   Generic Internal Audit Manual\n       cga-p5-opia                chapter  129\/199    woo 14801   Operational Manual for Internal Audit\n       cga-p5-ppmii               chapter  49\/99      woo 17461   Public Procurement (Preference to Make in India) Order, 20\n       cga-p5-egem                chapter  59\/99      woo 17477   e-Procurement System and Government e-Marketplace (GeM)\n     -- bundles ---------------------------------------------------------------------------------------\n       bundle-cga-p3              Rs 799\/1073   woo --none--   Paper III \u2014 Government & Works Accounts  (7 series, separately Rs 1073)\n       bundle-cga-p4              Rs 719\/992    woo --none--   Paper IV \u2014 Constitution, Budget & Financial Administration  (7 series, separately Rs 943)\n       bundle-cga-p5              Rs 299\/387    woo --none--   Paper V \u2014 Internal Audit  (3 series, separately Rs 387)\n       bundle-cga-full            Rs 2099\/3265   woo --none--   Complete 5-Paper Course  (29 series, separately Rs 4281)\n     ==================================================================================================== -->\n<div id=\"ts-repo\" data-exam=\"cga\">\n  <header class=\"ts-hero\">\n    <div class=\"ts-hero__bg\" role=\"img\" aria-label=\"Central Secretariat, New Delhi\"><\/div>\n    <div class=\"ts-hero__inner\">\n      <div class=\"ts-hero__panel\">\n        <ol class=\"ts-crumbs\" aria-label=\"Breadcrumb\">\n          <li><a href=\"https:\/\/promotionexams.com\/\">Home<\/a><\/li>\n          <li><a href=\"https:\/\/promotionexams.com\/test-series\/\">Test Series<\/a><\/li>\n          <li><span aria-current=\"page\">CGA AAO<\/span><\/li>\n        <\/ol>\n        <p class=\"eyebrow\">promotionexams.com &#183; CGA AAO<\/p>\n        <h1 class=\"ts-h1\">CGA AAO CBT <em>Test Series<\/em><\/h1>\n        <p class=\"ts-tag\">Five Computer Based Test papers \u2014 every manual mapped to its paper.<\/p>\n        <p class=\"ts-hero__sub\">Chapter-wise banks for the accounts manuals, PYQ + chapter-wise packs for the service rules, and paper-wise bundles \u2014 written from the bare rule for the Assistant Accounts Officer CBT of the Controller General of Accounts. Pick a paper, then a format.<\/p>\n        <label class=\"ts-search\">\n          <svg width=\"17\" height=\"17\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><circle cx=\"11\" cy=\"11\" r=\"7\"\/><path d=\"M20 20l-4-4\"\/><\/svg>\n          <input id=\"ts-q\" type=\"search\" placeholder=\"Search GAR, LMMH, Suspense, Budget Manual, GeM\u2026\" autocomplete=\"off\" aria-label=\"Search CGA AAO test series\">\n          <button type=\"button\" class=\"x\" id=\"ts-qx\" aria-label=\"Clear search\">&#10005;<\/button>\n        <\/label>\n        <div class=\"ts-facts\">\n          <div class=\"ts-fact\"><b data-count=\"series\">29<\/b><span>Test series<\/span><\/div>\n          <div class=\"ts-fact\"><b>5<\/b><span>CBT papers<\/span><\/div>\n          <div class=\"ts-fact\"><b>100<\/b><span>Marks per paper<\/span><\/div>\n          <div class=\"ts-fact\"><b>To be notified<\/b><span>Exam date<\/span><\/div>\n        <\/div>\n      <\/div>\n      <aside class=\"ts-glance\" aria-label=\"CGA AAO CBT at a glance\">\n        <div class=\"gl-head\">\n          <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/promotionexams.com\/wp-content\/uploads\/2025\/08\/image-2-1.svg\" alt=\"CGA AAO CBT logo\" width=\"42\" height=\"42\" loading=\"lazy\">\n          <div><b>CGA AAO CBT<\/b><span>Assistant Accounts Officer \u2014 Controller General of Accounts (Computer Based Test)<\/span><\/div>\n        <\/div>\n        <div class=\"ed tbd\" id=\"ts-examday\">\n          <div>\n            <span class=\"ed-lab\">Exam date<\/span>\n            <span class=\"ed-date\">Awaiting notification<\/span>\n            <span class=\"ed-note\">We will update this page the day it is notified<\/span>\n          <\/div>\n          <div class=\"ed-left\"><\/div>\n        <\/div>\n        <ul class=\"gl-papers\">\n          <li><a href=\"#shelf\" data-gopaper=\"Paper 1\"><span class=\"pl\">Paper I<\/span><span class=\"pt\">Comprehension, Precis & Official Correspondence<\/span><span class=\"pc\" data-paper-count=\"Paper 1\">1 series<\/span><\/a><\/li>\n          <li><a href=\"#shelf\" data-gopaper=\"Paper 2\"><span class=\"pl\">Paper II<\/span><span class=\"pt\">Service Regulations<\/span><span class=\"pc\" data-paper-count=\"Paper 2\">4 series<\/span><\/a><\/li>\n          <li><a href=\"#shelf\" data-gopaper=\"Paper 3\"><span class=\"pl\">Paper III<\/span><span class=\"pt\">Government Accounts & Works Accounts<\/span><span class=\"pc\" data-paper-count=\"Paper 3\">9 series<\/span><\/a><\/li>\n          <li><a href=\"#shelf\" data-gopaper=\"Paper 4\"><span class=\"pl\">Paper IV<\/span><span class=\"pt\">Constitution, Financial Administration & Budget<\/span><span class=\"pc\" data-paper-count=\"Paper 4\">7 series<\/span><\/a><\/li>\n          <li><a href=\"#shelf\" data-gopaper=\"Paper 5\"><span class=\"pl\">Paper V<\/span><span class=\"pt\">Procurement & Internal Audit<\/span><span class=\"pc\" data-paper-count=\"Paper 5\">8 series<\/span><\/a><\/li>\n        <\/ul>\n        <a class=\"gl-mock\" href=\"#live-mocks\" data-lm-next>\n          <span class=\"k\"><span class=\"lm-dot\"><\/span> <span class=\"lmn-k\">Live mock series<\/span><\/span>\n          <span class=\"lmn-title\">Opens one month before the exam<\/span>\n          <span class=\"lmn-when\">Exam date awaited &#183; schedule and price announced here first<\/span>\n        <\/a>\n      <\/aside>\n    <\/div>\n  <\/header>\n  <section class=\"sec lm-cta\" aria-labelledby=\"ctaHead\">\n    <div class=\"wrap\">\n      <div class=\"panel lm-ctap\">\n        <div class=\"lm-ctab\">\n          <div class=\"lm-ctax\">\n            <p class=\"eyebrow\"><span class=\"lm-dot\"><\/span> Live mock test series<\/p>\n            <h2 id=\"ctaHead\">Live mocks open <em>one month before the exam<\/em><\/h2>\n            <p>Paper-wise full-length mocks on the CBT pattern \u2014 100 marks a paper, the CGA\u2019s own timer and marking \u2014 set from the bare manuals and ranked All-India. The series opens one month before the exam; the schedule and the price are announced here the day the exam date is notified.<\/p>\n            <ul class=\"lm-ctaticks\">\n              <li><i class=\"fa-solid fa-check\"><\/i> Five paper-wise mocks on the CBT pattern \u00b7 100 marks each<\/li>\n              <li><i class=\"fa-solid fa-check\"><\/i> Opens one month before the exam<\/li>\n              <li><i class=\"fa-solid fa-check\"><\/i> All-India rank &amp; percentile<\/li>\n            <\/ul>\n          <\/div>\n          <div class=\"lm-ctay\">\n            <span class=\"lm-ctabig\"><i class=\"fa-regular fa-calendar\"><\/i><\/span>\n            <span class=\"lm-ctafor\">Exam date awaited<\/span>\n            <p class=\"lm-ctanote\">The schedule and the price go up here the day the CBT date is notified. Leave your name and we tell you first.<\/p>\n            <button type=\"button\" class=\"lm-enroll big notify\" data-notify><i class=\"fa-solid fa-bell\"><\/i> Notify me when it opens<\/button>\n            <div class=\"lm-ctalinks\">\n              <a href=\"#live-mocks\">What the series includes <span aria-hidden=\"true\">&darr;<\/span><\/a>\n              <a href=\"https:\/\/wa.me\/919870176238\" target=\"_blank\" rel=\"noopener noreferrer\"><i class=\"fa-brands fa-whatsapp\"><\/i> Ask on WhatsApp<\/a>\n            <\/div>\n          <\/div>\n        <\/div>\n      <\/div>\n    <\/div>\n  <\/section>\n  <section class=\"sec tint\" style=\"padding:26px 0\" aria-label=\"After you buy\">\n    <div class=\"wrap\">\n      <div class=\"ts-notice\">\n        <div class=\"tx\">\n          <h2>After you buy<\/h2>\n          <p>Each test series is saved to your account straight away. Open <strong>My Purchases<\/strong>\n             under your login name in the top menu to attempt it, pause it, or come back to it any time\n             up to your exam.<\/p>\n          <a class=\"wa-btn wa-sm\" href=\"https:\/\/wa.me\/919870176238\" target=\"_blank\" rel=\"noopener noreferrer\">\n            <i class=\"fa-brands fa-whatsapp\"><\/i> Ask us on WhatsApp<\/a>\n        <\/div>\n        <figure class=\"mshot\" aria-label=\"Where My Purchases sits in the top menu\">\n          <div class=\"mshot-bar\">\n            <span class=\"lg\">promotionexams<\/span>\n            <span class=\"nv\">Notes<\/span><span class=\"nv\">Test Series<\/span>\n            <span class=\"usr\"><i class=\"fa-solid fa-user\"><\/i> Your name\n              <i class=\"fa-solid fa-chevron-down\"><\/i><\/span>\n          <\/div>\n          <div class=\"mshot-menu\">\n            <span class=\"mi on\"><i class=\"fa-solid fa-circle-play\"><\/i> My Purchases<\/span>\n            <span class=\"mi\">Log out<\/span>\n          <\/div>\n          <figcaption>Top menu &rarr; your login name &rarr; My Purchases<\/figcaption>\n        <\/figure>\n      <\/div>\n    <\/div>\n  <\/section>\n  \n  <nav class=\"ts-bar\" id=\"shelf\" aria-label=\"Filter the CGA AAO test series\">\n    <div class=\"ts-bar__inner\">\n      <div class=\"ts-row\" id=\"ts-paperRow\">\n        <span class=\"ts-rowlab\">Paper<\/span>\n        <div class=\"ts-chips\" id=\"ts-paperChips\"><button type=\"button\" class=\"chip\" data-paper=\"\" aria-pressed=\"true\">All papers<\/button><button type=\"button\" class=\"chip\" data-paper=\"Paper 1\" aria-pressed=\"false\">Paper I<em>1<\/em><\/button><button type=\"button\" class=\"chip\" data-paper=\"Paper 2\" aria-pressed=\"false\">Paper II<em>4<\/em><\/button><button type=\"button\" class=\"chip\" data-paper=\"Paper 3\" aria-pressed=\"false\">Paper III<em>9<\/em><\/button><button type=\"button\" class=\"chip\" data-paper=\"Paper 4\" aria-pressed=\"false\">Paper IV<em>7<\/em><\/button><button type=\"button\" class=\"chip\" data-paper=\"Paper 5\" aria-pressed=\"false\">Paper V<em>8<\/em><\/button><span class=\"sep\" aria-hidden=\"true\"><\/span><a class=\"chip jump\" href=\"#bundles\"><i class=\"fa-solid fa-layer-group\"><\/i> Bundles<\/a><a class=\"chip jump live\" href=\"#live-mocks\"><i class=\"fa-solid fa-circle\"><\/i> Live mocks<\/a><\/div>\n      <\/div>\n    <\/div>\n  <\/nav>\n  <main class=\"ts-main\">\n    <div class=\"wrap\">\n      <div class=\"ts-head\" id=\"ts-head\">\n        <div class=\"id\">\n          <div class=\"av\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/promotionexams.com\/wp-content\/uploads\/2025\/08\/image-2-1.svg\" alt=\"CGA AAO CBT logo\" width=\"40\" height=\"40\" loading=\"lazy\"><\/div>\n          <div><h2>CGA AAO CBT Test Series<\/h2><p class=\"sub\">Assistant Accounts Officer \u2014 Controller General of Accounts (Computer Based Test)<\/p><\/div>\n        <\/div>\n        <div class=\"ts-headact\">\n          <button type=\"button\" class=\"ts-syl\" data-syllabus>View syllabus<\/button>\n          <a class=\"ts-syl\" href=\"https:\/\/promotionexams.com\/?page_id=5620\">Exam guide<\/a>\n        <\/div>\n      <\/div>\n      <p class=\"ts-note\" id=\"ts-note\"><\/p>\n      <div class=\"ts-tools\">\n        <div class=\"ts-active\" id=\"ts-active\"><\/div>\n      <\/div>\n      <div class=\"ts-grid\" id=\"ts-grid\">\n      <h3 class=\"ts-sec\" data-group=\"cga|Paper 1\"><span>Paper I<\/span>Comprehension, Precis &amp; Official Correspondence<\/h3>\n      <!-- combo-mop@cga  |  Rs 199 \/ 249  |  woo 16147 -->\n<article class=\"ts-card\" data-id=\"combo-mop\" data-copy=\"combo-mop@cga\" data-type=\"combo\"\n         data-price=\"199\" data-q=\"0\" data-woo-id=\"16147\"\n         data-title=\"Manual of Office Procedure \u2014 Complete Pack\" data-subject=\"Manual of Office Procedure (CSMOP)\"\n         data-exams=\"cga\" data-paper=\"cga:Paper 1\" data-group=\"cga|Paper 1|combo\">\n  <div class=\"ts-thumb\">\n    <img loading=\"lazy\" src=\"https:\/\/promotionexams.com\/wp-content\/uploads\/2025\/08\/mop-e1684145514331.jpeg\" alt=\"Manual of Office Procedure \u2014 Complete Pack\" width=\"400\" height=\"250\" loading=\"lazy\" decoding=\"async\">\n    <span class=\"ribbon value\">Best value<\/span><span class=\"ts-kind\">PYQ + Chapter-wise<\/span>\n  <\/div>\n  <div class=\"ts-cbody\">\n    <h3 class=\"ts-ctitle\">Manual of Office Procedure \u2014 Complete Pack<\/h3>\n    <div class=\"ts-spec\"><div><b>998<\/b><span>Questions<\/span><\/div><div><b class=\"fmt\">PYQ + Chapter<\/b><span>Format<\/span><\/div><\/div>\n    <ul class=\"ts-inside\"><li>258 previous year questions (2010\u20132024)<\/li><li>740 chapter-wise questions on every provision<\/li><li>Rule-cited explanation on every question<\/li><\/ul>\n  <\/div>\n  <div class=\"ts-cfoot\">\n    <span class=\"ts-price\"><b>&#8377;199<\/b><s>&#8377;249<\/s><i>20% off<\/i><\/span>\n    <button type=\"button\" class=\"ts-buy btn-add-cart\" data-product-id=\"combo-mop\" data-woo-id=\"16147\"\n            onclick=\"peAddToCart({id:&#x27;combo-mop&#x27;,name:&#x27;MOP Complete Pack&#x27;,type:&#x27;test-series&#x27;,price:199,originalPrice:249,icon:&#x27;fa-file-lines&#x27;,wooProductId:16147},this)\"><i class=\"fa-solid fa-cart-plus\"><\/i> Add to cart<\/button>\n  <\/div>\n<\/article>\n      <h3 class=\"ts-sec\" data-group=\"cga|Paper 2\"><span>Paper II<\/span>Service Regulations<\/h3>\n      <!-- combo-rti@cga  |  Rs 149 \/ 199  |  woo 16040 -->\n<article class=\"ts-card\" data-id=\"combo-rti\" data-copy=\"combo-rti@cga\" data-type=\"combo\"\n         data-price=\"149\" data-q=\"367\" data-woo-id=\"16040\"\n         data-title=\"RTI Act, 2005 \u2014 Complete Pack\" data-subject=\"Right to Information (RTI) Act, 2005\"\n         data-exams=\"cga\" data-paper=\"cga:Paper 2\" data-group=\"cga|Paper 2|combo\">\n  <div class=\"ts-thumb\">\n    <img loading=\"lazy\" src=\"https:\/\/promotionexams.com\/wp-content\/uploads\/2025\/08\/rti.jpeg\" alt=\"RTI Act, 2005 \u2014 Complete Pack\" width=\"400\" height=\"250\" loading=\"lazy\" decoding=\"async\">\n    <span class=\"ribbon value\">Best value<\/span><span class=\"ts-kind\">PYQ + Chapter-wise<\/span>\n  <\/div>\n  <div class=\"ts-cbody\">\n    <h3 class=\"ts-ctitle\">RTI Act, 2005 \u2014 Complete Pack<\/h3>\n    <div class=\"ts-spec\"><div><b>805<\/b><span>Questions<\/span><\/div><div><b class=\"fmt\">PYQ + Chapter<\/b><span>Format<\/span><\/div><\/div>\n    <ul class=\"ts-inside\"><li>167 previous year questions (2009\u20132025)<\/li><li>638 chapter-wise questions<\/li><li>Rule-cited explanation on every question<\/li><\/ul>\n  <\/div>\n  <div class=\"ts-cfoot\">\n    <span class=\"ts-price\"><b>&#8377;149<\/b><s>&#8377;199<\/s><i>25% off<\/i><\/span>\n    <button type=\"button\" class=\"ts-buy btn-add-cart\" data-product-id=\"combo-rti\" data-woo-id=\"16040\"\n            onclick=\"peAddToCart({id:&#x27;combo-rti&#x27;,name:&#x27;RTI Act Complete Pack&#x27;,type:&#x27;test-series&#x27;,price:149,originalPrice:199,icon:&#x27;fa-file-lines&#x27;,wooProductId:16040},this)\"><i class=\"fa-solid fa-cart-plus\"><\/i> Add to cart<\/button>\n  <\/div>\n<\/article>\n      <!-- combo-pension@cga  |  Rs 199 \/ 249  |  woo 16191 -->\n<article class=\"ts-card\" data-id=\"combo-pension\" data-copy=\"combo-pension@cga\" data-type=\"combo\"\n         data-price=\"199\" data-q=\"830\" data-woo-id=\"16191\"\n         data-title=\"CCS (Pension) Rules \u2014 Complete Pack\" data-subject=\"CCS (Pension) Rules\"\n         data-exams=\"cga\" data-paper=\"cga:Paper 2\" data-group=\"cga|Paper 2|combo\">\n  <div class=\"ts-thumb\">\n    <img loading=\"lazy\" src=\"https:\/\/promotionexams.com\/wp-content\/uploads\/2025\/08\/pension.png\" alt=\"CCS (Pension) Rules \u2014 Complete Pack\" width=\"400\" height=\"250\" loading=\"lazy\" decoding=\"async\">\n    <span class=\"ribbon value\">Best value<\/span><span class=\"ts-kind\">PYQ + Chapter-wise<\/span>\n  <\/div>\n  <div class=\"ts-cbody\">\n    <h3 class=\"ts-ctitle\">CCS (Pension) Rules \u2014 Complete Pack<\/h3>\n    <div class=\"ts-spec\"><div><b>667<\/b><span>Questions<\/span><\/div><div><b class=\"fmt\">PYQ + Chapter<\/b><span>Format<\/span><\/div><\/div>\n    <ul class=\"ts-inside\"><li>186 previous year questions (2009\u20132025)<\/li><li>481 chapter-wise questions<\/li><li>Rule-cited explanation on every question<\/li><\/ul>\n  <\/div>\n  <div class=\"ts-cfoot\">\n    <span class=\"ts-price\"><b>&#8377;199<\/b><s>&#8377;249<\/s><i>20% off<\/i><\/span>\n    <button type=\"button\" class=\"ts-buy btn-add-cart\" data-product-id=\"combo-pension\" data-woo-id=\"16191\"\n            onclick=\"peAddToCart({id:&#x27;combo-pension&#x27;,name:&#x27;CCS Pension Complete Pack&#x27;,type:&#x27;test-series&#x27;,price:199,originalPrice:249,icon:&#x27;fa-user-clock&#x27;,wooProductId:16191},this)\"><i class=\"fa-solid fa-cart-plus\"><\/i> Add to cart<\/button>\n  <\/div>\n<\/article>\n      <!-- combo-conduct@cga  |  Rs 149 \/ 199  |  woo 17045 -->\n<article class=\"ts-card\" data-id=\"combo-conduct\" data-copy=\"combo-conduct@cga\" data-type=\"combo\"\n         data-price=\"149\" data-q=\"0\" data-woo-id=\"17045\"\n         data-title=\"CCS (Conduct) Rules, 1964 \u2014 Complete Pack\" data-subject=\"\"\n         data-exams=\"cga\" data-paper=\"cga:Paper 2\" data-group=\"cga|Paper 2|combo\">\n  <div class=\"ts-thumb\">\n    <img loading=\"lazy\" src=\"https:\/\/promotionexams.com\/wp-content\/uploads\/2025\/08\/conduct.jpg\" alt=\"CCS (Conduct) Rules, 1964 \u2014 Complete Pack\" width=\"400\" height=\"250\" loading=\"lazy\" decoding=\"async\">\n    <span class=\"ts-kind\">PYQ + Chapter-wise<\/span>\n  <\/div>\n  <div class=\"ts-cbody\">\n    <h3 class=\"ts-ctitle\">CCS (Conduct) Rules, 1964 \u2014 Complete Pack<\/h3>\n    <div class=\"ts-spec\"><div><b>473<\/b><span>Questions<\/span><\/div><div><b class=\"fmt\">PYQ + Chapter<\/b><span>Format<\/span><\/div><\/div>\n    <ul class=\"ts-inside\"><li>121 previous year questions (2009\u20132025)<\/li><li>352 chapter-wise questions<\/li><li>Rule-cited explanation on every question<\/li><\/ul>\n  <\/div>\n  <div class=\"ts-cfoot\">\n    <span class=\"ts-price\"><b>&#8377;149<\/b><s>&#8377;199<\/s><i>25% off<\/i><\/span>\n    <button type=\"button\" class=\"ts-buy btn-add-cart\" data-product-id=\"combo-conduct\" data-woo-id=\"17045\"\n            onclick=\"peAddToCart({id:&#x27;combo-conduct&#x27;,name:&#x27;Conduct Rules Complete Pack&#x27;,type:&#x27;test-series&#x27;,price:149,originalPrice:199,icon:&#x27;fa-user-shield&#x27;,wooProductId:17045},this)\"><i class=\"fa-solid fa-cart-plus\"><\/i> Add to cart<\/button>\n  <\/div>\n<\/article>\n      <!-- combo-leave@cga  |  Rs 149 \/ 199  |  woo 15560 -->\n<article class=\"ts-card\" data-id=\"combo-leave\" data-copy=\"combo-leave@cga\" data-type=\"combo\"\n         data-price=\"149\" data-q=\"0\" data-woo-id=\"15560\"\n         data-title=\"CCS (Leave\/LTC) Rules \u2014 Complete Pack\" data-subject=\"CCS (Leave\/LTC) Rules\"\n         data-exams=\"cga\" data-paper=\"cga:Paper 2\" data-group=\"cga|Paper 2|combo\">\n  <div class=\"ts-thumb\">\n    <img loading=\"lazy\" src=\"https:\/\/promotionexams.com\/wp-content\/uploads\/2026\/08\/ChatGPT-Image-Aug-21-2026-04_32_25-PM.png\" alt=\"CCS (Leave\/LTC) Rules \u2014 Complete Pack\" width=\"400\" height=\"250\" loading=\"lazy\" decoding=\"async\">\n    <span class=\"ts-kind\">PYQ + Chapter-wise<\/span>\n  <\/div>\n  <div class=\"ts-cbody\">\n    <h3 class=\"ts-ctitle\">CCS (Leave\/LTC) Rules \u2014 Complete Pack<\/h3>\n    <div class=\"ts-spec\"><div><b>642<\/b><span>Questions<\/span><\/div><div><b class=\"fmt\">PYQ + Chapter<\/b><span>Format<\/span><\/div><\/div>\n    <ul class=\"ts-inside\"><li>112 previous year questions (2009\u20132025)<\/li><li>530 chapter-wise questions on every provision<\/li><li>Rule-cited explanation on every question<\/li><\/ul>\n  <\/div>\n  <div class=\"ts-cfoot\">\n    <span class=\"ts-price\"><b>&#8377;149<\/b><s>&#8377;199<\/s><i>25% off<\/i><\/span>\n    <button type=\"button\" class=\"ts-buy btn-add-cart\" data-product-id=\"combo-leave\" data-woo-id=\"15560\"\n            onclick=\"peAddToCart({id:&#x27;combo-leave&#x27;,name:&#x27;Leave Rules Complete Pack&#x27;,type:&#x27;test-series&#x27;,price:149,originalPrice:199,icon:&#x27;fa-plane-departure&#x27;,wooProductId:15560},this)\"><i class=\"fa-solid fa-cart-plus\"><\/i> Add to cart<\/button>\n  <\/div>\n<\/article>\n      <h3 class=\"ts-sec\" data-group=\"cga|Paper 3\"><span>Paper III<\/span>Government Accounts &amp; Works Accounts<\/h3>\n      <!-- cga-p3-gar@cga  |  Rs 199 \/ 249  |  woo 15503 -->\n<article class=\"ts-card\" data-id=\"cga-p3-gar\" data-copy=\"cga-p3-gar@cga\" data-type=\"chapter\"\n         data-price=\"199\" data-q=\"500\" data-woo-id=\"15503\"\n         data-title=\"Government Accounting Rules, 1990 \u2014 Chapter-wise\" data-subject=\"Government Accounting Rules, 1990\"\n         data-exams=\"cga\" data-paper=\"cga:Paper 3\" data-group=\"cga|Paper 3|chapter\">\n  <div class=\"ts-thumb\">\n    <img loading=\"lazy\" src=\"https:\/\/promotionexams.com\/wp-content\/uploads\/2026\/09\/ChatGPT-Image-Sep-13-2026-03_32_32-PM.png\" alt=\"Government Accounting Rules, 1990\" width=\"400\" height=\"250\" loading=\"lazy\" decoding=\"async\">\n    <span class=\"ribbon new\">New<\/span><span class=\"ts-kind\">Chapter-wise<\/span>\n  <\/div>\n  <div class=\"ts-cbody\">\n    <h3 class=\"ts-ctitle\">Government Accounting Rules, 1990<\/h3>\n    <div class=\"ts-spec\"><div><b>500+<\/b><span>Questions<\/span><\/div><div><b class=\"fmt\">Chapter-wise<\/b><span>Format<\/span><\/div><\/div>\n    <p class=\"ts-cdesc\">All chapters + Appendices \u00b7 rule-cited solutions<\/p>\n  <\/div>\n  <div class=\"ts-cfoot\">\n    <span class=\"ts-price\"><b>&#8377;199<\/b><s>&#8377;249<\/s><i>20% off<\/i><\/span>\n    <button type=\"button\" class=\"ts-buy btn-add-cart\" data-product-id=\"cga-p3-gar\" data-woo-id=\"15503\"\n            onclick=\"peAddToCart({id:&#x27;cga-p3-gar&#x27;,name:&#x27;CGA Paper III \u2014 Government Accounting Rules 1990&#x27;,type:&#x27;test-series&#x27;,price:199,originalPrice:249,icon:&#x27;fa-book&#x27;,wooProductId:15503},this)\"><i class=\"fa-solid fa-cart-plus\"><\/i> Add to cart<\/button>\n  <\/div>\n<\/article>\n      <!-- cga-p3-rp@cga  |  Rs 99 \/ 149  |  woo 14720 -->\n<article class=\"ts-card\" data-id=\"cga-p3-rp\" data-copy=\"cga-p3-rp@cga\" data-type=\"chapter\"\n         data-price=\"99\" data-q=\"235\" data-woo-id=\"14720\"\n         data-title=\"CGA (Receipt &amp; Payment) Rules, 2022 \u2014 Chapter-wise\" data-subject=\"Central Government Account (Receipt &amp; Payment) Rules, 2022\"\n         data-exams=\"cga\" data-paper=\"cga:Paper 3\" data-group=\"cga|Paper 3|chapter\">\n  <div class=\"ts-thumb\">\n    <img loading=\"lazy\" src=\"https:\/\/promotionexams.com\/wp-content\/uploads\/2026\/09\/ChatGPT-Image-Sep-17-2026-08_14_46-PM.png\" alt=\"CGA (Receipt &amp; Payment) Rules, 2022\" width=\"400\" height=\"250\" loading=\"lazy\" decoding=\"async\">\n    <span class=\"ts-kind\">Chapter-wise<\/span>\n  <\/div>\n  <div class=\"ts-cbody\">\n    <h3 class=\"ts-ctitle\">CGA (Receipt &amp; Payment) Rules, 2022<\/h3>\n    <div class=\"ts-spec\"><div><b>235<\/b><span>Questions<\/span><\/div><div><b class=\"fmt\">Chapter-wise<\/b><span>Format<\/span><\/div><\/div>\n    <p class=\"ts-cdesc\">Complete 2022 Rules \u00b7 rule-cited solutions<\/p>\n  <\/div>\n  <div class=\"ts-cfoot\">\n    <span class=\"ts-price\"><b>&#8377;99<\/b><s>&#8377;149<\/s><i>34% off<\/i><\/span>\n    <button type=\"button\" class=\"ts-buy btn-add-cart\" data-product-id=\"cga-p3-rp\" data-woo-id=\"14720\"\n            onclick=\"peAddToCart({id:&#x27;cga-p3-rp&#x27;,name:&#x27;CGA Paper III \u2014 Receipt &amp; Payment Rules 2022&#x27;,type:&#x27;test-series&#x27;,price:99,originalPrice:149,icon:&#x27;fa-receipt&#x27;,wooProductId:14720},this)\"><i class=\"fa-solid fa-cart-plus\"><\/i> Add to cart<\/button>\n  <\/div>\n<\/article>\n      <!-- cga-p3-rp-si@cga  |  Rs 179 \/ 249  |  woo 14856 -->\n<article class=\"ts-card\" data-id=\"cga-p3-rp-si\" data-copy=\"cga-p3-rp-si@cga\" data-type=\"chapter\"\n         data-price=\"179\" data-q=\"450\" data-woo-id=\"14856\"\n         data-title=\"Subsidiary Instructions on R&amp;P Rules, 2022 \u2014 Chapter-wise\" data-subject=\"Subsidiary Instructions on CGA (Receipt &amp; Payment) Rules, 2022\"\n         data-exams=\"cga\" data-paper=\"cga:Paper 3\" data-group=\"cga|Paper 3|chapter\">\n  <div class=\"ts-thumb\">\n    <img loading=\"lazy\" src=\"https:\/\/promotionexams.com\/wp-content\/uploads\/2026\/06\/ChatGPT-Image-Jun-15-2026-11_13_36-PM.png\" alt=\"Subsidiary Instructions on R&amp;P Rules, 2022\" width=\"400\" height=\"250\" loading=\"lazy\" decoding=\"async\">\n    <span class=\"ts-kind\">Chapter-wise<\/span>\n  <\/div>\n  <div class=\"ts-cbody\">\n    <h3 class=\"ts-ctitle\">Subsidiary Instructions on R&amp;P Rules, 2022<\/h3>\n    <div class=\"ts-spec\"><div><b>450+<\/b><span>Questions<\/span><\/div><div><b class=\"fmt\">Chapter-wise<\/b><span>Format<\/span><\/div><\/div>\n    <p class=\"ts-cdesc\">Every instruction, para-wise \u00b7 rule-cited solutions<\/p>\n  <\/div>\n  <div class=\"ts-cfoot\">\n    <span class=\"ts-price\"><b>&#8377;179<\/b><s>&#8377;249<\/s><i>28% off<\/i><\/span>\n    <button type=\"button\" class=\"ts-buy btn-add-cart\" data-product-id=\"cga-p3-rp-si\" data-woo-id=\"14856\"\n            onclick=\"peAddToCart({id:&#x27;cga-p3-rp-si&#x27;,name:&#x27;CGA Paper III \u2014 Subsidiary Instructions on R&amp;P Rules 2022&#x27;,type:&#x27;test-series&#x27;,price:179,originalPrice:249,icon:&#x27;fa-receipt&#x27;,wooProductId:14856},this)\"><i class=\"fa-solid fa-cart-plus\"><\/i> Add to cart<\/button>\n  <\/div>\n<\/article>\n      <!-- cga-p3-cam@cga  |  Rs 249 \/ 349  |  woo 17228 -->\n<article class=\"ts-card\" data-id=\"cga-p3-cam\" data-copy=\"cga-p3-cam@cga\" data-type=\"chapter\"\n         data-price=\"249\" data-q=\"1297\" data-woo-id=\"17228\"\n         data-title=\"Civil Account Manual (CAM) \u2014 Chapter-wise\" data-subject=\"Civil Account Manual (CAM)\"\n         data-exams=\"cga\" data-paper=\"cga:Paper 3\" data-group=\"cga|Paper 3|chapter\">\n  <div class=\"ts-thumb\">\n    <img loading=\"lazy\" src=\"https:\/\/promotionexams.com\/wp-content\/uploads\/2026\/09\/ChatGPT-Image-Sep-28-2026-06_04_18-PM.png\" alt=\"Civil Account Manual (CAM)\" width=\"400\" height=\"250\" loading=\"lazy\" decoding=\"async\">\n    <span class=\"ts-kind\">Chapter-wise<\/span>\n  <\/div>\n  <div class=\"ts-cbody\">\n    <h3 class=\"ts-ctitle\">Civil Account Manual (CAM)<\/h3>\n    <div class=\"ts-spec\"><div><b>1200+<\/b><span>Questions<\/span><\/div><div><b class=\"fmt\">Chapter-wise<\/b><span>Format<\/span><\/div><\/div>\n    <p class=\"ts-cdesc\">Every instruction, para-wise \u00b7 rule-cited solutions<\/p>\n  <\/div>\n  <div class=\"ts-cfoot\">\n    <span class=\"ts-price\"><b>&#8377;249<\/b><s>&#8377;349<\/s><i>29% off<\/i><\/span>\n    <button type=\"button\" class=\"ts-buy btn-add-cart\" data-product-id=\"cga-p3-cam\" data-woo-id=\"17228\"\n            onclick=\"peAddToCart({id:&#x27;cga-p3-cam&#x27;,name:&#x27;CGA Paper III \u2014 Civil Account Manual (CAM)&#x27;,type:&#x27;test-series&#x27;,price:249,originalPrice:349,icon:&#x27;fa-receipt&#x27;,wooProductId:17228},this)\"><i class=\"fa-solid fa-cart-plus\"><\/i> Add to cart<\/button>\n  <\/div>\n<\/article>\n      <!-- cga-p3-mpw@cga  |  Rs 179 \/ 249  |  woo 14562 -->\n<article class=\"ts-card\" data-id=\"cga-p3-mpw\" data-copy=\"cga-p3-mpw@cga\" data-type=\"chapter\"\n         data-price=\"179\" data-q=\"600\" data-woo-id=\"14562\"\n         data-title=\"Manual for Procurement of Works \u2014 Chapter-wise\" data-subject=\"Manual for Procurement of Works\"\n         data-exams=\"cga\" data-paper=\"cga:Paper 3\" data-group=\"cga|Paper 3|chapter\">\n  <div class=\"ts-thumb\">\n    <img loading=\"lazy\" src=\"https:\/\/promotionexams.com\/wp-content\/uploads\/2026\/06\/ChatGPT-Image-Jun-15-2026-02_10_48-PM.png\" alt=\"Manual for Procurement of Works\" width=\"400\" height=\"250\" loading=\"lazy\" decoding=\"async\">\n    <span class=\"ts-kind\">Chapter-wise<\/span>\n  <\/div>\n  <div class=\"ts-cbody\">\n    <h3 class=\"ts-ctitle\">Manual for Procurement of Works<\/h3>\n    <div class=\"ts-spec\"><div><b>600+<\/b><span>Questions<\/span><\/div><div><b class=\"fmt\">Chapter-wise<\/b><span>Format<\/span><\/div><\/div>\n    <p class=\"ts-cdesc\">All chapters + Annexures \u00b7 rule-cited solutions<\/p>\n  <\/div>\n  <div class=\"ts-cfoot\">\n    <span class=\"ts-price\"><b>&#8377;179<\/b><s>&#8377;249<\/s><i>28% off<\/i><\/span>\n    <button type=\"button\" class=\"ts-buy btn-add-cart\" data-product-id=\"cga-p3-mpw\" data-woo-id=\"14562\"\n            onclick=\"peAddToCart({id:&#x27;cga-p3-mpw&#x27;,name:&#x27;CGA Paper III \u2014 Manual for Procurement of Works&#x27;,type:&#x27;test-series&#x27;,price:179,originalPrice:249,icon:&#x27;fa-cart-flatbed&#x27;,wooProductId:14562},this)\"><i class=\"fa-solid fa-cart-plus\"><\/i> Add to cart<\/button>\n  <\/div>\n<\/article>\n      <!-- cga-p3-cpwd@cga  |  Rs 149 \/ 199  |  woo 13930 -->\n<article class=\"ts-card\" data-id=\"cga-p3-cpwd\" data-copy=\"cga-p3-cpwd@cga\" data-type=\"chapter\"\n         data-price=\"149\" data-q=\"240\" data-woo-id=\"13930\"\n         data-title=\"CPWD Works Manual \u2014 Chapter-wise\" data-subject=\"CPWD Works Manual, 2019\/2022 and SOPs\"\n         data-exams=\"cga\" data-paper=\"cga:Paper 3\" data-group=\"cga|Paper 3|chapter\">\n  <div class=\"ts-thumb\">\n    <img loading=\"lazy\" src=\"https:\/\/promotionexams.com\/wp-content\/uploads\/2026\/07\/cpwd-works-manual-2024.png\" alt=\"CPWD Works Manual\" width=\"400\" height=\"250\" loading=\"lazy\" decoding=\"async\">\n    <span class=\"ts-kind\">Chapter-wise<\/span>\n  <\/div>\n  <div class=\"ts-cbody\">\n    <h3 class=\"ts-ctitle\">CPWD Works Manual<\/h3>\n    <div class=\"ts-spec\"><div><b>240+<\/b><span>Questions<\/span><\/div><div><b class=\"fmt\">Chapter-wise<\/b><span>Format<\/span><\/div><\/div>\n    <p class=\"ts-cdesc\">2019\/2022 edition + SOPs \u00b7 rule-cited solutions<\/p>\n  <\/div>\n  <div class=\"ts-cfoot\">\n    <span class=\"ts-price\"><b>&#8377;149<\/b><s>&#8377;199<\/s><i>25% off<\/i><\/span>\n    <button type=\"button\" class=\"ts-buy btn-add-cart\" data-product-id=\"cga-p3-cpwd\" data-woo-id=\"13930\"\n            onclick=\"peAddToCart({id:&#x27;cga-p3-cpwd&#x27;,name:&#x27;CGA Paper III \u2014 CPWD Works Manual&#x27;,type:&#x27;test-series&#x27;,price:149,originalPrice:199,icon:&#x27;fa-helmet-safety&#x27;,wooProductId:13930},this)\"><i class=\"fa-solid fa-cart-plus\"><\/i> Add to cart<\/button>\n  <\/div>\n<\/article>\n      <!-- cga-p3-lmmh@cga  |  Rs 149 \/ 199  |  woo 14632 -->\n<article class=\"ts-card\" data-id=\"cga-p3-lmmh\" data-copy=\"cga-p3-lmmh@cga\" data-type=\"chapter\"\n         data-price=\"149\" data-q=\"300\" data-woo-id=\"14632\"\n         data-title=\"List of Major &amp; Minor Heads \u2014 Chapter-wise\" data-subject=\"List of Major and Minor Heads (LMMH)\"\n         data-exams=\"cga\" data-paper=\"cga:Paper 3\" data-group=\"cga|Paper 3|chapter\">\n  <div class=\"ts-thumb\">\n    <img loading=\"lazy\" src=\"https:\/\/promotionexams.com\/wp-content\/uploads\/2026\/06\/ChatGPT-Image-Jun-10-2026-05_05_23-PM.png\" alt=\"List of Major &amp; Minor Heads\" width=\"400\" height=\"250\" loading=\"lazy\" decoding=\"async\">\n    <span class=\"ts-kind\">Chapter-wise<\/span>\n  <\/div>\n  <div class=\"ts-cbody\">\n    <h3 class=\"ts-ctitle\">List of Major &amp; Minor Heads<\/h3>\n    <div class=\"ts-spec\"><div><b>300+<\/b><span>Questions<\/span><\/div><div><b class=\"fmt\">Chapter-wise<\/b><span>Format<\/span><\/div><\/div>\n    <p class=\"ts-cdesc\">489 major heads, sector-wise \u00b7 rule-cited solutions<\/p>\n  <\/div>\n  <div class=\"ts-cfoot\">\n    <span class=\"ts-price\"><b>&#8377;149<\/b><s>&#8377;199<\/s><i>25% off<\/i><\/span>\n    <button type=\"button\" class=\"ts-buy btn-add-cart\" data-product-id=\"cga-p3-lmmh\" data-woo-id=\"14632\"\n            onclick=\"peAddToCart({id:&#x27;cga-p3-lmmh&#x27;,name:&#x27;CGA Paper III \u2014 List of Major and Minor Heads (LMMH)&#x27;,type:&#x27;test-series&#x27;,price:149,originalPrice:199,icon:&#x27;fa-sitemap&#x27;,wooProductId:14632},this)\"><i class=\"fa-solid fa-cart-plus\"><\/i> Add to cart<\/button>\n  <\/div>\n<\/article>\n      <!-- cga-p3-suspense@cga  |  Rs 119 \/ 179  |  woo 13739 -->\n<article class=\"ts-card\" data-id=\"cga-p3-suspense\" data-copy=\"cga-p3-suspense@cga\" data-type=\"chapter\"\n         data-price=\"119\" data-q=\"140\" data-woo-id=\"13739\"\n         data-title=\"Suspense Manual \u2014 Chapter-wise\" data-subject=\"Suspense Manual\"\n         data-exams=\"cga\" data-paper=\"cga:Paper 3\" data-group=\"cga|Paper 3|chapter\">\n  <div class=\"ts-thumb\">\n    <img loading=\"lazy\" src=\"https:\/\/promotionexams.com\/wp-content\/uploads\/2026\/06\/Gemini_Generated_Image_8bqsb88bqsb88bqs.png\" alt=\"Suspense Manual\" width=\"400\" height=\"250\" loading=\"lazy\" decoding=\"async\">\n    <span class=\"ts-kind\">Chapter-wise<\/span>\n  <\/div>\n  <div class=\"ts-cbody\">\n    <h3 class=\"ts-ctitle\">Suspense Manual<\/h3>\n    <div class=\"ts-spec\"><div><b>200+<\/b><span>Questions<\/span><\/div><div><b class=\"fmt\">Chapter-wise<\/b><span>Format<\/span><\/div><\/div>\n    <p class=\"ts-cdesc\">All chapters + Annexures \u00b7 rule-cited solutions<\/p>\n  <\/div>\n  <div class=\"ts-cfoot\">\n    <span class=\"ts-price\"><b>&#8377;119<\/b><s>&#8377;179<\/s><i>34% off<\/i><\/span>\n    <button type=\"button\" class=\"ts-buy btn-add-cart\" data-product-id=\"cga-p3-suspense\" data-woo-id=\"13739\"\n            onclick=\"peAddToCart({id:&#x27;cga-p3-suspense&#x27;,name:&#x27;CGA Paper III \u2014 Suspense Manual&#x27;,type:&#x27;test-series&#x27;,price:119,originalPrice:179,icon:&#x27;fa-scale-unbalanced&#x27;,wooProductId:13739},this)\"><i class=\"fa-solid fa-cart-plus\"><\/i> Add to cart<\/button>\n  <\/div>\n<\/article>\n      <!-- cw-ruaab@cga  |  Rs 99 \/ 149  |  woo 17433 -->\n<article class=\"ts-card\" data-id=\"cw-ruaab\" data-copy=\"cw-ruaab@cga\" data-type=\"chapter\"\n         data-price=\"99\" data-q=\"147\" data-woo-id=\"17433\"\n         data-title=\"Report on Uniform Format of Accounts for Central Autonomous Bodies \u2014 Chapter-wise\" data-subject=\"Report on Uniform Format of Accounts for Central Autonomous Bodies\"\n         data-exams=\"cga\" data-paper=\"cga:Paper 3\" data-group=\"cga|Paper 3|chapter\">\n  <div class=\"ts-thumb\">\n    <img loading=\"lazy\" src=\"https:\/\/promotionexams.com\/wp-content\/uploads\/2026\/06\/Uniform-Format-of-Accounts-for-Central-Autonomous-Bodies-1.png\" alt=\"Report on Uniform Format of Accounts for Central Autonomous Bodies\" width=\"400\" height=\"250\" loading=\"lazy\" decoding=\"async\">\n    <span class=\"ribbon new\">New<\/span><span class=\"ts-kind\">Chapter-wise<\/span>\n  <\/div>\n  <div class=\"ts-cbody\">\n    <h3 class=\"ts-ctitle\">Report on Uniform Format of Accounts for Central Autonomous Bodies<\/h3>\n    <div class=\"ts-spec\"><div><b>140+<\/b><span>Questions<\/span><\/div><div><b class=\"fmt\">Chapter-wise<\/b><span>Format<\/span><\/div><\/div>\n    <p class=\"ts-cdesc\">All chapters + Annexures \u00b7 rule-cited solutions<\/p>\n  <\/div>\n  <div class=\"ts-cfoot\">\n    <span class=\"ts-price\"><b>&#8377;99<\/b><s>&#8377;149<\/s><i>34% off<\/i><\/span>\n    <button type=\"button\" class=\"ts-buy btn-add-cart\" data-product-id=\"cw-ruaab\" data-woo-id=\"17433\"\n            onclick=\"peAddToCart({id:&#x27;cw-ruaab&#x27;,name:&#x27;Report on Uniform Format of Accounts for Central Autonomous Bodies Chapter-wise Tests&#x27;,type:&#x27;test-series&#x27;,price:99,originalPrice:149,icon:&#x27;fa-chart-pie&#x27;,wooProductId:17433},this)\"><i class=\"fa-solid fa-cart-plus\"><\/i> Add to cart<\/button>\n  <\/div>\n<\/article>\n      <h3 class=\"ts-sec\" data-group=\"cga|Paper 4\"><span>Paper IV<\/span>Constitution, Financial Administration &amp; Budget<\/h3>\n      <!-- cw-budget@cga  |  Rs 149 \/ 199  |  woo 14738 -->\n<article class=\"ts-card\" data-id=\"cw-budget\" data-copy=\"cw-budget@cga\" data-type=\"chapter\"\n         data-price=\"149\" data-q=\"550\" data-woo-id=\"14738\"\n         data-title=\"Budget Manual &amp; Contingency Fund Rules \u2014 Chapter-wise\" data-subject=\"Budget Manual (including Contingency Fund of India Rules)\"\n         data-exams=\"cga\" data-paper=\"cga:Paper 4\" data-group=\"cga|Paper 4|chapter\">\n  <div class=\"ts-thumb\">\n    <img loading=\"lazy\" src=\"https:\/\/promotionexams.com\/wp-content\/uploads\/2026\/06\/ChatGPT-Image-Jun-18-2026-07_12_53-PM.png\" alt=\"Budget Manual &amp; Contingency Fund Rules\" width=\"400\" height=\"250\" loading=\"lazy\" decoding=\"async\">\n    <span class=\"ribbon new\">New<\/span><span class=\"ts-kind\">Chapter-wise<\/span>\n  <\/div>\n  <div class=\"ts-cbody\">\n    <h3 class=\"ts-ctitle\">Budget Manual &amp; Contingency Fund Rules<\/h3>\n    <div class=\"ts-spec\"><div><b>600+<\/b><span>Questions<\/span><\/div><div><b class=\"fmt\">Chapter-wise<\/b><span>Format<\/span><\/div><\/div>\n    <p class=\"ts-cdesc\">All chapters + Annexures \u00b7 rule-cited solutions<\/p>\n  <\/div>\n  <div class=\"ts-cfoot\">\n    <span class=\"ts-price\"><b>&#8377;149<\/b><s>&#8377;199<\/s><i>25% off<\/i><\/span>\n    <button type=\"button\" class=\"ts-buy btn-add-cart\" data-product-id=\"cw-budget\" data-woo-id=\"14738\"\n            onclick=\"peAddToCart({id:&#x27;cw-budget&#x27;,name:&#x27;Budget Manual Chapter-wise Tests&#x27;,type:&#x27;test-series&#x27;,price:149,originalPrice:199,icon:&#x27;fa-chart-pie&#x27;,wooProductId:14738},this)\"><i class=\"fa-solid fa-cart-plus\"><\/i> Add to cart<\/button>\n  <\/div>\n<\/article>\n      <!-- cga-p4-parl-comm@cga  |  Rs 99 \/ 149  |  woo 13687 -->\n<article class=\"ts-card\" data-id=\"cga-p4-parl-comm\" data-copy=\"cga-p4-parl-comm@cga\" data-type=\"chapter\"\n         data-price=\"99\" data-q=\"90\" data-woo-id=\"13687\"\n         data-title=\"Lok Sabha Rules, Ch. XXVI \u2014 Parliamentary Committees\" data-subject=\"Rules of Procedure and Conduct of Business in the Lok Sabha (Chapter XXVI \u2013 Parliamentary Committees)\"\n         data-exams=\"cga\" data-paper=\"cga:Paper 4\" data-group=\"cga|Paper 4|chapter\">\n  <div class=\"ts-thumb\">\n    <img loading=\"lazy\" src=\"https:\/\/promotionexams.com\/wp-content\/uploads\/2026\/07\/PARLIAMENTARY-COMMITTEES.png\" alt=\"Lok Sabha Rules, Ch. XXVI \u2014 Parliamentary Committees\" width=\"400\" height=\"250\" loading=\"lazy\" decoding=\"async\">\n    <span class=\"ts-kind\">Chapter-wise<\/span>\n  <\/div>\n  <div class=\"ts-cbody\">\n    <h3 class=\"ts-ctitle\">Lok Sabha Rules, Ch. XXVI \u2014 Parliamentary Committees<\/h3>\n    <div class=\"ts-spec\"><div><b>260+<\/b><span>Questions<\/span><\/div><div><b class=\"fmt\">Chapter-wise<\/b><span>Format<\/span><\/div><\/div>\n    <p class=\"ts-cdesc\">Chapter XXVI, rule by rule \u00b7 rule-cited solutions<\/p>\n  <\/div>\n  <div class=\"ts-cfoot\">\n    <span class=\"ts-price\"><b>&#8377;99<\/b><s>&#8377;149<\/s><i>34% off<\/i><\/span>\n    <button type=\"button\" class=\"ts-buy btn-add-cart\" data-product-id=\"cga-p4-parl-comm\" data-woo-id=\"13687\"\n            onclick=\"peAddToCart({id:&#x27;cga-p4-parl-comm&#x27;,name:&#x27;CGA Paper IV \u2014 Parliamentary Committees&#x27;,type:&#x27;test-series&#x27;,price:99,originalPrice:149,icon:&#x27;fa-users-rectangle&#x27;,wooProductId:13687},this)\"><i class=\"fa-solid fa-cart-plus\"><\/i> Add to cart<\/button>\n  <\/div>\n<\/article>\n      <!-- cga-p4-cag-act@cga  |  Rs 49 \/ 99  |  woo 14424 -->\n<article class=\"ts-card\" data-id=\"cga-p4-cag-act\" data-copy=\"cga-p4-cag-act@cga\" data-type=\"chapter\"\n         data-price=\"49\" data-q=\"150\" data-woo-id=\"14424\"\n         data-title=\"CAG&#x27;s (DPC) Act, 1971 \u2014 Chapter-wise\" data-subject=\"Comptroller and Auditor General (DPC) Act, 1971 \u2013 Chapter III\"\n         data-exams=\"cga\" data-paper=\"cga:Paper 4\" data-group=\"cga|Paper 4|chapter\">\n  <div class=\"ts-thumb\">\n    <img loading=\"lazy\" src=\"https:\/\/promotionexams.com\/wp-content\/uploads\/2025\/08\/COMPTROLLER_AND_AUDITOR_GENERAL_CAG.png\" alt=\"CAG&#x27;s (DPC) Act, 1971\" width=\"400\" height=\"250\" loading=\"lazy\" decoding=\"async\">\n    <span class=\"ts-kind\">Chapter-wise<\/span>\n  <\/div>\n  <div class=\"ts-cbody\">\n    <h3 class=\"ts-ctitle\">CAG&#x27;s (DPC) Act, 1971<\/h3>\n    <div class=\"ts-spec\"><div><b>150+<\/b><span>Questions<\/span><\/div><div><b class=\"fmt\">Chapter-wise<\/b><span>Format<\/span><\/div><\/div>\n    <p class=\"ts-cdesc\">Complete Act, Chapter III in depth \u00b7 rule-cited solutions<\/p>\n  <\/div>\n  <div class=\"ts-cfoot\">\n    <span class=\"ts-price\"><b>&#8377;49<\/b><s>&#8377;99<\/s><i>51% off<\/i><\/span>\n    <button type=\"button\" class=\"ts-buy btn-add-cart\" data-product-id=\"cga-p4-cag-act\" data-woo-id=\"14424\"\n            onclick=\"peAddToCart({id:&#x27;cga-p4-cag-act&#x27;,name:&#x27;CGA Paper IV \u2014 CAG (DPC) Act 1971&#x27;,type:&#x27;test-series&#x27;,price:49,originalPrice:99,icon:&#x27;fa-scale-balanced&#x27;,wooProductId:14424},this)\"><i class=\"fa-solid fa-cart-plus\"><\/i> Add to cart<\/button>\n  <\/div>\n<\/article>\n      <!-- cga-p4-frbm-act@cga  |  Rs 49 \/ 99  |  woo 685 -->\n<article class=\"ts-card\" data-id=\"cga-p4-frbm-act\" data-copy=\"cga-p4-frbm-act@cga\" data-type=\"chapter\"\n         data-price=\"49\" data-q=\"125\" data-woo-id=\"685\"\n         data-title=\"FRBM Act &amp; Rules \u2014 Chapter-wise\" data-subject=\"Fiscal Responsibility and Budget Management Act &amp; Rules\"\n         data-exams=\"cga\" data-paper=\"cga:Paper 4\" data-group=\"cga|Paper 4|chapter\">\n  <div class=\"ts-thumb\">\n    <img loading=\"lazy\" src=\"https:\/\/promotionexams.com\/wp-content\/uploads\/2025\/08\/frbm-e1754338755440.webp\" alt=\"FRBM Act &amp; Rules\" width=\"400\" height=\"250\" loading=\"lazy\" decoding=\"async\">\n    <span class=\"ts-kind\">Chapter-wise<\/span>\n  <\/div>\n  <div class=\"ts-cbody\">\n    <h3 class=\"ts-ctitle\">FRBM Act &amp; Rules<\/h3>\n    <div class=\"ts-spec\"><div><b>125+<\/b><span>Questions<\/span><\/div><div><b class=\"fmt\">Chapter-wise<\/b><span>Format<\/span><\/div><\/div>\n    <p class=\"ts-cdesc\">All sections + Rules \u00b7 rule-cited solutions<\/p>\n  <\/div>\n  <div class=\"ts-cfoot\">\n    <span class=\"ts-price\"><b>&#8377;49<\/b><s>&#8377;99<\/s><i>51% off<\/i><\/span>\n    <button type=\"button\" class=\"ts-buy btn-add-cart\" data-product-id=\"cga-p4-frbm-act\" data-woo-id=\"685\"\n            onclick=\"peAddToCart({id:&#x27;cga-p4-frbm-act&#x27;,name:&#x27;CGA Paper IV \u2014 FRBM Act &amp; Rules&#x27;,type:&#x27;test-series&#x27;,price:49,originalPrice:99,icon:&#x27;fa-scale-balanced&#x27;,wooProductId:685},this)\"><i class=\"fa-solid fa-cart-plus\"><\/i> Add to cart<\/button>\n  <\/div>\n<\/article>\n      <!-- combo-coi-cga@cga  |  Rs 299 \/ 349  |  woo 14677 -->\n<article class=\"ts-card\" data-id=\"combo-coi-cga\" data-copy=\"combo-coi-cga@cga\" data-type=\"combo\"\n         data-price=\"299\" data-q=\"573\" data-woo-id=\"14677\"\n         data-title=\"Constitution of India \u2014 PYQs + Article-wise\" data-subject=\"Constitution of India (Articles 77; 79\u2013151; 245\u2013290A; 292\u2013312A; 352\u2013360)\"\n         data-exams=\"cga\" data-paper=\"cga:Paper 4\" data-group=\"cga|Paper 4|combo\">\n  <div class=\"ts-thumb\">\n    <img loading=\"lazy\" src=\"https:\/\/promotionexams.com\/wp-content\/uploads\/2025\/12\/coi.jpg\" alt=\"Constitution of India \u2014 PYQs + Article-wise\" width=\"400\" height=\"250\" loading=\"lazy\" decoding=\"async\">\n    <span class=\"ribbon bestseller\">Bestseller<\/span><span class=\"ts-kind\">PYQ + Chapter-wise<\/span>\n  <\/div>\n  <div class=\"ts-cbody\">\n    <h3 class=\"ts-ctitle\">Constitution of India \u2014 PYQs + Article-wise<\/h3>\n    <div class=\"ts-spec\"><div><b>573<\/b><span>Questions<\/span><\/div><div><b class=\"fmt\">PYQ + Chapter<\/b><span>Format<\/span><\/div><\/div>\n    <ul class=\"ts-inside\"><li>134 previous year questions (UPSC SO\/Steno LDCE)<\/li><li>439 article-wise MCQs<\/li><li>Articles 77; 79\u2013151; 245\u2013290A; 292\u2013312A; 352\u2013360 (CGA Specific articles only)<\/li><li>rule-cited solutions<\/li><\/ul>\n  <\/div>\n  <div class=\"ts-cfoot\">\n    <span class=\"ts-price\"><b>&#8377;299<\/b><s>&#8377;349<\/s><i>14% off<\/i><\/span>\n    <button type=\"button\" class=\"ts-buy btn-add-cart\" data-product-id=\"combo-coi-cga\" data-woo-id=\"14677\"\n            onclick=\"peAddToCart({id:&#x27;combo-coi-cga&#x27;,name:&#x27;CGA Paper IV \u2014 Constitution Complete Pack&#x27;,type:&#x27;test-series&#x27;,price:299,originalPrice:349,icon:&#x27;fa-landmark&#x27;,wooProductId:14677},this)\"><i class=\"fa-solid fa-cart-plus\"><\/i> Add to cart<\/button>\n  <\/div>\n<\/article>\n      <!-- combo-gfr@cga  |  Rs 199 \/ 249  |  woo 16094 -->\n<article class=\"ts-card\" data-id=\"combo-gfr\" data-copy=\"combo-gfr@cga\" data-type=\"combo\"\n         data-price=\"199\" data-q=\"700\" data-woo-id=\"16094\"\n         data-title=\"GFR, 2017 \u2014 Complete Pack\" data-subject=\"General Financial Rules (GFR), 2017\"\n         data-exams=\"cga\" data-paper=\"cga:Paper 4\" data-group=\"cga|Paper 4|combo\">\n  <div class=\"ts-thumb\">\n    <img loading=\"lazy\" src=\"https:\/\/promotionexams.com\/wp-content\/uploads\/2025\/08\/GFR.jpg\" alt=\"GFR, 2017 \u2014 Complete Pack\" width=\"400\" height=\"250\" loading=\"lazy\" decoding=\"async\">\n    <span class=\"ribbon value\">Best value<\/span><span class=\"ts-kind\">PYQ + Chapter-wise<\/span>\n  <\/div>\n  <div class=\"ts-cbody\">\n    <h3 class=\"ts-ctitle\">GFR, 2017 \u2014 Complete Pack<\/h3>\n    <div class=\"ts-spec\"><div><b>675<\/b><span>Questions<\/span><\/div><div><b class=\"fmt\">PYQ + Chapter<\/b><span>Format<\/span><\/div><\/div>\n    <ul class=\"ts-inside\"><li>181 previous year questions (2009\u20132025)<\/li><li>494 chapter-wise questions<\/li><li>Rule-cited explanation on every question<\/li><\/ul>\n  <\/div>\n  <div class=\"ts-cfoot\">\n    <span class=\"ts-price\"><b>&#8377;199<\/b><s>&#8377;249<\/s><i>20% off<\/i><\/span>\n    <button type=\"button\" class=\"ts-buy btn-add-cart\" data-product-id=\"combo-gfr\" data-woo-id=\"16094\"\n            onclick=\"peAddToCart({id:&#x27;combo-gfr&#x27;,name:&#x27;GFR Complete Pack&#x27;,type:&#x27;test-series&#x27;,price:199,originalPrice:249,icon:&#x27;fa-coins&#x27;,wooProductId:16094},this)\"><i class=\"fa-solid fa-cart-plus\"><\/i> Add to cart<\/button>\n  <\/div>\n<\/article>\n      <!-- combo-dfpr@cga  |  Rs 119 \/ 179  |  woo 16207 -->\n<article class=\"ts-card\" data-id=\"combo-dfpr\" data-copy=\"combo-dfpr@cga\" data-type=\"combo\"\n         data-price=\"119\" data-q=\"500\" data-woo-id=\"16207\"\n         data-title=\"DFPR, 2024 \u2014 Complete Pack\" data-subject=\"Delegation of Financial Powers Rules (DFPR)\"\n         data-exams=\"cga\" data-paper=\"cga:Paper 4\" data-group=\"cga|Paper 4|combo\">\n  <div class=\"ts-thumb\">\n    <img loading=\"lazy\" src=\"https:\/\/promotionexams.com\/wp-content\/uploads\/2025\/08\/DFPR.jpg\" alt=\"DFPR, 2024 \u2014 Complete Pack\" width=\"400\" height=\"250\" loading=\"lazy\" decoding=\"async\">\n    <span class=\"ts-kind\">PYQ + Chapter-wise<\/span>\n  <\/div>\n  <div class=\"ts-cbody\">\n    <h3 class=\"ts-ctitle\">DFPR, 2024 \u2014 Complete Pack<\/h3>\n    <div class=\"ts-spec\"><div><b>256<\/b><span>Questions<\/span><\/div><div><b class=\"fmt\">PYQ + Chapter<\/b><span>Format<\/span><\/div><\/div>\n    <ul class=\"ts-inside\"><li>102 previous year questions (2009\u20132025)<\/li><li>154 chapter-wise questions<\/li><li>Rule-cited explanation on every question<\/li><\/ul>\n  <\/div>\n  <div class=\"ts-cfoot\">\n    <span class=\"ts-price\"><b>&#8377;119<\/b><s>&#8377;179<\/s><i>34% off<\/i><\/span>\n    <button type=\"button\" class=\"ts-buy btn-add-cart\" data-product-id=\"combo-dfpr\" data-woo-id=\"16207\"\n            onclick=\"peAddToCart({id:&#x27;combo-dfpr&#x27;,name:&#x27;DFPR Complete Pack&#x27;,type:&#x27;test-series&#x27;,price:119,originalPrice:179,icon:&#x27;fa-indian-rupee-sign&#x27;,wooProductId:16207},this)\"><i class=\"fa-solid fa-cart-plus\"><\/i> Add to cart<\/button>\n  <\/div>\n<\/article>\n      <h3 class=\"ts-sec\" data-group=\"cga|Paper 5\"><span>Paper V<\/span>Procurement &amp; Internal Audit<\/h3>\n      <!-- cga-p5-mpgoods@cga  |  Rs 199 \/ 249  |  woo 17363 -->\n<article class=\"ts-card\" data-id=\"cga-p5-mpgoods\" data-copy=\"cga-p5-mpgoods@cga\" data-type=\"chapter\"\n         data-price=\"199\" data-q=\"400\" data-woo-id=\"17363\"\n         data-title=\"Manual of Procurement of Goods \u2014 Chapter-wise\" data-subject=\"Manual of Procurement of Goods\"\n         data-exams=\"cga\" data-paper=\"cga:Paper 5\" data-group=\"cga|Paper 5|chapter\">\n  <div class=\"ts-thumb\">\n    <img loading=\"lazy\" src=\"https:\/\/promotionexams.com\/wp-content\/uploads\/2026\/06\/ChatGPT-Image-Jun-17-2026-12_35_02-PM.png\" alt=\"Manual of Procurement of Goods, 2024\" width=\"400\" height=\"250\" loading=\"lazy\" decoding=\"async\">\n    <span class=\"ts-kind\">Chapter-wise<\/span>\n  <\/div>\n  <div class=\"ts-cbody\">\n    <h3 class=\"ts-ctitle\">Manual of Procurement of Goods, 2024<\/h3>\n    <div class=\"ts-spec\"><div><b>1200+<\/b><span>Questions<\/span><\/div><div><b class=\"fmt\">Chapter-wise<\/b><span>Format<\/span><\/div><\/div>\n    <p class=\"ts-cdesc\">All chapters \u00b7 rule-cited solutions<\/p>\n  <\/div>\n  <div class=\"ts-cfoot\">\n    <span class=\"ts-price\"><b>&#8377;199<\/b><s>&#8377;249<\/s><i>20% off<\/i><\/span>\n    <button type=\"button\" class=\"ts-buy btn-add-cart\" data-product-id=\"cga-p5-mpgoods\" data-woo-id=\"17363\"\n            onclick=\"peAddToCart({id:&#x27;cga-p5-mpgoods&#x27;,name:&#x27;CGA Paper V \u2014 Manual of Procurement of Goods&#x27;,type:&#x27;test-series&#x27;,price:199,originalPrice:249,icon:&#x27;fa-magnifying-glass-chart&#x27;,wooProductId:17363},this)\"><i class=\"fa-solid fa-cart-plus\"><\/i> Add to cart<\/button>\n  <\/div>\n<\/article>\n      <!-- cga-p5-mpconsul@cga  |  Rs 179 \/ 249  |  woo 17382 -->\n<article class=\"ts-card\" data-id=\"cga-p5-mpconsul\" data-copy=\"cga-p5-mpconsul@cga\" data-type=\"chapter\"\n         data-price=\"179\" data-q=\"400\" data-woo-id=\"17382\"\n         data-title=\"Manual of Procurement of Consultancy Services \u2014 Chapter-wise\" data-subject=\"Manual of Procurement of Consultancy Services\"\n         data-exams=\"cga\" data-paper=\"cga:Paper 5\" data-group=\"cga|Paper 5|chapter\">\n  <div class=\"ts-thumb\">\n    <img loading=\"lazy\" src=\"https:\/\/promotionexams.com\/wp-content\/uploads\/2026\/06\/ChatGPT-Image-Jun-17-2026-12_44_53-PM.png\" alt=\"Manual of Procurement of Consultancy Services, 2025\" width=\"400\" height=\"250\" loading=\"lazy\" decoding=\"async\">\n    <span class=\"ts-kind\">Chapter-wise<\/span>\n  <\/div>\n  <div class=\"ts-cbody\">\n    <h3 class=\"ts-ctitle\">Manual of Procurement of Consultancy Services, 2025<\/h3>\n    <div class=\"ts-spec\"><div><b>700+<\/b><span>Questions<\/span><\/div><div><b class=\"fmt\">Chapter-wise<\/b><span>Format<\/span><\/div><\/div>\n    <p class=\"ts-cdesc\">All chapters \u00b7 rule-cited solutions<\/p>\n  <\/div>\n  <div class=\"ts-cfoot\">\n    <span class=\"ts-price\"><b>&#8377;179<\/b><s>&#8377;249<\/s><i>28% off<\/i><\/span>\n    <button type=\"button\" class=\"ts-buy btn-add-cart\" data-product-id=\"cga-p5-mpconsul\" data-woo-id=\"17382\"\n            onclick=\"peAddToCart({id:&#x27;cga-p5-mpconsul&#x27;,name:&#x27;CGA Paper V \u2014 Manual of Procurement of Consultancy Services&#x27;,type:&#x27;test-series&#x27;,price:179,originalPrice:249,icon:&#x27;fa-magnifying-glass-chart&#x27;,wooProductId:17382},this)\"><i class=\"fa-solid fa-cart-plus\"><\/i> Add to cart<\/button>\n  <\/div>\n<\/article>\n      <!-- cga-p5-mpnonconsul@cga  |  Rs 179 \/ 249  |  woo 17383 -->\n<article class=\"ts-card\" data-id=\"cga-p5-mpnonconsul\" data-copy=\"cga-p5-mpnonconsul@cga\" data-type=\"chapter\"\n         data-price=\"179\" data-q=\"400\" data-woo-id=\"17383\"\n         data-title=\"Manual of Procurement of Non-Consultancy Services \u2014 Chapter-wise\" data-subject=\"Manual of Procurement of Non-Consultancy Services\"\n         data-exams=\"cga\" data-paper=\"cga:Paper 5\" data-group=\"cga|Paper 5|chapter\">\n  <div class=\"ts-thumb\">\n    <img loading=\"lazy\" src=\"https:\/\/promotionexams.com\/wp-content\/uploads\/2026\/10\/Procurement-Manual_-Transparent-Public-Service.png\" alt=\"Manual of Procurement of Non-Consultancy Services, 2025\" width=\"400\" height=\"250\" loading=\"lazy\" decoding=\"async\">\n    <span class=\"ts-kind\">Chapter-wise<\/span>\n  <\/div>\n  <div class=\"ts-cbody\">\n    <h3 class=\"ts-ctitle\">Manual of Procurement of Non-Consultancy Services, 2025<\/h3>\n    <div class=\"ts-spec\"><div><b>700+<\/b><span>Questions<\/span><\/div><div><b class=\"fmt\">Chapter-wise<\/b><span>Format<\/span><\/div><\/div>\n    <p class=\"ts-cdesc\">All chapters \u00b7 rule-cited solutions<\/p>\n  <\/div>\n  <div class=\"ts-cfoot\">\n    <span class=\"ts-price\"><b>&#8377;179<\/b><s>&#8377;249<\/s><i>28% off<\/i><\/span>\n    <button type=\"button\" class=\"ts-buy btn-add-cart\" data-product-id=\"cga-p5-mpnonconsul\" data-woo-id=\"17383\"\n            onclick=\"peAddToCart({id:&#x27;cga-p5-mpnonconsul&#x27;,name:&#x27;Procurement of Non-Consultancy Services Chapter-wise&#x27;,type:&#x27;test-series&#x27;,price:179,originalPrice:249,icon:&#x27;fa-magnifying-glass-chart&#x27;,wooProductId:17383},this)\"><i class=\"fa-solid fa-cart-plus\"><\/i> Add to cart<\/button>\n  <\/div>\n<\/article>\n      <!-- cga-p5-iah@cga  |  Rs 129 \/ 199  |  woo 14839 -->\n<article class=\"ts-card\" data-id=\"cga-p5-iah\" data-copy=\"cga-p5-iah@cga\" data-type=\"chapter\"\n         data-price=\"129\" data-q=\"400\" data-woo-id=\"14839\"\n         data-title=\"Internal Audit Handbook \u2014 Chapter-wise\" data-subject=\"Internal Audit Handbook for Central Civil Ministries\/Departments issued by CGA\"\n         data-exams=\"cga\" data-paper=\"cga:Paper 5\" data-group=\"cga|Paper 5|chapter\">\n  <div class=\"ts-thumb\">\n    <img loading=\"lazy\" src=\"https:\/\/promotionexams.com\/wp-content\/uploads\/2026\/06\/ChatGPT-Image-Jun-9-2026-04_51_17-PM.png\" alt=\"Internal Audit Handbook\" width=\"400\" height=\"250\" loading=\"lazy\" decoding=\"async\">\n    <span class=\"ts-kind\">Chapter-wise<\/span>\n  <\/div>\n  <div class=\"ts-cbody\">\n    <h3 class=\"ts-ctitle\">Internal Audit Handbook<\/h3>\n    <div class=\"ts-spec\"><div><b>375+<\/b><span>Questions<\/span><\/div><div><b class=\"fmt\">Chapter-wise<\/b><span>Format<\/span><\/div><\/div>\n    <p class=\"ts-cdesc\">All chapters \u00b7 rule-cited solutions<\/p>\n  <\/div>\n  <div class=\"ts-cfoot\">\n    <span class=\"ts-price\"><b>&#8377;129<\/b><s>&#8377;199<\/s><i>35% off<\/i><\/span>\n    <button type=\"button\" class=\"ts-buy btn-add-cart\" data-product-id=\"cga-p5-iah\" data-woo-id=\"14839\"\n            onclick=\"peAddToCart({id:&#x27;cga-p5-iah&#x27;,name:&#x27;CGA Paper V \u2014 Internal Audit Handbook&#x27;,type:&#x27;test-series&#x27;,price:129,originalPrice:199,icon:&#x27;fa-magnifying-glass-chart&#x27;,wooProductId:14839},this)\"><i class=\"fa-solid fa-cart-plus\"><\/i> Add to cart<\/button>\n  <\/div>\n<\/article>\n      <!-- cga-p5-giam@cga  |  Rs 129 \/ 199  |  woo 13601 -->\n<article class=\"ts-card\" data-id=\"cga-p5-giam\" data-copy=\"cga-p5-giam@cga\" data-type=\"chapter\"\n         data-price=\"129\" data-q=\"300\" data-woo-id=\"13601\"\n         data-title=\"Generic Internal Audit Manual \u2014 Chapter-wise\" data-subject=\"Generic Internal Audit Manual\"\n         data-exams=\"cga\" data-paper=\"cga:Paper 5\" data-group=\"cga|Paper 5|chapter\">\n  <div class=\"ts-thumb\">\n    <img loading=\"lazy\" src=\"https:\/\/promotionexams.com\/wp-content\/uploads\/2026\/06\/ChatGPT-Image-Jun-10-2026-10_28_59-AM.png\" alt=\"Generic Internal Audit Manual\" width=\"400\" height=\"250\" loading=\"lazy\" decoding=\"async\">\n    <span class=\"ts-kind\">Chapter-wise<\/span>\n  <\/div>\n  <div class=\"ts-cbody\">\n    <h3 class=\"ts-ctitle\">Generic Internal Audit Manual<\/h3>\n    <div class=\"ts-spec\"><div><b>325+<\/b><span>Questions<\/span><\/div><div><b class=\"fmt\">Chapter-wise<\/b><span>Format<\/span><\/div><\/div>\n    <p class=\"ts-cdesc\">All chapters \u00b7 rule-cited solutions<\/p>\n  <\/div>\n  <div class=\"ts-cfoot\">\n    <span class=\"ts-price\"><b>&#8377;129<\/b><s>&#8377;199<\/s><i>35% off<\/i><\/span>\n    <button type=\"button\" class=\"ts-buy btn-add-cart\" data-product-id=\"cga-p5-giam\" data-woo-id=\"13601\"\n            onclick=\"peAddToCart({id:&#x27;cga-p5-giam&#x27;,name:&#x27;CGA Paper V \u2014 Generic Internal Audit Manual&#x27;,type:&#x27;test-series&#x27;,price:129,originalPrice:199,icon:&#x27;fa-clipboard-check&#x27;,wooProductId:13601},this)\"><i class=\"fa-solid fa-cart-plus\"><\/i> Add to cart<\/button>\n  <\/div>\n<\/article>\n      <!-- cga-p5-opia@cga  |  Rs 129 \/ 199  |  woo 14801 -->\n<article class=\"ts-card\" data-id=\"cga-p5-opia\" data-copy=\"cga-p5-opia@cga\" data-type=\"chapter\"\n         data-price=\"129\" data-q=\"300\" data-woo-id=\"14801\"\n         data-title=\"Operational Manual for Internal Audit \u2014 Chapter-wise\" data-subject=\"Operational Manual for Internal Audit for Central Civil Ministries\/Departments\"\n         data-exams=\"cga\" data-paper=\"cga:Paper 5\" data-group=\"cga|Paper 5|chapter\">\n  <div class=\"ts-thumb\">\n    <img loading=\"lazy\" src=\"https:\/\/promotionexams.com\/wp-content\/uploads\/2026\/06\/Gemini_Generated_Image_7wd3tr7wd3tr7wd3.png\" alt=\"Operational Manual for Internal Audit\" width=\"400\" height=\"250\" loading=\"lazy\" decoding=\"async\">\n    <span class=\"ts-kind\">Chapter-wise<\/span>\n  <\/div>\n  <div class=\"ts-cbody\">\n    <h3 class=\"ts-ctitle\">Operational Manual for Internal Audit<\/h3>\n    <div class=\"ts-spec\"><div><b>300+<\/b><span>Questions<\/span><\/div><div><b class=\"fmt\">Chapter-wise<\/b><span>Format<\/span><\/div><\/div>\n    <p class=\"ts-cdesc\">All chapters \u00b7 rule-cited solutions<\/p>\n  <\/div>\n  <div class=\"ts-cfoot\">\n    <span class=\"ts-price\"><b>&#8377;129<\/b><s>&#8377;199<\/s><i>35% off<\/i><\/span>\n    <button type=\"button\" class=\"ts-buy btn-add-cart\" data-product-id=\"cga-p5-opia\" data-woo-id=\"14801\"\n            onclick=\"peAddToCart({id:&#x27;cga-p5-opia&#x27;,name:&#x27;CGA Paper V \u2014 Operational Manual for Internal Audit&#x27;,type:&#x27;test-series&#x27;,price:129,originalPrice:199,icon:&#x27;fa-list-check&#x27;,wooProductId:14801},this)\"><i class=\"fa-solid fa-cart-plus\"><\/i> Add to cart<\/button>\n  <\/div>\n<\/article>\n      <!-- cga-p5-ppmii@cga  |  Rs 49 \/ 99  |  woo 17461 -->\n<article class=\"ts-card\" data-id=\"cga-p5-ppmii\" data-copy=\"cga-p5-ppmii@cga\" data-type=\"chapter\"\n         data-price=\"49\" data-q=\"100\" data-woo-id=\"17461\"\n         data-title=\"Public Procurement (Preference to Make in India) Order, 2017\" data-subject=\"Public Procurement (Preference to Make in India) Order, 2017\"\n         data-exams=\"cga\" data-paper=\"cga:Paper 5\" data-group=\"cga|Paper 5|chapter\">\n  <div class=\"ts-thumb\">\n    <img loading=\"lazy\" src=\"https:\/\/promotionexams.com\/wp-content\/uploads\/2025\/08\/make-in-India-logo-scaled-e1754200928695.jpg\" alt=\"Public Procurement (Preference to Make in India) Order, 2017\" width=\"400\" height=\"250\" loading=\"lazy\" decoding=\"async\">\n    <span class=\"ts-kind\">Chapter-wise<\/span>\n  <\/div>\n  <div class=\"ts-cbody\">\n    <h3 class=\"ts-ctitle\">Public Procurement (Preference to Make in India) Order, 2017<\/h3>\n    <div class=\"ts-spec\"><div><b>90+<\/b><span>Questions<\/span><\/div><div><b class=\"fmt\">Chapter-wise<\/b><span>Format<\/span><\/div><\/div>\n    <p class=\"ts-cdesc\">All chapters \u00b7 rule-cited solutions<\/p>\n  <\/div>\n  <div class=\"ts-cfoot\">\n    <span class=\"ts-price\"><b>&#8377;49<\/b><s>&#8377;99<\/s><i>51% off<\/i><\/span>\n    <button type=\"button\" class=\"ts-buy btn-add-cart\" data-product-id=\"cga-p5-ppmii\" data-woo-id=\"17461\"\n            onclick=\"peAddToCart({id:&#x27;cga-p5-ppmii&#x27;,name:&#x27;CGA Paper V \u2014 Public Procurement (Preference to Make in India) Order, 2017&#x27;,type:&#x27;test-series&#x27;,price:49,originalPrice:99,icon:&#x27;fa-list-check&#x27;,wooProductId:17461},this)\"><i class=\"fa-solid fa-cart-plus\"><\/i> Add to cart<\/button>\n  <\/div>\n<\/article>\n      <!-- cga-p5-egem@cga  |  Rs 59 \/ 99  |  woo 17477 -->\n<article class=\"ts-card\" data-id=\"cga-p5-egem\" data-copy=\"cga-p5-egem@cga\" data-type=\"chapter\"\n         data-price=\"59\" data-q=\"100\" data-woo-id=\"17477\"\n         data-title=\"e-Procurement System and Government e-Marketplace (GeM)\" data-subject=\"e-Procurement System and Government e-Marketplace (GeM)\"\n         data-exams=\"cga\" data-paper=\"cga:Paper 5\" data-group=\"cga|Paper 5|chapter\">\n  <div class=\"ts-thumb\">\n    <img loading=\"lazy\" src=\"https:\/\/promotionexams.com\/wp-content\/uploads\/2026\/10\/GeM-India-14-11-2023.jpg\" alt=\"e-Procurement System and Government e-Marketplace (GeM)\" width=\"400\" height=\"250\" loading=\"lazy\" decoding=\"async\">\n    <span class=\"ts-kind\">Chapter-wise<\/span>\n  <\/div>\n  <div class=\"ts-cbody\">\n    <h3 class=\"ts-ctitle\">e-Procurement System and Government e-Marketplace (GeM)<\/h3>\n    <div class=\"ts-spec\"><div><b>120+<\/b><span>Questions<\/span><\/div><div><b class=\"fmt\">Chapter-wise<\/b><span>Format<\/span><\/div><\/div>\n    <p class=\"ts-cdesc\">All chapters \u00b7 rule-cited solutions<\/p>\n  <\/div>\n  <div class=\"ts-cfoot\">\n    <span class=\"ts-price\"><b>&#8377;59<\/b><s>&#8377;99<\/s><i>40% off<\/i><\/span>\n    <button type=\"button\" class=\"ts-buy btn-add-cart\" data-product-id=\"cga-p5-egem\" data-woo-id=\"17477\"\n            onclick=\"peAddToCart({id:&#x27;cga-p5-egem&#x27;,name:&#x27;CGA Paper V \u2014 e-Procurement System and Government e-Marketplace (GeM)&#x27;,type:&#x27;test-series&#x27;,price:59,originalPrice:99,icon:&#x27;fa-list-check&#x27;,wooProductId:17477},this)\"><i class=\"fa-solid fa-cart-plus\"><\/i> Add to cart<\/button>\n  <\/div>\n<\/article>\n      <\/div>\n      <div class=\"ts-empty\" id=\"ts-empty\" hidden>\n        <h3>Nothing here for that combination<\/h3>\n        <p>Try another format or paper, or search the short name &mdash; &ldquo;GFR&rdquo;, &ldquo;RTI&rdquo;, &ldquo;Pension&rdquo;.<\/p>\n        <button type=\"button\" id=\"ts-reset\">Clear all filters<\/button>\n      <\/div>\n    <\/div>\n  <\/main>\n  <section class=\"sec gold\" id=\"bundles\" aria-labelledby=\"bunHead\">\n    <div class=\"wrap\">\n      <div class=\"sechead mid\">\n        <p class=\"eyebrow\">CGA AAO bundles<\/p>\n        <h2 id=\"bunHead\">Buy the whole paper, <em>not one subject at a time<\/em><\/h2>\n        <p>A bundle is every series for a paper in a single purchase &mdash; same banks, same rule-cited solutions,\n           same validity as buying them one by one, for up to 51% less.\n           Each card shows what the same series cost bought separately.<\/p>\n      <\/div>\n      <div class=\"bgrid\">\n  <!-- bundle-cga-p3  |  Rs 799 \/ 1073  |  woo none yet - create it in WooCommerce, then set woo in PE_BUNDLES -->\n  <article class=\"bcard is-soon\" id=\"b-bundle-cga-p3\" data-bundle=\"bundle-cga-p3\" data-paper=\"Paper 3\" data-fmt=\"Chapter-wise\">\n    <div class=\"btop\">\n      <span class=\"btag\">7 series &#183; Chapter-wise<\/span>\n      <span class=\"bsave\">Save &#8377;274 &#183; 26%<\/span>\n    <\/div>\n    <h4>Paper III \u2014 Government &amp; Works Accounts<\/h4>\n    <p>Accounts ka sabse heavy paper \u2014 GAR 1990 se Procurement of Works tak.<\/p>\n    <ul class=\"blist\" data-auto><li>Government Accounting Rules, 1990<\/li><li>CGA (Receipt &amp; Payment) Rules, 2022<\/li><li>Subsidiary Instructions on R&amp;P Rules, 2022<\/li><li>Manual for Procurement of Works<\/li><li>CPWD Works Manual<\/li><li>List of Major &amp; Minor Heads<\/li><li>Suspense Manual<\/li><\/ul>\n    <div class=\"bcmp\"><\/div>\n    <div class=\"bfoot\">\n      <span class=\"bprice\"><b>&#8377;799<\/b><s>&#8377;1073<\/s><\/span>\n      <button type=\"button\" class=\"bbtn btn-add-cart\" data-product-id=\"bundle-cga-p3\" data-woo-id=\"0\"\n              onclick=\"peAddToCart({id:&#x27;bundle-cga-p3&#x27;,name:&#x27;Paper III \u2014 Government &amp; Works Accounts \u2014 CGA AAO&#x27;,type:&#x27;bundle&#x27;,price:799,originalPrice:1073,icon:&#x27;fa-layer-group&#x27;,wooProductId:0},this)\"><i class=\"fa-solid fa-bell\"><\/i> Notify me<\/button>\n    <\/div>\n  <\/article>\n  <!-- bundle-cga-p4  |  Rs 719 \/ 992  |  woo none yet - create it in WooCommerce, then set woo in PE_BUNDLES -->\n  <article class=\"bcard is-soon\" id=\"b-bundle-cga-p4\" data-bundle=\"bundle-cga-p4\" data-paper=\"Paper 4\" data-fmt=\"Chapter-wise + PYQ\">\n    <div class=\"btop\">\n      <span class=\"btag\">7 series &#183; Chapter-wise + PYQ<\/span>\n      <span class=\"bsave\">Save &#8377;224 &#183; 24%<\/span>\n    <\/div>\n    <h4>Paper IV \u2014 Constitution, Budget &amp; Financial Administration<\/h4>\n    <p>Constitution combo, Budget Manual, GFR, DFPR, FRBM aur CAG (DPC) Act ek saath.<\/p>\n    <ul class=\"blist\" data-auto><li>Constitution of India \u2014 PYQs + Article-wise<\/li><li>Budget Manual &amp; Contingency Fund Rules<\/li><li>GFR, 2017 \u2014 Complete Pack<\/li><li>Lok Sabha Rules, Ch. XXVI \u2014 Parliamentary Committees<\/li><li>CAG&#x27;s (DPC) Act, 1971<\/li><li>FRBM Act &amp; Rules<\/li><li>DFPR, 2024 \u2014 Chapter-wise<\/li><\/ul>\n    <div class=\"bcmp\"><\/div>\n    <div class=\"bfoot\">\n      <span class=\"bprice\"><b>&#8377;719<\/b><s>&#8377;992<\/s><\/span>\n      <button type=\"button\" class=\"bbtn btn-add-cart\" data-product-id=\"bundle-cga-p4\" data-woo-id=\"0\"\n              onclick=\"peAddToCart({id:&#x27;bundle-cga-p4&#x27;,name:&#x27;Paper IV \u2014 Constitution, Budget &amp; Financial Administration \u2014 CGA AAO&#x27;,type:&#x27;bundle&#x27;,price:719,originalPrice:992,icon:&#x27;fa-layer-group&#x27;,wooProductId:0},this)\"><i class=\"fa-solid fa-bell\"><\/i> Notify me<\/button>\n    <\/div>\n  <\/article>\n  <!-- bundle-cga-p5  |  Rs 299 \/ 387  |  woo none yet - create it in WooCommerce, then set woo in PE_BUNDLES -->\n  <article class=\"bcard is-soon\" id=\"b-bundle-cga-p5\" data-bundle=\"bundle-cga-p5\" data-paper=\"Paper 5\" data-fmt=\"Chapter-wise\">\n    <div class=\"btop\">\n      <span class=\"btag\">8 series &#183; Chapter-wise<\/span>\n      <span class=\"bsave\">Save &#8377;88 &#183; 23%<\/span>\n    <\/div>\n    <h4>Paper V \u2014 Internal Audit<\/h4>\n    <p>Teeno CGA internal audit manuals, chapter by chapter.<\/p>\n    <ul class=\"blist\" data-auto><li>Internal Audit Handbook<\/li><li>Generic Internal Audit Manual<\/li><li>Operational Manual for Internal Audit<\/li><\/ul>\n    <div class=\"bcmp\"><\/div>\n    <div class=\"bfoot\">\n      <span class=\"bprice\"><b>&#8377;899<\/b><s>&#8377;1052<\/s><\/span>\n      <button type=\"button\" class=\"bbtn btn-add-cart\" data-product-id=\"bundle-cga-p5\" data-woo-id=\"0\"\n              onclick=\"peAddToCart({id:&#x27;bundle-cga-p5&#x27;,name:&#x27;Paper V \u2014 Internal Audit \u2014 CGA AAO&#x27;,type:&#x27;bundle&#x27;,price:899,originalPrice:1052,icon:&#x27;fa-layer-group&#x27;,wooProductId:18303},this)\"><i class=\"fa-solid fa-bell\"><\/i> Add to Cart<\/button>\n    <\/div>\n  <\/article>\n  <!-- bundle-cga-full  |  Rs 2099 \/ 3265  |  woo none yet - create it in WooCommerce, then set woo in PE_BUNDLES -->\n  <article class=\"bcard feature is-soon\" id=\"b-bundle-cga-full\" data-bundle=\"bundle-cga-full\" data-paper=\"\" data-fmt=\"All formats\">\n    <div class=\"btop\">\n      <span class=\"btag\">29 series &#183; All formats<\/span>\n      <span class=\"bsave\">Save &#8377;2182 &#183; 51%<\/span>\n    <\/div>\n    <h4>Complete 5-Paper Course<\/h4>\n    <p>Saare paanch CBT papers, ek hi jagah \u2014 AAO ka poora syllabus cover.<\/p>\n    <ul class=\"blist\"><li>All Paper I &amp; Paper II service-rule series<\/li><li>Complete Paper III accounts library<\/li><li>Complete Paper IV financial administration set<\/li><li>Every Paper V audit and procurement manual<\/li><\/ul>\n    <div class=\"bcmp\"><\/div>\n    <div class=\"bfoot\">\n      <span class=\"bprice\"><b>&#8377;2099<\/b><s>&#8377;3265<\/s><\/span>\n      <button type=\"button\" class=\"bbtn btn-add-cart\" data-product-id=\"bundle-cga-full\" data-woo-id=\"0\"\n              onclick=\"peAddToCart({id:&#x27;bundle-cga-full&#x27;,name:&#x27;Complete 5-Paper Course \u2014 CGA AAO&#x27;,type:&#x27;bundle&#x27;,price:2099,originalPrice:3265,icon:&#x27;fa-layer-group&#x27;,wooProductId:0},this)\"><i class=\"fa-solid fa-bell\"><\/i> Notify me<\/button>\n    <\/div>\n  <\/article>\n      <\/div>\n      <p class=\"bhint\"><i class=\"fa-solid fa-circle-info\"><\/i> Added a single series that sits inside a bundle? The page offers the bundle before checkout and swaps out anything already in your cart.<\/p>\n    <\/div>\n  <\/section>\n  <section class=\"sec lm\" id=\"live-mocks\" aria-labelledby=\"lmHead\">\n    <div class=\"wrap\">\n      <div class=\"sechead mid\">\n        <p class=\"eyebrow\"><span class=\"lm-dot\"><\/span> Live mock test series<\/p>\n        <h2 id=\"lmHead\">Sit the paper <em>before the paper<\/em><\/h2>\n        <p>Scheduled, timed mocks on the CGA AAO pattern &mdash; everyone attempts in the same window, so the rank you\n           get is against the people you will actually be competing with. Solutions open when the window closes.           The series opens <strong>one month before the exam<\/strong>; the exam date is awaited.<\/p>\n      <\/div>\n      <div class=\"lm-syl one\" id=\"lm-syl\">\n        <div class=\"lm-sylcard plan soon\">\n          <span class=\"pl\"><i class=\"fa-solid fa-map\"><\/i><\/span>\n          <h3>Schedule and plan &mdash; <em>announced with the exam date<\/em><\/h3>\n          <p>The paper-wise schedule, the syllabus of every mock and the price are published here the day the CGA notifies the CBT date. The series opens one month before the exam.<\/p>\n          <ul class=\"lm-plist\">\n            <li><i class=\"fa-solid fa-check\"><\/i> Five paper-wise full-length mocks &#183; 100 marks each<\/li>\n            <li><i class=\"fa-solid fa-check\"><\/i> CBT pattern, timer and marking<\/li>\n            <li><i class=\"fa-solid fa-check\"><\/i> All-India rank after every mock<\/li>\n          <\/ul>\n        <\/div>\n      <\/div>\n      <div class=\"lm-grid\">\n        <aside class=\"lm-card\">\n          <span class=\"lm-badge\"><span class=\"lm-dot\"><\/span> Opens one month before the exam<\/span>\n          <h3>Live Mock Test Series \u2014 CGA AAO CBT<\/h3>\n          <p>Paper-wise full-length mocks on the CBT pattern \u2014 100 marks a paper, the CGA\u2019s own timer and marking \u2014 set from the bare manuals and ranked All-India. The series opens one month before the exam; the schedule and the price are announced here the day the exam date is notified.<\/p>\n          <div class=\"lm-next\">\n            <span class=\"k\"><i class=\"fa-regular fa-calendar\"><\/i> <span class=\"lmn-k\">Series opens<\/span><\/span>\n            <span class=\"lmn-title\">One month before the exam<\/span>\n            <span class=\"lmn-when\">CGA AAO CBT date awaited &#183; schedule and price announced here first<\/span>\n          <\/div>\n          <ul class=\"lm-feat\">\n            <li><i class=\"fa-solid fa-check\"><\/i> Five paper-wise mocks on the CBT pattern \u00b7 100 marks each<\/li>\n            <li><i class=\"fa-solid fa-check\"><\/i> Opens one month before the exam<\/li>\n            <li><i class=\"fa-solid fa-check\"><\/i> All-India rank &amp; percentile<\/li>\n            <li><i class=\"fa-solid fa-check\"><\/i> Rule-cited answer key after the window<\/li>\n            <li><i class=\"fa-solid fa-check\"><\/i> Paper- and chapter-wise marks, pacing<\/li>\n            <li><i class=\"fa-solid fa-check\"><\/i> Practice mode till the exam<\/li>\n          <\/ul>\n          <div class=\"lm-buy\">\n            <span class=\"lm-tba\"><b>Price<\/b> announced with the exam date<\/span>\n            <button type=\"button\" class=\"lm-enroll notify\" data-notify><i class=\"fa-solid fa-bell\"><\/i> Notify me<\/button>\n          <\/div>\n          <p class=\"lm-fine\">All times IST. The series is timed to the notified exam date; enrolled candidates hear first.<\/p>\n        <\/aside>\n        <div class=\"lm-sched\">\n          <div class=\"lm-schedhead\"><h3>Schedule<\/h3><div class=\"lm-pf ts-chips\" id=\"lm-pf\" aria-label=\"Filter by paper\"><\/div><span id=\"lm-count\">To be announced<\/span><\/div>\n          <div class=\"lm-soon\">\n            <div class=\"lm-date tba\"><b><i class=\"fa-regular fa-calendar\"><\/i><\/b><span>Date<\/span><em>awaited<\/em><\/div>\n            <div>\n              <span class=\"lm-n\">Series opens one month before the exam <em>Date awaited<\/em><\/span>\n              <h4>The schedule will be announced with the exam date<\/h4>\n              <p>The CGA AAO CBT date has not been notified yet. The day it is, the paper-wise schedule &mdash; one full-length mock for each of the five papers, then a grand mock &mdash; goes up here, timed to open one month before the exam. Candidates on the notify list hear first.<\/p>\n              <button type=\"button\" class=\"lm-demo-lnk\" data-notify><i class=\"fa-solid fa-bell\"><\/i> Notify me<\/button>\n            <\/div>\n          <\/div>\n        <\/div>\n      <\/div>\n      <div class=\"lm-how\">\n        <div><b>01 &#183; Exam date notified<\/b><h4>Schedule and price go up here<\/h4><p>The day the CGA notifies the CBT date, the paper-wise schedule and the price are published on this page.<\/p><\/div>\n        <div><b>02 &#183; One month before<\/b><h4>The series opens<\/h4><p>One purchase covers every mock; each unlocks in My Purchases the moment it starts.<\/p><\/div>\n        <div><b>03 &#183; Attempt live<\/b><h4>Same window as everyone<\/h4><p>Attempt once inside the 24-hour ranked window, on the CBT timer.<\/p><\/div>\n        <div><b>04 &#183; Rank &amp; revise<\/b><h4>See where you stand<\/h4><p>Score, rank and percentile when the window closes; the answer key stays open in practice mode.<\/p><\/div>\n      <\/div>\n    <\/div>\n  <\/section>\n  <section class=\"sec\" aria-labelledby=\"whyHead\">\n    <div class=\"wrap\">\n      <div class=\"panel\">\n        <div class=\"why\">\n          <div class=\"why-copy\">\n            <p class=\"eyebrow\">Every answer cites its rule<\/p>\n            <h2 id=\"whyHead\">Know exactly which provisions you get wrong\n              <em>before the exam tells you.<\/em><\/h2>\n            <p>The examiner asks for the exact sub-rule, the exact limit, the exact time-line &mdash;\n               and reading a manual end to end will not tell you which of those keeps coming back.\n               Attempting will. Every series is built from the bare rule and the real question papers,\n               and every attempt returns a chapter-by-chapter report naming the provisions you are\n               still losing marks on.<\/p>\n            <div class=\"why-btns\">\n              <a class=\"b1\" href=\"#shelf\">Browse the test series<\/a>\n              <a class=\"b2\" href=\"#bundles\">See bundles<\/a>\n            <\/div>\n          <\/div>\n          <div class=\"why-stats\">\n            <div class=\"why-stat\"><span>Rule-cited questions<\/span><b>8,500+<\/b><\/div>\n            <div class=\"why-stat\"><span>Previous year papers<\/span><b>2009 &ndash; 2025<\/b><\/div>\n            <div class=\"why-stat\"><span>After every attempt<\/span><b>Weak-chapter report<\/b><\/div>\n          <\/div>\n          <div class=\"why-visual\">\n  <div class=\"shot-deck\" id=\"shotDeck\" aria-roledescription=\"carousel\" aria-label=\"Screens from a test series\">\n    <div class=\"shot-track\" id=\"shotTrack\">\n      <div class=\"shot-slide\" role=\"group\" aria-roledescription=\"slide\" aria-label=\"Practice tab\">\n        <div class=\"ui-shot\">\n          <div class=\"ui-bar\"><i><\/i><i><\/i><i><\/i><span>promotionexams.com &mdash; GFR 2017 &#183; Test Series<\/span><\/div>\n          <div class=\"ui-head\">\n            <div class=\"ui-eyebrow\">CSS ADDA &#183; PromotionExams.com<\/div>\n            <h5>General Financial Rules, 2017<\/h5>\n            <div class=\"ui-tabs\"><span class=\"ui-tab on\">Practice<\/span><span class=\"ui-tab\">My Performance<\/span><span class=\"ui-tab\">Exam Analytics<\/span><\/div>\n          <\/div>\n          <div class=\"ui-rule\"><\/div>\n          <div class=\"ui-body\">\n            <div class=\"ui-meta\">\n              <span class=\"ui-badge pyq\">PYQ &#183; 2019-20<\/span>\n              <span class=\"ui-badge ch\">Ch 10: Externally Aided Projects<\/span>\n            <\/div>\n            <p class=\"ui-stem\"><em>Q.<\/em>Rule 265 provides that external aid shall flow from the Funding Agency in foreign currency or Indian rupees and shall be received by the:<\/p>\n            <div class=\"ui-opt\"><span class=\"k\">(a)<\/span><span>Reserve Bank of India, Nagpur<\/span><\/div>\n            <div class=\"ui-opt\"><span class=\"k\">(b)<\/span><span>State Bank of India Headquarters, New Delhi<\/span><\/div>\n            <div class=\"ui-opt right\"><span class=\"k\">(c)<\/span><span>Reserve Bank of India, Mumbai<\/span><span class=\"m\">Correct<\/span><\/div>\n            <div class=\"ui-expl\">\n              <div class=\"h\">Source &amp; reasoning<\/div>\n              <b>Rule 265 &mdash; Currency of external aid.<\/b> Received by the RBI, Mumbai, which remits the rupee equivalent to the Controller, Aid Accounts &amp; Audit at RBI, New Delhi.\n            <\/div>\n          <\/div>\n        <\/div>\n      <\/div>\n      <div class=\"shot-slide\" role=\"group\" aria-roledescription=\"slide\" aria-label=\"My Performance tab\">\n        <div class=\"ui-shot\">\n          <div class=\"ui-bar\"><i><\/i><i><\/i><i><\/i><span>promotionexams.com &mdash; GFR 2017 &#183; Test Series<\/span><\/div>\n          <div class=\"ui-head\">\n            <div class=\"ui-eyebrow\">CSS ADDA &#183; PromotionExams.com<\/div>\n            <h5>General Financial Rules, 2017<\/h5>\n            <div class=\"ui-tabs\"><span class=\"ui-tab\">Practice<\/span><span class=\"ui-tab on\">My Performance<\/span><span class=\"ui-tab\">Exam Analytics<\/span><\/div>\n          <\/div>\n          <div class=\"ui-rule\"><\/div>\n          <div class=\"ui-body\">\n            <div class=\"ui-ready\">\n              <div class=\"ui-ring\">\n                <svg viewBox=\"0 0 74 74\" aria-hidden=\"true\">\n                  <circle class=\"bg\" cx=\"37\" cy=\"37\" r=\"33\"><\/circle>\n                  <circle class=\"fg\" cx=\"37\" cy=\"37\" r=\"33\" stroke-dasharray=\"141 207.3\"><\/circle>\n                <\/svg>\n                <span>68<small>Readiness<\/small><\/span>\n              <\/div>\n              <p><b>Strong base.<\/b> Close the gaps in the biggest chapters below to cross 80.\n                 <em>Readiness = &Sigma; (exam weight &times; mastery)<\/em><\/p>\n            <\/div>\n            <div class=\"ui-sec\">Where your marks are leaking <b>&mdash; 24 per 100<\/b><\/div>\n            <div class=\"ui-leak\"><span class=\"n\">Ch 6: Procurement of Goods<\/span>\n              <span class=\"t\"><i style=\"width:100%;background:#C0392B\"><\/i><\/span>\n              <span class=\"v\" style=\"color:#C0392B\">9.4<\/span><\/div>\n            <div class=\"ui-leak\"><span class=\"n\">Ch 7: Inventory Management<\/span>\n              <span class=\"t\"><i style=\"width:65%;background:#E0A82E\"><\/i><\/span>\n              <span class=\"v\" style=\"color:#8A6508\">6.1<\/span><\/div>\n            <div class=\"ui-leak\"><span class=\"n\">Ch 3: Budget Formulation<\/span>\n              <span class=\"t\"><i style=\"width:44%;background:#1E3A8A\"><\/i><\/span>\n              <span class=\"v\" style=\"color:#1E3A8A\">4.2<\/span><\/div>\n            <div class=\"ui-leak\" style=\"margin-bottom:0\"><span class=\"n\">Ch 8: Contract Management<\/span>\n              <span class=\"t\"><i style=\"width:31%;background:#1E3A8A\"><\/i><\/span>\n              <span class=\"v\" style=\"color:#1E3A8A\">3.0<\/span><\/div>\n            <div class=\"ui-sec\">Revision queue <b>&mdash; fading fastest<\/b><\/div>\n            <div class=\"ui-rev\"><span class=\"n\">Rule 218 &mdash; residual value above &#8377;4 lakh<\/span><span class=\"d\">41% recall<\/span><\/div>\n            <div class=\"ui-rev\"><span class=\"n\">Rule 172 &mdash; advance payment ceilings<\/span><span class=\"d\">58% recall<\/span><\/div>\n          <\/div>\n        <\/div>\n      <\/div>\n      <div class=\"shot-slide\" role=\"group\" aria-roledescription=\"slide\" aria-label=\"Exam Analytics tab\">\n        <div class=\"ui-shot\">\n          <div class=\"ui-bar\"><i><\/i><i><\/i><i><\/i><span>promotionexams.com &mdash; GFR 2017 &#183; Test Series<\/span><\/div>\n          <div class=\"ui-head\">\n            <div class=\"ui-eyebrow\">CSS ADDA &#183; PromotionExams.com<\/div>\n            <h5>General Financial Rules, 2017<\/h5>\n            <div class=\"ui-tabs\"><span class=\"ui-tab\">Practice<\/span><span class=\"ui-tab\">My Performance<\/span><span class=\"ui-tab on\">Exam Analytics<\/span><\/div>\n          <\/div>\n          <div class=\"ui-rule\"><\/div>\n          <div class=\"ui-body\">\n            <div class=\"ui-sec\">Chapter &times; exam year <b>&mdash; counted, never declared<\/b><\/div>\n            <table class=\"ui-hm\">\n              <tr><th class=\"l\">Chapter<\/th><th>&rsquo;19<\/th><th>&rsquo;21<\/th><th>&rsquo;23<\/th><th>&rsquo;24<\/th><th>&rsquo;25<\/th><th class=\"tot\">All<\/th><\/tr>\n              <tr><td class=\"l\">Ch 6: Procurement<\/td><td style=\"background:#D99B12;color:#3A2A02\">6<\/td><td style=\"background:#E8B44A;color:#3A2A02\">5<\/td><td style=\"background:#E8B44A;color:#3A2A02\">5<\/td><td style=\"background:#F2D28C\">4<\/td><td style=\"background:#F2D28C\">4<\/td><td class=\"tot\">24<\/td><\/tr>\n              <tr><td class=\"l\">Ch 7: Inventory<\/td><td style=\"background:#F2D28C\">4<\/td><td style=\"background:#F9E9C4\">3<\/td><td style=\"background:#F2D28C\">4<\/td><td style=\"background:#FDF6E6\">1<\/td><td style=\"background:#F9E9C4\">2<\/td><td class=\"tot\">14<\/td><\/tr>\n              <tr><td class=\"l\">Ch 3: Budget<\/td><td style=\"background:#F9E9C4\">3<\/td><td style=\"background:#F9E9C4\">2<\/td><td style=\"background:#F9E9C4\">3<\/td><td style=\"background:#F9E9C4\">2<\/td><td style=\"background:#F9E9C4\">2<\/td><td class=\"tot\">12<\/td><\/tr>\n              <tr><td class=\"l\">Ch 8: Contract<\/td><td style=\"background:#F9E9C4\">2<\/td><td style=\"background:#F9E9C4\">2<\/td><td style=\"background:#FDF6E6\">1<\/td><td style=\"background:#F9E9C4\">2<\/td><td style=\"background:#FDF6E6\">1<\/td><td class=\"tot\">8<\/td><\/tr>\n              <tr><td class=\"l\">Ch 5: Works<\/td><td style=\"background:#FDF6E6\">1<\/td><td style=\"background:#FDF6E6\">1<\/td><td style=\"background:#F9E9C4\">2<\/td><td style=\"background:#F9E9C4\">2<\/td><td style=\"background:#FDF6E6\">1<\/td><td class=\"tot\">7<\/td><\/tr>\n              <tr><td class=\"l\">Ch 4: Govt Accts<\/td><td style=\"background:#F9E9C4\">2<\/td><td style=\"background:#FDF6E6\">1<\/td><td style=\"background:#FDF6E6\">1<\/td><td style=\"background:#FDF6E6\">1<\/td><td style=\"background:#F9E9C4\">2<\/td><td class=\"tot\">7<\/td><\/tr>\n              <tr><td class=\"l\">Ch 9: Grants<\/td><td style=\"background:#FDF6E6\">1<\/td><td style=\"background:#F9E9C4\">2<\/td><td style=\"background:#F9E9C4\">2<\/td><td style=\"background:#FDF6E6\">1<\/td><td style=\"background:#FDF6E6\">1<\/td><td class=\"tot\">7<\/td><\/tr>\n              <tr><td class=\"l\">Ch 11: Guarantees<\/td><td style=\"background:#FDF6E6\">1<\/td><td style=\"background:#FDF6E6\">1<\/td><td class=\"nil\">&#183;<\/td><td style=\"background:#FDF6E6\">1<\/td><td style=\"background:#FDF6E6\">1<\/td><td class=\"tot\">4<\/td><\/tr>\n            <\/table>\n            <div class=\"ui-legend\"><span>Low<\/span><i style=\"background:#FDF6E6\"><\/i><i style=\"background:#F9E9C4\"><\/i><i style=\"background:#F2D28C\"><\/i><i style=\"background:#E8B44A\"><\/i><i style=\"background:#D99B12\"><\/i><span>High<\/span><\/div>\n          <\/div>\n        <\/div>\n      <\/div>\n    <\/div>\n  <\/div>\n  <div class=\"shot-dots\" id=\"shotDots\">\n    <button type=\"button\" class=\"shot-dot on\" data-i=\"0\" aria-label=\"Show Practice\"><i><\/i><\/button>\n    <button type=\"button\" class=\"shot-dot\" data-i=\"1\" aria-label=\"Show My Performance\"><i><\/i><\/button>\n    <button type=\"button\" class=\"shot-dot\" data-i=\"2\" aria-label=\"Show Exam Analytics\"><i><\/i><\/button>\n  <\/div>\n  <p class=\"shot-cap\" id=\"shotCap\">Practice &mdash; every answer cites the governing rule<\/p><\/div>\n        <\/div>\n      <\/div>\n    <\/div>\n  <\/section>\n  <section class=\"sec\" aria-label=\"How the test series works\">\n    <div class=\"wrap\">\n      <div class=\"sechead mid\">\n        <p class=\"eyebrow\">How it works<\/p>\n        <h2>From buying a series to <em>walking into the hall<\/em><\/h2>\n        <p>Four steps, in the order you will actually use them.<\/p>\n      <\/div>\n      <div class=\"steps\"><div class=\"step\"><span class=\"n\">Step 01<\/span><h3>Pick your paper and format<\/h3><p>Choose the paper, then the format: previous year questions to learn the pattern, chapter-wise to close gaps, or the combined series for both.<\/p><\/div><div class=\"step\"><span class=\"n\">Step 02<\/span><h3>Pay once, valid till your exam<\/h3><p>Checkout is SSL-encrypted. The series lands in <strong>My Purchases<\/strong> immediately and stays open right up to your exam \u2014 unlimited attempts, no per-attempt charge.<\/p><\/div><div class=\"step\"><span class=\"n\">Step 03<\/span><h3>Attempt and read the reasoning<\/h3><p>Each answer cites the rule, section or para that decides it, and says why the other three options fail. That is what makes a rule stick.<\/p><\/div><div class=\"step\"><span class=\"n\">Step 04<\/span><h3>Re-attempt what you got wrong<\/h3><p>Analytics show accuracy and time per chapter. Revise the weak chapter, re-attempt it, and check whether the number actually moved.<\/p><\/div><\/div>\n    <\/div>\n  <\/section>\n  <section class=\"sec tint\" aria-label=\"Why officers use PromotionExams\">\n    <div class=\"wrap\"><div class=\"props\"><div class=\"prop\"><i class=\"fa-solid fa-user-tie\"><\/i><h3>Written from the updated rule<\/h3><p>Every bank is drafted against the notified text as it stands today \u2014 not from a summary, a guide or a superseded edition.<\/p><\/div><div class=\"prop\"><i class=\"fa-solid fa-scale-balanced\"><\/i><h3>Rule cited, every time<\/h3><p>Explanations quote the exact rule, section or para \u2014 not a vague summary.<\/p><\/div><div class=\"prop\"><i class=\"fa-solid fa-arrows-rotate\"><\/i><h3>Rewritten when rules change<\/h3><p>Pension Rules 2021, DFPR 2024, R&amp;P Rules 2022 \u2014 amended banks, not patched ones.<\/p><\/div><div class=\"prop\"><i class=\"fa-solid fa-shield-halved\"><\/i><h3>Secure checkout<\/h3><p>SSL-encrypted payments through trusted Indian payment gateways.<\/p><\/div><\/div><\/div>\n  <\/section>\n  \n  <section class=\"sec\" id=\"faq\">\n    <div class=\"wrap\">\n      <div class=\"about\">\n        <div>\n          <div class=\"sechead\" style=\"margin-bottom:18px\">\n            <p class=\"eyebrow\">About the CGA AAO test series<\/p>\n            <h2>Built only for the <em>CGA AAO CBT<\/em><\/h2>\n          <\/div>\n          <p>The <strong>CGA AAO CBT<\/strong> is the computer based departmental examination for promotion to Assistant Accounts Officer in the civil accounts organisation. It has five papers of 100 marks each: comprehension and office correspondence, service regulations, government and works accounts, constitution with financial administration and budget, and procurement with internal audit.<\/p>\n          <p>This page carries only what that syllabus asks for. <strong>Paper III<\/strong> has chapter-wise banks for Government Accounting Rules 1990, the CGA (Receipt &amp; Payment) Rules 2022 and their Subsidiary Instructions, the Civil Accounts Manual, LMMH, the Suspense Manual, the CPWD Works Manual and the Manual for Procurement of Works. <strong>Paper IV<\/strong> covers the Budget Manual, FRBM, the CAG (DPC) Act and Lok Sabha Chapter XXVI. <strong>Paper V<\/strong> covers the three CGA internal audit manuals, the procurement manuals, the Make in India order and GeM.<\/p>\n          <p>The service-rule series in <strong>Paper II<\/strong> are the same banks sold for the UPSC SO\/Steno LDCE \u2014 if you already own them, they open here too. Free paper-wise notes on the same manuals are in the <a href=\"https:\/\/promotionexams.com\/?page_id=14220\">notes library<\/a>.<\/p>\n        <\/div>\n        <div class=\"av-wrap\">\n          <div class=\"av-frame\">\n            <img loading=\"lazy\" src=\"https:\/\/images.unsplash.com\/photo-1524995997946-a1c2e315a42f?auto=format&amp;fit=crop&amp;w=760&amp;q=80\"\n                 alt=\"Officer preparing for the CGA AAO CBT\" width=\"760\" height=\"620\" loading=\"lazy\" decoding=\"async\">\n            <span class=\"av-badge\"><i class=\"fa-solid fa-book-open\"><\/i> Written from the updated rule\n              <span><span data-count=\"series\">0<\/span> series<\/span><\/span>\n          <\/div>\n        <\/div>\n      <\/div>\n      <div class=\"sechead\" style=\"margin-top:52px\">\n        <p class=\"eyebrow\">Paper by paper<\/p>\n        <h2>What the CGA AAO test series covers<\/h2>\n      <\/div>\n      <div class=\"seo-cards\">\n      <div class=\"seo-card\">\n        <h3>Paper I &mdash; Comprehension, Precis & Official Correspondence<\/h3>\n        <p>Manual of Office Procedure (CSMOP) &#183; Right to Information (RTI) Act, 2005 &#183; Comprehension, Precis & Drafting<\/p>\n        <button type=\"button\" class=\"go\" data-gopaper=\"Paper 1\">Browse <span data-paper-count=\"Paper 1\">series<\/span> &rarr;<\/button>\n      <\/div>\n      <div class=\"seo-card\">\n        <h3>Paper II &mdash; Service Regulations<\/h3>\n        <p>CCS (Pension) Rules &#183; CCS (Conduct) Rules, 1964 &#183; CCS (CCA) Rules, 1965 &#183; Right to Information (RTI) Act, 2005 &#183; FRSR Part-I \u2013 General Rules &#183; General Provident Fund (Central Services) Rules, 1960 &#183; Leave Travel Concession (LTC) Rules &#183; CCS (Leave) Rules and CCS (Joining Time) Rules<\/p>\n        <button type=\"button\" class=\"go\" data-gopaper=\"Paper 2\">Browse <span data-paper-count=\"Paper 2\">series<\/span> &rarr;<\/button>\n      <\/div>\n      <div class=\"seo-card\">\n        <h3>Paper III &mdash; Government Accounts & Works Accounts<\/h3>\n        <p>Government Accounting Rules, 1990 &#183; Central Government Account (Receipt & Payment) Rules, 2022 &#183; Subsidiary Instructions on CGA (Receipt & Payment) Rules, 2022 &#183; List of Major and Minor Heads (LMMH) &#183; Suspense Manual &#183; Civil Accounts Manual (latest edition) &#183; CPWD Works Manual, 2019\/2022 and SOPs &#183; Manual for Procurement of Works<\/p>\n        <button type=\"button\" class=\"go\" data-gopaper=\"Paper 3\">Browse <span data-paper-count=\"Paper 3\">series<\/span> &rarr;<\/button>\n      <\/div>\n      <div class=\"seo-card\">\n        <h3>Paper IV &mdash; Constitution, Financial Administration & Budget<\/h3>\n        <p>Constitution of India (Articles 77; 79\u2013151; 245\u2013290A; 292\u2013312A; 352\u2013360) &#183; Fiscal Responsibility and Budget Management Act & Rules &#183; Rules of Procedure and Conduct of Business in the Lok Sabha (Chapter XXVI \u2013 Parliamentary Committees) &#183; Comptroller and Auditor General (DPC) Act, 1971 \u2013 Chapter III &#183; General Financial Rules (GFR), 2017 &#183; Delegation of Financial Powers Rules (DFPR) &#183; Budget Manual (including Contingency Fund of India Rules)<\/p>\n        <button type=\"button\" class=\"go\" data-gopaper=\"Paper 4\">Browse <span data-paper-count=\"Paper 4\">series<\/span> &rarr;<\/button>\n      <\/div>\n      <div class=\"seo-card\">\n        <h3>Paper V &mdash; Procurement & Internal Audit<\/h3>\n        <p>Generic Internal Audit Manual &#183; Internal Audit Handbook for Central Civil Ministries\/Departments issued by CGA &#183; Operational Manual for Internal Audit for Central Civil Ministries\/Departments &#183; Manual for Procurement of Goods &#183; Manual for Procurement of Consultancy and Other Services &#183; E-Procurement System and Government e-Marketplace (GeM)<\/p>\n        <button type=\"button\" class=\"go\" data-gopaper=\"Paper 5\">Browse <span data-paper-count=\"Paper 5\">series<\/span> &rarr;<\/button>\n      <\/div>\n      <\/div>\n      <div class=\"sechead\" style=\"margin-top:52px\">\n        <p class=\"eyebrow\">Other exams<\/p>\n        <h2>Preparing for a <em>different paper?<\/em><\/h2>\n      <\/div>\n      <div class=\"ox\">\n        <a href=\"https:\/\/promotionexams.com\/test-series\/upsc-so-steno-ldce\/\"><h3><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/promotionexams.com\/wp-content\/uploads\/2025\/08\/CSS-removebg-preview.png\" alt=\"\" width=\"26\" height=\"26\" loading=\"lazy\"> UPSC SO\/Steno LDCE<\/h3>\n          <p>Section Officer \/ Stenographer \u2014 Limited Departmental Competitive Exam<\/p><span class=\"go\">25 series &rarr;<\/span><\/a>\n        <a href=\"https:\/\/promotionexams.com\/test-series\/upsc-principal-vice-principal\/\"><h3><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/promotionexams.com\/wp-content\/uploads\/2025\/08\/CSS-removebg-preview.png\" alt=\"\" width=\"26\" height=\"26\" loading=\"lazy\"> UPSC Principal &amp; Vice-Principal CRT<\/h3>\n          <p>Principal & Vice-Principal \u2014 Combined Recruitment Test, Directorate of Education, GNCTD<\/p><span class=\"go\">18 series &rarr;<\/span><\/a>\n        <a href=\"https:\/\/promotionexams.com\/test-series\/\"><h3><i class=\"fa-solid fa-table-cells-large\" style=\"color:var(--mustard-deep)\"><\/i> All test series<\/h3>\n          <p>Every exam on one shelf &mdash; with SSC ASO LDCE, CAG SAS and KVS LDCE launching soon.<\/p><span class=\"go\">Browse all &rarr;<\/span><\/a>\n      <\/div>\n      <div class=\"sechead mid\" style=\"margin-top:56px\">\n        <p class=\"eyebrow\">Questions &amp; answers<\/p>\n        <h2>CGA AAO test series &mdash; FAQs<\/h2>\n      <\/div>\n      <div class=\"faq\">\n      <div class=\"faq-item\">\n        <button type=\"button\" class=\"faq-q\" aria-expanded=\"false\">\n          <span class=\"qm\">&#43;<\/span><span>Which papers of the CGA AAO CBT do these test series cover?<\/span><\/button>\n        <div class=\"faq-a\" hidden>All five. Paper I has the CSMOP Complete Pack, Paper II the service rules (Pension, Conduct, CCA, RTI, Leave\/LTC), Paper III the government and works accounts manuals, Paper IV the Constitution, budget and financial administration set, and Paper V the internal audit and procurement manuals.<\/div>\n      <\/div>\n      <div class=\"faq-item\">\n        <button type=\"button\" class=\"faq-q\" aria-expanded=\"false\">\n          <span class=\"qm\">&#43;<\/span><span>I bought Pension or Conduct Rules for SO\/Steno. Do I need to buy again?<\/span><\/button>\n        <div class=\"faq-a\" hidden>No. The Paper II service-rule series are the same products on both pages, so a series you already own shows \u201cTake test\u201d here as well.<\/div>\n      <\/div>\n      <div class=\"faq-item\">\n        <button type=\"button\" class=\"faq-q\" aria-expanded=\"false\">\n          <span class=\"qm\">&#43;<\/span><span>Is the Civil Accounts Manual covered?<\/span><\/button>\n        <div class=\"faq-a\" hidden>Yes \u2014 the Civil Accounts Manual has its own chapter-wise series under Paper III, alongside GAR 1990, the R&amp;P Rules 2022, LMMH and the Suspense Manual.<\/div>\n      <\/div>\n      <div class=\"faq-item\">\n        <button type=\"button\" class=\"faq-q\" aria-expanded=\"false\">\n          <span class=\"qm\">&#43;<\/span><span>What is the difference between Chapter-wise and the Complete Pack?<\/span><\/button>\n        <div class=\"faq-a\" hidden>Chapter-wise series are written provision by provision from the bare rule or manual. A Complete Pack adds the previous year questions for the same subject, at one combined price.<\/div>\n      <\/div>\n      <div class=\"faq-item\">\n        <button type=\"button\" class=\"faq-q\" aria-expanded=\"false\">\n          <span class=\"qm\">&#43;<\/span><span>Is a bundle cheaper than buying the series one by one?<\/span><\/button>\n        <div class=\"faq-a\" hidden>Yes. Every bundle card shows what its series cost bought separately and how much it saves. If you add a single series that sits inside an available bundle, the page shows you the bundle before it reaches your cart.<\/div>\n      <\/div>\n      <div class=\"faq-item\">\n        <button type=\"button\" class=\"faq-q\" aria-expanded=\"false\">\n          <span class=\"qm\">&#43;<\/span><span>When do the live mock tests start?<\/span><\/button>\n        <div class=\"faq-a\" hidden>One month before the exam. The CGA AAO CBT date is still awaited; the day it is notified, the schedule of paper-wise full-length mocks and the price go up on this page and enrolment opens. Each mock then opens at its sitting time (IST) and stays open 24 hours for one ranked attempt, with score, All-India rank and the answer key when the window closes.<\/div>\n      <\/div>\n      <div class=\"faq-item\">\n        <button type=\"button\" class=\"faq-q\" aria-expanded=\"false\">\n          <span class=\"qm\">&#43;<\/span><span>How long does access last?<\/span><\/button>\n        <div class=\"faq-a\" hidden>Access runs until your exam or one year, as printed on each card. There is no attempt limit inside that window. If the exam is deferred, message us on WhatsApp and we will extend it.<\/div>\n      <\/div>\n      <div class=\"faq-item\">\n        <button type=\"button\" class=\"faq-q\" aria-expanded=\"false\">\n          <span class=\"qm\">&#43;<\/span><span>I bought a series but cannot see it. What do I do?<\/span><\/button>\n        <div class=\"faq-a\" hidden>Log out and log back in first, since access is tied to the account that paid. If it still does not appear, message us on WhatsApp with your order number and we will attach it manually the same day.<\/div>\n      <\/div>\n      <\/div>\n    <\/div>\n  <\/section>\n  <section class=\"sec tint\" aria-label=\"Talk to us\">\n    <div class=\"wrap\">\n      <div class=\"panel warm\">\n        <div class=\"talk\">\n          <div>\n            <p class=\"eyebrow\">Live support<\/p>\n            <h2>Not sure which series <em>fits your exam?<\/em><\/h2>\n            <p>Tell us your exam, your paper and how much time is left &mdash; we will point you to the\n               right series or bundle. Questions about a syllabus, an amendment or an order you cannot\n               find are welcome too.<\/p>\n            <div class=\"talk-ticks\">\n              <span><i class=\"fa-solid fa-check\"><\/i>A real reply, not a bot<\/span>\n              <span><i class=\"fa-solid fa-check\"><\/i>Free, no obligation to buy<\/span>\n            <\/div>\n          <\/div>\n          <div class=\"talk-act\">\n            <svg class=\"talk-mark\" viewBox=\"0 0 448 512\" aria-hidden=\"true\" focusable=\"false\"><path fill=\"currentColor\" d=\"M380.9 97.1C339 55.1 283.2 32 223.9 32c-122.4 0-222 99.6-222 222 0 39.1 10.2 77.3 29.6 110.9L0 480l117.7-30.9c32.4 17.7 68.9 27 106.1 27h.1c122.3 0 224.1-99.6 224.1-222 0-59.3-25.2-115-67.1-157zm-157 341.6c-33.2 0-65.7-8.9-94-25.7l-6.7-4-69.8 18.3L72 359.2l-4.4-7c-18.5-29.4-28.2-63.3-28.2-98.2 0-101.7 82.8-184.5 184.6-184.5 49.3 0 95.6 19.2 130.4 54.1 34.8 34.9 56.2 81.2 56.1 130.5 0 101.8-84.9 184.6-186.6 184.6zm101.2-138.2c-5.5-2.8-32.8-16.2-37.9-18-5.1-1.9-8.8-2.8-12.5 2.8-3.7 5.6-14.3 18-17.6 21.8-3.2 3.7-6.5 4.2-12 1.4-32.6-16.3-54-29.1-75.5-66-5.7-9.8 5.7-9.1 16.3-30.3 1.8-3.7.9-6.9-.5-9.7-1.4-2.8-12.5-30.1-17.1-41.2-4.5-10.8-9.1-9.3-12.5-9.5-3.2-.2-6.9-.2-10.6-.2-3.7 0-9.7 1.4-14.8 6.9-5.1 5.6-19.4 19-19.4 46.3 0 27.3 19.9 53.7 22.6 57.4 2.8 3.7 39.1 59.7 94.8 83.8 35.2 15.2 49 16.5 66.6 13.9 10.7-1.6 32.8-13.4 37.4-26.4 4.6-13 4.6-24.1 3.2-26.4-1.3-2.5-5-3.9-10.5-6.6z\"\/><\/svg>\n            <a class=\"talk-btn\" href=\"https:\/\/wa.me\/919870176238\" target=\"_blank\" rel=\"noopener noreferrer\">\n              <i class=\"fa-brands fa-whatsapp\"><\/i> Chat with us<\/a>\n            <span class=\"talk-note\">No account needed<\/span>\n          <\/div>\n        <\/div>\n      <\/div>\n    <\/div>\n  <\/section>\n  \n  <div class=\"modal\" id=\"ts-modal\">\n    <div class=\"modal-card\" role=\"dialog\" aria-modal=\"true\" aria-labelledby=\"ts-modalTitle\">\n      <div class=\"modal-head\">\n        <div><h3 id=\"ts-modalTitle\">CGA AAO CBT &mdash; syllabus<\/h3><p>Paper-wise subjects, as notified<\/p><\/div>\n        <button type=\"button\" class=\"modal-close\" id=\"ts-modalX\" aria-label=\"Close\">&#10005;<\/button>\n      <\/div>\n      <div class=\"modal-body\" id=\"ts-modalBody\">\n        <p class=\"syl-paper\"><span>Paper I<\/span>Comprehension, Precis & Official Correspondence<\/p><ul><li>Manual of Office Procedure (CSMOP)<\/li><li>Right to Information (RTI) Act, 2005<\/li><li>Comprehension, Precis & Drafting<\/li><\/ul>\n        <p class=\"syl-paper\"><span>Paper II<\/span>Service Regulations<\/p><ul><li>CCS (Pension) Rules<\/li><li>CCS (Conduct) Rules, 1964<\/li><li>CCS (CCA) Rules, 1965<\/li><li>Right to Information (RTI) Act, 2005<\/li><li>FRSR Part-I \u2013 General Rules<\/li><li>General Provident Fund (Central Services) Rules, 1960<\/li><li>Leave Travel Concession (LTC) Rules<\/li><li>CCS (Leave) Rules and CCS (Joining Time) Rules<\/li><\/ul>\n        <p class=\"syl-paper\"><span>Paper III<\/span>Government Accounts & Works Accounts<\/p><ul><li>Government Accounting Rules, 1990<\/li><li>Central Government Account (Receipt & Payment) Rules, 2022<\/li><li>Subsidiary Instructions on CGA (Receipt & Payment) Rules, 2022<\/li><li>List of Major and Minor Heads (LMMH)<\/li><li>Suspense Manual<\/li><li>Civil Accounts Manual (latest edition)<\/li><li>CPWD Works Manual, 2019\/2022 and SOPs<\/li><li>Manual for Procurement of Works<\/li><\/ul>\n        <p class=\"syl-paper\"><span>Paper IV<\/span>Constitution, Financial Administration & Budget<\/p><ul><li>Constitution of India (Articles 77; 79\u2013151; 245\u2013290A; 292\u2013312A; 352\u2013360)<\/li><li>Fiscal Responsibility and Budget Management Act & Rules<\/li><li>Rules of Procedure and Conduct of Business in the Lok Sabha (Chapter XXVI \u2013 Parliamentary Committees)<\/li><li>Comptroller and Auditor General (DPC) Act, 1971 \u2013 Chapter III<\/li><li>General Financial Rules (GFR), 2017<\/li><li>Delegation of Financial Powers Rules (DFPR)<\/li><li>Budget Manual (including Contingency Fund of India Rules)<\/li><\/ul>\n        <p class=\"syl-paper\"><span>Paper V<\/span>Procurement & Internal Audit<\/p><ul><li>Generic Internal Audit Manual<\/li><li>Internal Audit Handbook for Central Civil Ministries\/Departments issued by CGA<\/li><li>Operational Manual for Internal Audit for Central Civil Ministries\/Departments<\/li><li>Manual for Procurement of Goods<\/li><li>Manual for Procurement of Consultancy and Other Services<\/li><li>E-Procurement System and Government e-Marketplace (GeM)<\/li><\/ul>\n        <div class=\"modal-note\">All five papers are Computer Based Tests of 100 marks each, as per the latest CGA notification.<\/div>\n      <\/div>\n      <div class=\"modal-foot\">\n        <button type=\"button\" class=\"btn-ghost\" id=\"ts-modalClose\">Close<\/button>\n        <a class=\"wa-btn\" href=\"https:\/\/wa.me\/919870176238\" target=\"_blank\" rel=\"noopener noreferrer\">\n          <i class=\"fa-brands fa-whatsapp\"><\/i> Ask about this syllabus<\/a>\n      <\/div>\n    <\/div>\n  <\/div>\n  <div class=\"toast\" id=\"ts-toast\" role=\"status\"><p id=\"ts-toastMsg\">Filters cleared<\/p><\/div>\n<!-- Structured data sits inside the paste block on purpose: an Elementor HTML\n     widget ships only what is between the markers. The live-mock schedule adds\n     its own EducationEvent data at run time from LIVE_MOCKS. -->\n<script type=\"application\/ld+json\">\n{\n  \"@context\": \"https:\/\/schema.org\",\n  \"@type\": \"Organization\",\n  \"name\": \"PromotionExams\",\n  \"url\": \"https:\/\/promotionexams.com\/\",\n  \"logo\": \"https:\/\/promotionexams.com\/wp-content\/uploads\/2025\/08\/CSS-removebg-preview.png\",\n  \"description\": \"Specialised preparation platform for India's limited departmental promotion examinations.\",\n  \"sameAs\": [\n    \"https:\/\/cssadda.in\/\"\n  ]\n}\n<\/script>\n<script type=\"application\/ld+json\">\n{\n  \"@context\": \"https:\/\/schema.org\",\n  \"@type\": \"WebSite\",\n  \"name\": \"PromotionExams\",\n  \"url\": \"https:\/\/promotionexams.com\/\",\n  \"potentialAction\": {\n    \"@type\": \"SearchAction\",\n    \"target\": \"https:\/\/promotionexams.com\/?s={search_term_string}\",\n    \"query-input\": \"required name=search_term_string\"\n  }\n}\n<\/script>\n<script type=\"application\/ld+json\">\n{\n  \"@context\": \"https:\/\/schema.org\",\n  \"@type\": \"BreadcrumbList\",\n  \"itemListElement\": [\n    {\n      \"@type\": \"ListItem\",\n      \"position\": 1,\n      \"name\": \"Home\",\n      \"item\": \"https:\/\/promotionexams.com\/\"\n    },\n    {\n      \"@type\": \"ListItem\",\n      \"position\": 2,\n      \"name\": \"Test Series\",\n      \"item\": \"https:\/\/promotionexams.com\/test-series\/\"\n    },\n    {\n      \"@type\": \"ListItem\",\n      \"position\": 3,\n      \"name\": \"CGA AAO CBT Test Series\",\n      \"item\": \"https:\/\/promotionexams.com\/test-series\/cga-aao-cbt\/\"\n    }\n  ]\n}\n<\/script>\n<script type=\"application\/ld+json\">\n{\n  \"@context\": \"https:\/\/schema.org\",\n  \"@type\": \"Course\",\n  \"name\": \"CGA AAO CBT Test Series\",\n  \"description\": \"Chapter-wise and combined test series for all five papers of the CGA Assistant Accounts Officer CBT \u2014 Government Accounting Rules 1990, CGA (Receipt & Payment) Rules 2022, LMMH, Civil Accounts Manual, Suspense Manual, CPWD Works Manual, Budget Manual, FRBM, CAG (DPC) Act, GFR, DFPR, internal audit and procurement manuals.\",\n  \"url\": \"https:\/\/promotionexams.com\/test-series\/cga-aao-cbt\/\",\n  \"inLanguage\": \"en-IN\",\n  \"provider\": {\n    \"@type\": \"Organization\",\n    \"name\": \"PromotionExams\",\n    \"sameAs\": \"https:\/\/promotionexams.com\/\"\n  },\n  \"offers\": {\n    \"@type\": \"Offer\",\n    \"category\": \"Paid\",\n    \"priceCurrency\": \"INR\",\n    \"price\": \"49\"\n  },\n  \"hasCourseInstance\": {\n    \"@type\": \"CourseInstance\",\n    \"courseMode\": \"Online\",\n    \"courseWorkload\": \"PT2H\"\n  }\n}\n<\/script>\n<script type=\"application\/ld+json\">\n{\n  \"@context\": \"https:\/\/schema.org\",\n  \"@type\": \"ItemList\",\n  \"name\": \"CGA AAO CBT test series on PromotionExams\",\n  \"itemListElement\": [\n    {\n      \"@type\": \"ListItem\",\n      \"position\": 1,\n      \"item\": {\n        \"@type\": \"Product\",\n        \"name\": \"Manual of Office Procedure \u2014 Complete Pack\",\n        \"sku\": \"16147\",\n        \"description\": \"Manual of Office Procedure (CSMOP) \u2014 998 questions. 258 previous year questions (2010\u20132024); 740 chapter-wise questions on every provision. Every question carries a rule-cited explanation.\",\n        \"image\": \"https:\/\/promotionexams.com\/wp-content\/uploads\/2025\/08\/mop-e1684145514331.jpeg\",\n        \"brand\": {\n          \"@type\": \"Brand\",\n          \"name\": \"PromotionExams\"\n        },\n        \"category\": \"CGA AAO CBT\",\n        \"offers\": {\n          \"@type\": \"Offer\",\n          \"price\": \"199\",\n          \"priceCurrency\": \"INR\",\n          \"availability\": \"https:\/\/schema.org\/InStock\",\n          \"url\": \"https:\/\/promotionexams.com\/test-series\/cga-aao-cbt\/\",\n          \"seller\": {\n            \"@type\": \"Organization\",\n            \"name\": \"PromotionExams\"\n          }\n        }\n      }\n    },\n    {\n      \"@type\": \"ListItem\",\n      \"position\": 2,\n      \"item\": {\n        \"@type\": \"Product\",\n        \"name\": \"RTI Act, 2005 \u2014 Complete Pack\",\n        \"sku\": \"16040\",\n        \"description\": \"Right to Information (RTI) Act, 2005 \u2014 805 questions. 167 previous year questions (2009\u20132025); 638 chapter-wise questions. Every question carries a rule-cited explanation.\",\n        \"image\": \"https:\/\/promotionexams.com\/wp-content\/uploads\/2025\/08\/rti.jpeg\",\n        \"brand\": {\n          \"@type\": \"Brand\",\n          \"name\": \"PromotionExams\"\n        },\n        \"category\": \"CGA AAO CBT\",\n        \"offers\": {\n          \"@type\": \"Offer\",\n          \"price\": \"149\",\n          \"priceCurrency\": \"INR\",\n          \"availability\": \"https:\/\/schema.org\/InStock\",\n          \"url\": \"https:\/\/promotionexams.com\/test-series\/cga-aao-cbt\/\",\n          \"seller\": {\n            \"@type\": \"Organization\",\n            \"name\": \"PromotionExams\"\n          }\n        }\n      }\n    },\n    {\n      \"@type\": \"ListItem\",\n      \"position\": 3,\n      \"item\": {\n        \"@type\": \"Product\",\n        \"name\": \"CCS (Pension) Rules \u2014 Complete Pack\",\n        \"sku\": \"16191\",\n        \"description\": \"CCS (Pension) Rules \u2014 667 questions. 186 previous year questions (2009\u20132025); 481 chapter-wise questions. Every question carries a rule-cited explanation.\",\n        \"image\": \"https:\/\/promotionexams.com\/wp-content\/uploads\/2025\/08\/pension.png\",\n        \"brand\": {\n          \"@type\": \"Brand\",\n          \"name\": \"PromotionExams\"\n        },\n        \"category\": \"CGA AAO CBT\",\n        \"offers\": {\n          \"@type\": \"Offer\",\n          \"price\": \"199\",\n          \"priceCurrency\": \"INR\",\n          \"availability\": \"https:\/\/schema.org\/InStock\",\n          \"url\": \"https:\/\/promotionexams.com\/test-series\/cga-aao-cbt\/\",\n          \"seller\": {\n            \"@type\": \"Organization\",\n            \"name\": \"PromotionExams\"\n          }\n        }\n      }\n    },\n    {\n      \"@type\": \"ListItem\",\n      \"position\": 4,\n      \"item\": {\n        \"@type\": \"Product\",\n        \"name\": \"CCS (Conduct) Rules, 1964 \u2014 Complete Pack\",\n        \"sku\": \"17045\",\n        \"description\": \"None \u2014 473 questions. 121 previous year questions (2009\u20132025); 352 chapter-wise questions. Every question carries a rule-cited explanation.\",\n        \"image\": \"https:\/\/promotionexams.com\/wp-content\/uploads\/2025\/08\/conduct.jpg\",\n        \"brand\": {\n          \"@type\": \"Brand\",\n          \"name\": \"PromotionExams\"\n        },\n        \"category\": \"CGA AAO CBT\",\n        \"offers\": {\n          \"@type\": \"Offer\",\n          \"price\": \"149\",\n          \"priceCurrency\": \"INR\",\n          \"availability\": \"https:\/\/schema.org\/InStock\",\n          \"url\": \"https:\/\/promotionexams.com\/test-series\/cga-aao-cbt\/\",\n          \"seller\": {\n            \"@type\": \"Organization\",\n            \"name\": \"PromotionExams\"\n          }\n        }\n      }\n    },\n    {\n      \"@type\": \"ListItem\",\n      \"position\": 5,\n      \"item\": {\n        \"@type\": \"Product\",\n        \"name\": \"CCS (Leave\/LTC) Rules \u2014 Complete Pack\",\n        \"sku\": \"15560\",\n        \"description\": \"CCS (Leave\/LTC) Rules \u2014 642 questions. 112 previous year questions (2009\u20132025); 530 chapter-wise questions on every provision. Every question carries a rule-cited explanation.\",\n        \"image\": \"https:\/\/promotionexams.com\/wp-content\/uploads\/2026\/08\/ChatGPT-Image-Aug-21-2026-04_32_25-PM.png\",\n        \"brand\": {\n          \"@type\": \"Brand\",\n          \"name\": \"PromotionExams\"\n        },\n        \"category\": \"CGA AAO CBT\",\n        \"offers\": {\n          \"@type\": \"Offer\",\n          \"price\": \"149\",\n          \"priceCurrency\": \"INR\",\n          \"availability\": \"https:\/\/schema.org\/InStock\",\n          \"url\": \"https:\/\/promotionexams.com\/test-series\/cga-aao-cbt\/\",\n          \"seller\": {\n            \"@type\": \"Organization\",\n            \"name\": \"PromotionExams\"\n          }\n        }\n      }\n    },\n    {\n      \"@type\": \"ListItem\",\n      \"position\": 6,\n      \"item\": {\n        \"@type\": \"Product\",\n        \"name\": \"Government Accounting Rules, 1990\",\n        \"sku\": \"15503\",\n        \"description\": \"Government Accounting Rules, 1990 \u2014 500+ questions. All chapters + Appendices \u00b7 rule-cited solutions. Every question carries a rule-cited explanation.\",\n        \"image\": \"https:\/\/promotionexams.com\/wp-content\/uploads\/2026\/09\/ChatGPT-Image-Sep-13-2026-03_32_32-PM.png\",\n        \"brand\": {\n          \"@type\": \"Brand\",\n          \"name\": \"PromotionExams\"\n        },\n        \"category\": \"CGA AAO CBT\",\n        \"offers\": {\n          \"@type\": \"Offer\",\n          \"price\": \"199\",\n          \"priceCurrency\": \"INR\",\n          \"availability\": \"https:\/\/schema.org\/InStock\",\n          \"url\": \"https:\/\/promotionexams.com\/test-series\/cga-aao-cbt\/\",\n          \"seller\": {\n            \"@type\": \"Organization\",\n            \"name\": \"PromotionExams\"\n          }\n        }\n      }\n    },\n    {\n      \"@type\": \"ListItem\",\n      \"position\": 7,\n      \"item\": {\n        \"@type\": \"Product\",\n        \"name\": \"CGA (Receipt & Payment) Rules, 2022\",\n        \"sku\": \"14720\",\n        \"description\": \"Central Government Account (Receipt & Payment) Rules, 2022 \u2014 235 questions. Complete 2022 Rules \u00b7 rule-cited solutions. Every question carries a rule-cited explanation.\",\n        \"image\": \"https:\/\/promotionexams.com\/wp-content\/uploads\/2026\/09\/ChatGPT-Image-Sep-17-2026-08_14_46-PM.png\",\n        \"brand\": {\n          \"@type\": \"Brand\",\n          \"name\": \"PromotionExams\"\n        },\n        \"category\": \"CGA AAO CBT\",\n        \"offers\": {\n          \"@type\": \"Offer\",\n          \"price\": \"99\",\n          \"priceCurrency\": \"INR\",\n          \"availability\": \"https:\/\/schema.org\/InStock\",\n          \"url\": \"https:\/\/promotionexams.com\/test-series\/cga-aao-cbt\/\",\n          \"seller\": {\n            \"@type\": \"Organization\",\n            \"name\": \"PromotionExams\"\n          }\n        }\n      }\n    },\n    {\n      \"@type\": \"ListItem\",\n      \"position\": 8,\n      \"item\": {\n        \"@type\": \"Product\",\n        \"name\": \"Subsidiary Instructions on R&P Rules, 2022\",\n        \"sku\": \"14856\",\n        \"description\": \"Subsidiary Instructions on CGA (Receipt & Payment) Rules, 2022 \u2014 450+ questions. Every instruction, para-wise \u00b7 rule-cited solutions. Every question carries a rule-cited explanation.\",\n        \"image\": \"https:\/\/promotionexams.com\/wp-content\/uploads\/2026\/06\/ChatGPT-Image-Jun-15-2026-11_13_36-PM.png\",\n        \"brand\": {\n          \"@type\": \"Brand\",\n          \"name\": \"PromotionExams\"\n        },\n        \"category\": \"CGA AAO CBT\",\n        \"offers\": {\n          \"@type\": \"Offer\",\n          \"price\": \"179\",\n          \"priceCurrency\": \"INR\",\n          \"availability\": \"https:\/\/schema.org\/InStock\",\n          \"url\": \"https:\/\/promotionexams.com\/test-series\/cga-aao-cbt\/\",\n          \"seller\": {\n            \"@type\": \"Organization\",\n            \"name\": \"PromotionExams\"\n          }\n        }\n      }\n    },\n    {\n      \"@type\": \"ListItem\",\n      \"position\": 9,\n      \"item\": {\n        \"@type\": \"Product\",\n        \"name\": \"Civil Account Manual (CAM)\",\n        \"sku\": \"17228\",\n        \"description\": \"Civil Account Manual (CAM) \u2014 1200+ questions. Every instruction, para-wise \u00b7 rule-cited solutions. Every question carries a rule-cited explanation.\",\n        \"image\": \"https:\/\/promotionexams.com\/wp-content\/uploads\/2026\/09\/ChatGPT-Image-Sep-28-2026-06_04_18-PM.png\",\n        \"brand\": {\n          \"@type\": \"Brand\",\n          \"name\": \"PromotionExams\"\n        },\n        \"category\": \"CGA AAO CBT\",\n        \"offers\": {\n          \"@type\": \"Offer\",\n          \"price\": \"249\",\n          \"priceCurrency\": \"INR\",\n          \"availability\": \"https:\/\/schema.org\/InStock\",\n          \"url\": \"https:\/\/promotionexams.com\/test-series\/cga-aao-cbt\/\",\n          \"seller\": {\n            \"@type\": \"Organization\",\n            \"name\": \"PromotionExams\"\n          }\n        }\n      }\n    },\n    {\n      \"@type\": \"ListItem\",\n      \"position\": 10,\n      \"item\": {\n        \"@type\": \"Product\",\n        \"name\": \"Manual for Procurement of Works\",\n        \"sku\": \"14562\",\n        \"description\": \"Manual for Procurement of Works \u2014 600+ questions. All chapters + Annexures \u00b7 rule-cited solutions. Every question carries a rule-cited explanation.\",\n        \"image\": \"https:\/\/promotionexams.com\/wp-content\/uploads\/2026\/06\/ChatGPT-Image-Jun-15-2026-02_10_48-PM.png\",\n        \"brand\": {\n          \"@type\": \"Brand\",\n          \"name\": \"PromotionExams\"\n        },\n        \"category\": \"CGA AAO CBT\",\n        \"offers\": {\n          \"@type\": \"Offer\",\n          \"price\": \"179\",\n          \"priceCurrency\": \"INR\",\n          \"availability\": \"https:\/\/schema.org\/InStock\",\n          \"url\": \"https:\/\/promotionexams.com\/test-series\/cga-aao-cbt\/\",\n          \"seller\": {\n            \"@type\": \"Organization\",\n            \"name\": \"PromotionExams\"\n          }\n        }\n      }\n    },\n    {\n      \"@type\": \"ListItem\",\n      \"position\": 11,\n      \"item\": {\n        \"@type\": \"Product\",\n        \"name\": \"CPWD Works Manual\",\n        \"sku\": \"13930\",\n        \"description\": \"CPWD Works Manual, 2019\/2022 and SOPs \u2014 240+ questions. 2019\/2022 edition + SOPs \u00b7 rule-cited solutions. Every question carries a rule-cited explanation.\",\n        \"image\": \"https:\/\/promotionexams.com\/wp-content\/uploads\/2026\/07\/cpwd-works-manual-2024.png\",\n        \"brand\": {\n          \"@type\": \"Brand\",\n          \"name\": \"PromotionExams\"\n        },\n        \"category\": \"CGA AAO CBT\",\n        \"offers\": {\n          \"@type\": \"Offer\",\n          \"price\": \"149\",\n          \"priceCurrency\": \"INR\",\n          \"availability\": \"https:\/\/schema.org\/InStock\",\n          \"url\": \"https:\/\/promotionexams.com\/test-series\/cga-aao-cbt\/\",\n          \"seller\": {\n            \"@type\": \"Organization\",\n            \"name\": \"PromotionExams\"\n          }\n        }\n      }\n    },\n    {\n      \"@type\": \"ListItem\",\n      \"position\": 12,\n      \"item\": {\n        \"@type\": \"Product\",\n        \"name\": \"List of Major & Minor Heads\",\n        \"sku\": \"14632\",\n        \"description\": \"List of Major and Minor Heads (LMMH) \u2014 300+ questions. 489 major heads, sector-wise \u00b7 rule-cited solutions. Every question carries a rule-cited explanation.\",\n        \"image\": \"https:\/\/promotionexams.com\/wp-content\/uploads\/2026\/06\/ChatGPT-Image-Jun-10-2026-05_05_23-PM.png\",\n        \"brand\": {\n          \"@type\": \"Brand\",\n          \"name\": \"PromotionExams\"\n        },\n        \"category\": \"CGA AAO CBT\",\n        \"offers\": {\n          \"@type\": \"Offer\",\n          \"price\": \"149\",\n          \"priceCurrency\": \"INR\",\n          \"availability\": \"https:\/\/schema.org\/InStock\",\n          \"url\": \"https:\/\/promotionexams.com\/test-series\/cga-aao-cbt\/\",\n          \"seller\": {\n            \"@type\": \"Organization\",\n            \"name\": \"PromotionExams\"\n          }\n        }\n      }\n    },\n    {\n      \"@type\": \"ListItem\",\n      \"position\": 13,\n      \"item\": {\n        \"@type\": \"Product\",\n        \"name\": \"Suspense Manual\",\n        \"sku\": \"13739\",\n        \"description\": \"Suspense Manual \u2014 200+ questions. All chapters + Annexures \u00b7 rule-cited solutions. Every question carries a rule-cited explanation.\",\n        \"image\": \"https:\/\/promotionexams.com\/wp-content\/uploads\/2026\/06\/Gemini_Generated_Image_8bqsb88bqsb88bqs.png\",\n        \"brand\": {\n          \"@type\": \"Brand\",\n          \"name\": \"PromotionExams\"\n        },\n        \"category\": \"CGA AAO CBT\",\n        \"offers\": {\n          \"@type\": \"Offer\",\n          \"price\": \"119\",\n          \"priceCurrency\": \"INR\",\n          \"availability\": \"https:\/\/schema.org\/InStock\",\n          \"url\": \"https:\/\/promotionexams.com\/test-series\/cga-aao-cbt\/\",\n          \"seller\": {\n            \"@type\": \"Organization\",\n            \"name\": \"PromotionExams\"\n          }\n        }\n      }\n    },\n    {\n      \"@type\": \"ListItem\",\n      \"position\": 14,\n      \"item\": {\n        \"@type\": \"Product\",\n        \"name\": \"Report on Uniform Format of Accounts for Central Autonomous Bodies\",\n        \"sku\": \"17433\",\n        \"description\": \"Report on Uniform Format of Accounts for Central Autonomous Bodies \u2014 140+ questions. All chapters + Annexures \u00b7 rule-cited solutions. Every question carries a rule-cited explanation.\",\n        \"image\": \"https:\/\/promotionexams.com\/wp-content\/uploads\/2026\/06\/Uniform-Format-of-Accounts-for-Central-Autonomous-Bodies-1.png\",\n        \"brand\": {\n          \"@type\": \"Brand\",\n          \"name\": \"PromotionExams\"\n        },\n        \"category\": \"CGA AAO CBT\",\n        \"offers\": {\n          \"@type\": \"Offer\",\n          \"price\": \"99\",\n          \"priceCurrency\": \"INR\",\n          \"availability\": \"https:\/\/schema.org\/InStock\",\n          \"url\": \"https:\/\/promotionexams.com\/test-series\/cga-aao-cbt\/\",\n          \"seller\": {\n            \"@type\": \"Organization\",\n            \"name\": \"PromotionExams\"\n          }\n        }\n      }\n    },\n    {\n      \"@type\": \"ListItem\",\n      \"position\": 15,\n      \"item\": {\n        \"@type\": \"Product\",\n        \"name\": \"Budget Manual & Contingency Fund Rules\",\n        \"sku\": \"14738\",\n        \"description\": \"Budget Manual (including Contingency Fund of India Rules) \u2014 600+ questions. All chapters + Annexures \u00b7 rule-cited solutions. Every question carries a rule-cited explanation.\",\n        \"image\": \"https:\/\/promotionexams.com\/wp-content\/uploads\/2026\/06\/ChatGPT-Image-Jun-18-2026-07_12_53-PM.png\",\n        \"brand\": {\n          \"@type\": \"Brand\",\n          \"name\": \"PromotionExams\"\n        },\n        \"category\": \"CGA AAO CBT\",\n        \"offers\": {\n          \"@type\": \"Offer\",\n          \"price\": \"149\",\n          \"priceCurrency\": \"INR\",\n          \"availability\": \"https:\/\/schema.org\/InStock\",\n          \"url\": \"https:\/\/promotionexams.com\/test-series\/cga-aao-cbt\/\",\n          \"seller\": {\n            \"@type\": \"Organization\",\n            \"name\": \"PromotionExams\"\n          }\n        }\n      }\n    },\n    {\n      \"@type\": \"ListItem\",\n      \"position\": 16,\n      \"item\": {\n        \"@type\": \"Product\",\n        \"name\": \"Lok Sabha Rules, Ch. XXVI \u2014 Parliamentary Committees\",\n        \"sku\": \"13687\",\n        \"description\": \"Rules of Procedure and Conduct of Business in the Lok Sabha (Chapter XXVI \u2013 Parliamentary Committees) \u2014 260+ questions. Chapter XXVI, rule by rule \u00b7 rule-cited solutions. Every question carries a rule-cited explanation.\",\n        \"image\": \"https:\/\/promotionexams.com\/wp-content\/uploads\/2026\/07\/PARLIAMENTARY-COMMITTEES.png\",\n        \"brand\": {\n          \"@type\": \"Brand\",\n          \"name\": \"PromotionExams\"\n        },\n        \"category\": \"CGA AAO CBT\",\n        \"offers\": {\n          \"@type\": \"Offer\",\n          \"price\": \"99\",\n          \"priceCurrency\": \"INR\",\n          \"availability\": \"https:\/\/schema.org\/InStock\",\n          \"url\": \"https:\/\/promotionexams.com\/test-series\/cga-aao-cbt\/\",\n          \"seller\": {\n            \"@type\": \"Organization\",\n            \"name\": \"PromotionExams\"\n          }\n        }\n      }\n    },\n    {\n      \"@type\": \"ListItem\",\n      \"position\": 17,\n      \"item\": {\n        \"@type\": \"Product\",\n        \"name\": \"CAG's (DPC) Act, 1971\",\n        \"sku\": \"14424\",\n        \"description\": \"Comptroller and Auditor General (DPC) Act, 1971 \u2013 Chapter III \u2014 150+ questions. Complete Act, Chapter III in depth \u00b7 rule-cited solutions. Every question carries a rule-cited explanation.\",\n        \"image\": \"https:\/\/promotionexams.com\/wp-content\/uploads\/2025\/08\/COMPTROLLER_AND_AUDITOR_GENERAL_CAG.png\",\n        \"brand\": {\n          \"@type\": \"Brand\",\n          \"name\": \"PromotionExams\"\n        },\n        \"category\": \"CGA AAO CBT\",\n        \"offers\": {\n          \"@type\": \"Offer\",\n          \"price\": \"49\",\n          \"priceCurrency\": \"INR\",\n          \"availability\": \"https:\/\/schema.org\/InStock\",\n          \"url\": \"https:\/\/promotionexams.com\/test-series\/cga-aao-cbt\/\",\n          \"seller\": {\n            \"@type\": \"Organization\",\n            \"name\": \"PromotionExams\"\n          }\n        }\n      }\n    },\n    {\n      \"@type\": \"ListItem\",\n      \"position\": 18,\n      \"item\": {\n        \"@type\": \"Product\",\n        \"name\": \"FRBM Act & Rules\",\n        \"sku\": \"685\",\n        \"description\": \"Fiscal Responsibility and Budget Management Act & Rules \u2014 125+ questions. All sections + Rules \u00b7 rule-cited solutions. Every question carries a rule-cited explanation.\",\n        \"image\": \"https:\/\/promotionexams.com\/wp-content\/uploads\/2025\/08\/frbm-e1754338755440.webp\",\n        \"brand\": {\n          \"@type\": \"Brand\",\n          \"name\": \"PromotionExams\"\n        },\n        \"category\": \"CGA AAO CBT\",\n        \"offers\": {\n          \"@type\": \"Offer\",\n          \"price\": \"49\",\n          \"priceCurrency\": \"INR\",\n          \"availability\": \"https:\/\/schema.org\/InStock\",\n          \"url\": \"https:\/\/promotionexams.com\/test-series\/cga-aao-cbt\/\",\n          \"seller\": {\n            \"@type\": \"Organization\",\n            \"name\": \"PromotionExams\"\n          }\n        }\n      }\n    },\n    {\n      \"@type\": \"ListItem\",\n      \"position\": 19,\n      \"item\": {\n        \"@type\": \"Product\",\n        \"name\": \"Constitution of India \u2014 PYQs + Article-wise\",\n        \"sku\": \"14677\",\n        \"description\": \"Constitution of India (Articles 77; 79\u2013151; 245\u2013290A; 292\u2013312A; 352\u2013360) \u2014 573 questions. 134 previous year questions (UPSC SO\/Steno LDCE); 439 article-wise MCQs. Every question carries a rule-cited explanation.\",\n        \"image\": \"https:\/\/promotionexams.com\/wp-content\/uploads\/2025\/12\/coi.jpg\",\n        \"brand\": {\n          \"@type\": \"Brand\",\n          \"name\": \"PromotionExams\"\n        },\n        \"category\": \"CGA AAO CBT\",\n        \"offers\": {\n          \"@type\": \"Offer\",\n          \"price\": \"299\",\n          \"priceCurrency\": \"INR\",\n          \"availability\": \"https:\/\/schema.org\/InStock\",\n          \"url\": \"https:\/\/promotionexams.com\/test-series\/cga-aao-cbt\/\",\n          \"seller\": {\n            \"@type\": \"Organization\",\n            \"name\": \"PromotionExams\"\n          }\n        }\n      }\n    },\n    {\n      \"@type\": \"ListItem\",\n      \"position\": 20,\n      \"item\": {\n        \"@type\": \"Product\",\n        \"name\": \"GFR, 2017 \u2014 Complete Pack\",\n        \"sku\": \"16094\",\n        \"description\": \"General Financial Rules (GFR), 2017 \u2014 675 questions. 181 previous year questions (2009\u20132025); 494 chapter-wise questions. Every question carries a rule-cited explanation.\",\n        \"image\": \"https:\/\/promotionexams.com\/wp-content\/uploads\/2025\/08\/GFR.jpg\",\n        \"brand\": {\n          \"@type\": \"Brand\",\n          \"name\": \"PromotionExams\"\n        },\n        \"category\": \"CGA AAO CBT\",\n        \"offers\": {\n          \"@type\": \"Offer\",\n          \"price\": \"199\",\n          \"priceCurrency\": \"INR\",\n          \"availability\": \"https:\/\/schema.org\/InStock\",\n          \"url\": \"https:\/\/promotionexams.com\/test-series\/cga-aao-cbt\/\",\n          \"seller\": {\n            \"@type\": \"Organization\",\n            \"name\": \"PromotionExams\"\n          }\n        }\n      }\n    },\n    {\n      \"@type\": \"ListItem\",\n      \"position\": 21,\n      \"item\": {\n        \"@type\": \"Product\",\n        \"name\": \"DFPR, 2024 \u2014 Complete Pack\",\n        \"sku\": \"16207\",\n        \"description\": \"Delegation of Financial Powers Rules (DFPR) \u2014 256 questions. 102 previous year questions (2009\u20132025); 154 chapter-wise questions. Every question carries a rule-cited explanation.\",\n        \"image\": \"https:\/\/promotionexams.com\/wp-content\/uploads\/2025\/08\/DFPR.jpg\",\n        \"brand\": {\n          \"@type\": \"Brand\",\n          \"name\": \"PromotionExams\"\n        },\n        \"category\": \"CGA AAO CBT\",\n        \"offers\": {\n          \"@type\": \"Offer\",\n          \"price\": \"119\",\n          \"priceCurrency\": \"INR\",\n          \"availability\": \"https:\/\/schema.org\/InStock\",\n          \"url\": \"https:\/\/promotionexams.com\/test-series\/cga-aao-cbt\/\",\n          \"seller\": {\n            \"@type\": \"Organization\",\n            \"name\": \"PromotionExams\"\n          }\n        }\n      }\n    },\n    {\n      \"@type\": \"ListItem\",\n      \"position\": 22,\n      \"item\": {\n        \"@type\": \"Product\",\n        \"name\": \"Manual of Procurement of Goods, 2024\",\n        \"sku\": \"17363\",\n        \"description\": \"Manual of Procurement of Goods \u2014 1200+ questions. All chapters \u00b7 rule-cited solutions. Every question carries a rule-cited explanation.\",\n        \"image\": \"https:\/\/promotionexams.com\/wp-content\/uploads\/2026\/06\/ChatGPT-Image-Jun-17-2026-12_35_02-PM.png\",\n        \"brand\": {\n          \"@type\": \"Brand\",\n          \"name\": \"PromotionExams\"\n        },\n        \"category\": \"CGA AAO CBT\",\n        \"offers\": {\n          \"@type\": \"Offer\",\n          \"price\": \"199\",\n          \"priceCurrency\": \"INR\",\n          \"availability\": \"https:\/\/schema.org\/InStock\",\n          \"url\": \"https:\/\/promotionexams.com\/test-series\/cga-aao-cbt\/\",\n          \"seller\": {\n            \"@type\": \"Organization\",\n            \"name\": \"PromotionExams\"\n          }\n        }\n      }\n    },\n    {\n      \"@type\": \"ListItem\",\n      \"position\": 23,\n      \"item\": {\n        \"@type\": \"Product\",\n        \"name\": \"Manual of Procurement of Consultancy Services, 2025\",\n        \"sku\": \"17382\",\n        \"description\": \"Manual of Procurement of Consultancy Services \u2014 700+ questions. All chapters \u00b7 rule-cited solutions. Every question carries a rule-cited explanation.\",\n        \"image\": \"https:\/\/promotionexams.com\/wp-content\/uploads\/2026\/06\/ChatGPT-Image-Jun-17-2026-12_44_53-PM.png\",\n        \"brand\": {\n          \"@type\": \"Brand\",\n          \"name\": \"PromotionExams\"\n        },\n        \"category\": \"CGA AAO CBT\",\n        \"offers\": {\n          \"@type\": \"Offer\",\n          \"price\": \"179\",\n          \"priceCurrency\": \"INR\",\n          \"availability\": \"https:\/\/schema.org\/InStock\",\n          \"url\": \"https:\/\/promotionexams.com\/test-series\/cga-aao-cbt\/\",\n          \"seller\": {\n            \"@type\": \"Organization\",\n            \"name\": \"PromotionExams\"\n          }\n        }\n      }\n    },\n    {\n      \"@type\": \"ListItem\",\n      \"position\": 24,\n      \"item\": {\n        \"@type\": \"Product\",\n        \"name\": \"Manual of Procurement of Non-Consultancy Services, 2025\",\n        \"sku\": \"17383\",\n        \"description\": \"Manual of Procurement of Non-Consultancy Services \u2014 700+ questions. All chapters \u00b7 rule-cited solutions. Every question carries a rule-cited explanation.\",\n        \"image\": \"https:\/\/promotionexams.com\/wp-content\/uploads\/2026\/10\/Procurement-Manual_-Transparent-Public-Service.png\",\n        \"brand\": {\n          \"@type\": \"Brand\",\n          \"name\": \"PromotionExams\"\n        },\n        \"category\": \"CGA AAO CBT\",\n        \"offers\": {\n          \"@type\": \"Offer\",\n          \"price\": \"179\",\n          \"priceCurrency\": \"INR\",\n          \"availability\": \"https:\/\/schema.org\/InStock\",\n          \"url\": \"https:\/\/promotionexams.com\/test-series\/cga-aao-cbt\/\",\n          \"seller\": {\n            \"@type\": \"Organization\",\n            \"name\": \"PromotionExams\"\n          }\n        }\n      }\n    },\n    {\n      \"@type\": \"ListItem\",\n      \"position\": 25,\n      \"item\": {\n        \"@type\": \"Product\",\n        \"name\": \"Internal Audit Handbook\",\n        \"sku\": \"14839\",\n        \"description\": \"Internal Audit Handbook for Central Civil Ministries\/Departments issued by CGA \u2014 375+ questions. All chapters \u00b7 rule-cited solutions. Every question carries a rule-cited explanation.\",\n        \"image\": \"https:\/\/promotionexams.com\/wp-content\/uploads\/2026\/06\/ChatGPT-Image-Jun-9-2026-04_51_17-PM.png\",\n        \"brand\": {\n          \"@type\": \"Brand\",\n          \"name\": \"PromotionExams\"\n        },\n        \"category\": \"CGA AAO CBT\",\n        \"offers\": {\n          \"@type\": \"Offer\",\n          \"price\": \"129\",\n          \"priceCurrency\": \"INR\",\n          \"availability\": \"https:\/\/schema.org\/InStock\",\n          \"url\": \"https:\/\/promotionexams.com\/test-series\/cga-aao-cbt\/\",\n          \"seller\": {\n            \"@type\": \"Organization\",\n            \"name\": \"PromotionExams\"\n          }\n        }\n      }\n    },\n    {\n      \"@type\": \"ListItem\",\n      \"position\": 26,\n      \"item\": {\n        \"@type\": \"Product\",\n        \"name\": \"Generic Internal Audit Manual\",\n        \"sku\": \"13601\",\n        \"description\": \"Generic Internal Audit Manual \u2014 325+ questions. All chapters \u00b7 rule-cited solutions. Every question carries a rule-cited explanation.\",\n        \"image\": \"https:\/\/promotionexams.com\/wp-content\/uploads\/2026\/06\/ChatGPT-Image-Jun-10-2026-10_28_59-AM.png\",\n        \"brand\": {\n          \"@type\": \"Brand\",\n          \"name\": \"PromotionExams\"\n        },\n        \"category\": \"CGA AAO CBT\",\n        \"offers\": {\n          \"@type\": \"Offer\",\n          \"price\": \"129\",\n          \"priceCurrency\": \"INR\",\n          \"availability\": \"https:\/\/schema.org\/InStock\",\n          \"url\": \"https:\/\/promotionexams.com\/test-series\/cga-aao-cbt\/\",\n          \"seller\": {\n            \"@type\": \"Organization\",\n            \"name\": \"PromotionExams\"\n          }\n        }\n      }\n    },\n    {\n      \"@type\": \"ListItem\",\n      \"position\": 27,\n      \"item\": {\n        \"@type\": \"Product\",\n        \"name\": \"Operational Manual for Internal Audit\",\n        \"sku\": \"14801\",\n        \"description\": \"Operational Manual for Internal Audit for Central Civil Ministries\/Departments \u2014 300+ questions. All chapters \u00b7 rule-cited solutions. Every question carries a rule-cited explanation.\",\n        \"image\": \"https:\/\/promotionexams.com\/wp-content\/uploads\/2026\/06\/Gemini_Generated_Image_7wd3tr7wd3tr7wd3.png\",\n        \"brand\": {\n          \"@type\": \"Brand\",\n          \"name\": \"PromotionExams\"\n        },\n        \"category\": \"CGA AAO CBT\",\n        \"offers\": {\n          \"@type\": \"Offer\",\n          \"price\": \"129\",\n          \"priceCurrency\": \"INR\",\n          \"availability\": \"https:\/\/schema.org\/InStock\",\n          \"url\": \"https:\/\/promotionexams.com\/test-series\/cga-aao-cbt\/\",\n          \"seller\": {\n            \"@type\": \"Organization\",\n            \"name\": \"PromotionExams\"\n          }\n        }\n      }\n    },\n    {\n      \"@type\": \"ListItem\",\n      \"position\": 28,\n      \"item\": {\n        \"@type\": \"Product\",\n        \"name\": \"Public Procurement (Preference to Make in India) Order, 2017\",\n        \"sku\": \"17461\",\n        \"description\": \"Public Procurement (Preference to Make in India) Order, 2017 \u2014 90+ questions. All chapters \u00b7 rule-cited solutions. Every question carries a rule-cited explanation.\",\n        \"image\": \"https:\/\/promotionexams.com\/wp-content\/uploads\/2025\/08\/make-in-India-logo-scaled-e1754200928695.jpg\",\n        \"brand\": {\n          \"@type\": \"Brand\",\n          \"name\": \"PromotionExams\"\n        },\n        \"category\": \"CGA AAO CBT\",\n        \"offers\": {\n          \"@type\": \"Offer\",\n          \"price\": \"49\",\n          \"priceCurrency\": \"INR\",\n          \"availability\": \"https:\/\/schema.org\/InStock\",\n          \"url\": \"https:\/\/promotionexams.com\/test-series\/cga-aao-cbt\/\",\n          \"seller\": {\n            \"@type\": \"Organization\",\n            \"name\": \"PromotionExams\"\n          }\n        }\n      }\n    },\n    {\n      \"@type\": \"ListItem\",\n      \"position\": 29,\n      \"item\": {\n        \"@type\": \"Product\",\n        \"name\": \"e-Procurement System and Government e-Marketplace (GeM)\",\n        \"sku\": \"17477\",\n        \"description\": \"e-Procurement System and Government e-Marketplace (GeM) \u2014 120+ questions. All chapters \u00b7 rule-cited solutions. Every question carries a rule-cited explanation.\",\n        \"image\": \"https:\/\/promotionexams.com\/wp-content\/uploads\/2026\/10\/GeM-India-14-11-2023.jpg\",\n        \"brand\": {\n          \"@type\": \"Brand\",\n          \"name\": \"PromotionExams\"\n        },\n        \"category\": \"CGA AAO CBT\",\n        \"offers\": {\n          \"@type\": \"Offer\",\n          \"price\": \"59\",\n          \"priceCurrency\": \"INR\",\n          \"availability\": \"https:\/\/schema.org\/InStock\",\n          \"url\": \"https:\/\/promotionexams.com\/test-series\/cga-aao-cbt\/\",\n          \"seller\": {\n            \"@type\": \"Organization\",\n            \"name\": \"PromotionExams\"\n          }\n        }\n      }\n    }\n  ]\n}\n<\/script>\n<script type=\"application\/ld+json\">\n{\n  \"@context\": \"https:\/\/schema.org\",\n  \"@type\": \"FAQPage\",\n  \"mainEntity\": [\n    {\n      \"@type\": \"Question\",\n      \"name\": \"Which papers of the CGA AAO CBT do these test series cover?\",\n      \"acceptedAnswer\": {\n        \"@type\": \"Answer\",\n        \"text\": \"All five. Paper I has the CSMOP Complete Pack, Paper II the service rules (Pension, Conduct, CCA, RTI, Leave\/LTC), Paper III the government and works accounts manuals, Paper IV the Constitution, budget and financial administration set, and Paper V the internal audit and procurement manuals.\"\n      }\n    },\n    {\n      \"@type\": \"Question\",\n      \"name\": \"I bought Pension or Conduct Rules for SO\/Steno. Do I need to buy again?\",\n      \"acceptedAnswer\": {\n        \"@type\": \"Answer\",\n        \"text\": \"No. The Paper II service-rule series are the same products on both pages, so a series you already own shows \u201cTake test\u201d here as well.\"\n      }\n    },\n    {\n      \"@type\": \"Question\",\n      \"name\": \"Is the Civil Accounts Manual covered?\",\n      \"acceptedAnswer\": {\n        \"@type\": \"Answer\",\n        \"text\": \"Yes \u2014 the Civil Accounts Manual has its own chapter-wise series under Paper III, alongside GAR 1990, the R&P Rules 2022, LMMH and the Suspense Manual.\"\n      }\n    },\n    {\n      \"@type\": \"Question\",\n      \"name\": \"What is the difference between Chapter-wise and the Complete Pack?\",\n      \"acceptedAnswer\": {\n        \"@type\": \"Answer\",\n        \"text\": \"Chapter-wise series are written provision by provision from the bare rule or manual. A Complete Pack adds the previous year questions for the same subject, at one combined price.\"\n      }\n    },\n    {\n      \"@type\": \"Question\",\n      \"name\": \"Is a bundle cheaper than buying the series one by one?\",\n      \"acceptedAnswer\": {\n        \"@type\": \"Answer\",\n        \"text\": \"Yes. Every bundle card shows what its series cost bought separately and how much it saves. If you add a single series that sits inside an available bundle, the page shows you the bundle before it reaches your cart.\"\n      }\n    },\n    {\n      \"@type\": \"Question\",\n      \"name\": \"When do the live mock tests start?\",\n      \"acceptedAnswer\": {\n        \"@type\": \"Answer\",\n        \"text\": \"One month before the exam. The CGA AAO CBT date is still awaited; the day it is notified, the schedule of paper-wise full-length mocks and the price go up on this page and enrolment opens. Each mock then opens at its sitting time (IST) and stays open 24 hours for one ranked attempt, with score, All-India rank and the answer key when the window closes.\"\n      }\n    },\n    {\n      \"@type\": \"Question\",\n      \"name\": \"How long does access last?\",\n      \"acceptedAnswer\": {\n        \"@type\": \"Answer\",\n        \"text\": \"Access runs until your exam or one year, as printed on each card. There is no attempt limit inside that window. If the exam is deferred, message us on WhatsApp and we will extend it.\"\n      }\n    },\n    {\n      \"@type\": \"Question\",\n      \"name\": \"I bought a series but cannot see it. What do I do?\",\n      \"acceptedAnswer\": {\n        \"@type\": \"Answer\",\n        \"text\": \"Log out and log back in first, since access is tied to the account that paid. If it still does not appear, message us on WhatsApp with your order number and we will attach it manually the same day.\"\n      }\n    }\n  ]\n}\n<\/script>\n<\/div>\n<style>\n@import url('https:\/\/fonts.googleapis.com\/css2?family=IBM+Plex+Mono:wght@400;500;600&family=IBM+Plex+Sans:wght@400;500;600;700&family=Newsreader:ital,opsz,wght@0,6..72,400;0,6..72,500;0,6..72,600;1,6..72,500&display=swap');\n\/* ===== ELEMENTOR OVERRIDE \u2014 kill the wrapper padding ===== *\/\n.elementor-widget-html,\n.elementor-widget-html .elementor-widget-container{width:100%!important;max-width:100%!important;padding:0!important;margin:0!important}\n#ts-repo{\n  \/* ---- edit these three if needed ---- *\/\n  --ts-top:0px;                 \/* height of your sticky site header, e.g. 70px *\/\n  --ts-pull:0px;                \/* auto-set: closes the gap above the hero *\/\n  --ts-ratio:16\/10;             \/* card image box. auto = uncropped natural height *\/\n  --ts-fit:cover;\n  --hero-img:url(\"https:\/\/promotionexams.com\/wp-content\/uploads\/2026\/08\/ChatGPT-Image-Aug-7-2026-07_29_54-AM.png\");\n  \/* ---- palette: identical to the Rules Repository ----\n     Brand swap, if you ever want the header match instead:\n     --navy:#1434A4;  --navy-deep:#0E2478;  --mustard:#FEC533; *\/\n  --navy:#1E3A8A; --navy-deep:#152A66; --mustard:#E0A82E; --mustard-deep:#8A6508;\n  --mustard-tint:#FDF6E6; --white:#fff; --off:#F7F9FC; --ink:#16233F; --ink-soft:#5A6784;\n  --line:#DFE5F0; --green:#0B8457; --maxw:1180px; --ts-vw:100vw;\n  \/* full-bleed: breaks out of the Elementor container to the screen edges *\/\n  width:var(--ts-vw); max-width:none;\n  margin-left:calc(50% - (var(--ts-vw) \/ 2));\n  margin-right:calc(50% - (var(--ts-vw) \/ 2));\n  margin-top:calc(-1 * var(--ts-pull));\n  margin-bottom:0;\n  background:var(--white); color:var(--ink);\n  font-family:\"IBM Plex Sans\",system-ui,sans-serif; font-size:16px; line-height:1.55;\n  text-align:left;\n}\n#ts-repo *,#ts-repo *::before,#ts-repo *::after{box-sizing:border-box}\n\/* a theme rule like `div{display:flex}` was reflowing whole blocks; every\n   class rule below still wins, so this only neutralises the bleed *\/\n#ts-repo div,#ts-repo p,#ts-repo h1,#ts-repo h2,#ts-repo h3,#ts-repo h4,#ts-repo figure{display:block}\n#ts-repo a{color:inherit;text-decoration:none;border:0}\n#ts-repo a:hover{color:inherit;text-decoration:none}\n#ts-repo p{margin:0}\n#ts-repo img{display:block;max-width:100%}\n#ts-repo [hidden]{display:none!important}\n#ts-repo :focus-visible{outline:3px solid var(--mustard);outline-offset:3px;border-radius:2px}\n#ts-repo .wrap{max-width:var(--maxw);margin:0 auto;padding:0 22px}\n#ts-repo .mono{font-family:\"IBM Plex Mono\",ui-monospace,monospace}\n#ts-repo .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}\n\/* buttons: reset held at element weight so component classes always win *\/\n#ts-repo :where(button){border:0;background:transparent;color:inherit}\n#ts-repo button{font-family:inherit;cursor:pointer;-webkit-appearance:none;appearance:none;text-align:inherit;margin:0}\n#ts-repo [id]{scroll-margin-top:calc(var(--ts-top) + var(--ts-barh,110px) + 14px)}\n\/* ================================================================ HERO *\/\n#ts-repo .ts-hero{position:relative;isolation:isolate;border-bottom:4px solid var(--mustard)}\n#ts-repo .ts-hero__bg{position:absolute;inset:0;z-index:0;background-image:var(--hero-img);\n  background-size:cover;background-position:center 40%}\n#ts-repo .ts-hero__bg::after{content:\"\";position:absolute;inset:0;\n  background:linear-gradient(100deg,rgba(190,209,243,.97) 0%,rgba(214,228,250,.94) 40%,rgba(228,237,252,.66) 64%,rgba(255,255,255,.10) 100%)}\n#ts-repo .ts-hero__inner{position:relative;z-index:2;max-width:var(--maxw);margin:0 auto;padding:64px 22px 54px}\n#ts-repo .ts-hero__panel{max-width:660px;color:var(--ink)}\n#ts-repo .eyebrow{display:flex;align-items:center;gap:10px;font-family:\"IBM Plex Mono\",monospace;\n  font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:var(--mustard-deep);margin:0 0 18px}\n#ts-repo .eyebrow::after{content:\"\";height:2px;flex:1;background:var(--mustard);opacity:.75}\n#ts-repo .ts-h1{font-family:\"Newsreader\",Georgia,serif;font-weight:500;font-size:clamp(2.4rem,6vw,4.1rem);\n  line-height:.99;letter-spacing:-.02em;margin:0;color:var(--navy-deep)}\n#ts-repo .ts-h1 em{font-style:italic;color:var(--mustard-deep)}\n#ts-repo .ts-tag{margin:18px 0 0;padding-left:14px;border-left:3px solid var(--mustard);\n  font-family:\"Newsreader\",Georgia,serif;font-weight:500;font-size:clamp(1.1rem,1.9vw,1.42rem);\n  line-height:1.32;letter-spacing:-.01em;color:var(--navy);max-width:none;text-wrap:balance}\n#ts-repo .ts-hero__sub{font-size:1.02rem;color:var(--ink-soft);max-width:56ch;margin:14px 0 0}\n#ts-repo .ts-stamp{position:absolute;right:5%;top:13%;width:148px;height:148px;transform:rotate(-9deg);z-index:1}\n@media(max-width:1000px){#ts-repo .ts-stamp{display:none}}\n#ts-repo .ts-search{margin-top:28px;display:flex;align-items:center;gap:10px;background:#fff;\n  border:2px solid var(--mustard);border-radius:3px;padding:12px 14px;max-width:460px;color:var(--ink);\n  box-shadow:0 14px 34px -22px rgba(21,42,102,.65)}\n#ts-repo .ts-search svg{flex:none;color:var(--navy);opacity:.7}\n#ts-repo .ts-search input{border:0;background:none;font:inherit;color:inherit;width:100%;outline:none;\n  box-shadow:none;padding:0;margin:0;height:auto;min-width:0}\n#ts-repo .ts-search input::placeholder{color:#8C97AE}\n#ts-repo .ts-search .x{flex:none;color:#8C97AE;font-size:.9rem;padding:0 2px;display:none}\n#ts-repo .ts-search .x:hover{color:var(--navy)}\n#ts-repo .ts-facts{display:flex;flex-wrap:wrap;gap:0;margin-top:30px;\n  border-top:1px solid rgba(21,42,102,.18)}\n#ts-repo .ts-fact{padding:14px 22px 0 0;margin-right:22px;border-right:1px solid rgba(21,42,102,.13)}\n#ts-repo .ts-fact:last-child{border-right:0;margin-right:0}\n#ts-repo .ts-fact b{display:block;font-family:\"Newsreader\",serif;font-weight:500;font-size:1.5rem;\n  line-height:1;color:var(--navy-deep)}\n#ts-repo .ts-fact span{display:block;margin-top:5px;font-family:\"IBM Plex Mono\",monospace;\n  font-size:.6rem;letter-spacing:.13em;text-transform:uppercase;color:var(--ink-soft)}\n\/* ================================================================ FILTER BAR *\/\n#ts-repo .ts-bar{position:sticky;top:var(--ts-top);z-index:20;background:rgba(255,255,255,.97);\n  backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}\n#ts-repo .ts-bar__inner{max-width:var(--maxw);margin:0 auto;padding:10px 22px 9px}\n#ts-repo .ts-row{display:flex;align-items:center;gap:12px}\n#ts-repo .ts-row + .ts-row{margin-top:8px;padding-top:8px;border-top:1px dashed var(--line)}\n#ts-repo .ts-rowlab{font-family:\"IBM Plex Mono\",monospace;font-size:.63rem;letter-spacing:.14em;\n  text-transform:uppercase;color:var(--ink-soft);flex:none;width:56px;align-self:center}\n#ts-repo .ts-chips{display:flex;gap:7px;flex-wrap:wrap;flex:1;min-width:0}\n\/* --- exam tabs: the notes-page tab, redrawn in the repository's type --- *\/\n#ts-repo .ts-tabs{display:flex;gap:8px;flex:1;min-width:0;flex-wrap:wrap;\n  scrollbar-width:none;padding:4px 2px}\n#ts-repo .ts-tabs::-webkit-scrollbar{display:none}\n#ts-repo .ts-tab{display:flex;align-items:center;gap:10px;flex:none;scroll-snap-align:start;\n  padding:7px 14px 7px 8px;border-radius:100px;border:1.5px solid var(--line);background:#fff;\n  color:var(--ink-soft);transition:.16s;white-space:nowrap}\n#ts-repo .ts-tab .ic{width:28px;height:28px;border-radius:50%;flex:none;background:#fff;\n  border:1px solid var(--line);padding:3px;display:grid;place-items:center;overflow:hidden}\n#ts-repo .ts-tab .ic img{width:100%;height:100%;object-fit:contain}\n#ts-repo .ts-tab .ic svg{width:15px;height:15px;color:var(--mustard-deep)}\n#ts-repo .ts-tab .lb{display:block;font-family:\"IBM Plex Mono\",monospace;font-size:.72rem;\n  letter-spacing:.06em;text-transform:uppercase;line-height:1.2;color:inherit}\n#ts-repo .ts-tab .lb em{display:block;font-style:normal;font-family:\"IBM Plex Sans\",sans-serif;\n  font-size:.63rem;letter-spacing:0;text-transform:none;color:#93A0B8;margin-top:2px}\n#ts-repo .ts-tab:hover{border-color:var(--mustard);color:var(--navy)}\n#ts-repo .ts-tab[aria-pressed=\"true\"],#ts-repo .ts-tab[aria-pressed=\"true\"]:hover{\n  background:var(--navy);border-color:var(--navy);color:#fff}\n#ts-repo .ts-tab[aria-pressed=\"true\"] .ic{border-color:rgba(255,255,255,.3)}\n#ts-repo .ts-tab[aria-pressed=\"true\"] .lb em{color:#B7C3EA}\n#ts-repo .ts-tab[aria-pressed=\"true\"] .ic svg{color:var(--mustard)}\n\/* an exam with nothing on the shelf yet: still reachable, visibly quieter *\/\n#ts-repo .ts-tab[data-soon]{background:var(--off);border-style:dashed}\n#ts-repo .ts-tab[data-soon] .ic{opacity:.5}\n#ts-repo .ts-tab[data-soon] .lb{color:#93A0B8}\n#ts-repo .ts-tab[data-soon]:hover .ic{opacity:1}\n#ts-repo .ts-tab[data-soon][aria-pressed=\"true\"]{background:var(--navy);border-style:solid}\n#ts-repo .ts-tab[data-soon][aria-pressed=\"true\"] .ic{opacity:1}\n#ts-repo .ts-tab[data-soon][aria-pressed=\"true\"] .lb{color:#fff}\n\/* --- plain chips: format, paper --- *\/\n#ts-repo .chip{font-family:\"IBM Plex Mono\",monospace;letter-spacing:.06em;text-transform:uppercase;\n  border-radius:100px;background:#fff;cursor:pointer;transition:.15s;font-size:.72rem;padding:7px 13px;\n  border:1.5px solid var(--line);color:var(--ink-soft);line-height:1.2}\n#ts-repo .chip:hover{border-color:var(--mustard);color:var(--navy);background:#fff}\n#ts-repo .chip[aria-pressed=\"true\"],#ts-repo .chip[aria-pressed=\"true\"]:hover{\n  background:var(--navy);border-color:var(--navy);color:#fff}\n#ts-repo .chip[disabled]:hover{border-color:var(--line);color:var(--ink-soft)}\n\/* ================================================================ WORKSPACE *\/\n#ts-repo .ts-main{padding:30px 0 56px;background:linear-gradient(180deg,var(--off) 0,var(--white) 420px)}\n#ts-repo .ts-head{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;\n  background:#fff;border:1px solid var(--line);border-left:5px solid var(--mustard);border-radius:4px;\n  padding:16px 18px;margin-bottom:16px;box-shadow:0 1px 2px rgba(21,42,102,.05)}\n#ts-repo .ts-head .id{display:flex;align-items:center;gap:14px;min-width:0}\n#ts-repo .ts-head .av{width:48px;height:48px;flex:none;border:1px solid var(--line);border-radius:3px;\n  background:#fff;padding:6px;display:grid;place-items:center}\n#ts-repo .ts-head .av img{width:100%;height:100%;object-fit:contain}\n#ts-repo .ts-head h2{font-family:\"Newsreader\",Georgia,serif;font-weight:500;font-size:1.5rem;\n  line-height:1.15;letter-spacing:-.015em;margin:0;color:var(--navy-deep)}\n#ts-repo .ts-head .sub{font-size:.8rem;color:var(--ink-soft);margin-top:4px}\n#ts-repo .ts-headact{display:flex;align-items:center;gap:9px;flex-wrap:wrap;flex:none}\n#ts-repo .ts-syl{display:inline-flex;align-items:center;gap:8px;flex:none;\n  font-family:\"IBM Plex Mono\",monospace;font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;\n  color:var(--navy);border:1.5px solid var(--line);background:#fff;padding:9px 14px;border-radius:3px;\n  transition:.16s}\n#ts-repo .ts-syl:hover{border-color:var(--mustard);background:var(--mustard-tint);color:var(--navy-deep)}\n#ts-repo .ts-note{font-size:.83rem;color:var(--ink-soft);line-height:1.65;margin-bottom:16px;\n  background:#fff;border:1px solid var(--line);border-left:3px solid var(--mustard);\n  border-radius:0 4px 4px 0;padding:11px 15px}\n#ts-repo .ts-tools{display:flex;align-items:center;justify-content:space-between;gap:14px;\n  flex-wrap:wrap;margin-bottom:14px}\n#ts-repo .ts-active{display:flex;align-items:center;gap:7px;flex-wrap:wrap;min-height:28px}\n#ts-repo .ts-active .lb{font-family:\"IBM Plex Mono\",monospace;font-size:.6rem;letter-spacing:.13em;\n  text-transform:uppercase;color:#93A0B8}\n#ts-repo .fchip{display:inline-flex;align-items:center;gap:7px;padding:5px 10px;border-radius:100px;\n  background:var(--mustard-tint);border:1px solid #F0E0B8;font-size:.7rem;font-weight:600;\n  color:var(--mustard-deep);max-width:240px}\n#ts-repo .fchip span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}\n#ts-repo .fchip svg{width:9px;height:9px;flex:none;opacity:.65}\n#ts-repo .fchip:hover{border-color:var(--mustard-deep)}\n#ts-repo .ts-clearall{font-size:.7rem;font-weight:600;color:var(--ink-soft);\n  text-decoration:underline;text-underline-offset:3px}\n#ts-repo .ts-clearall:hover{color:var(--navy)}\n\/* ================================================================ CARDS *\/\n\/* section headings sit inside the grid and span every column *\/\n#ts-repo .ts-sec,#ts-repo .ts-sub{grid-column:1 \/ -1}\n#ts-repo .ts-sec{display:flex;align-items:center;gap:12px;flex-wrap:wrap;\n  font-family:\"Newsreader\",Georgia,serif;font-weight:500;font-size:1.3rem;letter-spacing:-.015em;\n  color:var(--navy-deep);margin:14px 0 -2px;padding-bottom:11px;border-bottom:2px solid var(--mustard)}\n#ts-repo .ts-grid > .ts-sec:first-child{margin-top:0}\n#ts-repo .ts-sec span{flex:none;font-family:\"IBM Plex Mono\",monospace;font-size:.6rem;letter-spacing:.11em;\n  text-transform:uppercase;color:var(--mustard-deep);background:var(--mustard-tint);\n  border:1px solid #F0E0B8;border-radius:3px;padding:4px 10px}\n#ts-repo .ts-sub{display:flex;align-items:center;gap:11px;font-family:\"IBM Plex Mono\",monospace;\n  font-size:.64rem;letter-spacing:.13em;text-transform:uppercase;color:var(--ink-soft);margin:10px 0 -4px}\n#ts-repo .ts-sub::after{content:\"\";height:1px;flex:1;background:var(--line)}\n@media(max-width:700px){\n  #ts-repo .ts-sec{font-size:1.1rem;gap:9px}\n  #ts-repo .ts-sub{font-size:.6rem}\n}\n#ts-repo .ts-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(268px,100%),1fr));gap:20px}\n#ts-repo .ts-card{position:relative;display:flex;flex-direction:column;background:#fff;\n  border:1px solid var(--line);border-left:5px solid var(--mustard);border-radius:12px;overflow:hidden;\n  box-shadow:0 1px 2px rgba(21,42,102,.06),0 14px 30px -22px rgba(21,42,102,.55);\n  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}\n#ts-repo .ts-card[data-type=\"chapter\"]{border-left-color:var(--navy)}\n#ts-repo .ts-card[data-type=\"combo\"]{border-left-color:var(--mustard-deep)}\n#ts-repo .ts-card:hover{transform:translateY(-3px);border-color:var(--mustard);\n  box-shadow:0 1px 2px rgba(21,42,102,.06),0 24px 36px -24px rgba(21,42,102,.65)}\n#ts-repo .ts-card[data-type=\"chapter\"]:hover{border-left-color:var(--navy)}\n#ts-repo .ts-card.is-soon .ts-thumb img{filter:grayscale(.5)}\n#ts-repo .ts-thumb{position:relative;background:#fff;overflow:hidden;border-bottom:1px solid var(--line);line-height:0}\n#ts-repo .ts-thumb img{width:100%;height:auto;display:block;max-width:none;\n  aspect-ratio:var(--ts-ratio);object-fit:var(--ts-fit);object-position:center;transition:transform .5s ease}\n#ts-repo .ts-card:hover .ts-thumb img{transform:scale(1.04)}\n#ts-repo .ts-kind{position:absolute;left:0;bottom:0;z-index:2;font-family:\"IBM Plex Mono\",monospace;\n  font-size:.58rem;letter-spacing:.1em;text-transform:uppercase;padding:5px 10px;\n  background:var(--mustard);color:var(--navy-deep);line-height:1.3}\n#ts-repo .ts-card[data-type=\"chapter\"] .ts-kind{background:var(--navy);color:#fff}\n#ts-repo .ts-card[data-type=\"combo\"] .ts-kind{background:linear-gradient(90deg,var(--navy),var(--mustard-deep));color:#fff}\n#ts-repo .ribbon{position:absolute;top:10px;right:10px;z-index:3;font-family:\"IBM Plex Mono\",monospace;\n  font-size:.56rem;letter-spacing:.1em;text-transform:uppercase;padding:4px 9px;border-radius:2px;\n  background:#fff;color:var(--mustard-deep);border:1px solid var(--mustard);line-height:1.3;\n  box-shadow:0 2px 8px rgba(21,42,102,.18)}\n#ts-repo .ribbon.new{border-color:var(--green);color:var(--green)}\n#ts-repo .ribbon.value{background:var(--navy);border-color:var(--navy);color:#fff}\n#ts-repo .ribbon.soon{background:var(--ink-soft);border-color:var(--ink-soft);color:#fff}\n#ts-repo .ribbon.free{background:var(--green);border-color:var(--green);color:#fff}\n\/* a head whose series are still being written: the strip that stands in for them *\/\n#ts-repo .ts-headsoon{grid-column:1 \/ -1;display:flex;align-items:center;gap:16px;flex-wrap:wrap;\n  background:var(--mustard-tint);border:1px dashed #E7D3A2;border-radius:10px;padding:16px 18px}\n#ts-repo .ts-headsoon b{flex:none;font-family:\"IBM Plex Mono\",monospace;font-size:.6rem;\n  letter-spacing:.12em;text-transform:uppercase;color:var(--mustard-deep);background:#fff;\n  border:1px solid #F0E0B8;border-radius:3px;padding:5px 10px}\n#ts-repo .ts-headsoon span{flex:1;min-width:220px;font-size:.83rem;color:var(--ink-soft);line-height:1.6}\n#ts-repo .ts-headsoon button{flex:none;font-family:\"IBM Plex Mono\",monospace;font-size:.66rem;\n  letter-spacing:.08em;text-transform:uppercase;background:var(--navy);color:#fff;\n  border-radius:7px;padding:10px 16px;transition:.16s}\n#ts-repo .ts-headsoon button:hover{background:var(--mustard);color:var(--navy-deep)}\n@media(max-width:700px){#ts-repo .ts-headsoon button{width:100%;text-align:center;padding:12px 16px}}\n#ts-repo .ts-cbody{padding:16px 16px 4px;flex:1}\n#ts-repo .ts-ctitle{font-family:\"Newsreader\",Georgia,serif;font-size:1.2rem;font-weight:500;\n  line-height:1.22;letter-spacing:-.01em;margin:0 0 12px;color:var(--navy-deep)}\n#ts-repo .ts-cdesc{font-size:.8rem;color:var(--ink-soft);margin:0 0 12px;line-height:1.5}\n#ts-repo .ts-curated{display:flex;align-items:flex-start;gap:8px;margin:10px 0 0;\n  background:var(--mustard-tint);border:1px solid #F0E0B8;border-left:3px solid var(--mustard);\n  border-radius:0 6px 6px 0;padding:7px 10px;font-size:.7rem;line-height:1.45;color:var(--mustard-deep);\n  font-weight:600}\n#ts-repo .ts-curated i{flex:none;margin-top:3px;font-size:9px}\n#ts-repo .ts-spec{display:flex;border:1px solid var(--line);border-radius:7px;background:var(--off);\n  overflow:hidden;margin-bottom:11px}\n#ts-repo .ts-spec div{flex:1;padding:8px 10px;border-left:1px solid var(--line);min-width:0}\n#ts-repo .ts-spec div:first-child{border-left:0}\n#ts-repo .ts-spec b{display:block;font-family:\"IBM Plex Mono\",monospace;font-size:.82rem;font-weight:600;\n  color:var(--navy-deep);line-height:1.25}\n#ts-repo .ts-spec b.fmt{font-family:\"IBM Plex Sans\",sans-serif;font-size:.8rem;font-weight:600}\n#ts-repo .ts-spec span{display:block;font-family:\"IBM Plex Mono\",monospace;font-size:.55rem;\n  letter-spacing:.12em;text-transform:uppercase;color:#93A0B8;margin-top:3px}\n#ts-repo .ts-inside{list-style:none;margin:0 0 11px;padding:0;display:flex;flex-direction:column;gap:5px}\n#ts-repo .ts-inside li{display:flex;align-items:flex-start;gap:7px;font-size:.74rem;color:var(--ink-soft);line-height:1.45}\n#ts-repo .ts-inside li::before{content:\"\";flex:none;width:5px;height:5px;margin-top:6px;\n  background:var(--mustard);transform:rotate(45deg)}\n#ts-repo .ts-cfoot{display:flex;align-items:center;justify-content:space-between;gap:10px;\n  padding:10px 12px 10px 16px;border-top:1px solid var(--line);background:var(--off);margin-top:auto}\n#ts-repo .ts-price{display:flex;align-items:baseline;gap:6px;flex-wrap:wrap;min-width:0}\n#ts-repo .ts-price b{font-family:\"Newsreader\",serif;font-weight:600;font-size:1.3rem;\n  letter-spacing:-.01em;color:var(--navy-deep);line-height:1}\n#ts-repo .ts-tbd{font-style:normal;font-family:\"IBM Plex Mono\",monospace;font-size:.62rem;\n  letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft)}\n#ts-repo .ts-price s{font-size:.72rem;color:#93A0B8}\n#ts-repo .ts-price i{font-style:normal;font-family:\"IBM Plex Mono\",monospace;font-size:.55rem;\n  letter-spacing:.06em;color:var(--green)}\n#ts-repo .ts-buy{display:inline-flex;align-items:center;gap:7px;flex:none;\n  font-family:\"IBM Plex Mono\",monospace;font-size:.66rem;letter-spacing:.08em;text-transform:uppercase;\n  background:var(--navy);color:#fff;border-radius:7px;padding:10px 14px;transition:.16s;line-height:1.2}\n#ts-repo .ts-buy:hover{background:var(--mustard);color:var(--navy-deep)}\n#ts-repo .ts-buy.in-cart,#ts-repo .ts-buy.in-cart:hover,\n#ts-repo .ts-buy.purchased,#ts-repo .ts-buy.purchased:hover{background:var(--green);color:#fff}\n#ts-repo .ts-card.is-soon .ts-buy{background:var(--ink-soft)}\n#ts-repo .ts-card.is-soon .ts-buy:hover{background:var(--navy-deep);color:#fff}\n#ts-repo .ts-empty{text-align:center;padding:70px 20px;color:var(--ink-soft);\n  border:1px dashed var(--line);border-radius:4px;background:#fff}\n#ts-repo .ts-empty h3{font-family:\"Newsreader\",serif;font-weight:500;font-size:1.5rem;margin:0 0 6px;color:var(--navy)}\n#ts-repo .ts-empty p{font-size:.85rem;max-width:44ch;margin:0 auto}\n#ts-repo .ts-empty button{margin-top:16px;font-family:\"IBM Plex Mono\",monospace;font-size:.68rem;\n  letter-spacing:.08em;text-transform:uppercase;background:var(--navy);color:#fff;border-radius:3px;padding:10px 16px}\n#ts-repo .ts-empty button:hover{background:var(--mustard);color:var(--navy-deep)}\n\/* coming-soon exam *\/\n#ts-repo .ts-soonblock{display:flex;flex-direction:column;align-items:center;text-align:center;\n  padding:56px 24px;background:#fff;border:1px solid var(--line);border-top:4px solid var(--mustard);border-radius:4px}\n#ts-repo .ts-soonblock .ic{width:74px;height:74px;border:1px solid var(--line);background:var(--mustard-tint);\n  display:grid;place-items:center;padding:12px;margin-bottom:18px;border-radius:3px}\n#ts-repo .ts-soonblock h3{font-family:\"Newsreader\",serif;font-weight:500;font-size:1.6rem;\n  color:var(--navy-deep);margin:0 0 10px}\n#ts-repo .ts-soonblock p{font-size:.9rem;color:var(--ink-soft);max-width:52ch;margin-bottom:20px;line-height:1.7}\n#ts-repo .ts-soonblock button{font-family:\"IBM Plex Mono\",monospace;font-size:.68rem;letter-spacing:.08em;\n  text-transform:uppercase;background:var(--navy);color:#fff;border-radius:3px;padding:11px 20px}\n#ts-repo .ts-soonblock button:hover{background:var(--mustard);color:var(--navy-deep)}\n\/* ================================================================ SECTIONS *\/\n#ts-repo .sec{padding:60px 0;border-top:1px solid var(--line)}\n#ts-repo .sec.tint{background:var(--off)}\n#ts-repo .sec.gold{background:var(--mustard-tint);border-top-color:#F0E0B8}\n#ts-repo .sechead{max-width:660px;margin:0 0 30px}\n#ts-repo .sechead.mid{max-width:none;margin-left:auto;margin-right:auto;text-align:center}\n#ts-repo .sechead.mid h2{text-wrap:balance}\n#ts-repo .sechead.mid p{max-width:64ch;margin-left:auto;margin-right:auto}\n#ts-repo .sechead.mid .eyebrow{max-width:560px;margin-left:auto;margin-right:auto}\n#ts-repo .sechead.mid .eyebrow{justify-content:center}\n#ts-repo .sechead.mid .eyebrow::before{content:\"\";height:2px;flex:1;background:var(--mustard);opacity:.55}\n#ts-repo .sechead .eyebrow{color:var(--mustard-deep)}\n#ts-repo .sechead .eyebrow::after,#ts-repo .sechead.mid .eyebrow::before{background:var(--mustard)}\n#ts-repo .sechead h2{font-family:\"Newsreader\",Georgia,serif;font-weight:500;\n  font-size:clamp(1.7rem,3.2vw,2.5rem);line-height:1.08;letter-spacing:-.02em;margin:0;color:var(--navy-deep)}\n#ts-repo .sechead h2 em{font-style:italic;color:var(--mustard-deep)}\n#ts-repo .sechead p{font-size:.95rem;color:var(--ink-soft);margin-top:12px;line-height:1.7}\n#ts-repo .sechead p strong{color:var(--navy)}\n\/* ---- notice ---- *\/\n#ts-repo .ts-notice{display:flex;align-items:center;gap:26px;flex-wrap:wrap;background:#fff;\n  border:1px solid var(--line);border-left:5px solid var(--navy);border-radius:4px;padding:16px 20px}\n#ts-repo .ts-notice .tx{flex:1;min-width:280px}\n#ts-repo .ts-notice h2{font-family:\"IBM Plex Mono\",monospace;font-size:.68rem;letter-spacing:.14em;\n  text-transform:uppercase;color:var(--navy);margin:0 0 6px}\n#ts-repo .ts-notice p{font-size:.83rem;color:var(--ink-soft);line-height:1.6}\n#ts-repo .ts-notice strong{color:var(--navy-deep)}\n#ts-repo .wa-btn{display:inline-flex;align-items:center;gap:8px;flex:none;padding:10px 16px;border-radius:3px;\n  background:var(--green);color:#fff;font-family:\"IBM Plex Mono\",monospace;font-size:.66rem;\n  letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;transition:.16s}\n#ts-repo .wa-btn:hover{background:#0a6c47;color:#fff}\n#ts-repo .wa-btn.wa-sm{margin-top:12px;padding:7px 12px;gap:6px;font-size:.6rem;border-radius:6px}\n\/* ---- where \"My Purchases\" lives: a drawn menu, not a real screenshot ---- *\/\n#ts-repo .mshot{flex:none;width:290px;margin:0;border:1px solid var(--line);border-radius:10px;\n  overflow:hidden;background:#fff;box-shadow:0 14px 32px -20px rgba(21,42,102,.6)}\n#ts-repo .mshot-bar{display:flex;align-items:center;gap:9px;padding:8px 10px;background:var(--navy-deep)}\n#ts-repo .mshot-bar .lg{font-family:\"IBM Plex Mono\",monospace;font-size:7.5px;letter-spacing:.1em;\n  text-transform:uppercase;color:#fff;white-space:nowrap}\n#ts-repo .mshot-bar .nv{font-size:8px;color:#9FB0E8;white-space:nowrap}\n#ts-repo .mshot-bar .usr{margin-left:auto;display:inline-flex;align-items:center;gap:5px;flex:none;\n  background:var(--mustard);color:var(--navy-deep);border-radius:100px;padding:4px 9px;\n  font-family:\"IBM Plex Mono\",monospace;font-size:7.5px;letter-spacing:.05em;white-space:nowrap}\n#ts-repo .mshot-bar .usr i{font-size:6.5px}\n#ts-repo .mshot-menu{position:relative;padding:11px 9px 9px;background:var(--off);border-top:1px solid var(--line)}\n#ts-repo .mshot-menu::before{content:\"\";position:absolute;top:-5px;right:30px;width:9px;height:9px;\n  background:var(--off);border-left:1px solid var(--line);border-top:1px solid var(--line);transform:rotate(45deg)}\n#ts-repo .mshot-menu .mi{display:flex;align-items:center;gap:7px;padding:5px 9px;border-radius:6px;\n  font-size:9.5px;line-height:1.3;color:var(--ink-soft);background:#fff;border:1px solid var(--line)}\n#ts-repo .mshot-menu .mi + .mi{margin-top:4px}\n#ts-repo .mshot-menu .mi.on{background:var(--navy);border-color:var(--navy);color:#fff;font-weight:600;\n  box-shadow:0 6px 14px -8px rgba(21,42,102,.9)}\n#ts-repo .mshot-menu .mi.on i{color:var(--mustard);font-size:8px}\n#ts-repo .mshot figcaption{padding:6px 10px;border-top:1px solid var(--line);background:#fff;\n  font-family:\"IBM Plex Mono\",monospace;font-size:.5rem;letter-spacing:.08em;text-transform:uppercase;\n  color:#93A0B8;text-align:center}\n\/* ---- bundles ---- *\/\n#ts-repo .bgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(310px,100%),1fr));gap:20px}\n#ts-repo .bgroup + .bgroup{margin-top:34px}\n#ts-repo .bgroup h3.glab{font-family:\"IBM Plex Mono\",monospace;font-size:.66rem;letter-spacing:.14em;\n  text-transform:uppercase;color:var(--mustard-deep);margin:0 0 14px;display:flex;align-items:center;gap:10px}\n#ts-repo .bgroup h3.glab::after{content:\"\";height:1px;flex:1;background:#F0E0B8}\n#ts-repo .bcard{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);\n  border-top:4px solid var(--mustard);border-radius:12px;padding:22px;transition:.2s;\n  box-shadow:0 1px 2px rgba(21,42,102,.05)}\n#ts-repo .bcard:hover{transform:translateY(-3px);border-color:var(--mustard);\n  box-shadow:0 22px 40px -26px rgba(21,42,102,.7)}\n#ts-repo .bcard.feature{border-top-width:4px;box-shadow:0 0 0 3px var(--mustard-tint),0 18px 40px -26px rgba(21,42,102,.6)}\n#ts-repo .btop{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}\n#ts-repo .btag{font-family:\"IBM Plex Mono\",monospace;font-size:.6rem;letter-spacing:.12em;\n  text-transform:uppercase;color:var(--ink-soft)}\n#ts-repo .bsave{font-family:\"IBM Plex Mono\",monospace;font-size:.6rem;letter-spacing:.08em;\n  text-transform:uppercase;background:var(--mustard);color:var(--navy-deep);padding:4px 9px;\n  border-radius:2px;white-space:nowrap}\n#ts-repo .bcard h4{font-family:\"Newsreader\",Georgia,serif;font-weight:500;font-size:1.35rem;\n  line-height:1.2;letter-spacing:-.015em;color:var(--navy-deep);margin:0 0 8px}\n#ts-repo .bcard > p{font-size:.82rem;color:var(--ink-soft);line-height:1.65;margin-bottom:15px}\n#ts-repo .blist{list-style:none;margin:0 0 20px;padding:0;display:flex;flex-direction:column;gap:7px}\n#ts-repo .blist li{display:flex;align-items:flex-start;gap:9px;font-size:.78rem;color:var(--ink);line-height:1.45}\n#ts-repo .blist li::before{content:\"\";flex:none;width:5px;height:5px;margin-top:6px;\n  background:var(--mustard);transform:rotate(45deg)}\n#ts-repo .bfoot{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:12px;\n  flex-wrap:wrap;padding-top:16px;border-top:1px solid var(--line)}\n#ts-repo .bprice{display:flex;align-items:baseline;gap:8px}\n#ts-repo .bprice b{font-family:\"Newsreader\",serif;font-weight:600;font-size:1.7rem;\n  color:var(--navy-deep);letter-spacing:-.02em;line-height:1}\n#ts-repo .bprice s{font-size:.8rem;color:#93A0B8}\n#ts-repo .bbtn{display:inline-flex;align-items:center;gap:8px;padding:11px 18px;border-radius:7px;\n  background:var(--navy);color:#fff;font-family:\"IBM Plex Mono\",monospace;font-size:.66rem;\n  letter-spacing:.08em;text-transform:uppercase;transition:.16s}\n#ts-repo .bbtn:hover{background:var(--mustard);color:var(--navy-deep)}\n#ts-repo .bbtn.in-cart,#ts-repo .bbtn.in-cart:hover,\n#ts-repo .bbtn.purchased,#ts-repo .bbtn.purchased:hover{background:var(--green);color:#fff}\n#ts-repo .bempty{text-align:center;padding:44px 20px;border:1px dashed var(--line);border-radius:4px;\n  color:var(--ink-soft);font-size:.88rem;background:#fff}\n\/* ---- how it works: a real sequence, so the numbering earns its place ---- *\/\n#ts-repo .steps{display:grid;grid-template-columns:repeat(4,1fr);gap:0}\n#ts-repo .step{padding:0 22px}\n#ts-repo .step + .step{border-left:1px solid var(--line)}\n#ts-repo .step .n{font-family:\"IBM Plex Mono\",monospace;font-size:.66rem;letter-spacing:.14em;\n  color:var(--mustard-deep);display:block;margin-bottom:10px}\n#ts-repo .step h3{font-family:\"Newsreader\",serif;font-weight:500;font-size:1.15rem;line-height:1.25;\n  color:var(--navy-deep);margin:0 0 8px}\n#ts-repo .step p{font-size:.82rem;color:var(--ink-soft);line-height:1.68}\n#ts-repo .step p strong{color:var(--navy)}\n\/* ---- value props ---- *\/\n#ts-repo .props{display:grid;grid-template-columns:repeat(4,1fr);gap:26px}\n#ts-repo .prop{display:flex;flex-direction:column;border-top:2px solid var(--mustard);padding-top:14px}\n#ts-repo .prop i{font-size:15px;color:var(--mustard-deep);line-height:1}\n#ts-repo .prop h3{font-family:\"Newsreader\",serif;font-weight:500;font-size:1.12rem;line-height:1.28;\n  color:var(--navy-deep);margin:10px 0 8px;min-height:2.56em;text-wrap:balance}\n#ts-repo .prop p{font-size:.8rem;color:var(--ink-soft);line-height:1.62}\n\/* ---- dark panel (why \/ whatsapp) ---- *\/\n#ts-repo .panel{position:relative;overflow:hidden;border-radius:4px;border:1px solid var(--navy-deep);\n  background:linear-gradient(112deg,var(--navy-deep) 0%,#1E3A8A 52%,#2A4DAE 100%)}\n#ts-repo .panel::before{content:\"\";position:absolute;inset:0;pointer-events:none;\n  background-image:radial-gradient(rgba(255,255,255,.075) 1px,transparent 1px);background-size:22px 22px}\n#ts-repo .panel > *{position:relative;z-index:2}\n#ts-repo .panel .eyebrow{color:var(--mustard)}\n#ts-repo .why{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.6fr) minmax(0,1fr);\n  gap:34px;align-items:center;padding:44px}\n#ts-repo .why h2{font-family:\"Newsreader\",Georgia,serif;font-weight:500;\n  font-size:clamp(1.6rem,3vw,2.3rem);line-height:1.1;letter-spacing:-.02em;color:#fff;margin:0}\n#ts-repo .why h2 em{font-style:italic;color:var(--mustard);display:block}\n#ts-repo .why p{font-size:.9rem;color:#C3CEF5;line-height:1.72;margin-top:15px;max-width:44ch}\n#ts-repo .why-btns{display:flex;flex-wrap:wrap;gap:11px;margin-top:24px}\n#ts-repo .why-btns a{display:inline-flex;align-items:center;gap:9px;padding:12px 20px;border-radius:3px;\n  font-family:\"IBM Plex Mono\",monospace;font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;transition:.18s}\n#ts-repo .why-btns .b1{background:var(--mustard);color:var(--navy-deep)}\n#ts-repo .why-btns .b1:hover{background:#fff;color:var(--navy-deep)}\n#ts-repo .why-btns .b2{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.26);color:#fff}\n#ts-repo .why-btns .b2:hover{background:rgba(255,255,255,.2);color:#fff}\n#ts-repo .why-stats{display:flex;flex-direction:column;gap:12px}\n#ts-repo .why-stat{padding:13px 15px;border:1px solid rgba(255,255,255,.16);\n  border-left:3px solid var(--mustard);background:rgba(255,255,255,.07);border-radius:0 3px 3px 0}\n#ts-repo .why-stat span{display:block;font-family:\"IBM Plex Mono\",monospace;font-size:.58rem;\n  letter-spacing:.12em;text-transform:uppercase;color:#9FB0E8}\n#ts-repo .why-stat b{display:block;font-family:\"Newsreader\",serif;font-weight:500;font-size:1.35rem;\n  color:#fff;margin-top:4px;line-height:1}\n\/* ---- WhatsApp panel: the page's own gold, not the navy of the \"why\" panel ---- *\/\n#ts-repo .panel.warm{border-color:#EBD9A8;\n  background:linear-gradient(112deg,var(--mustard-tint) 0%,#FBEDCA 52%,#F6E1AC 100%)}\n#ts-repo .panel.warm::before{background-image:radial-gradient(rgba(138,101,8,.10) 1px,transparent 1px)}\n#ts-repo .panel.warm .eyebrow{color:var(--mustard-deep)}\n#ts-repo .panel.warm .eyebrow::after{background:var(--mustard-deep);opacity:.45}\n#ts-repo .talk-mark{position:absolute;z-index:0;left:50%;top:50%;width:210px;height:210px;\n  transform:translate(-50%,-52%);color:#1F9E52;opacity:.13;pointer-events:none}\n#ts-repo .talk{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1.3fr) auto;\n  gap:30px;align-items:center;padding:38px 44px}\n#ts-repo .talk h2{font-family:\"Newsreader\",Georgia,serif;font-weight:500;font-size:clamp(1.5rem,2.6vw,2.1rem);\n  color:var(--navy-deep);margin:0;letter-spacing:-.02em;line-height:1.12}\n#ts-repo .talk h2 em{font-style:italic;color:var(--mustard-deep)}\n#ts-repo .talk p{font-size:.9rem;color:var(--ink-soft);line-height:1.7;margin-top:11px;max-width:46ch}\n#ts-repo .talk-ticks{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-top:15px;\n  font-family:\"IBM Plex Mono\",monospace;font-size:.62rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft)}\n#ts-repo .talk-ticks i{color:var(--green);font-size:9px;margin-right:6px}\n#ts-repo .talk-act{position:relative;align-self:center;justify-self:end;display:flex;\n  flex-direction:column;align-items:center;justify-content:center;gap:12px;\n  min-width:270px;padding:26px 18px;text-align:center}\n#ts-repo .talk-btn{position:relative;z-index:1;display:inline-flex;align-items:center;justify-content:center;\n  gap:11px;padding:16px 28px;border-radius:7px;background:#25D366;color:#fff;\n  font-family:\"IBM Plex Mono\",monospace;font-size:.78rem;letter-spacing:.06em;text-transform:uppercase;\n  box-shadow:0 14px 30px -14px rgba(37,211,102,.75);transition:.18s}\n#ts-repo .talk-btn:hover{background:#1ebe57;color:#fff;transform:translateY(-2px)}\n#ts-repo .talk-note{position:relative;z-index:1;display:block;font-family:\"IBM Plex Mono\",monospace;\n  font-size:.58rem;letter-spacing:.1em;text-transform:uppercase;color:var(--mustard-deep);margin:0}\n\/* ---- SEO copy ---- *\/\n#ts-repo .about{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);\n  gap:44px;align-items:stretch}\n#ts-repo .av-wrap{height:100%}\n#ts-repo .about p{font-size:.95rem;color:var(--ink-soft);line-height:1.78}\n#ts-repo .about p + p{margin-top:13px}\n#ts-repo .about strong{color:var(--navy);font-weight:600}\n#ts-repo .av-frame{position:relative;height:100%;min-height:320px;border:1px solid var(--line);\n  border-radius:12px;overflow:hidden;box-shadow:0 26px 60px -30px rgba(21,42,102,.6)}\n#ts-repo .av-frame img{width:100%;height:100%;object-fit:cover;object-position:center}\n#ts-repo .av-frame::after{content:\"\";position:absolute;inset:0;\n  background:linear-gradient(160deg,rgba(21,42,102,.04),rgba(21,42,102,.4))}\n#ts-repo .av-badge{position:absolute;z-index:2;bottom:14px;left:14px;right:14px;\n  background:rgba(255,255,255,.96);border:1px solid var(--line);padding:9px 12px;border-radius:3px;\n  font-family:\"IBM Plex Mono\",monospace;font-size:.6rem;letter-spacing:.1em;text-transform:uppercase;\n  color:var(--navy-deep);display:flex;align-items:center;justify-content:space-between;gap:10px}\n#ts-repo .av-badge i{color:var(--mustard-deep)}\n#ts-repo .seo-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-top:26px}\n#ts-repo .seo-card{background:#fff;border:1px solid var(--line);border-left:4px solid var(--mustard);\n  border-radius:0 4px 4px 0;padding:20px;transition:.2s}\n#ts-repo .seo-card:hover{border-color:var(--mustard);transform:translateY(-2px)}\n#ts-repo .seo-card h3{font-family:\"Newsreader\",serif;font-weight:500;font-size:1.2rem;color:var(--navy-deep);\n  margin:0 0 8px;display:flex;align-items:center;gap:10px}\n#ts-repo .seo-card h3 img{width:26px;height:26px;object-fit:contain;flex:none}\n#ts-repo .seo-card p{font-size:.8rem;color:var(--ink-soft);line-height:1.7}\n#ts-repo .seo-card .go{display:inline-flex;align-items:center;gap:7px;margin-top:10px;padding:8px 0;\n  font-family:\"IBM Plex Mono\",monospace;font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;\n  color:var(--navy)}\n#ts-repo .seo-card .go:hover{color:var(--mustard-deep)}\n\/* ---- FAQ ---- *\/\n#ts-repo .faq{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-items:start}\n#ts-repo .faq-item{background:#fff;border:1px solid var(--line);border-radius:4px;overflow:hidden;transition:.2s}\n#ts-repo .faq-item:hover{border-color:var(--mustard)}\n#ts-repo .faq-item.open{border-color:var(--mustard);border-left-width:4px}\n#ts-repo .faq-q{display:flex;align-items:flex-start;gap:12px;width:100%;padding:15px 16px;text-align:left;\n  font-size:.9rem;font-weight:600;color:var(--navy-deep);line-height:1.45}\n#ts-repo .faq-q .qm{flex:none;width:20px;height:20px;margin-top:1px;display:grid;place-items:center;\n  border:1px solid var(--mustard);color:var(--mustard-deep);background:var(--mustard-tint);\n  font-size:9px;border-radius:2px;transition:.22s}\n#ts-repo .faq-item.open .qm{background:var(--mustard);color:var(--navy-deep);transform:rotate(135deg)}\n#ts-repo .faq-a{padding:0 16px 16px 48px;font-size:.85rem;color:var(--ink-soft);line-height:1.72}\n\/* ================================================================ MODAL + TOAST *\/\n#ts-repo .modal{position:fixed;inset:0;background:rgba(21,42,102,.6);backdrop-filter:blur(3px);\n  z-index:9999;display:grid;place-items:center;padding:18px;opacity:0;pointer-events:none;transition:opacity .25s}\n#ts-repo .modal.open{opacity:1;pointer-events:auto}\n#ts-repo .modal-card{background:#fff;border-top:4px solid var(--mustard);border-radius:4px;width:100%;\n  max-width:600px;max-height:88vh;display:flex;flex-direction:column;overflow:hidden;\n  transform:scale(.96);transition:transform .25s}\n#ts-repo .modal.open .modal-card{transform:scale(1)}\n#ts-repo .modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;\n  padding:20px 22px;border-bottom:1px solid var(--line)}\n#ts-repo .modal-head h3{font-family:\"Newsreader\",serif;font-weight:500;font-size:1.35rem;\n  color:var(--navy-deep);margin:0;line-height:1.2}\n#ts-repo .modal-head p{font-family:\"IBM Plex Mono\",monospace;font-size:.6rem;letter-spacing:.12em;\n  text-transform:uppercase;color:#93A0B8;margin-top:5px}\n#ts-repo .modal-close{color:#93A0B8;font-size:17px;flex:none;padding:2px 4px}\n#ts-repo .modal-close:hover{color:var(--navy)}\n#ts-repo .modal-body{padding:22px;overflow-y:auto;font-size:.85rem;color:var(--ink-soft)}\n#ts-repo .modal-body ul{list-style:none;padding:0;margin:8px 0 0;display:flex;flex-direction:column;gap:7px}\n#ts-repo .modal-body li{display:flex;gap:9px;line-height:1.6}\n#ts-repo .modal-body li::before{content:\"\";flex:none;width:5px;height:5px;margin-top:7px;\n  background:var(--mustard);transform:rotate(45deg)}\n#ts-repo .syl-paper{display:flex;align-items:center;gap:10px;flex-wrap:wrap;\n  font-family:\"Newsreader\",serif;font-weight:500;font-size:1.05rem;color:var(--navy-deep);\n  margin-top:20px;padding-top:14px;border-top:1px solid var(--line)}\n#ts-repo .syl-paper:first-child{margin-top:0;padding-top:0;border-top:0}\n#ts-repo .syl-paper span{font-family:\"IBM Plex Mono\",monospace;font-size:.58rem;letter-spacing:.1em;\n  text-transform:uppercase;color:var(--mustard-deep);background:var(--mustard-tint);\n  border:1px solid #F0E0B8;border-radius:2px;padding:3px 8px}\n#ts-repo .modal-note{background:var(--mustard-tint);border-left:3px solid var(--mustard);\n  padding:12px 14px;border-radius:0 3px 3px 0;font-size:.8rem;color:var(--mustard-deep);margin-top:18px;line-height:1.6}\n#ts-repo .modal-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;\n  padding:16px 22px;border-top:1px solid var(--line);background:var(--off)}\n#ts-repo .btn-ghost{font-family:\"IBM Plex Mono\",monospace;font-size:.66rem;letter-spacing:.08em;\n  text-transform:uppercase;padding:10px 16px;border:1.5px solid var(--line);border-radius:3px;color:var(--ink-soft)}\n#ts-repo .btn-ghost:hover{border-color:var(--navy);color:var(--navy)}\n#ts-repo .toast{position:fixed;bottom:24px;left:24px;z-index:9998;display:flex;align-items:center;gap:12px;\n  background:var(--navy-deep);color:#fff;border-left:4px solid var(--mustard);border-radius:0 3px 3px 0;\n  padding:13px 18px;box-shadow:0 12px 30px rgba(21,42,102,.35);max-width:340px;\n  transform:translateY(50px);opacity:0;pointer-events:none;transition:all .3s}\n#ts-repo .toast.show{transform:translateY(0);opacity:1}\n#ts-repo .toast p{font-size:.8rem;font-weight:600;line-height:1.4}\n\/* ================================================================ UI DECK *\/\n#ts-repo .shot-deck{overflow:hidden;border-radius:4px;box-shadow:0 30px 62px -26px rgba(3,10,40,.75)}\n#ts-repo .shot-track{display:flex;align-items:stretch;transition:transform .72s cubic-bezier(.65,0,.35,1);will-change:transform}\n#ts-repo .shot-slide{flex:0 0 100%;min-width:0;display:flex}\n#ts-repo .shot-dots{display:flex;justify-content:center;gap:4px;margin-top:13px}\n#ts-repo .shot-dot{width:30px;height:20px;display:grid;place-items:center}\n#ts-repo .shot-dot i{display:block;width:7px;height:7px;border-radius:99px;background:rgba(255,255,255,.3);transition:.3s}\n#ts-repo .shot-dot:hover i{background:rgba(255,255,255,.55)}\n#ts-repo .shot-dot.on i{width:22px;background:var(--mustard)}\n#ts-repo .shot-cap{text-align:center;font-family:\"IBM Plex Mono\",monospace;font-size:.58rem;\n  letter-spacing:.1em;text-transform:uppercase;color:#A9B8EC;margin-top:9px;min-height:16px}\n#ts-repo .ui-shot{width:100%;display:flex;flex-direction:column;overflow:hidden;background:#fff}\n#ts-repo .ui-bar{display:flex;align-items:center;gap:6px;padding:9px 12px;background:#101C4A}\n#ts-repo .ui-bar i{width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,.22);flex:none}\n#ts-repo .ui-bar span{margin-left:8px;font-family:\"IBM Plex Mono\",monospace;font-size:8px;\n  letter-spacing:.04em;color:#8FA3DD;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}\n#ts-repo .ui-head{background:linear-gradient(158deg,#2F4EBE 0%,#3A5BCE 55%,#4468DC 100%);padding:13px 14px 0}\n#ts-repo .ui-eyebrow{font-family:\"IBM Plex Mono\",monospace;font-size:7px;letter-spacing:.18em;\n  text-transform:uppercase;color:#FFE0A3}\n#ts-repo .ui-head h5{font-family:\"Newsreader\",serif;font-weight:500;font-size:13.5px;color:#fff;\n  letter-spacing:-.01em;margin:5px 0 10px;line-height:1.2}\n#ts-repo .ui-tabs{display:flex;gap:5px}\n#ts-repo .ui-tab{position:relative;padding:7px 11px 8px;border-radius:3px 3px 0 0;\n  font-family:\"IBM Plex Mono\",monospace;font-size:8px;letter-spacing:.05em;text-transform:uppercase;\n  color:#E4EBFF;background:rgba(12,25,74,.24);border:1px solid rgba(255,255,255,.18);border-bottom:0;white-space:nowrap}\n#ts-repo .ui-tab.on{background:#fff;color:#152A66;border-color:transparent}\n#ts-repo .ui-tab.on::before{content:\"\";position:absolute;left:8px;right:8px;top:0;height:2.5px;background:#E0A82E}\n#ts-repo .ui-rule{height:3px;background:#E0A82E}\n#ts-repo .ui-body{flex:1;padding:13px 14px 16px;background:#F4F7FD}\n#ts-repo .ui-meta{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:11px}\n#ts-repo .ui-badge{font-family:\"IBM Plex Mono\",monospace;font-size:7px;letter-spacing:.06em;\n  text-transform:uppercase;padding:4px 8px;border-radius:2px;white-space:nowrap}\n#ts-repo .ui-badge.pyq{background:#152A66;color:#fff}\n#ts-repo .ui-badge.ch{background:#E0A82E;color:#3A2A02;overflow:hidden;text-overflow:ellipsis;min-width:0}\n#ts-repo .ui-stem{font-family:\"Newsreader\",Georgia,serif;font-size:12.5px;line-height:1.6;color:#161b26;margin-bottom:11px}\n#ts-repo .ui-stem em{font-style:normal;font-weight:600;color:#8A6508;margin-right:5px}\n#ts-repo .ui-opt{display:flex;gap:8px;align-items:flex-start;font-size:10px;line-height:1.45;padding:8px 10px;\n  border:1.5px solid #DFE6F3;border-radius:3px;background:#fff;margin-bottom:6px;color:#334155}\n#ts-repo .ui-opt .k{font-family:\"IBM Plex Mono\",monospace;color:#5B6B85;flex:none}\n#ts-repo .ui-opt.right{border-color:#0B8457;background:#F0FDF6}\n#ts-repo .ui-opt .m{margin-left:auto;font-family:\"IBM Plex Mono\",monospace;font-size:7px;letter-spacing:.1em;\n  text-transform:uppercase;color:#0B8457;white-space:nowrap;align-self:center}\n#ts-repo .ui-expl{border:1px solid #DFE6F3;border-left:3px solid #E0A82E;border-radius:0 3px 3px 0;\n  background:#FCFDFF;padding:9px 11px;margin-top:10px;font-size:9.5px;line-height:1.6;color:#334155}\n#ts-repo .ui-expl .h{font-family:\"IBM Plex Mono\",monospace;font-size:7px;letter-spacing:.14em;\n  text-transform:uppercase;color:#5B6B85;margin-bottom:4px}\n#ts-repo .ui-expl b{color:#1E3A8A}\n#ts-repo .ui-ready{display:flex;align-items:center;gap:14px;padding:13px 15px;\n  background:linear-gradient(150deg,#152A66,#1E3A8A 70%,#2A4DAE);border-radius:3px}\n#ts-repo .ui-ring{position:relative;width:74px;height:74px;flex:none}\n#ts-repo .ui-ring svg{width:74px;height:74px;transform:rotate(-90deg)}\n#ts-repo .ui-ring circle{fill:none;stroke-width:7}\n#ts-repo .ui-ring circle.bg{stroke:rgba(255,255,255,.15)}\n#ts-repo .ui-ring circle.fg{stroke:#E0A82E;stroke-linecap:round}\n#ts-repo .ui-ring span{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;\n  justify-content:center;font-family:\"Newsreader\",serif;font-size:22px;font-weight:600;color:#E0A82E;line-height:1}\n#ts-repo .ui-ring span small{font-family:\"IBM Plex Mono\",monospace;font-size:6px;letter-spacing:.14em;\n  text-transform:uppercase;color:#BFDBFE;margin-top:4px}\n#ts-repo .ui-ready p{font-size:10.5px;color:#DBEAFE;line-height:1.55;margin:0}\n#ts-repo .ui-ready p b{color:#fff}\n#ts-repo .ui-ready p em{font-style:normal;display:block;margin-top:5px;font-size:9px;color:#9FB3EA}\n#ts-repo .ui-sec{font-family:\"IBM Plex Mono\",monospace;font-size:7.5px;letter-spacing:.14em;\n  text-transform:uppercase;color:#5B6B85;margin:14px 0 9px}\n#ts-repo .ui-sec:first-child{margin-top:0}\n#ts-repo .ui-sec b{color:#8A6508}\n#ts-repo .ui-leak{display:grid;grid-template-columns:minmax(0,1fr) 78px 40px;gap:9px;align-items:center;margin-bottom:8px}\n#ts-repo .ui-leak .n{font-size:9.5px;font-weight:600;color:#0F172A;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}\n#ts-repo .ui-leak .t{height:8px;background:#EEF2F9;overflow:hidden}\n#ts-repo .ui-leak .t i{display:block;height:100%}\n#ts-repo .ui-leak .v{font-family:\"IBM Plex Mono\",monospace;font-size:9.5px;font-weight:600;text-align:right}\n#ts-repo .ui-rev{display:flex;align-items:center;gap:9px;background:#fff;border-left:3px solid #E0A82E;\n  padding:8px 10px;margin-bottom:6px}\n#ts-repo .ui-rev .n{font-size:9.5px;color:#334155;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}\n#ts-repo .ui-rev .d{margin-left:auto;flex:none;background:#FDF6E6;border:1px solid #F0E0B8;color:#8A6508;\n  padding:2px 8px;font-family:\"IBM Plex Mono\",monospace;font-size:7px;white-space:nowrap}\n#ts-repo table.ui-hm{width:100%;border-collapse:collapse;background:#fff}\n#ts-repo .ui-hm th{background:#1E3A8A;color:#fff;font-family:\"IBM Plex Mono\",monospace;font-size:7px;\n  padding:5px 2px;text-align:center;font-weight:500}\n#ts-repo .ui-hm th.l{text-align:left;padding-left:9px}\n#ts-repo .ui-hm th.tot{background:#152A66}\n#ts-repo .ui-hm td{font-family:\"IBM Plex Mono\",monospace;font-size:8.5px;padding:5px 2px;text-align:center;\n  color:#8A6508;border-bottom:1px solid #F1F5FB;font-variant-numeric:tabular-nums}\n#ts-repo .ui-hm td.l{text-align:left;padding-left:9px;color:#0F172A;background:#FBFCFE;\n  font-family:\"IBM Plex Sans\",sans-serif;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:0;width:40%}\n#ts-repo .ui-hm td.tot{background:#F4F7FD;color:#152A66}\n#ts-repo .ui-hm td.nil{color:#C7D0E0}\n#ts-repo .ui-legend{display:flex;align-items:center;gap:4px;margin-top:10px;\n  font-family:\"IBM Plex Mono\",monospace;font-size:7px;letter-spacing:.1em;text-transform:uppercase;color:#5B6B85}\n#ts-repo .ui-legend i{width:22px;height:9px;border:1px solid rgba(0,0,0,.05)}\n\/* ================================================================ RESPONSIVE *\/\n@media(max-width:1080px){\n  #ts-repo .why{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px 32px;padding:36px}\n  #ts-repo .why-copy{grid-column:1 \/ -1}\n  #ts-repo .why p{max-width:none}\n  #ts-repo .steps{grid-template-columns:1fr 1fr;row-gap:30px}\n  #ts-repo .step:nth-child(3){border-left:none}\n  #ts-repo .props{grid-template-columns:1fr 1fr}\n}\n@media(max-width:900px){\n  #ts-repo .why{grid-template-columns:minmax(0,1fr);padding:32px 24px}\n  #ts-repo .talk{grid-template-columns:minmax(0,1fr);padding:30px 24px;gap:22px}\n  #ts-repo .talk-act{justify-self:stretch;min-width:0}\n  #ts-repo .about{grid-template-columns:1fr;gap:30px}\n  #ts-repo .av-wrap{max-width:480px;margin:0 auto}\n  #ts-repo .seo-cards{grid-template-columns:1fr}\n  #ts-repo .faq{grid-template-columns:1fr}\n}\n@media(max-width:700px){\n  #ts-repo .ts-hero__inner{padding:44px 22px 40px}\n  #ts-repo .ts-facts{margin-top:24px}\n  #ts-repo .ts-fact{padding-right:16px;margin-right:16px}\n  #ts-repo .mshot{width:100%;max-width:330px;margin:0 auto}\n  #ts-repo .ts-tag{max-width:none}\n  #ts-repo .ts-grid{grid-template-columns:1fr}\n  #ts-repo .ts-rowlab{width:100%;margin-bottom:2px}\n  #ts-repo .ts-tabs{flex-wrap:nowrap;overflow-x:auto;scroll-snap-type:x proximity}\n  #ts-repo .ts-tab{scroll-snap-align:start}\n  #ts-repo .ts-row{flex-wrap:wrap}\n  #ts-repo .steps{grid-template-columns:1fr;row-gap:24px}\n  #ts-repo .step{padding:0}\n  #ts-repo .step + .step{border-left:0;padding-top:24px;border-top:1px solid var(--line)}\n  #ts-repo .props{grid-template-columns:1fr}\n  #ts-repo .toast{left:14px;right:14px;bottom:86px;max-width:none}\n  #ts-repo .talk-btn{width:100%;justify-content:center}\n  #ts-repo .talk-mark{width:150px;height:150px}\n  #ts-repo .why-btns a{flex:1 1 100%;justify-content:center}\n  \/* ---- touch: nothing tappable under ~34px, and no min-width may\n          out-run a 320px screen ---- *\/\n  #ts-repo .wrap{padding:0 16px}\n  #ts-repo .ts-notice{padding:14px 16px;gap:18px}\n  #ts-repo .ts-notice .tx{min-width:0}\n  #ts-repo .mshot{width:100%;max-width:100%}\n  #ts-repo .chip{padding:9px 14px}\n  #ts-repo .ts-tab{padding:9px 15px 9px 9px}\n  #ts-repo .ts-syl{padding:11px 15px}\n  #ts-repo .fchip{padding:8px 12px}\n  #ts-repo .ts-clearall{display:inline-block;padding:7px 2px}\n  #ts-repo .wa-btn{padding:11px 16px}\n  #ts-repo .wa-btn.wa-sm{padding:10px 14px;font-size:.64rem}\n  #ts-repo .ts-buy,#ts-repo .bbtn{padding:12px 16px}\n  #ts-repo .modal-close{padding:8px 10px;font-size:20px;line-height:1}\n  #ts-repo .btn-ghost{padding:12px 16px}\n  #ts-repo .shot-dot{height:30px}\n  #ts-repo .modal{padding:56px 12px 16px}\n  #ts-repo .modal-card{max-height:calc(100vh - 72px)}\n  #ts-repo .modal-body{padding:18px}\n  #ts-repo .modal-foot{flex-direction:column-reverse;align-items:stretch;gap:10px}\n  #ts-repo .modal-foot .btn-ghost,#ts-repo .modal-foot .wa-btn{justify-content:center;text-align:center}\n  #ts-repo .bcard{padding:18px}\n  #ts-repo .ts-head{padding:14px 16px}\n  #ts-repo .ts-headact{width:100%}\n  #ts-repo .ts-headact .ts-syl{flex:1;justify-content:center}\n}\n@media(prefers-reduced-motion:reduce){#ts-repo *{transition:none!important;animation:none!important}}\n\n\/* ================================================================ EXAM PAGE ADDITIONS *\/\n\/* ---- hero: copy on the left, the exam at a glance on the right ---- *\/\n#ts-repo .ts-hero__inner{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:44px;align-items:center;\n  padding:40px 22px 50px}\n#ts-repo .ts-hero__panel{max-width:640px}\n#ts-repo .ts-crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:0 0 22px;padding:0;list-style:none;\n  font-family:\"IBM Plex Mono\",monospace;font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft)}\n#ts-repo .ts-crumbs li{display:flex;align-items:center;gap:6px}\n#ts-repo .ts-crumbs li + li::before{content:\"\/\";color:#9AA8C4}\n#ts-repo .ts-crumbs a{color:var(--navy);border-bottom:1px solid rgba(30,58,138,.25)}\n#ts-repo .ts-crumbs a:hover{color:var(--mustard-deep);border-color:var(--mustard)}\n#ts-repo .ts-crumbs [aria-current]{color:var(--navy-deep);font-weight:600}\n#ts-repo .ts-h1{font-size:clamp(2.1rem,5vw,3.5rem);line-height:1.02}\n#ts-repo .ts-h1 em{display:inline}\n#ts-repo .ts-fact b small{font-family:\"IBM Plex Mono\",monospace;font-size:.55rem;letter-spacing:.08em;color:var(--ink-soft);margin-left:2px}\n#ts-repo .ts-glance{background:rgba(255,255,255,.97);border:1px solid var(--line);border-top:4px solid var(--mustard);\n  border-radius:12px;box-shadow:0 30px 60px -34px rgba(21,42,102,.75);overflow:hidden;align-self:center}\n#ts-repo .gl-head{display:flex;align-items:center;gap:12px;padding:16px 18px 14px;border-bottom:1px solid var(--line)}\n#ts-repo .gl-head img{width:42px;height:42px;object-fit:contain;flex:none;border:1px solid var(--line);border-radius:6px;padding:4px;background:#fff}\n#ts-repo .gl-head b{display:block;font-family:\"Newsreader\",serif;font-weight:500;font-size:1.12rem;color:var(--navy-deep);line-height:1.2}\n#ts-repo .gl-head span{display:block;font-size:.7rem;color:var(--ink-soft);margin-top:2px;line-height:1.35}\n#ts-repo .ed{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 18px;\n  background:var(--mustard-tint);border-bottom:1px solid #F0E0B8}\n#ts-repo .ed .ed-lab{font-family:\"IBM Plex Mono\",monospace;font-size:.56rem;letter-spacing:.13em;text-transform:uppercase;color:var(--mustard-deep)}\n#ts-repo .ed .ed-date{display:block;font-family:\"Newsreader\",serif;font-size:1.05rem;font-weight:500;color:var(--navy-deep);margin-top:2px}\n#ts-repo .ed .ed-note{display:block;font-size:.62rem;color:var(--ink-soft);margin-top:2px}\n#ts-repo .ed .ed-left{flex:none;text-align:right;font-family:\"IBM Plex Mono\",monospace;font-size:.58rem;letter-spacing:.08em;\n  text-transform:uppercase;color:var(--ink-soft)}\n#ts-repo .ed .ed-left b{display:block;font-family:\"Newsreader\",serif;font-size:2rem;font-weight:600;letter-spacing:-.02em;\n  line-height:1;color:var(--navy);text-transform:none}\n#ts-repo .ed.tbd .ed-left{display:none}\n#ts-repo .gl-papers{list-style:none;margin:0;padding:6px 8px}\n#ts-repo .gl-papers li a{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:7px;transition:.15s}\n#ts-repo .gl-papers li a:hover{background:var(--off)}\n#ts-repo .gl-papers .pl{flex:none;min-width:64px;font-family:\"IBM Plex Mono\",monospace;font-size:.56rem;letter-spacing:.1em;\n  text-transform:uppercase;color:var(--mustard-deep);background:var(--mustard-tint);border:1px solid #F0E0B8;border-radius:3px;\n  padding:3px 7px;text-align:center}\n#ts-repo .gl-papers .pt{flex:1;min-width:0;font-size:.76rem;color:var(--ink);line-height:1.3;\n  overflow:hidden;text-overflow:ellipsis;white-space:nowrap}\n#ts-repo .gl-papers .pc{flex:none;font-family:\"IBM Plex Mono\",monospace;font-size:.6rem;color:var(--ink-soft)}\n#ts-repo .gl-mock{display:block;margin:4px 12px 12px;padding:12px 14px;border-radius:9px;color:#fff;\n  background:linear-gradient(120deg,var(--navy-deep),var(--navy) 65%,#2A4DAE)}\n#ts-repo .gl-mock:hover{color:#fff;filter:brightness(1.07)}\n#ts-repo .gl-mock .k{display:flex;align-items:center;gap:7px;font-family:\"IBM Plex Mono\",monospace;font-size:.56rem;\n  letter-spacing:.13em;text-transform:uppercase;color:var(--mustard)}\n#ts-repo .gl-mock .lmn-title{display:block;font-family:\"Newsreader\",serif;font-size:1rem;font-weight:500;margin-top:5px;line-height:1.25}\n#ts-repo .gl-mock .lmn-when{display:block;font-size:.68rem;color:#BFCBF3;margin-top:3px}\n#ts-repo .gl-mock .lmn-cd{display:flex;gap:6px;margin-top:9px}\n#ts-repo .lmn-cd div{flex:1;text-align:center;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.16);border-radius:5px;padding:5px 2px}\n#ts-repo .lmn-cd b{display:block;font-family:\"IBM Plex Mono\",monospace;font-size:.95rem;font-weight:600;color:#fff;line-height:1.1}\n#ts-repo .lmn-cd span{display:block;font-family:\"IBM Plex Mono\",monospace;font-size:.5rem;letter-spacing:.1em;text-transform:uppercase;color:#9FB0E8}\n#ts-repo .lm-dot{width:8px;height:8px;border-radius:50%;background:#E5484D;flex:none;box-shadow:0 0 0 0 rgba(229,72,77,.6);\n  animation:pe-ping 1.8s infinite}\n@keyframes pe-ping{0%{box-shadow:0 0 0 0 rgba(229,72,77,.55)}70%{box-shadow:0 0 0 8px rgba(229,72,77,0)}100%{box-shadow:0 0 0 0 rgba(229,72,77,0)}}\n\/* ---- filter bar: no exam row any more, so one tidy strip ---- *\/\n#ts-repo .ts-bar__inner{display:flex;flex-direction:column;gap:0}\n#ts-repo .chip em{font-style:normal;margin-left:6px;font-size:.62rem;opacity:.65}\n#ts-repo .chip.jump{border-style:dashed;color:var(--navy);display:inline-flex;align-items:center;gap:6px}\n#ts-repo .chip.jump:hover{background:var(--mustard-tint)}\n#ts-repo .chip.jump i{font-size:.6rem;color:var(--mustard-deep)}\n#ts-repo .chip.jump.live i{color:#E5484D}\n#ts-repo .ts-chips .sep{width:1px;align-self:stretch;background:var(--line);margin:2px 4px}\n\/* ---- \"this card is inside a bundle\" ---- *\/\n#ts-repo .ts-inb{display:flex;align-items:center;gap:8px;width:100%;margin:0 0 12px;padding:7px 10px;border-radius:7px;\n  background:#EEF3FF;border:1px solid #D5E0FA;color:var(--navy);font-size:.7rem;line-height:1.35;text-align:left;transition:.15s}\n#ts-repo .ts-inb:hover{background:#E1E9FE;border-color:var(--navy)}\n#ts-repo .ts-inb i{flex:none;font-size:.7rem;color:var(--mustard-deep)}\n#ts-repo .ts-inb b{font-weight:600}\n#ts-repo .ts-secb{margin-left:auto;display:inline-flex;align-items:center;gap:7px;font-family:\"IBM Plex Mono\",monospace;\n  font-size:.62rem;letter-spacing:.06em;text-transform:uppercase;color:var(--navy);background:#fff;border:1.5px solid var(--line);\n  border-radius:100px;padding:6px 12px;transition:.15s}\n#ts-repo .ts-secb:hover{border-color:var(--mustard);background:var(--mustard-tint)}\n#ts-repo .ts-secb i{color:var(--mustard-deep)}\n#ts-repo .ts-secb em{font-style:normal;color:var(--green);font-weight:600}\n@media(max-width:700px){#ts-repo .ts-secb{margin-left:0}}\n\/* ---- bundles: show the saving, not just say it ---- *\/\n#ts-repo .bcmp{margin:0 0 16px;padding:11px 12px;border:1px dashed #E7D3A2;border-radius:8px;background:#FFFCF4}\n#ts-repo .bcmp-row{display:flex;align-items:baseline;justify-content:space-between;gap:10px;font-size:.72rem;color:var(--ink-soft)}\n#ts-repo .bcmp-row s{font-family:\"IBM Plex Mono\",monospace;color:#93A0B8}\n#ts-repo .bcmp-row b{font-family:\"IBM Plex Mono\",monospace;color:var(--navy-deep)}\n#ts-repo .bcmp-bar{height:7px;border-radius:99px;background:#EEE3C6;margin:7px 0;overflow:hidden}\n#ts-repo .bcmp-bar i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,var(--navy),var(--mustard))}\n#ts-repo .bcard.is-soon .bbtn{background:var(--ink-soft)}\n#ts-repo .bcard.is-soon .bbtn:hover{background:var(--navy-deep);color:#fff}\n#ts-repo .bcard{position:relative}\n#ts-repo .bcard.feature::before{content:\"Best value\";position:absolute;top:-13px;left:22px;font-family:\"IBM Plex Mono\",monospace;\n  font-size:.56rem;letter-spacing:.12em;text-transform:uppercase;color:#fff;background:var(--navy);border-radius:3px;padding:5px 10px;\n  box-shadow:0 6px 14px -8px rgba(21,42,102,.9)}\n\/* validity line (was its own block on the common page) *\/\n#ts-repo .ts-valid,#ts-repo .b-valid{display:flex;align-items:center;gap:7px;\n  font-family:\"IBM Plex Mono\",monospace;font-size:.6rem;letter-spacing:.09em;\n  text-transform:uppercase;color:var(--mustard-deep);background:var(--mustard-tint);\n  border:1px solid #F0E0B8;border-radius:3px;padding:6px 9px;line-height:1.3}\n#ts-repo .ts-valid{margin:0 0 8px}\n#ts-repo .b-valid{margin:0 0 16px}\n#ts-repo .ts-valid i,#ts-repo .b-valid i{flex:none;font-size:9px;opacity:.85}\n#ts-repo .bcard.pulse{animation:pe-pulse 1.6s ease}\n@keyframes pe-pulse{0%,100%{box-shadow:0 0 0 0 rgba(224,168,46,0)}25%{box-shadow:0 0 0 6px rgba(224,168,46,.55)}}\n#ts-repo .bhint{display:flex;align-items:center;gap:10px;justify-content:center;flex-wrap:wrap;margin:24px auto 0;max-width:640px;\n  font-size:.8rem;color:var(--ink-soft);text-align:center}\n#ts-repo .bhint i{color:var(--mustard-deep)}\n\/* ================================================================ LIVE MOCKS *\/\n#ts-repo .sec.lm{background:linear-gradient(180deg,#F2F5FC 0,#fff 70%)}\n#ts-repo .lm .eyebrow{justify-content:flex-start}\n#ts-repo .lm-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:26px;align-items:start}\n#ts-repo .lm-card{position:sticky;top:calc(var(--ts-top) + var(--ts-barh,60px) + 16px);border-radius:14px;overflow:hidden;color:#fff;\n  background:linear-gradient(140deg,var(--navy-deep) 0%,var(--navy) 55%,#2A4DAE 100%);\n  box-shadow:0 30px 60px -32px rgba(10,20,60,.8);padding:24px}\n#ts-repo .lm-card::before{content:\"\";position:absolute;inset:0;pointer-events:none;\n  background-image:radial-gradient(rgba(255,255,255,.07) 1px,transparent 1px);background-size:20px 20px}\n#ts-repo .lm-card > *{position:relative}\n#ts-repo .lm-badge{display:inline-flex;align-items:center;gap:8px;font-family:\"IBM Plex Mono\",monospace;font-size:.6rem;\n  letter-spacing:.14em;text-transform:uppercase;color:var(--navy-deep);background:var(--mustard);border-radius:100px;padding:5px 11px}\n#ts-repo .lm-card h3{font-family:\"Newsreader\",serif;font-weight:500;font-size:1.5rem;line-height:1.15;letter-spacing:-.015em;\n  margin:14px 0 6px;color:#fff}\n#ts-repo .lm-card > p{font-size:.84rem;color:#C3CEF5;line-height:1.65}\n#ts-repo .lm-next{margin:18px 0;padding:14px;border-radius:10px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16)}\n#ts-repo .lm-next .k{display:flex;align-items:center;gap:7px;font-family:\"IBM Plex Mono\",monospace;font-size:.58rem;\n  letter-spacing:.13em;text-transform:uppercase;color:var(--mustard)}\n#ts-repo .lm-next .lmn-title{display:block;font-family:\"Newsreader\",serif;font-size:1.12rem;margin-top:6px;line-height:1.25}\n#ts-repo .lm-next .lmn-when{display:block;font-size:.72rem;color:#BFCBF3;margin-top:3px}\n#ts-repo .lm-next .lmn-cd{display:flex;gap:7px;margin-top:11px}\n#ts-repo .lm-next .lmn-cd b{font-size:1.25rem}\n#ts-repo [data-lm-next].is-live .k{color:#FF9A9D}\n#ts-repo [data-lm-next].over .lmn-cd{display:none}\n#ts-repo .lm-feat{list-style:none;margin:0 0 18px;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:9px 14px}\n#ts-repo .lm-feat li{display:flex;align-items:flex-start;gap:8px;font-size:.76rem;color:#DCE4FB;line-height:1.4}\n#ts-repo .lm-feat i{flex:none;margin-top:3px;font-size:.7rem;color:var(--mustard)}\n#ts-repo .lm-buy{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;\n  padding-top:16px;border-top:1px solid rgba(255,255,255,.16)}\n#ts-repo .lm-buy .ts-price b{color:#fff;font-size:1.6rem}\n#ts-repo .lm-buy .ts-price s{color:#93A6DE}\n#ts-repo .lm-buy .ts-price i{color:#7EE2B8}\n#ts-repo .lm-buy .ts-tbd{color:#C3CEF5}\n#ts-repo .lm-enroll{display:inline-flex;align-items:center;gap:8px;padding:12px 18px;border-radius:7px;background:var(--mustard);\n  color:var(--navy-deep);font-family:\"IBM Plex Mono\",monospace;font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;\n  font-weight:600;transition:.16s}\n#ts-repo .lm-enroll:hover{background:#fff;color:var(--navy-deep)}\n#ts-repo .lm-enroll.in-cart,#ts-repo .lm-enroll.purchased{background:var(--green);color:#fff}\n#ts-repo .lm-fine{margin-top:12px;font-size:.66rem;color:#9FB0E8;line-height:1.55}\n#ts-repo .lm-sched{background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden;\n  box-shadow:0 1px 2px rgba(21,42,102,.05)}\n#ts-repo .lm-schedhead{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap;\n  padding:16px 20px;border-bottom:1px solid var(--line);background:var(--off)}\n#ts-repo .lm-schedhead h3{font-family:\"Newsreader\",serif;font-weight:500;font-size:1.25rem;color:var(--navy-deep);margin:0}\n#ts-repo .lm-schedhead span{font-family:\"IBM Plex Mono\",monospace;font-size:.58rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft)}\n#ts-repo .lm-list{list-style:none;margin:0;padding:0}\n#ts-repo .lm-row{display:grid;grid-template-columns:64px minmax(0,1fr) auto;gap:16px;align-items:start;padding:16px 20px;\n  border-bottom:1px solid var(--line);position:relative}\n#ts-repo .lm-row:last-child{border-bottom:0}\n#ts-repo .lm-row.nx{background:linear-gradient(90deg,var(--mustard-tint),#fff 70%)}\n#ts-repo .lm-row.nx::before{content:\"\";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--mustard)}\n#ts-repo .lm-row.live{background:#FFF5F5}\n#ts-repo .lm-row.live::before{content:\"\";position:absolute;left:0;top:0;bottom:0;width:4px;background:#E5484D}\n#ts-repo .lm-row.done{opacity:.62}\n#ts-repo .lm-date{text-align:center;border:1px solid var(--line);border-radius:9px;background:#fff;padding:7px 4px 6px;line-height:1}\n#ts-repo .lm-date b{display:block;font-family:\"Newsreader\",serif;font-size:1.55rem;font-weight:600;color:var(--navy-deep)}\n#ts-repo .lm-date span{display:block;font-family:\"IBM Plex Mono\",monospace;font-size:.58rem;letter-spacing:.12em;text-transform:uppercase;\n  color:var(--mustard-deep);margin-top:4px}\n#ts-repo .lm-date em{display:block;font-style:normal;font-size:.58rem;color:var(--ink-soft);margin-top:3px}\n#ts-repo .lm-n{font-family:\"IBM Plex Mono\",monospace;font-size:.56rem;letter-spacing:.13em;text-transform:uppercase;color:var(--ink-soft)}\n#ts-repo .lm-info h4{font-family:\"Newsreader\",serif;font-weight:500;font-size:1.08rem;line-height:1.25;color:var(--navy-deep);margin:3px 0 4px}\n#ts-repo .lm-meta{font-family:\"IBM Plex Mono\",monospace;font-size:.62rem;letter-spacing:.04em;color:var(--navy)}\n#ts-repo .lm-cov{font-size:.74rem;color:var(--ink-soft);margin-top:4px;line-height:1.5}\n#ts-repo .lm-time{font-size:.7rem;color:var(--ink-soft);margin-top:6px}\n#ts-repo .lm-time i{color:var(--mustard-deep);margin-right:4px}\n#ts-repo .lm-st{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;font-family:\"IBM Plex Mono\",monospace;font-size:.56rem;\n  letter-spacing:.08em;text-transform:uppercase;border-radius:100px;padding:5px 10px;border:1px solid var(--line);color:var(--ink-soft);background:#fff}\n#ts-repo .lm-st.up{color:var(--navy);border-color:#C9D5F3}\n#ts-repo .lm-row.nx .lm-st.up{background:var(--navy);border-color:var(--navy);color:#fff}\n#ts-repo .lm-st.live{background:#E5484D;border-color:#E5484D;color:#fff}\n#ts-repo .lm-st.live i{width:6px;height:6px;border-radius:50%;background:#fff;animation:pe-ping 1.4s infinite}\n#ts-repo .lm-st.done{color:var(--green);border-color:#BFE3D2}\n#ts-repo .lm-how{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:28px;border:1px solid var(--line);\n  border-radius:12px;background:#fff;overflow:hidden}\n#ts-repo .lm-how div{padding:16px 18px}\n#ts-repo .lm-how div + div{border-left:1px solid var(--line)}\n#ts-repo .lm-how b{display:block;font-family:\"IBM Plex Mono\",monospace;font-size:.58rem;letter-spacing:.13em;text-transform:uppercase;color:var(--mustard-deep)}\n#ts-repo .lm-how h4{font-family:\"Newsreader\",serif;font-weight:500;font-size:1rem;color:var(--navy-deep);margin:6px 0 4px}\n#ts-repo .lm-how p{font-size:.74rem;color:var(--ink-soft);line-height:1.55}\n\/* ================================================================ OTHER EXAMS *\/\n#ts-repo .ox{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:22px}\n#ts-repo .ox a{display:flex;flex-direction:column;gap:8px;background:#fff;border:1px solid var(--line);border-left:4px solid var(--mustard);\n  border-radius:0 6px 6px 0;padding:18px;transition:.18s}\n#ts-repo .ox a:hover{border-color:var(--mustard);transform:translateY(-2px);color:inherit}\n#ts-repo .ox h3{display:flex;align-items:center;gap:10px;font-family:\"Newsreader\",serif;font-weight:500;font-size:1.12rem;color:var(--navy-deep);margin:0}\n#ts-repo .ox h3 img{width:26px;height:26px;object-fit:contain;flex:none}\n#ts-repo .ox p{font-size:.78rem;color:var(--ink-soft);line-height:1.6}\n#ts-repo .ox .go{margin-top:auto;font-family:\"IBM Plex Mono\",monospace;font-size:.6rem;letter-spacing:.1em;text-transform:uppercase;color:var(--navy)}\n#ts-repo .seo-cards{grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr))}\n#ts-repo .seo-card .go{background:none}\n\/* ================================================================ RESPONSIVE *\/\n@media(max-width:1000px){\n  #ts-repo .ts-hero__inner{grid-template-columns:minmax(0,1fr);gap:26px}\n  #ts-repo .ts-glance{max-width:560px}\n  #ts-repo .lm-grid{grid-template-columns:minmax(0,1fr)}\n  #ts-repo .lm-card{position:relative;top:auto}\n  #ts-repo .lm-how{grid-template-columns:1fr 1fr}\n  #ts-repo .lm-how div:nth-child(3){border-left:0}\n  #ts-repo .lm-how div:nth-child(n+3){border-top:1px solid var(--line)}\n  #ts-repo .ox{grid-template-columns:1fr}\n}\n@media(max-width:700px){\n  #ts-repo .ts-hero__inner{padding:28px 16px 34px}\n  #ts-repo .lm-card{padding:20px 18px}\n  #ts-repo .lm-feat{grid-template-columns:1fr}\n  #ts-repo .lm-row{grid-template-columns:54px minmax(0,1fr);gap:12px;padding:14px 16px}\n  #ts-repo .lm-side{grid-column:2}\n  #ts-repo .lm-how{grid-template-columns:1fr}\n  #ts-repo .lm-how div + div{border-left:0;border-top:1px solid var(--line)}\n  #ts-repo .lm-buy{flex-direction:column;align-items:stretch}\n  #ts-repo .lm-enroll{justify-content:center;padding:14px 18px}\n  #ts-repo .ts-inb{padding:9px 10px}\n  #ts-repo .ts-row{gap:8px}\n  #ts-repo .ts-chips{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;padding-bottom:2px}\n  #ts-repo .ts-chips::-webkit-scrollbar{display:none}\n  #ts-repo .chip{flex:none}\n}\n\/* ================================================================ BUNDLE POP-UP (lives on <body>) *\/\n#pe-up{--navy:#1E3A8A;--navy-deep:#152A66;--mustard:#E0A82E;--mustard-deep:#8A6508;--mustard-tint:#FDF6E6;--off:#F7F9FC;\n  --ink:#16233F;--ink-soft:#5A6784;--line:#DFE5F0;--green:#0B8457;\n  position:fixed;inset:0;z-index:100050;display:grid;place-items:center;padding:16px;\n  background:rgba(13,26,66,.62);backdrop-filter:blur(4px);opacity:0;transition:opacity .22s;\n  font-family:\"IBM Plex Sans\",system-ui,sans-serif;color:var(--ink);line-height:1.5;text-align:left}\n#pe-up[hidden]{display:none!important}\n#pe-up.open{opacity:1}\n#pe-up *,#pe-up *::before,#pe-up *::after{box-sizing:border-box}\n#pe-up button{font-family:inherit;cursor:pointer;border:0;background:none;color:inherit;margin:0;-webkit-appearance:none;appearance:none}\n#pe-up :focus-visible{outline:3px solid var(--mustard);outline-offset:2px}\n#pe-up .up-card{width:100%;max-width:560px;max-height:calc(100vh - 32px);display:flex;flex-direction:column;background:#fff;\n  border-top:4px solid var(--mustard);border-radius:12px;overflow:hidden;box-shadow:0 40px 80px -30px rgba(5,12,40,.75);\n  transform:translateY(10px) scale(.98);transition:transform .25s}\n#pe-up.open .up-card{transform:none}\n#pe-up .up-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:18px 20px 14px;border-bottom:1px solid var(--line)}\n#pe-up .up-eye{margin:0;font-family:\"IBM Plex Mono\",monospace;font-size:.6rem;letter-spacing:.14em;text-transform:uppercase;color:var(--mustard-deep)}\n#pe-up h3{margin:4px 0 0;font-family:\"Newsreader\",Georgia,serif;font-weight:500;font-size:1.42rem;line-height:1.15;letter-spacing:-.015em;color:var(--navy-deep)}\n#pe-up .up-x{flex:none;font-size:18px;color:#93A0B8;padding:4px 8px;line-height:1}\n#pe-up .up-x:hover{color:var(--navy)}\n#pe-up .up-body{padding:16px 20px;overflow-y:auto}\n#pe-up .up-pick{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:var(--off)}\n#pe-up .up-pick .lab{flex:none;font-family:\"IBM Plex Mono\",monospace;font-size:.55rem;letter-spacing:.12em;text-transform:uppercase;\n  color:var(--ink-soft);background:#fff;border:1px solid var(--line);border-radius:3px;padding:3px 7px}\n#pe-up .up-pick .nm{flex:1;min-width:0;font-size:.84rem;font-weight:600;color:var(--navy-deep);line-height:1.3}\n#pe-up .up-pick .pr{flex:none;font-family:\"Newsreader\",serif;font-size:1.15rem;font-weight:600;color:var(--navy-deep)}\n#pe-up .up-offers{display:flex;flex-direction:column;gap:12px;margin-top:12px}\n#pe-up .up-offer{border:1.5px solid var(--mustard);border-radius:10px;padding:14px 16px;background:linear-gradient(180deg,#FFFCF3,#fff 60%)}\n#pe-up .up-offer.best{box-shadow:0 0 0 3px var(--mustard-tint)}\n#pe-up .up-otop{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}\n#pe-up .up-otop .tag{font-family:\"IBM Plex Mono\",monospace;font-size:.58rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft)}\n#pe-up .up-otop .save{font-family:\"IBM Plex Mono\",monospace;font-size:.58rem;letter-spacing:.08em;text-transform:uppercase;\n  background:var(--mustard);color:var(--navy-deep);border-radius:2px;padding:4px 8px}\n#pe-up h4{margin:8px 0 8px;font-family:\"Newsreader\",Georgia,serif;font-weight:500;font-size:1.22rem;line-height:1.2;color:var(--navy-deep)}\n#pe-up .up-list{list-style:none;margin:0 0 12px;padding:0;display:flex;flex-direction:column;gap:5px}\n#pe-up .up-list li{display:flex;align-items:flex-start;gap:8px;font-size:.78rem;color:var(--ink);line-height:1.4}\n#pe-up .up-list li::before{content:\"\";flex:none;width:14px;height:14px;margin-top:1px;border-radius:50%;\n  background:var(--green) url(\"data:image\/svg+xml,%3Csvg xmlns='http:\/\/www.w3.org\/2000\/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='4'%3E%3Cpath d='M5 12l5 5 9-10'\/%3E%3C\/svg%3E\") center\/9px no-repeat}\n#pe-up .up-list li span{flex:1;min-width:0}\n#pe-up .up-list li em{flex:none;font-style:normal;font-family:\"IBM Plex Mono\",monospace;font-size:.52rem;letter-spacing:.1em;\n  text-transform:uppercase;border-radius:2px;padding:2px 6px;margin-top:1px}\n#pe-up .up-list li.me{font-weight:600;color:var(--navy-deep)}\n#pe-up .up-list li.me em{background:var(--navy);color:#fff}\n#pe-up .up-list li.in em{background:#E5F4EC;color:var(--green)}\n#pe-up .up-list:not(.all) li:nth-child(n+5):not(.up-more){display:none}\n#pe-up .up-list li.up-more::before{display:none}\n#pe-up .up-more button{font-size:.72rem;font-weight:600;color:var(--navy);text-decoration:underline;text-underline-offset:3px;padding:2px 0 2px 22px}\n#pe-up .up-cmp{display:flex;align-items:stretch;gap:10px}\n#pe-up .up-cmp > div{flex:1;border-radius:8px;padding:8px 12px;border:1px solid var(--line);background:#fff}\n#pe-up .up-cmp span{display:block;font-family:\"IBM Plex Mono\",monospace;font-size:.54rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft)}\n#pe-up .up-cmp s{display:block;font-family:\"Newsreader\",serif;font-size:1.25rem;color:#93A0B8;margin-top:2px}\n#pe-up .up-cmp b{display:block;font-family:\"Newsreader\",serif;font-size:1.45rem;font-weight:600;color:var(--navy-deep);margin-top:1px;line-height:1.1}\n#pe-up .up-cmp .b{border-color:var(--navy);background:#F3F6FE}\n#pe-up .up-delta{margin:10px 0 12px;font-size:.8rem;color:var(--ink-soft);line-height:1.5}\n#pe-up .up-delta b{color:var(--green)}\n#pe-up .up-go{display:flex;align-items:center;justify-content:center;gap:9px;width:100%;padding:13px 16px;border-radius:8px;\n  background:var(--navy);color:#fff;font-family:\"IBM Plex Mono\",monospace;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;\n  font-weight:600;transition:.16s}\n#pe-up .up-go:hover{background:var(--mustard);color:var(--navy-deep)}\n#pe-up .up-go i{color:var(--mustard)}\n#pe-up .up-go:hover i{color:var(--navy-deep)}\n#pe-up .up-soon{font-size:.74rem;color:var(--ink-soft);background:var(--off);border-radius:6px;padding:8px 10px;margin:0}\n#pe-up .up-note{display:flex;gap:8px;align-items:flex-start;margin:12px 0 0;font-size:.7rem;color:var(--ink-soft);line-height:1.5}\n#pe-up .up-note i{color:var(--green);margin-top:2px}\n#pe-up .up-foot{padding:12px 20px 16px;border-top:1px solid var(--line);background:var(--off)}\n#pe-up .up-keep{width:100%;padding:11px 14px;border:1.5px solid var(--line);border-radius:8px;background:#fff;color:var(--ink-soft);\n  font-size:.8rem;text-align:center;transition:.15s}\n#pe-up .up-keep:hover{border-color:var(--navy);color:var(--navy)}\n#pe-up .up-keep b{color:var(--navy-deep)}\n@media(max-width:520px){\n  #pe-up{padding:0;place-items:end center}\n  #pe-up .up-card{max-height:92vh;border-radius:14px 14px 0 0}\n  #pe-up h3{font-size:1.25rem}\n}\n@media(prefers-reduced-motion:reduce){#pe-up,#pe-up *{transition:none!important;animation:none!important}\n  #ts-repo .lm-dot,#ts-repo .lm-st.live i{animation:none}}\n\/* ================================================================ FORMAT BANDS (what each format includes) *\/\n#ts-repo .ts-sub{position:relative;overflow:hidden;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:14px 28px;align-items:center;\n  margin:14px 0 2px;padding:18px 22px;border:1px solid var(--navy-deep);border-left:5px solid var(--mustard);\n  background:linear-gradient(112deg,var(--navy-deep) 0%,#1E3A8A 52%,#2A4DAE 100%);\n  border-radius:0 12px 12px 0;box-shadow:0 14px 30px -22px rgba(21,42,102,.8);font-family:\"IBM Plex Sans\",system-ui,sans-serif;\n  font-size:1rem;letter-spacing:0;text-transform:none;color:#fff}\n#ts-repo .ts-sub::before{content:\"\";position:absolute;inset:0;pointer-events:none;\n  background-image:radial-gradient(rgba(255,255,255,.075) 1px,transparent 1px);background-size:22px 22px}\n#ts-repo .ts-sub::after{display:none}\n#ts-repo .ts-sub > *{position:relative;z-index:1}\n#ts-repo .ts-sub[data-fmt=\"combo\"]{border-left-color:var(--mustard);\n  background:linear-gradient(112deg,#0F1E52 0%,var(--navy-deep) 45%,#2A4DAE 100%)}\n#ts-repo .ts-sub .fh{display:flex;align-items:center;gap:14px;min-width:0}\n#ts-repo .ts-sub .fi{flex:none;width:48px;height:48px;border-radius:10px;display:grid;place-items:center;font-size:19px;\n  background:rgba(255,255,255,.1);color:var(--mustard);border:1px solid rgba(255,255,255,.22)}\n#ts-repo .ts-sub[data-fmt=\"combo\"] .fi{background:linear-gradient(135deg,var(--mustard),var(--mustard-deep));color:var(--navy-deep);border:0}\n#ts-repo .ts-sub h4{font-family:\"Newsreader\",Georgia,serif;font-weight:500;font-size:1.48rem;line-height:1.1;letter-spacing:-.015em;\n  color:#fff;margin:0}\n#ts-repo .ts-sub .fh p{font-size:.82rem;color:#C3CEF5;line-height:1.45;margin:5px 0 0}\n#ts-repo .ts-sub .fl{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:6px 16px}\n#ts-repo .ts-sub .fl li{display:flex;align-items:flex-start;gap:8px;font-size:.76rem;line-height:1.4;color:#E4EAFB}\n#ts-repo .ts-sub .fl li i{flex:none;margin-top:4px;font-size:9px;color:var(--mustard)}\n@media(max-width:900px){\n  #ts-repo .ts-sub{grid-template-columns:minmax(0,1fr);gap:12px;padding:16px 18px}\n  #ts-repo .ts-sub .fl{grid-template-columns:1fr}\n}\n@media(max-width:700px){\n  #ts-repo .ts-sub{font-size:1rem}\n  #ts-repo .ts-sub h4{font-size:1.22rem}\n  #ts-repo .ts-sub .fi{width:40px;height:40px;font-size:16px}\n}\n\/* ================================================================ LIVE MOCK DEMO *\/\n#ts-repo .lm-demo{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:30px;align-items:center;\n  margin:0 0 30px;padding:28px 30px;background:#fff;border:1px solid var(--line);border-radius:16px;\n  box-shadow:0 1px 2px rgba(21,42,102,.05),0 30px 60px -40px rgba(21,42,102,.6);position:relative;overflow:hidden}\n#ts-repo .lm-demo::before{content:\"\";position:absolute;inset:0 0 auto 0;height:4px;background:linear-gradient(90deg,var(--mustard),var(--navy))}\n#ts-repo .lmd-copy .eyebrow{margin-bottom:12px}\n#ts-repo .lmd-copy .eyebrow .lm-dot{margin-right:2px}\n#ts-repo .lmd-copy h3{font-family:\"Newsreader\",Georgia,serif;font-weight:500;font-size:clamp(1.5rem,2.6vw,2.1rem);line-height:1.1;\n  letter-spacing:-.02em;color:var(--navy-deep);margin:0 0 10px}\n#ts-repo .lmd-copy h3 em{font-style:italic;color:var(--mustard-deep)}\n#ts-repo .lmd-copy > p{font-size:.9rem;color:var(--ink-soft);line-height:1.68}\n#ts-repo .lmd-copy > p strong{color:var(--navy)}\n#ts-repo .lmd-ticks{list-style:none;margin:16px 0 0;padding:0;display:flex;flex-direction:column;gap:8px}\n#ts-repo .lmd-ticks li{display:flex;align-items:flex-start;gap:10px;font-size:.8rem;line-height:1.5;color:var(--ink)}\n#ts-repo .lmd-ticks li i{flex:none;width:24px;height:24px;border-radius:6px;display:grid;place-items:center;font-size:10px;\n  background:var(--mustard-tint);color:var(--mustard-deep);border:1px solid #F0E0B8;margin-top:1px}\n#ts-repo .lmd-ticks b{font-weight:600;color:var(--navy-deep)}\n#ts-repo .lmd-act{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:20px}\n#ts-repo .lmd-btn{display:inline-flex;align-items:center;gap:9px;padding:13px 20px;border-radius:8px;background:var(--navy);color:#fff;\n  font-family:\"IBM Plex Mono\",monospace;font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;font-weight:600;transition:.16s;\n  box-shadow:0 14px 28px -16px rgba(21,42,102,.8)}\n#ts-repo .lmd-btn:hover{background:var(--mustard);color:var(--navy-deep)}\n#ts-repo .lmd-btn i{color:var(--mustard)}\n#ts-repo .lmd-btn:hover i{color:var(--navy-deep)}\n#ts-repo .lmd-fine{font-family:\"IBM Plex Mono\",monospace;font-size:.58rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft)}\n\/* --- the drawn booklet + OMR, a picture of the demo page. --k scales the whole drawing --- *\/\n#ts-repo .lm-demo{grid-template-columns:minmax(0,.66fr) minmax(0,1.34fr)}\n#ts-repo .lmd-shot{--k:1.5;display:block;border-radius:12px;overflow:hidden;border:1px solid #CBD3E3;background:#E6EAF2;\n  box-shadow:0 30px 60px -28px rgba(3,10,40,.7);transition:transform .2s,box-shadow .2s;color:inherit}\n#ts-repo .lmd-shot:hover{transform:translateY(-3px);box-shadow:0 36px 64px -28px rgba(3,10,40,.8);color:inherit}\n#ts-repo .lmd-bar{display:flex;align-items:center;gap:calc(10px*var(--k));padding:calc(8px*var(--k)) calc(12px*var(--k));background:#12246E;color:#fff}\n#ts-repo .lmd-bar .id{display:grid;line-height:1.15}\n#ts-repo .lmd-bar .id b{font-family:\"IBM Plex Sans\",sans-serif;font-size:calc(11px*var(--k));font-weight:700}\n#ts-repo .lmd-bar .id small{font-size:calc(8px*var(--k));color:#B9C7F2;font-weight:600}\n#ts-repo .lmd-bar .clk{margin:0 auto;display:grid;justify-items:center;line-height:1.1}\n#ts-repo .lmd-bar .clk b{font-family:\"IBM Plex Mono\",monospace;font-size:calc(15px*var(--k));font-weight:600;letter-spacing:.02em;color:#F5C55B}\n#ts-repo .lmd-bar .clk small{font-family:\"IBM Plex Mono\",monospace;font-size:calc(6.5px*var(--k));letter-spacing:.14em;text-transform:uppercase;color:#B9C7F2}\n#ts-repo .lmd-bar .tools{display:flex;align-items:center;gap:calc(4px*var(--k))}\n#ts-repo .lmd-bar .tools i{font-style:normal;font-size:calc(8px*var(--k));font-weight:700;padding:calc(3px*var(--k)) calc(6px*var(--k));\n  border:1px solid rgba(255,255,255,.28);color:#DCE5FF;border-radius:4px}\n#ts-repo .lmd-bar .tools i.on{background:#fff;color:#12246E;border-color:#fff}\n#ts-repo .lmd-bar .tools em{font-style:normal;margin-left:calc(6px*var(--k));font-size:calc(8.5px*var(--k));font-weight:700;\n  padding:calc(5px*var(--k)) calc(9px*var(--k));border-radius:6px;background:linear-gradient(180deg,#F5C55B,#E8A317);color:#3A2A02}\n#ts-repo .lmd-desk{display:grid;grid-template-columns:minmax(0,1fr) calc(96px*var(--k));gap:calc(10px*var(--k));padding:calc(12px*var(--k));align-items:start}\n#ts-repo .lmd-sheet{background:#fff;border:1px solid #d6dbe5;box-shadow:0 1px 0 #cfd5e0,0 10px 22px -16px rgba(16,32,74,.5);\n  padding:calc(12px*var(--k)) calc(14px*var(--k)) calc(8px*var(--k));position:relative;font-family:\"Times New Roman\",Times,serif;color:#121418}\n#ts-repo .lmd-sheet::before{content:\"\";position:absolute;left:0;top:0;bottom:0;width:calc(16px*var(--k));pointer-events:none;\n  background:linear-gradient(90deg,rgba(20,24,33,.1),rgba(20,24,33,0))}\n#ts-repo .lmd-top{display:flex;justify-content:space-between;align-items:flex-start;font-weight:700;font-size:calc(9.5px*var(--k))}\n#ts-repo .lmd-top .box{display:grid;place-items:center;width:calc(26px*var(--k));height:calc(24px*var(--k));border:2px solid #111;\n  font-family:Arial,Helvetica,sans-serif;font-weight:900;font-size:calc(20px*var(--k));line-height:1}\n#ts-repo .lmd-ttl{text-align:center;margin:calc(-6px*var(--k)) 0 calc(8px*var(--k))}\n#ts-repo .lmd-ttl b{display:block;font-family:Arial,Helvetica,sans-serif;font-size:calc(10px*var(--k));letter-spacing:.04em}\n#ts-repo .lmd-ttl span{display:block;font-weight:700;font-size:calc(11px*var(--k));margin-top:1px}\n#ts-repo .lmd-ttl i{display:block;font-size:calc(7.5px*var(--k));color:#333;margin-top:2px;border-top:2px double #111;border-bottom:1px solid #111;padding:2px 0}\n#ts-repo .lmd-cols{display:grid;grid-template-columns:1fr 1fr;column-gap:calc(14px*var(--k));position:relative}\n#ts-repo .lmd-cols::before{content:\"\";position:absolute;top:0;bottom:0;left:50%;border-left:1px solid #202328}\n#ts-repo .lmd-col p{font-size:calc(7.6px*var(--k));line-height:1.32;text-align:justify;margin:0 0 2px;padding-left:1.4em;position:relative}\n#ts-repo .lmd-col p b{position:absolute;left:0;font-weight:700}\n#ts-repo .lmd-col span{display:block;font-size:calc(7.3px*var(--k));line-height:1.3;padding-left:1.4em;margin-bottom:1px}\n#ts-repo .lmd-col span + p{margin-top:calc(7px*var(--k))}\n#ts-repo .lmd-col span.sel{position:relative}\n#ts-repo .lmd-col span.sel::before{content:\"\";position:absolute;left:.9em;top:-1px;width:1.5em;height:1.25em;border:1.2px solid #1a1d2b;border-radius:50%;transform:rotate(-6deg)}\n#ts-repo .lmd-foot{display:grid;grid-template-columns:1fr auto 1fr;align-items:baseline;margin-top:calc(10px*var(--k));\n  font-family:Arial,Helvetica,sans-serif;font-size:calc(6.5px*var(--k));color:#222}\n#ts-repo .lmd-foot b{font-family:\"Times New Roman\",Times,serif;font-size:calc(7.5px*var(--k));font-weight:400;text-align:center}\n#ts-repo .lmd-foot span:last-child{text-align:right}\n#ts-repo .lmd-omr{background:#FFF7F8;border:1.5px solid #F1C8D1;border-radius:4px;color:#C03A57;font-family:\"IBM Plex Sans\",sans-serif;overflow:hidden}\n#ts-repo .lmd-omr .h{padding:calc(5px*var(--k)) calc(6px*var(--k)) calc(4px*var(--k));border-bottom:1.5px solid #F1C8D1;\n  font-size:calc(6.5px*var(--k));font-weight:800;letter-spacing:.08em;text-transform:uppercase;text-align:center}\n#ts-repo .lmd-omr .h span{display:block;font-size:calc(6px*var(--k));color:#5a2433;letter-spacing:.02em;text-transform:none;margin-top:2px}\n#ts-repo .lmd-omr .st{display:grid;grid-template-columns:repeat(3,1fr);border-bottom:1.5px solid #F1C8D1}\n#ts-repo .lmd-omr .st span{padding:calc(3px*var(--k)) 2px;text-align:center;font-size:calc(5px*var(--k));letter-spacing:.04em;text-transform:uppercase;font-weight:800;border-right:1px solid #F1C8D1}\n#ts-repo .lmd-omr .st span:last-child{border-right:0}\n#ts-repo .lmd-omr .st b{display:block;font-size:calc(9px*var(--k));color:#3b1621;line-height:1.1}\n#ts-repo .lmd-omr .grid{padding:calc(5px*var(--k)) calc(5px*var(--k)) calc(6px*var(--k));display:grid;gap:calc(2px*var(--k))}\n#ts-repo .lmd-omr .r{display:grid;grid-template-columns:calc(12px*var(--k)) repeat(4,calc(11px*var(--k)));gap:calc(2px*var(--k));align-items:center;height:calc(12px*var(--k))}\n#ts-repo .lmd-omr .r i{font-style:normal;font-size:calc(6.5px*var(--k));font-weight:800;text-align:right;padding-right:2px;color:#5a2433}\n#ts-repo .lmd-omr .r.rv i{color:var(--mustard-deep)}\n#ts-repo .lmd-omr .r.rv i::before{content:\"\\2022\";color:var(--mustard);margin-right:1px}\n#ts-repo .lmd-omr .r s{display:block;width:calc(10px*var(--k));height:calc(10px*var(--k));border-radius:50%;border:1px solid #C03A57;background:#fff;text-decoration:none}\n#ts-repo .lmd-omr .r s.on{background:repeating-linear-gradient(-45deg,#0f1017 0 1px,#232532 1px 1.75px);border-color:#15161d}\n#ts-repo .lm-demo-lnk{display:inline-flex;align-items:center;gap:7px;margin-top:9px;padding:7px 12px;border-radius:100px;\n  background:var(--navy);color:#fff;font-family:\"IBM Plex Mono\",monospace;font-size:.6rem;letter-spacing:.08em;text-transform:uppercase;transition:.15s}\n#ts-repo .lm-demo-lnk:hover{background:var(--mustard);color:var(--navy-deep)}\n#ts-repo .lm-demo-lnk i{font-size:.55rem;color:var(--mustard)}\n#ts-repo .lm-demo-lnk:hover i{color:var(--navy-deep)}\n#ts-repo .lm-n em{font-style:normal;margin-left:6px;padding:2px 7px;border-radius:3px;background:var(--off);border:1px solid var(--line);color:var(--navy);letter-spacing:.06em}\n@media(max-width:1000px){\n  #ts-repo .lm-demo{grid-template-columns:minmax(0,1fr);gap:22px;padding:22px}\n  #ts-repo .lmd-shot{--k:1.2;max-width:720px}\n}\n@media(max-width:700px){\n  #ts-repo .lm-demo{padding:18px 16px;border-radius:12px}\n  #ts-repo .lmd-shot{--k:1}\n  #ts-repo .lmd-desk{grid-template-columns:minmax(0,1fr) 74px;gap:6px;padding:8px}\n  #ts-repo .lmd-cols{grid-template-columns:1fr;column-gap:0}\n  #ts-repo .lmd-cols::before{display:none}\n  #ts-repo .lmd-col:last-child{display:none}\n  #ts-repo .lmd-omr .st{grid-template-columns:1fr 1fr}\n  #ts-repo .lmd-omr .st span:last-child{display:none}\n  #ts-repo .lmd-omr .st span:nth-child(2){border-right:0}\n  #ts-repo .lmd-omr .r{grid-template-columns:10px repeat(4,9px)}\n  #ts-repo .lmd-omr .r s{width:8px;height:8px}\n  #ts-repo .lm-syl{grid-template-columns:1fr}\n  #ts-repo .lm-planlink .lm-plan{display:flex;padding:12px 14px}\n  #ts-repo .lmd-act{flex-direction:column;align-items:stretch;gap:8px}\n  #ts-repo .lmd-btn{justify-content:center;padding:14px 18px}\n  #ts-repo .lmd-fine{text-align:center}\n}\n\n\/* ================================================================ LIVE MOCK: paper-wise syllabus strip + full-plan links *\/\n#ts-repo .lm-planlink{margin-top:16px}\n#ts-repo .lm-plan{display:inline-flex;align-items:center;gap:9px;padding:10px 16px;border-radius:100px;background:#fff;border:1.5px solid var(--navy);\n  color:var(--navy);font-size:.8rem;font-weight:600;line-height:1.35;transition:.16s}\n#ts-repo .lm-plan:hover{background:var(--navy);color:#fff}\n#ts-repo .lm-plan i{color:var(--mustard-deep)}\n#ts-repo .lm-plan:hover i{color:var(--mustard)}\n#ts-repo .lm-syl{display:grid;grid-template-columns:1fr 1fr .8fr;gap:18px;margin:0 0 30px}\n#ts-repo .lm-sylcard{background:#fff;border:1px solid var(--line);border-top:4px solid var(--navy);border-radius:12px;padding:18px 20px;\n  box-shadow:0 1px 2px rgba(21,42,102,.05)}\n#ts-repo .lm-sylhead{display:flex;align-items:flex-start;gap:12px;margin-bottom:14px}\n#ts-repo .lm-sylhead .pl,#ts-repo .lm-sylcard.plan > .pl{flex:none;display:inline-grid;place-items:center;min-width:64px;height:28px;padding:0 10px;border-radius:4px;\n  font-family:\"IBM Plex Mono\",monospace;font-size:.6rem;letter-spacing:.12em;text-transform:uppercase;color:var(--mustard-deep);\n  background:var(--mustard-tint);border:1px solid #F0E0B8}\n#ts-repo .lm-sylhead h3{font-family:\"Newsreader\",serif;font-weight:500;font-size:1.18rem;line-height:1.2;color:var(--navy-deep);margin:0}\n#ts-repo .lm-sylhead p{font-family:\"IBM Plex Mono\",monospace;font-size:.58rem;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft);margin-top:4px}\n#ts-repo .lm-w{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:7px}\n#ts-repo .lm-w li{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr) 44px;gap:10px;align-items:center}\n#ts-repo .lm-w .n{font-size:.76rem;color:var(--ink);line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}\n#ts-repo .lm-w .b{height:8px;border-radius:99px;background:var(--off);border:1px solid var(--line);overflow:hidden}\n#ts-repo .lm-w .b i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,var(--navy),var(--mustard))}\n#ts-repo .lm-w .q{font-family:\"IBM Plex Mono\",monospace;font-size:.62rem;color:var(--navy);text-align:right;white-space:nowrap}\n#ts-repo .lm-sylcard.plan{display:flex;flex-direction:column;border-top-color:var(--mustard);\n  background:linear-gradient(170deg,#FFFCF3,#fff 60%)}\n#ts-repo .lm-sylcard.plan > .pl{width:40px;min-width:0;height:40px;padding:0;border-radius:10px;font-size:15px;margin-bottom:12px}\n#ts-repo .lm-sylcard.plan h3{font-family:\"Newsreader\",serif;font-weight:500;font-size:1.3rem;line-height:1.15;color:var(--navy-deep);margin:0 0 8px}\n#ts-repo .lm-sylcard.plan h3 em{font-style:italic;color:var(--mustard-deep)}\n#ts-repo .lm-sylcard.plan > p{font-size:.78rem;color:var(--ink-soft);line-height:1.6}\n#ts-repo .lm-plist{list-style:none;margin:12px 0 16px;padding:0;display:flex;flex-direction:column;gap:6px}\n#ts-repo .lm-plist li{display:flex;align-items:flex-start;gap:8px;font-size:.74rem;color:var(--ink);line-height:1.4}\n#ts-repo .lm-plist i{flex:none;font-size:9px;color:var(--green);margin-top:4px}\n#ts-repo .lm-planbtn{margin-top:auto;display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:12px 16px;border-radius:7px;\n  background:var(--navy);color:#fff;font-family:\"IBM Plex Mono\",monospace;font-size:.66rem;letter-spacing:.08em;text-transform:uppercase;transition:.16s}\n#ts-repo .lm-planbtn:hover{background:var(--mustard);color:var(--navy-deep)}\n@media(max-width:1000px){\n  #ts-repo .lm-syl{grid-template-columns:1fr 1fr}\n  #ts-repo .lm-sylcard.plan{grid-column:1 \/ -1}\n}\n\/* ================================================================ FULL PLAN PAGE *\/\n#ts-repo .pl-hero .ts-hero__inner{grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr)}\n#ts-repo .pl-cta{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}\n#ts-repo .pl-cta .b1,#ts-repo .pl-cta .b2{display:inline-flex;align-items:center;gap:9px;padding:12px 18px;border-radius:7px;\n  font-family:\"IBM Plex Mono\",monospace;font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;transition:.16s}\n#ts-repo .pl-cta .b1{background:var(--navy);color:#fff}\n#ts-repo .pl-cta .b1:hover{background:var(--mustard);color:var(--navy-deep)}\n#ts-repo .pl-cta .b2{background:#fff;border:1.5px solid var(--line);color:var(--navy)}\n#ts-repo .pl-cta .b2:hover{border-color:var(--mustard);background:var(--mustard-tint)}\n#ts-repo .pl-glance{background:rgba(255,255,255,.97);border:1px solid var(--line);border-top:4px solid var(--mustard);border-radius:12px;\n  box-shadow:0 30px 60px -34px rgba(21,42,102,.75);padding:18px 20px}\n#ts-repo .pl-glance h2{font-family:\"Newsreader\",serif;font-weight:500;font-size:1.15rem;color:var(--navy-deep);margin:0 0 12px;line-height:1.2}\n#ts-repo .pl-kv{display:grid;grid-template-columns:1fr 1fr;gap:10px}\n#ts-repo .pl-kv div{border:1px solid var(--line);border-radius:8px;padding:9px 11px;background:var(--off)}\n#ts-repo .pl-kv b{display:block;font-family:\"Newsreader\",serif;font-weight:500;font-size:1.2rem;color:var(--navy-deep);line-height:1.1}\n#ts-repo .pl-kv span{display:block;font-family:\"IBM Plex Mono\",monospace;font-size:.55rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft);margin-top:4px}\n#ts-repo .pl-glance .gl-mock{margin:12px 0 0}\n#ts-repo .pl-flow{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}\n#ts-repo .pl-step{background:#fff;border:1px solid var(--line);border-top:4px solid var(--navy);border-radius:12px;padding:20px}\n#ts-repo .pl-step:nth-child(2){border-top-color:var(--mustard)}\n#ts-repo .pl-step:nth-child(3){border-top-color:var(--mustard-deep)}\n#ts-repo .pl-step .n{font-family:\"IBM Plex Mono\",monospace;font-size:.6rem;letter-spacing:.14em;text-transform:uppercase;color:var(--mustard-deep)}\n#ts-repo .pl-step h3{font-family:\"Newsreader\",serif;font-weight:500;font-size:1.25rem;color:var(--navy-deep);margin:8px 0 6px;line-height:1.2}\n#ts-repo .pl-step p{font-size:.82rem;color:var(--ink-soft);line-height:1.65}\n#ts-repo .pl-step .codes{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}\n#ts-repo .pl-step .codes span{font-family:\"IBM Plex Mono\",monospace;font-size:.6rem;letter-spacing:.08em;padding:4px 8px;border-radius:3px;\n  background:var(--off);border:1px solid var(--line);color:var(--navy)}\n#ts-repo .pl-tests{display:flex;flex-direction:column;gap:18px}\n#ts-repo .pl-test{display:grid;grid-template-columns:84px minmax(0,1fr);gap:22px;background:#fff;border:1px solid var(--line);border-radius:14px;\n  padding:22px;box-shadow:0 1px 2px rgba(21,42,102,.05);position:relative;overflow:hidden}\n#ts-repo .pl-test.nx{border-color:var(--mustard);box-shadow:0 0 0 3px var(--mustard-tint)}\n#ts-repo .pl-test.live{border-color:#E5484D;box-shadow:0 0 0 3px #FDECEC}\n#ts-repo .pl-test.done{opacity:.72}\n#ts-repo .pl-test .lm-date{align-self:start}\n#ts-repo .pl-thead{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:12px}\n#ts-repo .pl-thead h3{font-family:\"Newsreader\",serif;font-weight:500;font-size:1.45rem;line-height:1.15;color:var(--navy-deep);margin:4px 0 4px}\n#ts-repo .pl-thead .lm-time{margin-top:4px}\n#ts-repo .pl-syl{width:100%;border-collapse:collapse;font-size:.78rem;margin-top:6px}\n#ts-repo .pl-syl th{text-align:left;font-family:\"IBM Plex Mono\",monospace;font-size:.56rem;letter-spacing:.12em;text-transform:uppercase;\n  color:var(--ink-soft);padding:6px 8px;border-bottom:1px solid var(--line);font-weight:500}\n#ts-repo .pl-syl th:last-child,#ts-repo .pl-syl td:last-child{text-align:right;white-space:nowrap}\n#ts-repo .pl-syl td{padding:7px 8px;border-bottom:1px solid #EEF2F9;vertical-align:top;line-height:1.45;color:var(--ink)}\n#ts-repo .pl-syl tr.sub td{font-weight:600;color:var(--navy-deep);background:var(--off)}\n#ts-repo .pl-syl tr.sub td:last-child{font-family:\"IBM Plex Mono\",monospace;font-weight:600;color:var(--navy)}\n#ts-repo .pl-syl tr.ch td:first-child{padding-left:22px;color:var(--ink-soft)}\n#ts-repo .pl-syl tr.ch td:last-child{font-family:\"IBM Plex Mono\",monospace;color:var(--ink-soft)}\n#ts-repo .pl-syl tr.ch td:first-child::before{content:\"\";display:inline-block;width:5px;height:5px;margin:0 8px 2px -13px;background:var(--mustard);transform:rotate(45deg)}\n#ts-repo .pl-syl tfoot td{font-family:\"IBM Plex Mono\",monospace;font-size:.62rem;letter-spacing:.06em;text-transform:uppercase;color:var(--navy-deep);\n  border-bottom:0;border-top:2px solid var(--mustard);padding-top:9px}\n#ts-repo .pl-toggle{margin-top:10px;font-family:\"IBM Plex Mono\",monospace;font-size:.62rem;letter-spacing:.08em;text-transform:uppercase;\n  color:var(--navy);text-decoration:underline;text-underline-offset:3px}\n#ts-repo .pl-toggle:hover{color:var(--mustard-deep)}\n#ts-repo .pl-rules{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}\n#ts-repo .pl-rule{background:#fff;border:1px solid var(--line);border-left:4px solid var(--mustard);border-radius:0 10px 10px 0;padding:18px 20px}\n#ts-repo .pl-rule h3{font-family:\"Newsreader\",serif;font-weight:500;font-size:1.1rem;color:var(--navy-deep);margin:0 0 6px}\n#ts-repo .pl-rule p{font-size:.8rem;color:var(--ink-soft);line-height:1.65}\n#ts-repo .pl-enrol{display:grid;grid-template-columns:minmax(0,1.3fr) auto;gap:30px;align-items:center;padding:38px 44px}\n#ts-repo .pl-enrol h2{font-family:\"Newsreader\",serif;font-weight:500;font-size:clamp(1.5rem,2.6vw,2.1rem);color:#fff;margin:0;letter-spacing:-.02em;line-height:1.12}\n#ts-repo .pl-enrol h2 em{font-style:italic;color:var(--mustard)}\n#ts-repo .pl-enrol p{font-size:.9rem;color:#C3CEF5;line-height:1.7;margin-top:11px;max-width:52ch}\n#ts-repo .pl-enrol .lm-buy{border-top:0;padding-top:0;flex-direction:column;align-items:flex-end;gap:10px}\n#ts-repo .pl-enrol .lm-buy .ts-price b{color:#fff}\n@media(max-width:1000px){\n  #ts-repo .pl-hero .ts-hero__inner{grid-template-columns:minmax(0,1fr)}\n  #ts-repo .pl-flow,#ts-repo .pl-rules{grid-template-columns:1fr 1fr}\n  #ts-repo .pl-enrol{grid-template-columns:minmax(0,1fr);padding:30px 24px}\n  #ts-repo .pl-enrol .lm-buy{align-items:flex-start}\n}\n@media(max-width:700px){\n  #ts-repo .pl-flow,#ts-repo .pl-rules,#ts-repo .pl-kv{grid-template-columns:1fr}\n  #ts-repo .pl-test{grid-template-columns:minmax(0,1fr);gap:12px;padding:16px}\n  #ts-repo .pl-test .lm-date{display:inline-grid;grid-auto-flow:column;gap:6px;align-items:baseline;padding:6px 10px}\n  #ts-repo .pl-test .lm-date b{font-size:1.2rem}\n  #ts-repo .pl-test .lm-date span,#ts-repo .pl-test .lm-date em{margin:0}\n  #ts-repo .pl-syl tr.ch td:first-child{padding-left:16px}\n  #ts-repo .pl-cta .b1,#ts-repo .pl-cta .b2{flex:1 1 100%;justify-content:center}\n}\n\n\/* ---- enrolment deadline ---- *\/\n#ts-repo .lm-enrolby{display:flex;align-items:flex-start;gap:8px;margin-top:12px;padding:9px 12px;border-radius:7px;\n  background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);font-size:.74rem;line-height:1.5;color:#DCE4FB}\n#ts-repo .lm-enrolby i{flex:none;margin-top:3px;color:var(--mustard)}\n#ts-repo .lm-enrolby b{color:#fff;font-weight:600}\n#ts-repo .lm-enrolby a{color:var(--mustard);text-decoration:underline;text-underline-offset:2px}\n#ts-repo .lm-enrolby:empty{display:none}\n#ts-repo .pl-hero .lm-enrolby{margin-top:16px;max-width:560px;background:rgba(255,255,255,.75);border-color:var(--line);color:var(--ink-soft)}\n#ts-repo .pl-hero .lm-enrolby b{color:var(--navy-deep)}\n#ts-repo .pl-hero .lm-enrolby i{color:var(--mustard-deep)}\n#ts-repo .pl-hero .lm-enrolby a{color:var(--navy)}\n#ts-repo .pl-enrol .lm-enrolby{width:100%;max-width:300px;text-align:left}\n#ts-repo .lm-enroll.closed,#ts-repo .lm-enroll.closed:hover{background:var(--ink-soft);color:#fff;cursor:not-allowed;opacity:.9}\n\n\/* ---- paper filter chips in the schedule ---- *\/\n#ts-repo .lm-pf{display:flex;gap:6px;flex:none}\n#ts-repo .lm-pf:empty{display:none}\n#ts-repo .lm-pf .chip{padding:5px 11px;font-size:.62rem}\n#ts-repo .lm-schedhead{align-items:center}\n#ts-repo .lm-schedhead #lm-count{margin-left:auto}\n@media(max-width:700px){#ts-repo .lm-schedhead #lm-count{flex:1 0 100%;margin-left:0}}\n#ts-repo .lm-row .lm-cov b{font-weight:600;color:var(--navy-deep)}\n\n\/* ================================================================ ENROL BAND (under the hero) *\/\n#ts-repo .sec.lm-cta{padding:26px 0 0;border-top:0;background:#fff}\n#ts-repo .lm-ctap{border-radius:14px;box-shadow:0 30px 60px -34px rgba(21,42,102,.8)}\n#ts-repo .lm-ctab{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,.65fr);gap:30px;align-items:center;padding:34px 40px}\n#ts-repo .lm-ctax .eyebrow{color:var(--mustard);margin-bottom:12px}\n#ts-repo .lm-ctax h2{font-family:\"Newsreader\",Georgia,serif;font-weight:500;font-size:clamp(1.7rem,3.2vw,2.5rem);line-height:1.08;\n  letter-spacing:-.02em;color:#fff;margin:0}\n#ts-repo .lm-ctax h2 em{font-style:italic;color:var(--mustard)}\n#ts-repo .lm-ctax > p{font-size:.9rem;color:#C3CEF5;line-height:1.7;margin-top:12px;max-width:60ch}\n#ts-repo .lm-ctaticks{list-style:none;margin:14px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px 22px}\n#ts-repo .lm-ctaticks li{display:flex;align-items:center;gap:8px;font-size:.78rem;color:#DCE4FB}\n#ts-repo .lm-ctaticks i{color:var(--mustard);font-size:.7rem}\n#ts-repo .lm-ctay{display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;padding:22px 20px;\n  background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.16);border-radius:12px}\n#ts-repo .lm-ctay .ts-price b{color:#fff;font-size:2.2rem}\n#ts-repo .lm-ctay .ts-price s{color:#93A6DE}\n#ts-repo .lm-ctay .ts-price i{color:#7EE2B8}\n#ts-repo .lm-ctafor{font-family:\"IBM Plex Mono\",monospace;font-size:.6rem;letter-spacing:.12em;text-transform:uppercase;color:#9FB0E8}\n#ts-repo .lm-enroll.big{width:100%;justify-content:center;padding:16px 22px;font-size:.82rem;margin-top:10px;\n  box-shadow:0 16px 30px -14px rgba(224,168,46,.9)}\n#ts-repo .lm-ctay .lm-enrolby{width:100%;margin-top:10px;text-align:left}\n#ts-repo .lm-ctalinks{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 18px;margin-top:10px}\n#ts-repo .lm-ctalinks a{font-family:\"IBM Plex Mono\",monospace;font-size:.6rem;letter-spacing:.1em;text-transform:uppercase;color:#DCE4FB;\n  border-bottom:1px solid rgba(255,255,255,.3);padding-bottom:2px}\n#ts-repo .lm-ctalinks a:hover{color:var(--mustard);border-color:var(--mustard)}\n#ts-repo .lm-ctalinks i{color:var(--mustard);margin-right:4px}\n#ts-repo .lm .sechead.mid .eyebrow{justify-content:center}\n#ts-repo .lm .lm-planlink{text-align:center}\n@media(max-width:1000px){\n  #ts-repo .lm-ctab{grid-template-columns:minmax(0,1fr);padding:26px 24px;gap:20px}\n}\n@media(max-width:700px){\n  #ts-repo .sec.lm-cta{padding-top:16px}\n  #ts-repo .lm-ctab{padding:22px 18px}\n  #ts-repo .lm-ctaticks{flex-direction:column;gap:6px}\n}\n\n\/* ================================================================ NOTICE (corrigendum \/ postponement) *\/\n#ts-repo .ts-alert{background:#FFF4E5;border-top:1px solid #F4D9A6;border-bottom:1px solid #F4D9A6}\n#ts-repo .ts-alert__in{display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding:14px 0}\n#ts-repo .ts-alert__tag{flex:none;display:inline-flex;align-items:center;gap:7px;font-family:\"IBM Plex Mono\",monospace;font-size:.6rem;\n  letter-spacing:.14em;text-transform:uppercase;color:#fff;background:#C0392B;border-radius:3px;padding:6px 10px}\n#ts-repo .ts-alert p{flex:1;min-width:260px;font-size:.86rem;line-height:1.55;color:var(--ink)}\n#ts-repo .ts-alert p strong{color:#8E1C22;font-weight:600}\n#ts-repo .ts-alert__lnk{flex:none;font-family:\"IBM Plex Mono\",monospace;font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;color:var(--navy);\n  border-bottom:1px solid rgba(30,58,138,.35)}\n#ts-repo .ts-alert__lnk:hover{color:#8E1C22;border-color:#8E1C22}\n#ts-repo .ed.postponed{background:#FFF1F0;border-bottom-color:#F3C2BE}\n#ts-repo .ed-tag{font-style:normal;margin-left:6px;padding:2px 7px;border-radius:3px;background:#C0392B;color:#fff;letter-spacing:.1em}\n#ts-repo .ed.postponed .ed-date s{color:#9AA8C4;font-weight:400;font-size:.8rem;margin-right:2px}\n#ts-repo .ed.postponed .ed-date small{display:block;font-family:\"IBM Plex Mono\",monospace;font-size:.6rem;letter-spacing:.08em;color:#8E1C22;margin-top:2px}\n#ts-repo .ed.postponed .ed-lab{color:#8E1C22}\n#ts-repo .ed.postponed .ed-left b{color:#C0392B}\n\/* schedule placeholder while the plan is being written *\/\n#ts-repo .lm-soon{display:grid;grid-template-columns:64px minmax(0,1fr);gap:18px;align-items:start;padding:22px 20px;\n  background:linear-gradient(90deg,var(--mustard-tint),#fff 70%)}\n#ts-repo .lm-soon h4{font-family:\"Newsreader\",serif;font-weight:500;font-size:1.2rem;line-height:1.25;color:var(--navy-deep);margin:4px 0 6px}\n#ts-repo .lm-soon p{font-size:.82rem;color:var(--ink-soft);line-height:1.65}\n#ts-repo .lm-soon p strong{color:var(--navy-deep);font-weight:600}\n#ts-repo .lm-syl.one{grid-template-columns:1fr}\n#ts-repo .lm-syl.one .lm-sylcard.plan{display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-rows:auto auto;gap:4px 18px;align-items:start}\n#ts-repo .lm-syl.one .lm-sylcard.plan > .pl{grid-row:1 \/ span 3;margin:0}\n#ts-repo .lm-syl.one .lm-sylcard.plan > p{margin-bottom:4px}\n#ts-repo .lm-syl.one .lm-plist{flex-direction:row;flex-wrap:wrap;gap:6px 20px;margin:4px 0 0}\n@media(max-width:700px){\n  #ts-repo .ts-alert__in{align-items:flex-start}\n  #ts-repo .lm-soon{grid-template-columns:minmax(0,1fr);padding:18px 16px}\n  #ts-repo .lm-soon .lm-date{display:inline-grid;grid-auto-flow:column;gap:6px;align-items:baseline;padding:6px 10px}\n  #ts-repo .lm-syl.one .lm-sylcard.plan{grid-template-columns:minmax(0,1fr)}\n  #ts-repo .lm-syl.one .lm-sylcard.plan > .pl{grid-row:auto}\n  #ts-repo .lm-syl.one .lm-plist{flex-direction:column}\n}\n\n\/* ---- announce-only live mock series (no price, no schedule yet) ---- *\/\n#ts-repo .lm-ctabig{width:54px;height:54px;border-radius:50%;display:grid;place-items:center;font-size:22px;color:var(--mustard);\n  background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2)}\n#ts-repo .lm-ctanote{font-size:.78rem;color:#C3CEF5;line-height:1.55;margin:4px 0 2px}\n#ts-repo .lm-enroll.notify{background:#fff;color:var(--navy-deep)}\n#ts-repo .lm-enroll.notify:hover{background:var(--mustard);color:var(--navy-deep)}\n#ts-repo .lm-tba{font-size:.8rem;color:#C3CEF5;line-height:1.4}\n#ts-repo .lm-tba b{display:block;font-family:\"IBM Plex Mono\",monospace;font-size:.58rem;letter-spacing:.12em;text-transform:uppercase;color:var(--mustard);font-weight:600}\n#ts-repo .lm-date.tba b{font-size:1.1rem;color:var(--mustard-deep);padding:4px 0 2px}\n#ts-repo button.lm-demo-lnk{cursor:pointer}\n\n<\/style>\n<script>\n\/* \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n   EDIT HERE  -  every product on this page.\n   PE_EDITS   price \/ was \/ woo per series. woo 0 = \"Notify me\". hide:true takes it off.\n   PE_BUNDLES price \/ was \/ woo per bundle, and parts = the series inside it.\n              parts drives the \"Bought one by one\" price and the pop-up that offers\n              the bundle when someone adds a single series. A bundle with woo 0 is\n              shown as \"Opening soon\" and is NOT offered in the pop-up.\n              A series sold elsewhere but not on this page: 'id:price:Name'.\n   LIVE_MOCKS the live mock series - product, and one line per mock (IST).\n   \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 *\/\nvar PE_EDITS = {\n  'combo-mop'           : { price:199  , was:249  , woo:16147  },   \/\/ Manual of Office Procedure \u2014 Complete Pack\n  'combo-rti'           : { price:149  , was:199  , woo:16040  },   \/\/ RTI Act, 2005 \u2014 Complete Pack\n  'combo-pension'       : { price:199  , was:249  , woo:16191  },   \/\/ CCS (Pension) Rules \u2014 Complete Pack\n  'combo-conduct'       : { price:149  , was:199  , woo:17045  },   \/\/ CCS (Conduct) Rules, 1964 \u2014 Complete Pack\n  'combo-leave'         : { price:149  , was:199  , woo:15560  },   \/\/ CCS (Leave\/LTC) Rules \u2014 Complete Pack\n  'cga-p3-gar'          : { price:199  , was:249  , woo:15503  },   \/\/ Government Accounting Rules, 1990\n  'cga-p3-rp'           : { price:99   , was:149  , woo:14720  },   \/\/ CGA (Receipt & Payment) Rules, 2022\n  'cga-p3-rp-si'        : { price:179  , was:249  , woo:14856  },   \/\/ Subsidiary Instructions on R&P Rules, 2022\n  'cga-p3-cam'          : { price:249  , was:349  , woo:17228  },   \/\/ Civil Account Manual (CAM)\n  'cga-p3-mpw'          : { price:179  , was:249  , woo:14562  },   \/\/ Manual for Procurement of Works\n  'cga-p3-cpwd'         : { price:149  , was:199  , woo:13930  },   \/\/ CPWD Works Manual\n  'cga-p3-lmmh'         : { price:149  , was:199  , woo:14632  },   \/\/ List of Major & Minor Heads\n  'cga-p3-suspense'     : { price:119  , was:179  , woo:13739  },   \/\/ Suspense Manual\n  'cw-ruaab'            : { price:99   , was:149  , woo:17433  },   \/\/ Report on Uniform Format of Accounts for Central Aut\n  'cw-budget'           : { price:149  , was:199  , woo:14738  },   \/\/ Budget Manual & Contingency Fund Rules\n  'cga-p4-parl-comm'    : { price:99   , was:149  , woo:13687  },   \/\/ Lok Sabha Rules, Ch. XXVI \u2014 Parliamentary Committees\n  'cga-p4-cag-act'      : { price:49   , was:99   , woo:14424  },   \/\/ CAG's (DPC) Act, 1971\n  'cga-p4-frbm-act'     : { price:49   , was:99   , woo:685    },   \/\/ FRBM Act & Rules\n  'combo-coi-cga'       : { price:299  , was:349  , woo:14677  },   \/\/ Constitution of India \u2014 PYQs + Article-wise\n  'combo-gfr'           : { price:199  , was:249  , woo:16094  },   \/\/ GFR, 2017 \u2014 Complete Pack\n  'combo-dfpr'          : { price:119  , was:179  , woo:16207  },   \/\/ DFPR, 2024 \u2014 Complete Pack\n  'cga-p5-mpgoods'      : { price:199  , was:249  , woo:17363  },   \/\/ Manual of Procurement of Goods, 2024\n  'cga-p5-mpconsul'     : { price:179  , was:249  , woo:17382  },   \/\/ Manual of Procurement of Consultancy Services, 2025\n  'cga-p5-mpnonconsul'  : { price:179  , was:249  , woo:17383  },   \/\/ Manual of Procurement of Non-Consultancy Services, 2\n  'cga-p5-iah'          : { price:129  , was:199  , woo:14839  },   \/\/ Internal Audit Handbook\n  'cga-p5-giam'         : { price:129  , was:199  , woo:13601  },   \/\/ Generic Internal Audit Manual\n  'cga-p5-opia'         : { price:129  , was:199  , woo:14801  },   \/\/ Operational Manual for Internal Audit\n  'cga-p5-ppmii'        : { price:49   , was:99   , woo:17461  },   \/\/ Public Procurement (Preference to Make in India) Ord\n  'cga-p5-egem'         : { price:59   , was:99   , woo:17477  },   \/\/ e-Procurement System and Government e-Marketplace (G\n};\n\/* a chapter-wise card is hidden where the Complete Pack of the same subject is on the shelf *\/\nvar PE_PACK_HIDES_CHAPTER = true;\nvar PE_BUNDLES = {\n  'bundle-cga-p3'         : { price:799, was:1073, woo:0,\n      parts:['cga-p3-gar', 'cga-p3-rp', 'cga-p3-rp-si', 'cga-p3-mpw', 'cga-p3-cpwd', 'cga-p3-lmmh', 'cga-p3-suspense'] },\n  'bundle-cga-p4'         : { price:719, was:992, woo:0,\n      parts:['combo-coi-cga', 'cw-budget', 'combo-gfr', 'cga-p4-parl-comm', 'cga-p4-cag-act', 'cga-p4-frbm-act', 'cw-dfpr:99:DFPR, 2024 \u2014 Chapter-wise'] },\n  'bundle-cga-p5'         : { price:299, was:387, woo:0,\n      parts:['cga-p5-iah', 'cga-p5-giam', 'cga-p5-opia'] },\n  'bundle-cga-full'       : { price:2099, was:3265, woo:0,\n      parts:['combo-mop', 'combo-rti', 'combo-pension', 'combo-conduct', 'combo-leave', 'cga-p3-gar', 'cga-p3-rp', 'cga-p3-rp-si', 'cga-p3-cam', 'cga-p3-mpw', 'cga-p3-cpwd', 'cga-p3-lmmh', 'cga-p3-suspense', 'cw-ruaab', 'cw-budget', 'cga-p4-parl-comm', 'cga-p4-cag-act', 'cga-p4-frbm-act', 'combo-coi-cga', 'combo-gfr', 'combo-dfpr', 'cga-p5-mpgoods', 'cga-p5-mpconsul', 'cga-p5-mpnonconsul', 'cga-p5-iah', 'cga-p5-giam', 'cga-p5-opia', 'cga-p5-ppmii', 'cga-p5-egem'] },\n};\n\/* bundle pop-up: on = show it, offerSoon = also offer bundles that have no Woo ID yet, max = offers shown *\/\nvar PE_UPSELL = { on:true, offerSoon:false, max:2 };\nvar PE_VALIDITY = \"Validity \u2014 upto exam or 1 year\";\nvar PE_WA = \"https:\/\/wa.me\/919870176238\";\n\/* exam date for the hero countdown, YYYY-MM-DD. '' shows \"to be notified\". *\/\nvar PE_EXAM = { date:'', note:\"\" };\n\/* LIVE MOCKS - date YYYY-MM-DD, time HH:MM in IST, mins = paper length, window = hours each mock stays\n   open for a ranked attempt. Set product.woo to the WooCommerce ID and \"Notify me\" becomes \"Enrol now\".\n   The page re-sorts the list by date. An empty list with starts set shows \"schedule to be published\". *\/\nvar LIVE_MOCKS = {\n  product: { id:'live-mock-cga-aao', name:\"Live Mock Test Series \u2014 CGA AAO CBT\", price:0, was:0, woo:0 },\n  window: 24,\n  \/* announce-only: no schedule, price or enrol button yet - the page says the series opens one month before the exam. *\/\n  announce: true, announceWhen: \"one month before the exam\",\n  \/* enrolment closes at this time (ISO, +05:30). '' = the moment the first test opens. *\/\n  enrolBy: \"\",\n  \/* enrol button with product.woo = 0: 'wa' opens a WhatsApp chat with this text; 'notify' shows the launching-soon toast *\/\n  enrol: { fallback:'wa', text:\"Hi, I want to enrol in the Live Mock Test Series \u2014 CGA AAO CBT. Please tell me how to pay.\" },\n  list: [\n\n  ]\n};\nvar PE_PAGE = {\"key\": \"cga\", \"name\": \"CGA AAO CBT\", \"short\": \"CGA AAO\", \"url\": \"https:\/\/promotionexams.com\/test-series\/cga-aao-cbt\/\", \"logo\": \"https:\/\/promotionexams.com\/wp-content\/uploads\/2025\/08\/CSS-removebg-preview.png\", \"syllabus\": [{\"paper\": \"Paper 1\", \"label\": \"Paper I\"}, {\"paper\": \"Paper 2\", \"label\": \"Paper II\"}, {\"paper\": \"Paper 3\", \"label\": \"Paper III\"}, {\"paper\": \"Paper 4\", \"label\": \"Paper IV\"}, {\"paper\": \"Paper 5\", \"label\": \"Paper V\"}], \"note\": {\"all\": \"Every CGA AAO series on one shelf \u2014 previous year questions, chapter-wise drills and the combined packs. Narrow it down by paper, format or subject.\", \"pyq\": \"Questions actually asked in past papers, arranged topic-wise, each with the governing rule cited in the explanation.\", \"chapter\": \"Fresh practice written chapter by chapter from the bare rule or manual, so every provision gets tested \u2014 not only the ones already asked.\", \"combo\": \"One subject, both formats, one price. Previous year questions to learn the examiner\u2019s pattern, chapter-wise drills to close the gaps they have not asked yet.\", \"bundle\": \"Every series for one paper in a single purchase \u2014 same banks, same validity, up to 36% less than buying them one at a time.\"}, \"examNote\": \"\", \"fmtLabel\": {\"all\": \"All formats\", \"pyq\": \"Previous year questions\", \"chapter\": \"Chapter-wise\", \"combo\": \"PYQ + Chapter-wise\", \"bundle\": \"Bundles\"}};\n\/* \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 nothing below here needs editing \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 *\/\n(function(){\n\"use strict\";\nvar root = document.getElementById('ts-repo');\nif(!root) return;\nvar P = PE_PAGE, EXAM = P.key;\nvar $  = function(s){ return root.querySelector(s); };\nvar $$ = function(s){ return Array.prototype.slice.call(root.querySelectorAll(s)); };\nvar INR = function(n){ return '\u20b9' + Number(n || 0).toLocaleString('en-IN'); };\nfunction esc(s){ return String(s == null ? '' : s).replace(\/[&<>\"]\/g, function(c){\n  return {'&':'&amp;','<':'&lt;','>':'&gt;','\"':'&quot;'}[c]; }); }\nfunction num(t){ return parseInt(String(t || '').replace(\/[^0-9]\/g, ''), 10) || 0; }\nfunction bumpOC(el, k, v){\n  if(!el) return;\n  var oc = el.getAttribute('onclick') || '';\n  el.setAttribute('onclick', oc.replace(new RegExp('\\\\b' + k + ':\\\\d+'), k + ':' + v));\n}\n\n\/* ================================================= 1. PE_EDITS \u2192 markup *\/\n(function(){\n  Object.keys(PE_EDITS).forEach(function(id){\n    var sel = id.indexOf('@') > -1 ? '[data-copy=\"' + id + '\"]' : '[data-id=\"' + id + '\"]';\n    var hits = $$('.ts-card' + sel);\n    if(!hits.length){ console.warn('PE_EDITS: nothing matches', id); return; }\n    hits.forEach(function(c){ applyEdit(c, PE_EDITS[id]); });\n  });\n  function applyEdit(c, e){\n    if(e.hide){ c.parentNode.removeChild(c); return; }\n    if(e.paper) c.setAttribute('data-paper', e.paper);\n    if(e.free !== undefined) c.setAttribute('data-free', e.free ? '1' : '0');\n    var isFree = c.getAttribute('data-free') === '1';\n    var buy = c.querySelector('.ts-buy');\n    if(e.price !== undefined || e.was !== undefined){\n      var pb = c.querySelector('.ts-price b'), ps = c.querySelector('.ts-price s');\n      var price = e.price !== undefined ? e.price : num(pb && pb.textContent);\n      var was   = e.was   !== undefined ? e.was   : num(ps && ps.textContent);\n      if(!was) was = price;\n      var off = was > price ? Math.round((was - price) \/ was * 100) : 0;\n      var box = c.querySelector('.ts-price');\n      if(box){\n        box.innerHTML = isFree ? '<b>Free<\/b>'\n          : (price > 0) ? '<b>' + INR(price) + '<\/b><s>' + INR(was) + '<\/s>' + (off ? '<i>' + off + '% off<\/i>' : '')\n          : '<em class=\"ts-tbd\">Price on launch<\/em>';\n      }\n      c.setAttribute('data-price', price);\n      bumpOC(buy, 'price', price); bumpOC(buy, 'originalPrice', was);\n    }\n    if(e.woo !== undefined){\n      c.setAttribute('data-woo-id', e.woo);\n      if(buy){\n        buy.setAttribute('data-woo-id', e.woo);\n        bumpOC(buy, 'wooProductId', e.woo);\n        buy.innerHTML = e.woo\n          ? (isFree ? '<i class=\"fa-solid fa-play\"><\/i> Start free test' : '<i class=\"fa-solid fa-cart-plus\"><\/i> Add to cart')\n          : (isFree ? '<i class=\"fa-solid fa-bell\"><\/i> Free \u2014 opening soon' : '<i class=\"fa-solid fa-bell\"><\/i> Notify me');\n      }\n      c.classList.toggle('is-soon', !e.woo);\n      var rb = c.querySelector('.ribbon.soon');\n      if(e.woo && rb) rb.parentNode.removeChild(rb);\n      if(!e.woo && !rb){\n        var th = c.querySelector('.ts-thumb');\n        if(th) th.insertAdjacentHTML('afterbegin', '<span class=\"ribbon soon\">Launching soon<\/span>');\n      }\n    }\n  }\n  \/* cards written to stay off the page until they have a Woo ID *\/\n  $$('.ts-card[data-needs-woo=\"1\"]').forEach(function(c){\n    if(!parseInt(c.getAttribute('data-woo-id'), 10)) c.parentNode.removeChild(c);\n  });\n  \/* a chapter-wise card comes off a shelf that already carries the Complete Pack *\/\n  if(PE_PACK_HIDES_CHAPTER){\n    $$('.ts-card[data-type=\"chapter\"]').forEach(function(c){\n      var id = c.getAttribute('data-id') || '';\n      if(id.indexOf('cw-') === 0 && $('.ts-card[data-id=\"combo-' + id.slice(3) + '\"]')) c.parentNode.removeChild(c);\n    });\n  }\n})();\n\nvar cards = $$('.ts-card');\nvar CARD = {};                      \/\/ id -> {id,title,price,type,el}\ncards.forEach(function(c){\n  var id = c.getAttribute('data-id');\n  if(CARD[id]) return;\n  CARD[id] = { id:id, el:c, type:c.getAttribute('data-type'),\n               title:(c.querySelector('.ts-ctitle') || {}).textContent || c.getAttribute('data-title'),\n               price:parseInt(c.getAttribute('data-price'), 10) || 0 };\n});\nfunction paperOf(c){\n  var o = {}; (c.getAttribute('data-paper') || '').split(',').forEach(function(p){\n    var i = p.indexOf(':'); if(i > 0) o[p.slice(0, i)] = p.slice(i + 1); });\n  return o[EXAM] || '';\n}\nfunction isOwned(woo){ return !!(woo && typeof cssaddaPurchased !== 'undefined' && cssaddaPurchased && cssaddaPurchased[woo]); }\nfunction cartApi(){ return window.CSSAddaCart || null; }\nfunction inCart(id){ var C = cartApi(); return !!(C && C.hasItem && C.hasItem(id)); }\n\n\/* ================================================= 2. bundles *\/\nvar BUN = {}, BUN_ORDER = [];\nfunction siblingsOf(id){\n  \/* a Complete Pack contains the PYQ and the chapter-wise bank of its subject *\/\n  var c = CARD[id]; if(!c || c.type !== 'combo') return [];\n  var base = id.replace(\/^(combo|cw|pyq)-\/, '');\n  return ['pyq-' + base, 'cw-' + base, 'combo-' + base].filter(function(x){ return x !== id && CARD[x]; });\n}\n$$('.bcard[data-bundle]').forEach(function(el){\n  var id = el.getAttribute('data-bundle'), cfg = PE_BUNDLES[id] || {};\n  if(cfg.hide){ el.parentNode.removeChild(el); return; }\n  var b = { id:id, el:el, title:el.querySelector('h4').textContent.trim(), paper:el.getAttribute('data-paper') || '',\n            fmt:el.getAttribute('data-fmt') || '',\n            price:cfg.price || 0, was:cfg.was || 0, woo:cfg.woo || 0, parts:[], extra:[], covers:[], banks:0, sep:0 };\n  (cfg.parts || []).forEach(function(p){\n    var m = String(p).match(\/^([^:]+):(\\d+)(?::(.*))?$\/);\n    if(m){ b.extra.push({ id:m[1], price:+m[2], name:m[3] || m[1] }); b.banks++; b.sep += +m[2]; return; }\n    if(!CARD[p]){ console.warn('PE_BUNDLES: ' + id + ' lists ' + p + ', which is not on this page'); return; }\n    b.parts.push(p); b.sep += CARD[p].price;\n    b.banks += 1;\n    [p].concat(siblingsOf(p)).forEach(function(x){ if(b.covers.indexOf(x) < 0) b.covers.push(x); });\n  });\n  b.save = b.sep > b.price ? b.sep - b.price : 0;\n  b.pct  = b.sep ? Math.round(b.save \/ b.sep * 100) : 0;\n  b.live = !!b.woo;\n  b.product = { id:id, name:b.title + ' \u2014 ' + P.short, type:'bundle', price:b.price,\n                originalPrice:b.was || b.price, icon:'fa-layer-group', wooProductId:b.woo };\n  \/* paint *\/\n  var pr = el.querySelector('.bprice');\n  if(pr) pr.innerHTML = '<b>' + INR(b.price) + '<\/b>' + (b.was > b.price ? '<s>' + INR(b.was) + '<\/s>' : '');\n  var tag = el.querySelector('.btag'); if(tag) tag.textContent = b.banks + ' series' + (b.fmt ? ' \u00b7 ' + b.fmt : '');\n  var sv = el.querySelector('.bsave');\n  if(sv){ sv.hidden = !b.save; sv.textContent = 'Save ' + INR(b.save) + ' \u00b7 ' + b.pct + '%'; }\n  var cmp = el.querySelector('.bcmp');\n  if(cmp){\n    cmp.hidden = !(b.sep > b.price);\n    cmp.innerHTML = '<div class=\"bcmp-row\"><span>Bought one by one<\/span><s>' + INR(b.sep) + '<\/s><\/div>'\n      + '<div class=\"bcmp-bar\" aria-hidden=\"true\"><i style=\"width:' + Math.max(8, Math.round(b.price \/ (b.sep || 1) * 100)) + '%\"><\/i><\/div>'\n      + '<div class=\"bcmp-row\"><span>This bundle<\/span><b>' + INR(b.price) + '<\/b><\/div>';\n  }\n  var ul = el.querySelector('.blist[data-auto]');\n  if(ul){\n    ul.innerHTML = b.parts.map(function(p){ return '<li>' + esc(CARD[p].title) + '<\/li>'; }).join('')\n                 + b.extra.map(function(x){ return '<li>' + esc(x.name) + '<\/li>'; }).join('');\n  }\n  var btn = el.querySelector('.bbtn');\n  if(btn){\n    btn.setAttribute('data-woo-id', b.woo);\n    bumpOC(btn, 'price', b.price); bumpOC(btn, 'originalPrice', b.was || b.price); bumpOC(btn, 'wooProductId', b.woo);\n    btn.innerHTML = b.woo ? '<i class=\"fa-solid fa-cart-plus\"><\/i> Add to cart' : '<i class=\"fa-solid fa-bell\"><\/i> Notify me';\n  }\n  el.classList.toggle('is-soon', !b.woo);\n  var st = el.querySelector('.bstate'); if(st) st.hidden = !!b.woo;\n  BUN[id] = b; BUN_ORDER.push(id);\n});\nfunction bundlesCovering(pid, liveOnly){\n  return BUN_ORDER.map(function(k){ return BUN[k]; }).filter(function(b){\n    return b.covers.indexOf(pid) > -1 && (!liveOnly || b.live);\n  });\n}\n\n\/* ---- \"in a bundle\" hints on cards and on paper headings ---- *\/\nfunction paintHints(){\n  $$('.ts-inb, .ts-secb').forEach(function(n){ n.parentNode.removeChild(n); });\n  cards.forEach(function(c){\n    if(c.getAttribute('data-free') === '1') return;\n    var bs = bundlesCovering(c.getAttribute('data-id'), true);\n    if(!bs.length) return;\n    var b = bs.sort(function(x, y){ return x.price - y.price; })[0];\n    var body = c.querySelector('.ts-cbody');\n    body.insertAdjacentHTML('beforeend', '<button type=\"button\" class=\"ts-inb\" data-goto=\"' + b.id + '\">'\n      + '<i class=\"fa-solid fa-layer-group\"><\/i><span>Also in <b>' + esc(b.title) + '<\/b>'\n      + (b.pct ? ' \u00b7 save ' + b.pct + '%' : '') + '<\/span><\/button>');\n  });\n  $$('.ts-sec').forEach(function(h){\n    var paper = (h.getAttribute('data-group') || '').split('|')[1];\n    var bs = BUN_ORDER.map(function(k){ return BUN[k]; })\n      .filter(function(b){ return b.live && b.paper === paper; })\n      .sort(function(x, y){ return x.price - y.price; });\n    if(!bs.length) return;\n    var b = bs[0];\n    h.insertAdjacentHTML('beforeend', '<button type=\"button\" class=\"ts-secb\" data-goto=\"' + b.id + '\">'\n      + '<i class=\"fa-solid fa-layer-group\"><\/i> Whole paper ' + INR(b.price)\n      + (b.pct ? ' <em>save ' + b.pct + '%<\/em>' : '') + ' <span aria-hidden=\"true\">&rarr;<\/span><\/button>');\n  });\n}\npaintHints();\nroot.addEventListener('click', function(e){\n  var g = e.target.closest('[data-goto]'); if(!g) return;\n  var b = BUN[g.getAttribute('data-goto')]; if(!b) return;\n  var top = b.el.getBoundingClientRect().top + window.pageYOffset - barOffset() - 16;\n  window.scrollTo({ top:top, behavior:'smooth' });\n  b.el.classList.remove('pulse'); void b.el.offsetWidth; b.el.classList.add('pulse');\n});\n\n\/* ================================================= 3. bundle pop-up *\/\nvar UP_KEY = 'pe_up_declined';\nfunction declined(){ try { return JSON.parse(sessionStorage.getItem(UP_KEY) || '{}'); } catch(e){ return window.__peDecl || {}; } }\nfunction decline(ids){\n  var d = declined(); ids.forEach(function(i){ d[i] = 1; });\n  try { sessionStorage.setItem(UP_KEY, JSON.stringify(d)); } catch(e){ window.__peDecl = d; }\n}\nfunction pickOffers(product){\n  var d = declined();\n  return BUN_ORDER.map(function(k){ return BUN[k]; }).filter(function(b){\n    if(b.covers.indexOf(product.id) < 0) return false;\n    if(!(b.live || PE_UPSELL.offerSoon)) return false;\n    if(inCart(b.id) || isOwned(b.woo)) return false;\n    if(d[b.id]){\n      \/* a bundle turned down once comes back only when the cart already holds half of it *\/\n      var have = b.covers.filter(function(x){ return x === product.id || inCart(x); }).length;\n      if(have < Math.ceil(b.parts.length \/ 2)) return false;\n    }\n    return true;\n  }).sort(function(x, y){ return (y.live - x.live) || (x.price - y.price); }).slice(0, PE_UPSELL.max || 2);\n}\nfunction removeCovered(b){\n  var C = cartApi(), gone = 0; if(!C) return 0;\n  b.covers.forEach(function(x){ if(x !== b.id && C.hasItem(x)){ C.removeItem(x); gone++; } });\n  return gone;\n}\nvar up = null, upCtx = null;\nfunction buildUp(){\n  if(up) return up;\n  up = document.createElement('div');\n  up.id = 'pe-up'; up.hidden = true;\n  up.setAttribute('role', 'dialog'); up.setAttribute('aria-modal', 'true'); up.setAttribute('aria-labelledby', 'pe-upT');\n  up.innerHTML =\n    '<div class=\"up-card\">'\n    + '<div class=\"up-head\"><div><p class=\"up-eye\">Before it goes to your cart<\/p>'\n    + '<h3 id=\"pe-upT\">Get the whole set for a little more<\/h3><\/div>'\n    + '<button type=\"button\" class=\"up-x\" aria-label=\"Close\">&#10005;<\/button><\/div>'\n    + '<div class=\"up-body\">'\n    + '<div class=\"up-pick\"><span class=\"lab\">Your pick<\/span><b class=\"nm\"><\/b><span class=\"pr\"><\/span><\/div>'\n    + '<div class=\"up-offers\"><\/div>'\n    + '<p class=\"up-note\"><i class=\"fa-solid fa-shield-halved\"><\/i> Anything from the bundle already in your cart is swapped out \u2014 you never pay twice.<\/p>'\n    + '<\/div>'\n    + '<div class=\"up-foot\"><button type=\"button\" class=\"up-keep\"><\/button><\/div>'\n    + '<\/div>';\n  document.body.appendChild(up);\n  up.addEventListener('click', function(e){\n    if(e.target === up || e.target.closest('.up-x')){ closeUp(); return; }\n    if(e.target.closest('.up-keep')){ keepSingle(); return; }\n    var more = e.target.closest('.up-more');\n    if(more){ more.parentNode.classList.add('all'); more.parentNode.removeChild(more); return; }\n    var go = e.target.closest('.up-go');\n    if(go) switchTo(BUN[go.getAttribute('data-b')]);\n  });\n  document.addEventListener('keydown', function(e){\n    if(up.hidden) return;\n    if(e.key === 'Escape'){ e.stopPropagation(); closeUp(); }\n    if(e.key === 'Tab'){\n      var f = Array.prototype.slice.call(up.querySelectorAll('button')).filter(function(b){ return b.offsetParent; });\n      if(!f.length) return;\n      var i = f.indexOf(document.activeElement);\n      if(e.shiftKey && i <= 0){ e.preventDefault(); f[f.length - 1].focus(); }\n      else if(!e.shiftKey && i === f.length - 1){ e.preventDefault(); f[0].focus(); }\n    }\n  }, true);\n  return up;\n}\nfunction openUp(product, btn, offers){\n  buildUp();\n  upCtx = { product:product, btn:btn, offers:offers };\n  up.querySelector('.nm').textContent = product.title || (CARD[product.id] && CARD[product.id].title) || product.name;\n  up.querySelector('.pr').textContent = INR(product.price);\n  up.querySelector('#pe-upT').textContent = offers.length > 1\n    ? 'This series comes in ' + offers.length + ' bundles'\n    : 'Get the whole set for a little more';\n  up.querySelector('.up-keep').innerHTML = 'No thanks \u2014 add only this series <b>' + INR(product.price) + '<\/b>';\n  up.querySelector('.up-offers').innerHTML = offers.map(function(b, i){\n    var others = b.covers.filter(function(x){ return x !== product.id && inCart(x); });\n    var othersCost = others.reduce(function(s, x){ return s + CARD[x].price; }, 0);\n    var w = function(x){ return 1; };\n    var delta = b.price - product.price - othersCost;\n    var rows = b.parts.map(function(p){\n      var mine = p === product.id || siblingsOf(p).indexOf(product.id) > -1;\n      var tag = mine ? (p === product.id ? 'your pick' : 'includes your pick') : (inCart(p) ? 'in cart' : '');\n      return { mine:mine, html:'<li class=\"' + (mine ? 'me' : (tag ? 'in' : '')) + '\"><span>' + esc(CARD[p].title) + '<\/span>'\n        + (tag ? '<em>' + tag + '<\/em>' : '') + '<\/li>' };\n    }).concat(b.extra.map(function(x){ return { mine:false, html:'<li><span>' + esc(x.name) + '<\/span><\/li>' }; }));\n    rows.sort(function(x, y){ return y.mine - x.mine; });\n    var list = rows.map(function(r){ return r.html; }), cut = list.length <= 5 ? list.length : 4;\n    var rest = list.length - cut;\n    var more = Math.max(0, b.banks - w(product.id) - others.reduce(function(s, x){ return s + w(x); }, 0));\n    var line = delta <= 0\n      ? 'That is <b>' + INR(-delta) + ' less<\/b> than paying for ' + (others.length ? 'these series' : 'this series') + ' separately.'\n      : (others.length\n          ? 'With the ' + others.length + ' series already in your cart, it is just <b>' + INR(delta) + ' more<\/b>.'\n          : 'Only <b>' + INR(delta) + ' more<\/b> than this series alone' + (more ? ' \u2014 for ' + more + ' more series.' : '.'));\n    return '<article class=\"up-offer' + (BUN[b.id].el.classList.contains('feature') ? ' best' : '') + '\">'\n      + '<div class=\"up-otop\"><span class=\"tag\">' + b.banks + ' series' + (b.fmt ? ' \u00b7 ' + esc(b.fmt) : '') + '<\/span>'\n      + (b.pct ? '<span class=\"save\">Save ' + INR(b.save) + ' \u00b7 ' + b.pct + '%<\/span>' : '') + '<\/div>'\n      + '<h4>' + esc(b.title) + '<\/h4>'\n      + '<ul class=\"up-list' + (rest > 0 ? '' : ' all') + '\">' + list.join('')\n      + (rest > 0 ? '<li class=\"up-more\"><button type=\"button\">+ ' + rest + ' more in this bundle<\/button><\/li>' : '') + '<\/ul>'\n      + '<div class=\"up-cmp\">'\n      + (b.sep > b.price ? '<div class=\"a\"><span>Bought one by one<\/span><s>' + INR(b.sep) + '<\/s><\/div>' : '')\n      + '<div class=\"b\"><span>Bundle<\/span><b>' + INR(b.price) + '<\/b><\/div><\/div>'\n      + '<p class=\"up-delta\">' + line + '<\/p>'\n      + (b.live\n          ? '<button type=\"button\" class=\"up-go\" data-b=\"' + b.id + '\"><i class=\"fa-solid fa-layer-group\"><\/i> Switch to bundle \u00b7 ' + INR(b.price) + '<\/button>'\n          : '<p class=\"up-soon\">Bundle opening soon \u2014 you can switch once it launches.<\/p>')\n      + '<\/article>';\n  }).join('');\n  up.hidden = false;\n  document.body.style.overflow = 'hidden';\n  requestAnimationFrame(function(){ up.classList.add('open');\n    var f = up.querySelector('.up-go') || up.querySelector('.up-keep'); if(f) f.focus(); });\n}\nfunction closeUp(){\n  if(!up || up.hidden) return;\n  up.classList.remove('open'); up.hidden = true;\n  document.body.style.overflow = '';\n  if(upCtx && upCtx.btn && upCtx.btn.focus) upCtx.btn.focus();\n}\nfunction keepSingle(){\n  var ctx = upCtx; closeUp();\n  decline(ctx.offers.map(function(b){ return b.id; }));\n  window.addToCart(ctx.product, ctx.btn);\n}\nfunction switchTo(b){\n  var ctx = upCtx; closeUp();\n  var gone = removeCovered(b);\n  var r = window.addToCart(b.product, b.el.querySelector('.bbtn'));\n  var C = cartApi();\n  if(C && gone && C.hasItem(b.id)) C.showToast('\u2705 ' + b.title + ' added \u2014 ' + gone + ' series inside it taken out of your cart', 'success');\n  return r;\n}\n\/* every Add-to-cart on this page goes through here first *\/\nwindow.peAddToCart = function(product, btn){\n  if(typeof window.addToCart !== 'function'){ console.error('[PromotionExams] cart script not loaded'); return; }\n  var C = cartApi();\n  var loggedOut = typeof cssaddaIsLoggedIn !== 'undefined' && !cssaddaIsLoggedIn;\n  if(loggedOut || (btn && btn.classList.contains('purchased')) || !product.wooProductId) return window.addToCart(product, btn);\n  if(product.type === 'bundle'){\n    var b = BUN[product.id], gone = (b && !inCart(b.id)) ? removeCovered(b) : 0;\n    var r = window.addToCart(product, btn);\n    if(C && gone && C.hasItem(product.id)) C.showToast('\u2705 Bundle added \u2014 ' + gone + ' series inside it taken out of your cart', 'success');\n    return r;\n  }\n  if(inCart(product.id) || !PE_UPSELL.on || !(product.price > 0)) return window.addToCart(product, btn);\n  var holder = bundlesCovering(product.id).filter(function(b){ return inCart(b.id); })[0];\n  if(holder){ C.showToast('Already in your cart \u2014 it comes with ' + holder.title, 'info'); return; }\n  var owner = bundlesCovering(product.id).filter(function(b){ return isOwned(b.woo); })[0];\n  if(owner){ C.showToast('You already own this through ' + owner.title + ' \u2014 open My Purchases', 'info'); return; }\n  var offers = pickOffers(product);\n  if(!offers.length) return window.addToCart(product, btn);\n  openUp(product, btn, offers);\n};\n\n\/* ================================================= 4. shelf filters *\/\nvar grid = $('#ts-grid'), qEl = $('#ts-q'), empty = $('#ts-empty'), note = $('#ts-note');\nvar state = { fmt:'all', paper:'' };\nfunction q(){ return qEl ? qEl.value.trim().toLowerCase() : ''; }\nfunction okFmt(c, f){ f = f === undefined ? state.fmt : f; return f === 'all' || c.getAttribute('data-type') === f; }\nfunction okPaper(c, p){ p = p === undefined ? state.paper : p; return !p || paperOf(c) === p; }\nfunction okQ(c){ var s = q(); if(!s) return true;\n  return ((c.getAttribute('data-title') || '') + ' ' + (c.getAttribute('data-subject') || '') + ' '\n          + (c.querySelector('.ts-ctitle') || {}).textContent).toLowerCase().indexOf(s) > -1; }\nfunction tally(fns){ return cards.filter(function(c){ return fns.every(function(f){ return f(c); }); }).length; }\nfunction liveIn(g){\n  return cards.some(function(c){\n    if(c.style.display === 'none') return false;\n    var cg = c.getAttribute('data-group') || '';\n    return cg === g || cg.indexOf(g + '|') === 0;\n  });\n}\nfunction syncHeads(){\n  $$('.ts-headsoon').forEach(function(b){\n    var g = b.getAttribute('data-group'), part = g.split('|');\n    var on = state.fmt === 'all' && !q() && (!state.paper || state.paper === part[1]) && !liveIn(g);\n    b.style.display = on ? '' : 'none';\n  });\n  $$('.ts-sec, .ts-sub').forEach(function(h){\n    var g = h.getAttribute('data-group');\n    var strip = root.querySelector('.ts-headsoon[data-group=\"' + g + '\"]');\n    h.style.display = (liveIn(g) || (strip && strip.style.display !== 'none')) ? '' : 'none';\n  });\n}\nfunction drawChips(){\n  $$('#ts-paperChips .chip').forEach(function(b){\n    var p = b.getAttribute('data-paper');\n    b.setAttribute('aria-pressed', String(p === state.paper));\n    if(!p) return;\n    var n = tally([okFmt, okQ, function(c){ return okPaper(c, p); }]);\n    var soonHead = b.hasAttribute('data-soonhead');\n    b.hidden = n === 0 && p !== state.paper && !soonHead;\n    var em = b.querySelector('em'); if(em) em.textContent = n ? n : (soonHead ? 'soon' : '0');\n  });\n  $$('#ts-fmtChips .chip[data-fmt]').forEach(function(b){\n    var f = b.getAttribute('data-fmt');\n    b.setAttribute('aria-pressed', String(f === state.fmt));\n    var n = tally([function(c){ return okFmt(c, f); }, okPaper, okQ]);\n    b.hidden = n === 0 && f !== 'all' && f !== state.fmt;\n  });\n}\nfunction drawActive(){\n  var host = $('#ts-active'), out = [];\n  var X = '<svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"3\"><path d=\"M5 5l14 14M19 5L5 19\"\/><\/svg>';\n  if(q()) out.push({ k:'q', t:'\u201c' + esc(q()) + '\u201d' });\n  if(state.fmt !== 'all') out.push({ k:'fmt', t:P.fmtLabel[state.fmt] });\n  if(state.paper){\n    var lab = state.paper; P.syllabus.forEach(function(p){ if(p.paper === state.paper) lab = p.label; });\n    out.push({ k:'paper', t:esc(lab) });\n  }\n  host.innerHTML = out.length ? '<span class=\"lb\">Filtering by<\/span>' + out.map(function(c){\n    return '<button type=\"button\" class=\"fchip\" data-k=\"' + c.k + '\"><span>' + c.t + '<\/span>' + X + '<\/button>';\n  }).join('') + '<button type=\"button\" class=\"ts-clearall\" data-clear>Clear all<\/button>' : '';\n}\nfunction apply(){\n  var shown = 0;\n  cards.forEach(function(c){\n    var ok = okFmt(c) && okPaper(c) && okQ(c);\n    c.style.display = ok ? 'flex' : 'none'; if(ok) shown++;\n  });\n  syncHeads();\n  var soonRows = $$('.ts-headsoon').filter(function(b){ return b.style.display !== 'none'; }).length;\n  empty.hidden = shown + soonRows > 0; grid.hidden = shown + soonRows === 0;\n  note.innerHTML = (state.fmt === 'all' && P.examNote) ? P.examNote : P.note[state.fmt];\n  var qx = $('#ts-qx'); if(qx) qx.style.display = q() ? 'block' : 'none';\n  drawChips(); drawActive(); fitWidth();\n}\nfunction reset(){ if(qEl) qEl.value = ''; state.fmt = 'all'; state.paper = ''; apply(); toast('Filters cleared.'); }\nfunction barOffset(){ var bar = $('.ts-bar'); return (parseFloat(getComputedStyle(root).getPropertyValue('--ts-top')) || 0) + (bar ? bar.offsetHeight : 0); }\nfunction toShelf(){\n  var top = $('.ts-main').getBoundingClientRect().top + window.pageYOffset - barOffset() - 6;\n  window.scrollTo({ top:top, behavior:'smooth' });\n}\nif($('#ts-fmtChips')) $('#ts-fmtChips').addEventListener('click', function(e){\n  var b = e.target.closest('.chip[data-fmt]'); if(!b) return;\n  state.fmt = b.getAttribute('data-fmt'); apply();\n});\n$('#ts-paperChips').addEventListener('click', function(e){\n  var b = e.target.closest('.chip'); if(!b) return;\n  state.paper = b.getAttribute('data-paper'); apply();\n});\n$$('[data-gopaper]').forEach(function(a){\n  a.addEventListener('click', function(e){\n    e.preventDefault(); state.paper = a.getAttribute('data-gopaper'); state.fmt = 'all'; apply(); toShelf();\n  });\n});\n$('#ts-active').addEventListener('click', function(e){\n  if(e.target.closest('[data-clear]')){ reset(); return; }\n  var b = e.target.closest('.fchip'); if(!b) return;\n  var k = b.getAttribute('data-k');\n  if(k === 'q' && qEl) qEl.value = ''; else if(k === 'fmt') state.fmt = 'all'; else if(k === 'paper') state.paper = '';\n  apply();\n});\n$('#ts-reset').addEventListener('click', reset);\nif($('#ts-qx')) $('#ts-qx').addEventListener('click', function(){ qEl.value = ''; apply(); qEl.focus(); });\nif(qEl){\n  qEl.addEventListener('input', apply);\n  qEl.addEventListener('keydown', function(e){ if(e.key === 'Enter'){ e.preventDefault(); toShelf(); } });\n}\ngrid.addEventListener('click', function(e){\n  if(e.target.closest('.ts-headsoon button')) toast('Noted \u2014 we will email you the day this head opens.');\n});\n\n\/* ================================================= 5. live mock series *\/\nvar LM = window.LIVE_MOCKS || null, lmPaper = '';\nvar lmBtns = $$('.lm-enroll:not(.notify)');\nfunction mStart(m){ return new Date(m.date + 'T' + (m.time || '10:00') + ':00+05:30'); }\nfunction mEnd(m){ return new Date(mStart(m).getTime() + (LM.window || 24) * 3600e3); }\nvar DAYS = ['Sun','Mon','Tue','Wed','Thu','Fri','Sat'], MONS = ['Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec'];\nfunction ist(d){ return new Date(d.getTime() + 330 * 60e3); }   \/* read UTC fields of this = IST wall clock *\/\nfunction fmtWhen(d){\n  var t = ist(d), h = t.getUTCHours(), mi = t.getUTCMinutes();\n  return DAYS[t.getUTCDay()] + ', ' + t.getUTCDate() + ' ' + MONS[t.getUTCMonth()] + ' \u00b7 '\n    + ((h % 12) || 12) + ':' + (mi < 10 ? '0' : '') + mi + (h < 12 ? ' AM' : ' PM') + ' IST';\n}\nfunction fmtRange(m){\n  var a = ist(mStart(m)), b = ist(new Date(mStart(m).getTime() + (m.mins || 120) * 60e3));\n  function hm(t, ap){ var h = t.getUTCHours(), mi = t.getUTCMinutes(); return ((h % 12) || 12) + ':' + (mi < 10 ? '0' : '') + mi + (ap ? (h < 12 ? ' AM' : ' PM') : ''); }\n  var same = (a.getUTCHours() < 12) === (b.getUTCHours() < 12);\n  return DAYS[a.getUTCDay()] + ', ' + a.getUTCDate() + ' ' + MONS[a.getUTCMonth()] + ' \u00b7 ' + hm(a, !same) + '\u2013' + hm(b, true) + ' IST';\n}\nfunction fmtLeft(ms){\n  var s = Math.max(0, Math.floor(ms \/ 1000)), d = Math.floor(s \/ 86400), h = Math.floor(s % 86400 \/ 3600), m = Math.floor(s % 3600 \/ 60);\n  return d ? d + 'd ' + h + 'h' : (h ? h + 'h ' + m + 'm' : m + 'm');\n}\nfunction durTxt(mins){ return mins % 60 ? (mins >= 60 ? Math.floor(mins \/ 60) + ' h ' : '') + mins % 60 + ' min' : (mins \/ 60) + (mins === 60 ? ' hour' : ' hours'); }\nfunction mockState(m, now){\n  var s = mStart(m), e = mEnd(m);\n  return now < s ? 'up' : (now < e ? 'live' : 'done');\n}\nfunction seriesStart(){ return LM.starts ? new Date(LM.starts + 'T' + (LM.startsTime || '09:30') + ':00+05:30') : null; }\nfunction enrolDeadline(){\n  if(LM.enrolBy) return new Date(LM.enrolBy);\n  var f = (LM.list || []).slice().sort(function(a, b){ return mStart(a) - mStart(b); })[0];\n  return f ? mStart(f) : seriesStart();\n}\nfunction tickEnrol(){\n  var d = enrolDeadline(); if(!d) return;\n  var now = new Date(), closed = now >= d;\n  $$('.lm-enroll').forEach(function(b){\n    if(closed && !b.classList.contains('purchased') && !b.classList.contains('closed')){\n      b.classList.add('closed'); b.disabled = true; b.innerHTML = '<i class=\"fa-solid fa-lock\"><\/i> Enrolment closed';\n    }\n  });\n  $$('[data-enrol-by]').forEach(function(el){\n    el.innerHTML = closed\n      ? '<i class=\"fa-solid fa-lock\"><\/i><span>Enrolment closed ' + fmtWhen(d) + ' \\u2014 <a href=\"' + PE_WA + '\" target=\"_blank\" rel=\"noopener noreferrer\">ask on WhatsApp<\/a> for a late seat<\/span>'\n      : '<i class=\"fa-regular fa-calendar-check\"><\/i><span>Enrol any time before the first test opens \\u2014 <b>' + fmtWhen(d) + '<\/b> \\u00b7 ' + fmtLeft(d - now) + ' left<\/span>';\n  });\n}\nfunction nextMock(now){\n  var live = null, up = null;\n  (LM.list || []).forEach(function(m){\n    var st = mockState(m, now);\n    if(st === 'live' && !live) live = m;\n    if(st === 'up' && (!up || mStart(m) < mStart(up))) up = m;\n  });\n  return live || up;\n}\nfunction paintMocks(){\n  if(!LM || !$('#lm-list')){ tickMocks(); return; }\n  var now = new Date(), nx = nextMock(now), list = (LM.list || []).slice().sort(function(a, b){ return mStart(a) - mStart(b); });\n  $('#lm-list').innerHTML = list.map(function(m, i){\n    var st = mockState(m, now), s = ist(mStart(m));\n    var chip = st === 'live' ? '<span class=\"lm-st live\"><i><\/i>Live now \u00b7 closes in ' + fmtLeft(mEnd(m) - now) + '<\/span>'\n             : st === 'up'   ? '<span class=\"lm-st up\">' + (m === nx ? 'Next \u00b7 in ' + fmtLeft(mStart(m) - now) : 'Upcoming') + '<\/span>'\n             :                 '<span class=\"lm-st done\">Completed \u00b7 practice mode open<\/span>';\n    var meta = [m.paper, m.qs ? m.qs + ' Qs' : '', m.marks ? m.marks + ' marks' : '', m.mins ? durTxt(m.mins) : ''].filter(Boolean).join(' \u00b7 ');\n    var code = m.code ? esc(m.code) : 'Mock ' + (i + 1);\n    var demo = (LM.demo && LM.demo.url && m.code && LM.demo.code === m.code)\n      ? '<a class=\"lm-demo-lnk\" href=\"' + esc(LM.demo.url) + '\" target=\"_blank\" rel=\"noopener noreferrer\"><i class=\"fa-solid fa-play\"><\/i> Try the demo booklet<\/a>' : '';\n    return '<li class=\"lm-row ' + st + (m === nx ? ' nx' : '') + '\" data-paper=\"' + esc(m.paper || '') + '\"' + (lmPaper && m.paper !== lmPaper ? ' hidden' : '') + '>'\n      + '<div class=\"lm-date\"><b>' + s.getUTCDate() + '<\/b><span>' + MONS[s.getUTCMonth()] + '<\/span><em>' + DAYS[s.getUTCDay()] + '<\/em><\/div>'\n      + '<div class=\"lm-info\"><span class=\"lm-n\">' + code + (m.kind ? ' <em>' + esc(m.kind) + '<\/em>' : '') + '<\/span><h4>' + m.title + '<\/h4>'\n      + '<p class=\"lm-meta\">' + meta + '<\/p>'\n      + '<p class=\"lm-time\"><i class=\"fa-regular fa-clock\"><\/i> ' + fmtRange(m) + '<\/p>' + demo + '<\/div>'\n      + '<div class=\"lm-side\">' + chip + '<\/div><\/li>';\n  }).join('');\n  var cnt = $('#lm-count'); if(cnt) cnt.textContent = list.length + ' tests \u00b7 ' + (LM.window || 24) + '-hour ranked window each';\n  var pf = $('#lm-pf');\n  if(pf && !pf.children.length){\n    var ps = []; list.forEach(function(m){ if(m.paper && \/^Paper\/.test(m.paper) && ps.indexOf(m.paper) < 0) ps.push(m.paper); });\n    if(ps.length > 1){\n      pf.innerHTML = [''].concat(ps).map(function(x){ return '<button type=\"button\" class=\"chip\" data-lmp=\"' + esc(x) + '\" aria-pressed=\"' + String(x === lmPaper) + '\">' + (x || 'All') + '<\/button>'; }).join('');\n      pf.addEventListener('click', function(e){ var b = e.target.closest('[data-lmp]'); if(!b) return; lmPaper = b.getAttribute('data-lmp'); paintMocks(); });\n    }\n  }\n  $$('#lm-pf .chip').forEach(function(b){ b.setAttribute('aria-pressed', String(b.getAttribute('data-lmp') === lmPaper)); });\n  tickMocks();\n}\nfunction tickMocks(){\n  if(!LM) return;\n  var now = new Date(), nx = nextMock(now);\n  var boxes = $$('[data-lm-next]');\n  boxes.forEach(function(box){\n    var t = box.querySelector('.lmn-title'), w = box.querySelector('.lmn-when'), cd = box.querySelector('.lmn-cd');\n    if(LM.announce) return;\n    var ss = seriesStart();\n    if(!nx && ss && !(LM.list || []).length){\n      \/* no schedule yet: count down to the day the series opens *\/\n      if(ss > now){\n        t.textContent = 'Opens ' + fmtWhen(ss).replace(\/ \\u00b7 .*$\/, ''); w.textContent = 'Schedule to be published \\u00b7 enrol before it opens';\n        if(cd){\n          var ms0 = ss - now, s0 = Math.max(0, Math.floor(ms0 \/ 1000));\n          var p0 = [[Math.floor(s0 \/ 86400), 'days'], [Math.floor(s0 % 86400 \/ 3600), 'hrs'], [Math.floor(s0 % 3600 \/ 60), 'min'], [s0 % 60, 'sec']];\n          cd.innerHTML = p0.map(function(p){ return '<div><b>' + (p[0] < 10 ? '0' : '') + p[0] + '<\/b><span>' + p[1] + '<\/span><\/div>'; }).join('');\n        }\n      } else { t.textContent = 'The series is open'; w.textContent = 'Schedule to be published'; if(cd) cd.innerHTML = ''; }\n      return;\n    }\n    if(!nx){\n      t.textContent = 'This cycle\u2019s mocks are complete'; w.textContent = 'Every paper stays open in practice mode';\n      if(cd) cd.innerHTML = ''; box.classList.add('over'); return;\n    }\n    var live = mockState(nx, now) === 'live';\n    var k = box.querySelector('.lmn-k');\n    if(k){ if(!k.dataset.def) k.dataset.def = k.textContent; k.textContent = live ? 'Live now' : k.dataset.def; }\n    t.innerHTML = nx.title;\n    w.textContent = live ? 'Live now \u2014 ranked window closes ' + fmtWhen(mEnd(nx)) : fmtWhen(mStart(nx));\n    box.classList.toggle('is-live', live);\n    if(cd){\n      var ms = (live ? mEnd(nx) : mStart(nx)) - now, s = Math.max(0, Math.floor(ms \/ 1000));\n      var parts = [[Math.floor(s \/ 86400), 'days'], [Math.floor(s % 86400 \/ 3600), 'hrs'], [Math.floor(s % 3600 \/ 60), 'min'], [s % 60, 'sec']];\n      cd.innerHTML = parts.map(function(p){ return '<div><b>' + (p[0] < 10 ? '0' : '') + p[0] + '<\/b><span>' + p[1] + '<\/span><\/div>'; }).join('');\n      cd.setAttribute('aria-label', (live ? 'Closes in ' : 'Starts in ') + fmtLeft(ms));\n    }\n  });\n}\nif(LM){\n  \/* the enrol button follows LIVE_MOCKS.product, same rules as a card *\/\n  var pr = LM.product || {};\n  lmBtns.forEach(function(lmBtn){\n    lmBtn.setAttribute('data-woo-id', pr.woo || 0);\n    bumpOC(lmBtn, 'price', pr.price || 0); bumpOC(lmBtn, 'originalPrice', pr.was || pr.price || 0); bumpOC(lmBtn, 'wooProductId', pr.woo || 0);\n    lmBtn.innerHTML = '<i class=\"fa-solid fa-bolt\"><\/i> Enrol now';\n    \/* no Woo ID yet: \"Enrol now\" opens a WhatsApp chat (or the launching-soon toast), so enrolment never dead-ends *\/\n    if(!pr.woo && LM.enrol && LM.enrol.fallback === 'wa'){\n      lmBtn.removeAttribute('onclick');\n      lmBtn.addEventListener('click', function(){\n        window.open(PE_WA + '?text=' + encodeURIComponent(LM.enrol.text || ('I want to enrol in ' + pr.name)), '_blank', 'noopener');\n      });\n    }\n  });\n  $$('[data-lm-price]').forEach(function(lp){\n    var off = pr.was > pr.price ? Math.round((pr.was - pr.price) \/ pr.was * 100) : 0;\n    lp.innerHTML = pr.price > 0 ? '<b>' + INR(pr.price) + '<\/b>' + (pr.was > pr.price ? '<s>' + INR(pr.was) + '<\/s><i>' + off + '% off<\/i>' : '')\n                                : '<em class=\"ts-tbd\">Price on launch<\/em>';\n  });\n  if(LM.plan && LM.plan.url) $$('[data-plan-link]').forEach(function(a){ a.href = LM.plan.url; });\n  else $$('.lm-planlink, .lm-sylcard.plan:not(.soon)').forEach(function(n){ n.hidden = true; });\n  var dp = $('#lm-demo');\n  if(dp){\n    if(LM.demo && LM.demo.url){ $$('[data-demo-link]').forEach(function(a){ a.href = LM.demo.url; }); }\n    else dp.hidden = true;\n  }\n  paintMocks(); tickEnrol();\n  setInterval(tickMocks, 1000); setInterval(tickEnrol, 30000);\n  setInterval(paintMocks, 60000);\n  \/* structured data for the schedule, built from the same list *\/\n  try {\n    var pr2 = LM.product || {};\n    var ev = (LM.list || []).filter(function(m){ return mEnd(m) > new Date(); }).map(function(m){\n      return { '@type':'EducationEvent', name:pr2.name + ' \u2014 ' + m.title.replace(\/&amp;\/g, '&'),\n        startDate:m.date + 'T' + (m.time || '10:00') + ':00+05:30',\n        endDate:new Date(mStart(m).getTime() + (m.mins || 120) * 60e3).toISOString(),\n        eventAttendanceMode:'https:\/\/schema.org\/OnlineEventAttendanceMode', eventStatus:'https:\/\/schema.org\/EventScheduled',\n        location:{ '@type':'VirtualLocation', url:P.url + '#live-mocks' },\n        description:(m.covers || '').replace(\/<[^>]+>\/g, '').replace(\/&amp;\/g, '&'), image:P.logo,\n        organizer:{ '@type':'Organization', name:'PromotionExams', url:'https:\/\/promotionexams.com\/' },\n        offers:{ '@type':'Offer', price:String(pr2.price || 0), priceCurrency:'INR', url:P.url + '#live-mocks',\n                 availability:pr2.woo ? 'https:\/\/schema.org\/InStock' : 'https:\/\/schema.org\/PreOrder' } };\n    });\n    if(ev.length){\n      var sd = document.createElement('script'); sd.type = 'application\/ld+json';\n      sd.textContent = JSON.stringify({ '@context':'https:\/\/schema.org', '@graph':ev });\n      root.appendChild(sd);\n    }\n  } catch(e){ console.warn(e); }\n}\n\n\/* ================================================= 6. hero: exam countdown + counts *\/\n(function(){\n  var n = cards.length;\n  $$('[data-count=\"series\"]').forEach(function(el){ el.textContent = n; });\n  $$('[data-paper-count]').forEach(function(el){\n    var p = el.getAttribute('data-paper-count');\n    var c = cards.filter(function(x){ return paperOf(x) === p; }).length;\n    el.textContent = c ? c + ' series' : 'soon';\n  });\n  var box = $('#ts-examday');\n  if(!PE_EXAM.date){ if(box) box.classList.add('tbd'); return; }\n  var d = new Date(PE_EXAM.date + 'T09:00:00+05:30'), left = Math.ceil((d - new Date()) \/ 86400e3);\n  var t = ist(d), lab = DAYS[t.getUTCDay()] + ', ' + t.getUTCDate() + ' ' + MONS[t.getUTCMonth()] + ' ' + t.getUTCFullYear();\n  $$('[data-examdate]').forEach(function(el){ el.textContent = t.getUTCDate() + ' ' + MONS[t.getUTCMonth()] + ' ' + t.getUTCFullYear(); });\n  if(!box) return;\n  var edd = box.querySelector('.ed-date'); if(edd && !edd.textContent.trim()) edd.textContent = lab;\n  box.querySelector('.ed-left').innerHTML = left > 1 ? '<b>' + left + '<\/b> days to go' : (left === 1 ? '<b>1<\/b> day to go' : (left === 0 ? 'Today' : 'Exam held'));\n  if(left < 0) box.classList.add('past');\n})();\n\n\/* ================================================= 7. modal, FAQ, toast, carousel, validity *\/\nvar tTimer;\nfunction toast(msg){\n  var t = $('#ts-toast'); if(!t) return;\n  $('#ts-toastMsg').textContent = msg; t.classList.add('show');\n  clearTimeout(tTimer); tTimer = setTimeout(function(){ t.classList.remove('show'); }, 3000);\n}\nfunction openSyllabus(){ $('#ts-modal').classList.add('open'); }\nfunction closeSyllabus(){ $('#ts-modal').classList.remove('open'); }\n$$('[data-syllabus]').forEach(function(b){ b.addEventListener('click', openSyllabus); });\n$('#ts-modalX').addEventListener('click', closeSyllabus);\n$('#ts-modalClose').addEventListener('click', closeSyllabus);\n$('#ts-modal').addEventListener('click', function(e){ if(e.target === this) closeSyllabus(); });\ndocument.addEventListener('keydown', function(e){ if(e.key === 'Escape') closeSyllabus(); });\n$$('[data-notify]').forEach(function(b){\n  b.addEventListener('click', function(){ toast('Noted \u2014 we will email you the day it opens.'); });\n});\n$$('.faq-q').forEach(function(b){\n  b.addEventListener('click', function(){\n    var open = b.getAttribute('aria-expanded') === 'true';\n    b.setAttribute('aria-expanded', String(!open));\n    b.nextElementSibling.hidden = open;\n    b.closest('.faq-item').classList.toggle('open', !open);\n  });\n});\n(function(){\n  var HTML = '<i class=\"fa-solid fa-hourglass-half\"><\/i> ' + esc(PE_VALIDITY);\n  function line(cls){ var d = document.createElement('div'); d.className = cls; d.innerHTML = HTML; return d; }\n  cards.forEach(function(c){\n    var body = c.querySelector('.ts-cbody'); if(!body || body.querySelector('.ts-valid')) return;\n    var inb = body.querySelector('.ts-inb');\n    inb ? body.insertBefore(line('ts-valid'), inb) : body.appendChild(line('ts-valid'));\n  });\n  $$('.bcard').forEach(function(b){\n    if(b.querySelector('.b-valid')) return;\n    var foot = b.querySelector('.bfoot'); var d = line('b-valid');\n    foot ? b.insertBefore(d, foot) : b.appendChild(d);\n  });\n})();\n\/* full-bleed + top-gap, same as the Rules Repository *\/\nfunction fitWidth(){\n  root.style.setProperty('--ts-vw', document.documentElement.clientWidth + 'px');\n  var bar = $('.ts-bar'); if(bar) root.style.setProperty('--ts-barh', bar.offsetHeight + 'px');\n}\nfunction killTopGap(){\n  var manual = root.style.getPropertyValue('--ts-manual-pull').trim();\n  if(manual){ root.style.setProperty('--ts-pull', manual); return; }\n  root.style.setProperty('--ts-pull', '0px');\n  var el = root, pull = 0, hops = 0;\n  while(el.parentElement && el.parentElement.tagName !== 'BODY' && hops < 8){\n    var parent = el.parentElement, prev = el.previousElementSibling, blocked = false;\n    while(prev){\n      var ps = getComputedStyle(prev);\n      if(ps.display !== 'none' && ps.position !== 'absolute' && ps.position !== 'fixed'){ blocked = true; break; }\n      prev = prev.previousElementSibling;\n    }\n    if(blocked) break;\n    var cs = getComputedStyle(parent), es = getComputedStyle(el);\n    pull += (parseFloat(cs.paddingTop) || 0) + (parseFloat(cs.borderTopWidth) || 0);\n    if(el !== root) pull += (parseFloat(es.marginTop) || 0);\n    el = parent; hops++;\n  }\n  if(pull > 0) root.style.setProperty('--ts-pull', pull + 'px');\n}\nfunction reflow(){ fitWidth(); killTopGap(); }\nreflow();\nwindow.addEventListener('resize', reflow);\nwindow.addEventListener('load', reflow);\n(function(){\n  var deck = $('#shotDeck'), track = $('#shotTrack'), cap = $('#shotCap');\n  if(!deck || !track) return;\n  var slides = $$('.shot-slide'), dots = $$('.shot-dot'),\n      caps = ['Practice \u2014 every answer cites the governing rule',\n              'My Performance \u2014 readiness scored against exam weight',\n              'Exam Analytics \u2014 what the paper has actually asked'],\n      len = slides.length, i = 0, timer = null, paused = false;\n  var still = window.matchMedia && window.matchMedia('(prefers-reduced-motion: reduce)').matches;\n  function go(k){\n    i = (k % len + len) % len;\n    track.style.transform = 'translateX(' + (-i * 100) + '%)';\n    dots.forEach(function(d, j){ d.classList.toggle('on', j === i); });\n    slides.forEach(function(s, j){ s.setAttribute('aria-hidden', j !== i); });\n    if(cap) cap.textContent = caps[i] || '';\n  }\n  function start(){ if(still || timer) return; timer = setInterval(function(){ if(!paused) go(i + 1); }, 4600); }\n  function stop(){ if(timer){ clearInterval(timer); timer = null; } }\n  dots.forEach(function(d, j){ d.addEventListener('click', function(){ go(j); stop(); start(); }); });\n  ['mouseenter','focusin'].forEach(function(e){ deck.addEventListener(e, function(){ paused = true; }); });\n  ['mouseleave','focusout'].forEach(function(e){ deck.addEventListener(e, function(){ paused = false; }); });\n  go(0);\n  if(window.IntersectionObserver){\n    new IntersectionObserver(function(en){ en[0].isIntersecting ? start() : stop(); }, { threshold:0.3 }).observe(deck);\n  } else start();\n})();\napply();\n})();\n\n<\/script>\n<!-- ===================================================================\n     CSS ADDA \u2014 Cart System v3.0. Requires the \"CSS Adda Cart Sync v3\"\n     PHP snippet in WordPress. If your theme footer already loads this\n     sitewide, delete this block \u2014 the cart re-initialises safely either way.\n     =================================================================== -->\n<script>\n(function() {\n    'use strict';\n    const CONFIG = {\n        storageKey: 'cssadda_cart',\n        maxItems: 50,\n        toastDuration: 3000,\n        DEBUG_MODE: true  \/\/ Set to false in production\n    };\n    function debug(...args) {\n        if (CONFIG.DEBUG_MODE) { console.log('[CSS ADDA Cart]', ...args); }\n    }\n    class Cart {\n        constructor() { this.items = this.loadFromStorage(); this.listeners = []; }\n        loadFromStorage() {\n            try {\n                const data = localStorage.getItem(CONFIG.storageKey);\n                const items = data ? JSON.parse(data) : [];\n                return Array.isArray(items) ? items : [];\n            } catch (e) { console.error('Error loading cart:', e); return []; }\n        }\n        saveToStorage() {\n            try { localStorage.setItem(CONFIG.storageKey, JSON.stringify(this.items)); }\n            catch (e) { console.error('Error saving cart:', e); }\n        }\n        addItem(product) {\n            if (!product || !product.id || !product.name || typeof product.price !== 'number') {\n                return { success: false, message: 'Invalid product data' };\n            }\n            if (this.hasItem(product.id)) { return { success: false, message: 'Already in cart' }; }\n            if (this.items.length >= CONFIG.maxItems) {\n                return { success: false, message: 'Cart is full (max ' + CONFIG.maxItems + ' items)' };\n            }\n            product.addedAt = new Date().toISOString();\n            this.items.push(product);\n            this.saveToStorage();\n            this.notifyListeners('add', product);\n            return { success: true, message: 'Added to cart' };\n        }\n        removeItem(productId) {\n            const index = this.items.findIndex(item => item.id === productId);\n            if (index === -1) { return { success: false, message: 'Item not found' }; }\n            const removed = this.items.splice(index, 1)[0];\n            this.saveToStorage();\n            this.notifyListeners('remove', removed);\n            return { success: true, message: 'Item removed', item: removed };\n        }\n        hasItem(productId) { return this.items.some(item => item.id === productId); }\n        getItems() { return [...this.items]; }\n        getCount() { return this.items.length; }\n        getTotal() { return this.items.reduce((s, i) => s + (i.price || 0), 0); }\n        getOriginalTotal() { return this.items.reduce((s, i) => s + (i.originalPrice || i.price || 0), 0); }\n        getSavings() { return this.getOriginalTotal() - this.getTotal(); }\n        clear() { this.items = []; this.saveToStorage(); this.notifyListeners('clear', null); }\n        addListener(cb) { this.listeners.push(cb); }\n        notifyListeners(a, p) { this.listeners.forEach(cb => { try { cb(a, p, this); } catch(e) { console.error(e); } }); }\n    }\n    class CartUI {\n        constructor(cart) { this.cart = cart; this.isOpen = false; this.elements = {}; }\n        init() {\n            this.createCartHTML(); this.cacheElements(); this.bindEvents(); this.update();\n            this.cart.addListener(() => this.update()); this.syncWithWooCommerce();\n        }\n        syncWithWooCommerce() {\n            if (typeof cssaddaCartSync !== 'undefined') {\n                if ((cssaddaCartSync.wcCartCount || 0) > 0 && this.cart.getCount() === 0) {\n                    this.clearWooCommerceCart();\n                }\n            } else {\n                console.warn('[CSS ADDA] cssaddaCartSync not found. PHP snippet may not be active.');\n            }\n        }\n        clearWooCommerceCart() {\n            if (typeof cssaddaCartSync === 'undefined') return;\n            const fd = new FormData();\n            fd.append('action', 'cssadda_clear_wc_cart');\n            fd.append('nonce', cssaddaCartSync.nonce);\n            fetch(cssaddaCartSync.ajaxUrl, { method:'POST', body:fd, credentials:'same-origin' })\n                .then(r => r.json()).catch(err => console.error('Clear WC cart error:', err));\n        }\n        createCartHTML() {\n            ['.cssadda-floating-cart','.cssadda-cart-overlay','.cssadda-cart-sidebar']\n                .forEach(s => { const el = document.querySelector(s); if (el) el.remove(); });\n            document.body.insertAdjacentHTML('beforeend', `\n                <div class=\"cssadda-floating-cart\">\n                    <div class=\"cssadda-cart-preview\" onclick=\"CSSAddaCart.toggle()\">\n                        <span>Total:<\/span><span class=\"cssadda-cart-preview-amount\">\u20b90<\/span>\n                    <\/div>\n                    <button class=\"cssadda-cart-btn\" onclick=\"CSSAddaCart.toggle()\" aria-label=\"Shopping Cart\">\n                        <i class=\"fas fa-shopping-cart\"><\/i><span class=\"cssadda-cart-count\">0<\/span>\n                    <\/button>\n                <\/div>\n                <div class=\"cssadda-cart-overlay\" onclick=\"CSSAddaCart.toggle()\"><\/div>\n                <div class=\"cssadda-cart-sidebar\">\n                    <div class=\"cssadda-cart-header\">\n                        <h2><i class=\"fas fa-shopping-cart\"><\/i> Your Cart<\/h2>\n                        <button class=\"cssadda-cart-close\" onclick=\"CSSAddaCart.toggle()\"><i class=\"fas fa-times\"><\/i><\/button>\n                    <\/div>\n                    <div class=\"cssadda-cart-items\" id=\"cssadda-cart-items\">\n                        <div class=\"cssadda-cart-empty\"><i class=\"fas fa-shopping-bag\"><\/i>\n                            <h3>Your cart is empty<\/h3><p>Add some study materials to get started!<\/p><\/div>\n                    <\/div>\n                    <div class=\"cssadda-cart-footer\">\n                        <div class=\"cssadda-cart-summary\">\n                            <div class=\"cssadda-cart-summary-row\"><span>Items<\/span><span class=\"cssadda-item-count\">0<\/span><\/div>\n                            <div class=\"cssadda-cart-summary-row cssadda-savings\"><span>You Save<\/span><span class=\"cssadda-cart-savings\">\u20b90<\/span><\/div>\n                            <div class=\"cssadda-cart-summary-row cssadda-total\"><span>Total<\/span><span class=\"cssadda-cart-total\">\u20b90<\/span><\/div>\n                        <\/div>\n                        <button class=\"cssadda-checkout-btn\" onclick=\"CSSAddaCart.checkout()\"><i class=\"fas fa-lock\"><\/i> Proceed to Checkout<\/button>\n                        <button class=\"cssadda-clear-btn\" onclick=\"CSSAddaCart.clear()\"><i class=\"fas fa-trash-alt\"><\/i> Clear Cart<\/button>\n                    <\/div>\n                <\/div>`);\n            if (!document.getElementById('cssadda-cart-styles')) { this.injectStyles(); }\n        }\n        injectStyles() {\n            const s = document.createElement('style');\n            s.id = 'cssadda-cart-styles';\n            s.textContent = `\n                .cssadda-floating-cart{position:fixed;top:20px;right:20px;z-index:99999;display:flex;align-items:center;gap:12px}\n                .cssadda-cart-btn{width:60px;height:60px;background:linear-gradient(135deg,#1E3A8A,#152A66);border:none;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 30px rgba(21,42,102,.4);transition:all .3s ease;position:relative}\n                .cssadda-cart-btn:hover{transform:scale(1.1)}\n                .cssadda-cart-btn i{font-size:1.4rem;color:#E0A82E}\n                .cssadda-cart-count{position:absolute;top:-5px;right:-5px;min-width:24px;height:24px;background:#E0A82E;color:#152A66;font-size:.75rem;font-weight:700;border-radius:50%;display:flex;align-items:center;justify-content:center;border:3px solid #fff;font-family:'IBM Plex Mono',monospace}\n                .cssadda-cart-count.empty{display:none}\n                .cssadda-cart-count.bounce{animation:cssadda-bounce .5s ease}\n                .cssadda-cart-preview{background:#fff;padding:10px 18px;border-radius:50px;box-shadow:0 10px 40px rgba(0,0,0,.15);display:flex;align-items:center;gap:8px;font-weight:600;color:#16233F;transition:all .3s ease;cursor:pointer;border:2px solid #DFE5F0;font-family:'IBM Plex Sans',sans-serif}\n                .cssadda-cart-preview:hover{border-color:#E0A82E;transform:translateX(-5px)}\n                .cssadda-cart-preview-amount{color:#1E3A8A;font-weight:700}\n                .cssadda-cart-preview.hidden{display:none}\n                .cssadda-cart-overlay{position:fixed;inset:0;background:rgba(21,42,102,.5);z-index:100000;opacity:0;visibility:hidden;transition:all .3s ease;backdrop-filter:blur(5px)}\n                .cssadda-cart-overlay.active{opacity:1;visibility:visible}\n                .cssadda-cart-sidebar{position:fixed;top:0;right:0;width:420px;max-width:100%;height:100vh;background:#fff;z-index:100001;transform:translateX(100%);transition:transform .4s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;box-shadow:-10px 0 50px rgba(0,0,0,.2);font-family:'IBM Plex Sans',sans-serif}\n                .cssadda-cart-sidebar.active{transform:translateX(0)}\n                .cssadda-cart-header{background:linear-gradient(135deg,#152A66,#1E3A8A);padding:22px;color:#fff;display:flex;align-items:center;justify-content:space-between}\n                .cssadda-cart-header h2{font-family:'Newsreader',serif;font-size:1.4rem;font-weight:500;display:flex;align-items:center;gap:12px;margin:0}\n                .cssadda-cart-header h2 i{color:#E0A82E;font-size:1.1rem}\n                .cssadda-cart-close{width:38px;height:38px;background:rgba(255,255,255,.15);border:none;border-radius:50%;color:#fff;font-size:1.1rem;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center}\n                .cssadda-cart-close:hover{background:rgba(255,255,255,.25);transform:rotate(90deg)}\n                .cssadda-cart-items{flex:1;overflow-y:auto;padding:20px}\n                .cssadda-cart-empty{text-align:center;padding:60px 20px;color:#8C97AE}\n                .cssadda-cart-empty i{font-size:3.4rem;margin-bottom:20px;color:#DFE5F0}\n                .cssadda-cart-empty h3{font-family:'Newsreader',serif;font-size:1.25rem;color:#16233F;margin-bottom:10px;font-weight:500}\n                .cssadda-cart-item{background:#F7F9FC;border:1px solid #DFE5F0;border-left:4px solid #E0A82E;border-radius:4px;padding:14px;margin-bottom:12px;display:flex;gap:14px;align-items:flex-start;transition:all .3s ease}\n                .cssadda-cart-item:hover{border-color:#E0A82E}\n                .cssadda-cart-item-icon{width:44px;height:44px;min-width:44px;background:#152A66;border-radius:3px;display:flex;align-items:center;justify-content:center;color:#E0A82E;font-size:1.1rem}\n                .cssadda-cart-item-details{flex:1}\n                .cssadda-cart-item-type{font-family:'IBM Plex Mono',monospace;font-size:.6rem;text-transform:uppercase;letter-spacing:.12em;color:#8A6508;margin-bottom:4px}\n                .cssadda-cart-item-name{font-size:.9rem;font-weight:600;color:#16233F;margin-bottom:5px;line-height:1.3}\n                .cssadda-cart-item-price{font-family:'Newsreader',serif;font-size:1.1rem;font-weight:600;color:#1E3A8A}\n                .cssadda-cart-item-remove{width:30px;height:30px;background:transparent;border:1px solid #DFE5F0;border-radius:50%;color:#8C97AE;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;font-size:.8rem}\n                .cssadda-cart-item-remove:hover{background:#C0392B;border-color:#C0392B;color:#fff}\n                .cssadda-cart-footer{padding:22px;background:#F7F9FC;border-top:1px solid #DFE5F0}\n                .cssadda-cart-summary{margin-bottom:18px}\n                .cssadda-cart-summary-row{display:flex;justify-content:space-between;align-items:center;padding:9px 0;font-size:.9rem;color:#5A6784}\n                .cssadda-cart-summary-row.cssadda-total{border-top:1px dashed #DFE5F0;padding-top:14px;margin-top:8px;font-size:1.1rem;font-weight:700;color:#16233F}\n                .cssadda-cart-summary-row.cssadda-total span:last-child{font-family:'Newsreader',serif;color:#1E3A8A;font-size:1.4rem}\n                .cssadda-cart-summary-row.cssadda-savings{color:#0B8457;font-weight:600}\n                .cssadda-checkout-btn{width:100%;padding:15px 26px;background:#1E3A8A;border:none;border-radius:3px;color:#fff;font-family:'IBM Plex Mono',monospace;font-size:.72rem;font-weight:600;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;gap:10px;text-transform:uppercase;letter-spacing:.1em}\n                .cssadda-checkout-btn:hover{background:#E0A82E;color:#152A66}\n                .cssadda-checkout-btn:disabled{background:#8C97AE!important;cursor:not-allowed;color:#fff}\n                .cssadda-clear-btn{width:100%;padding:11px;background:transparent;border:1px solid #DFE5F0;border-radius:3px;color:#5A6784;font-family:'IBM Plex Mono',monospace;font-size:.66rem;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;transition:all .3s ease;margin-top:10px}\n                .cssadda-clear-btn:hover{border-color:#C0392B;color:#C0392B}\n                .cssadda-toast{position:fixed;bottom:30px;left:50%;transform:translateX(-50%);padding:14px 24px;border-radius:3px;font-family:'IBM Plex Sans',sans-serif;font-size:.9rem;font-weight:600;z-index:999999;box-shadow:0 10px 40px rgba(0,0,0,.2);display:flex;align-items:center;gap:10px;max-width:90%;text-align:center;border-left:4px solid #E0A82E}\n                .cssadda-toast.success{background:#0B8457;color:#fff}\n                .cssadda-toast.info{background:#152A66;color:#fff}\n                .cssadda-toast.warning{background:#E0A82E;color:#152A66}\n                .cssadda-toast.error{background:#C0392B;color:#fff}\n                @keyframes cssadda-bounce{0%,100%{transform:scale(1)}25%{transform:scale(1.2)}50%{transform:scale(.95)}75%{transform:scale(1.1)}}\n                @media(max-width:768px){.cssadda-cart-sidebar{width:100%}.cssadda-floating-cart{top:auto;bottom:20px;right:20px}.cssadda-cart-btn{width:55px;height:55px}.cssadda-cart-preview{display:none}}`;\n            document.head.appendChild(s);\n        }\n        cacheElements() {\n            this.elements = {\n                overlay: document.querySelector('.cssadda-cart-overlay'),\n                sidebar: document.querySelector('.cssadda-cart-sidebar'),\n                itemsContainer: document.getElementById('cssadda-cart-items'),\n                countBadge: document.querySelector('.cssadda-cart-count'),\n                preview: document.querySelector('.cssadda-cart-preview'),\n                previewAmount: document.querySelector('.cssadda-cart-preview-amount'),\n                itemCount: document.querySelector('.cssadda-item-count'),\n                savings: document.querySelector('.cssadda-cart-savings'),\n                total: document.querySelector('.cssadda-cart-total'),\n                checkoutBtn: document.querySelector('.cssadda-checkout-btn')\n            };\n        }\n        bindEvents() {\n            document.addEventListener('keydown', (e) => { if (e.key === 'Escape' && this.isOpen) this.toggle(); });\n        }\n        toggle() {\n            this.isOpen = !this.isOpen;\n            if (this.elements.overlay) this.elements.overlay.classList.toggle('active', this.isOpen);\n            if (this.elements.sidebar) this.elements.sidebar.classList.toggle('active', this.isOpen);\n            document.body.style.overflow = this.isOpen ? 'hidden' : '';\n        }\n        update() {\n            const count = this.cart.getCount(), total = this.cart.getTotal(),\n                  savings = this.cart.getSavings(), items = this.cart.getItems();\n            if (this.elements.countBadge) {\n                this.elements.countBadge.textContent = count;\n                this.elements.countBadge.classList.toggle('empty', count === 0);\n            }\n            if (this.elements.preview) this.elements.preview.classList.toggle('hidden', count === 0);\n            if (this.elements.previewAmount) this.elements.previewAmount.textContent = '\u20b9' + total.toLocaleString();\n            if (this.elements.itemCount) this.elements.itemCount.textContent = count;\n            if (this.elements.savings) this.elements.savings.textContent = '\u20b9' + savings.toLocaleString();\n            if (this.elements.total) this.elements.total.textContent = '\u20b9' + total.toLocaleString();\n            if (this.elements.checkoutBtn) this.elements.checkoutBtn.disabled = count === 0;\n            this.renderItems(items); this.updateProductButtons();\n        }\n        renderItems(items) {\n            if (!this.elements.itemsContainer) return;\n            if (items.length === 0) {\n                this.elements.itemsContainer.innerHTML = `\n                    <div class=\"cssadda-cart-empty\"><i class=\"fas fa-shopping-bag\"><\/i>\n                        <h3>Your cart is empty<\/h3><p>Add some study materials to get started!<\/p><\/div>`;\n            } else {\n                this.elements.itemsContainer.innerHTML = items.map(item => `\n                    <div class=\"cssadda-cart-item\" data-id=\"${item.id}\">\n                        <div class=\"cssadda-cart-item-icon\"><i class=\"fas ${item.icon || 'fa-box'}\"><\/i><\/div>\n                        <div class=\"cssadda-cart-item-details\">\n                            <div class=\"cssadda-cart-item-type\">${this.getTypeLabel(item.type)}<\/div>\n                            <div class=\"cssadda-cart-item-name\">${item.name}<\/div>\n                            <div class=\"cssadda-cart-item-price\">\u20b9${item.price.toLocaleString()}<\/div>\n                        <\/div>\n                        <button class=\"cssadda-cart-item-remove\" onclick=\"CSSAddaCart.removeItem('${item.id}')\" title=\"Remove\">\n                            <i class=\"fas fa-times\"><\/i><\/button>\n                    <\/div>`).join('');\n            }\n        }\n        getTypeLabel(type) {\n            const labels = { 'flashcards':'Flashcards','notes':'Concise Notes','test-series':'Test Series',\n                             'lastminute':'Last Minute Notes','bundle':'Bundle Pack','pyq':'Previous Year Questions' };\n            return labels[type] || type || 'Product';\n        }\n        updateProductButtons() {\n            const cartIds = this.cart.getItems().map(i => i.id);\n            document.querySelectorAll('[data-product-id]').forEach(btn => {\n                if (btn.classList.contains('purchased')) return;\n                if (cartIds.includes(btn.dataset.productId)) {\n                    btn.classList.add('in-cart');\n                    if (!btn.innerHTML.includes('In cart')) {\n                        btn.innerHTML = '<i class=\"fas fa-check-circle\"><\/i> In cart';\n                    }\n                }\n            });\n        }\n        animateCountBadge() {\n            if (this.elements.countBadge) {\n                this.elements.countBadge.classList.add('bounce');\n                setTimeout(() => this.elements.countBadge.classList.remove('bounce'), 500);\n            }\n        }\n        showToast(message, type = 'info') {\n            const existing = document.querySelector('.cssadda-toast');\n            if (existing) existing.remove();\n            const t = document.createElement('div');\n            t.className = 'cssadda-toast ' + type;\n            t.innerHTML = message;\n            document.body.appendChild(t);\n            setTimeout(() => { t.style.opacity = '0'; setTimeout(() => t.remove(), 300); }, CONFIG.toastDuration);\n        }\n    }\n    const cart = new Cart();\n    const ui = new CartUI(cart);\n    window.CSSAddaCart = {\n        init: function() { ui.init(); },\n        addItem: function(product, buttonElement) {\n            const result = cart.addItem(product);\n            if (result.success) {\n                ui.animateCountBadge();\n                ui.showToast('\u2705 ' + product.name + ' added!', 'success');\n                if (buttonElement) {\n                    buttonElement.classList.add('in-cart');\n                    buttonElement.innerHTML = '<i class=\"fas fa-check-circle\"><\/i> In cart';\n                }\n                setTimeout(() => { if (!ui.isOpen) ui.toggle(); }, 400);\n            } else { ui.showToast(result.message, 'warning'); }\n            return result;\n        },\n        removeItem: function(productId) {\n            const result = cart.removeItem(productId);\n            if (result.success) {\n                ui.showToast('Item removed', 'info');\n                document.querySelectorAll('[data-product-id=\"' + productId + '\"]').forEach(btn => {\n                    if (!btn.classList.contains('purchased')) {\n                        btn.classList.remove('in-cart');\n                        btn.innerHTML = (btn.dataset.wooId === '0')\n                            ? '<i class=\"fas fa-bell\"><\/i> Notify me'\n                            : '<i class=\"fas fa-cart-plus\"><\/i> Add to cart';\n                    }\n                });\n            }\n            return result;\n        },\n        clear: function() {\n            if (cart.getCount() === 0) { ui.showToast('Cart is already empty!', 'warning'); return; }\n            if (confirm('Clear all items from your cart?')) {\n                ui.clearWooCommerceCart(); cart.clear(); ui.showToast('Cart cleared!', 'info');\n                document.querySelectorAll('.in-cart').forEach(btn => {\n                    if (!btn.classList.contains('purchased')) {\n                        btn.classList.remove('in-cart');\n                        btn.innerHTML = (btn.dataset.wooId === '0')\n                            ? '<i class=\"fas fa-bell\"><\/i> Notify me'\n                            : '<i class=\"fas fa-cart-plus\"><\/i> Add to cart';\n                    }\n                });\n            }\n        },\n        toggle: function() { ui.toggle(); },\n        getItems: function() { return cart.getItems(); },\n        getCount: function() { return cart.getCount(); },\n        getTotal: function() { return cart.getTotal(); },\n        hasItem: function(id) { return cart.hasItem(id); },\n        showToast: function(m, t) { ui.showToast(m, t); },\n        checkout: function() {\n            if (cart.getCount() === 0) { ui.showToast('Your cart is empty!', 'warning'); return; }\n            if (typeof cssaddaCartSync === 'undefined') {\n                console.error('cssaddaCartSync not found! PHP snippet is not active.');\n                ui.showToast('\u26a0\ufe0f System error. Please refresh the page.', 'error');\n                return;\n            }\n            const cartItems = cart.getItems();\n            const invalid = cartItems.filter(i => !i.wooProductId || i.wooProductId === 0);\n            if (invalid.length > 0) {\n                const names = invalid.map(i => i.name).slice(0, 3).join(', ');\n                const more = invalid.length > 3 ? ' and ' + (invalid.length - 3) + ' more' : '';\n                ui.showToast('\u26a0\ufe0f Not available: ' + names + more, 'warning');\n                return;\n            }\n            const btn = document.querySelector('.cssadda-checkout-btn');\n            const original = btn ? btn.innerHTML : '';\n            if (btn) { btn.disabled = true; btn.innerHTML = '<i class=\"fas fa-spinner fa-spin\"><\/i> Processing...'; }\n            ui.showToast('\ud83d\udd04 Preparing checkout...', 'info');\n            const fd = new FormData();\n            fd.append('action', 'cssadda_sync_cart');\n            fd.append('nonce', cssaddaCartSync.nonce);\n            fd.append('debug', CONFIG.DEBUG_MODE ? 'true' : 'false');\n            cartItems.forEach((item, i) => {\n                fd.append('cart_items[' + i + '][id]', item.id);\n                fd.append('cart_items[' + i + '][name]', item.name);\n                fd.append('cart_items[' + i + '][wooProductId]', item.wooProductId);\n                fd.append('cart_items[' + i + '][price]', item.price);\n                fd.append('cart_items[' + i + '][quantity]', 1);\n            });\n            fetch(cssaddaCartSync.ajaxUrl, { method:'POST', body:fd, credentials:'same-origin' })\n            .then(r => { if (!r.ok) { throw new Error('HTTP ' + r.status); } return r.json(); })\n            .then(data => {\n                if (data.success && data.data && data.data.added_count > 0) {\n                    const failed = data.data.failed_count || 0;\n                    let msg = '\u2705 ' + data.data.added_count + ' item(s) ready!';\n                    if (failed > 0) msg += ' (' + failed + ' unavailable)';\n                    ui.showToast(msg + ' Redirecting to checkout...', 'success');\n                    const to = data.data.redirect_to || data.data.checkout_url || cssaddaCartSync.checkoutUrl;\n                    sessionStorage.setItem('cssadda_checkout_pending', 'true');\n                    if (ui.isOpen) ui.toggle();\n                    setTimeout(() => { window.location.href = to; }, 1200);\n                } else {\n                    const msg = (data.data && data.data.message) ? data.data.message : 'Could not process checkout';\n                    ui.showToast('\u274c ' + msg, 'error');\n                    if (btn) { btn.disabled = false; btn.innerHTML = original; }\n                }\n            })\n            .catch(err => {\n                console.error('Checkout network error:', err);\n                ui.showToast('\u274c Connection error. Please try again.', 'error');\n                if (btn) { btn.disabled = false; btn.innerHTML = original; }\n            });\n        }\n    };\n    function initCart() {\n        CSSAddaCart.init();\n        if (typeof cssaddaCartSync === 'undefined') {\n            console.warn('[CSS ADDA] \u26a0\ufe0f PHP snippet not active! Cart sync will not work.');\n        }\n    }\n    if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', initCart); }\n    else { initCart(); }\n})();\n\/\/ ============================================\n\/\/ PRODUCT BUTTON HANDLER \u2014 used by every card and bundle onclick\n\/\/ ============================================\nfunction addToCart(product, buttonElement) {\n    if (typeof cssaddaIsLoggedIn !== 'undefined' && !cssaddaIsLoggedIn) {\n        CSSAddaCart.showToast('Please login to add items to cart', 'warning');\n        if (typeof redirectToLogin === 'function') { setTimeout(redirectToLogin, 1500); }\n        else { setTimeout(function(){ window.location.href = 'https:\/\/promotionexams.com\/my-account\/'; }, 1500); }\n        return;\n    }\n    if (buttonElement && buttonElement.classList.contains('purchased')) {\n        const accessUrl = buttonElement.dataset.accessUrl;\n        if (accessUrl) { window.location.href = accessUrl; }\n        else { CSSAddaCart.showToast('Redirecting to your test...', 'info'); window.location.href = '?page_id=4602'; }\n        return;\n    }\n    if (!product.wooProductId || product.wooProductId === 0) {\n        CSSAddaCart.showToast('\u23f3 Launching soon \u2014 we will email you the moment it opens.', 'warning');\n        return;\n    }\n    CSSAddaCart.addItem(product, buttonElement);\n}\n\/\/ ============================================\n\/\/ MARK PURCHASED PRODUCTS ON PAGE LOAD\n\/\/ ============================================\nfunction markPurchasedProducts() {\n    if (typeof cssaddaPurchased === 'undefined' || !cssaddaPurchased) return;\n    document.querySelectorAll('.btn-add-cart').forEach(btn => {\n        let wooProductId = btn.dataset.wooId;\n        if (!wooProductId) {\n            const oc = btn.getAttribute('onclick');\n            if (oc) { const m = oc.match(\/wooProductId:\\s*(\\d+)\/); if (m && m[1]) wooProductId = m[1]; }\n        }\n        if (wooProductId && wooProductId !== '0' && cssaddaPurchased[wooProductId]) {\n            const p = cssaddaPurchased[wooProductId];\n            btn.classList.add('purchased');\n            btn.innerHTML = '<i class=\"fas fa-play-circle\"><\/i> Take test';\n            if (p.quiz_url) { btn.dataset.accessUrl = p.quiz_url; }\n        }\n    });\n}\ndocument.addEventListener('DOMContentLoaded', function() { setTimeout(markPurchasedProducts, 100); });\n<\/script>\n\n<!-- ============ END OF PASTE BLOCK ============ -->\n<\/body>\n<\/html>\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>CGA AAO CBT Test Series \u2014 All 5 Papers, Chapter-wise &amp; Live Mocks | PromotionExams Home Test Series CGA AAO [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_acf_changed":false,"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-18097","page","type-page","status-publish","hentry"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Test Series- CGA AAO CBT - PromotionExams<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/promotionexams.com\/?page_id=18097\" \/>\n<meta property=\"og:locale\" content=\"en_GB\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Test Series- CGA AAO CBT - PromotionExams\" \/>\n<meta property=\"og:description\" content=\"CGA AAO CBT Test Series \u2014 All 5 Papers, Chapter-wise &amp; Live Mocks | PromotionExams Home Test Series CGA AAO [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/promotionexams.com\/?page_id=18097\" \/>\n<meta property=\"og:site_name\" content=\"PromotionExams\" \/>\n<meta property=\"article:modified_time\" content=\"2026-10-29T09:15:55+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/promotionexams.com\/wp-content\/uploads\/2025\/08\/image-2-1.svg\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Estimated reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"68 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/promotionexams.com\\\/?page_id=18097\",\"url\":\"https:\\\/\\\/promotionexams.com\\\/?page_id=18097\",\"name\":\"Test Series- CGA AAO CBT - PromotionExams\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/promotionexams.com\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/promotionexams.com\\\/?page_id=18097#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/promotionexams.com\\\/?page_id=18097#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/promotionexams.com\\\/wp-content\\\/uploads\\\/2025\\\/08\\\/image-2-1.svg\",\"datePublished\":\"2026-10-22T14:49:40+00:00\",\"dateModified\":\"2026-10-29T09:15:55+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/promotionexams.com\\\/?page_id=18097#breadcrumb\"},\"inLanguage\":\"en-GB\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/promotionexams.com\\\/?page_id=18097\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-GB\",\"@id\":\"https:\\\/\\\/promotionexams.com\\\/?page_id=18097#primaryimage\",\"url\":\"https:\\\/\\\/promotionexams.com\\\/wp-content\\\/uploads\\\/2025\\\/08\\\/image-2-1.svg\",\"contentUrl\":\"https:\\\/\\\/promotionexams.com\\\/wp-content\\\/uploads\\\/2025\\\/08\\\/image-2-1.svg\",\"width\":100,\"height\":800},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/promotionexams.com\\\/?page_id=18097#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/promotionexams.com\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Test Series- CGA AAO CBT\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/promotionexams.com\\\/#website\",\"url\":\"https:\\\/\\\/promotionexams.com\\\/\",\"name\":\"Promotionexams.com\",\"description\":\"Best platform for Govt. Departmental Promotion Exams\",\"publisher\":{\"@id\":\"https:\\\/\\\/promotionexams.com\\\/#organization\"},\"alternateName\":\"cssadda.in\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/promotionexams.com\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-GB\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/promotionexams.com\\\/#organization\",\"name\":\"CSSADDA\",\"url\":\"https:\\\/\\\/promotionexams.com\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-GB\",\"@id\":\"https:\\\/\\\/promotionexams.com\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/promotionexams.com\\\/wp-content\\\/uploads\\\/2025\\\/07\\\/CSS-ADDA-Logo.png\",\"contentUrl\":\"https:\\\/\\\/promotionexams.com\\\/wp-content\\\/uploads\\\/2025\\\/07\\\/CSS-ADDA-Logo.png\",\"width\":1077,\"height\":227,\"caption\":\"CSSADDA\"},\"image\":{\"@id\":\"https:\\\/\\\/promotionexams.com\\\/#\\\/schema\\\/logo\\\/image\\\/\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Test Series- CGA AAO CBT - PromotionExams","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/promotionexams.com\/?page_id=18097","og_locale":"en_GB","og_type":"article","og_title":"Test Series- CGA AAO CBT - PromotionExams","og_description":"CGA AAO CBT Test Series \u2014 All 5 Papers, Chapter-wise &amp; Live Mocks | PromotionExams Home Test Series CGA AAO [&hellip;]","og_url":"https:\/\/promotionexams.com\/?page_id=18097","og_site_name":"PromotionExams","article_modified_time":"2026-10-29T09:15:55+00:00","og_image":[{"url":"https:\/\/promotionexams.com\/wp-content\/uploads\/2025\/08\/image-2-1.svg","type":"","width":"","height":""}],"twitter_card":"summary_large_image","twitter_misc":{"Estimated reading time":"68 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/promotionexams.com\/?page_id=18097","url":"https:\/\/promotionexams.com\/?page_id=18097","name":"Test Series- CGA AAO CBT - PromotionExams","isPartOf":{"@id":"https:\/\/promotionexams.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/promotionexams.com\/?page_id=18097#primaryimage"},"image":{"@id":"https:\/\/promotionexams.com\/?page_id=18097#primaryimage"},"thumbnailUrl":"https:\/\/promotionexams.com\/wp-content\/uploads\/2025\/08\/image-2-1.svg","datePublished":"2026-10-22T14:49:40+00:00","dateModified":"2026-10-29T09:15:55+00:00","breadcrumb":{"@id":"https:\/\/promotionexams.com\/?page_id=18097#breadcrumb"},"inLanguage":"en-GB","potentialAction":[{"@type":"ReadAction","target":["https:\/\/promotionexams.com\/?page_id=18097"]}]},{"@type":"ImageObject","inLanguage":"en-GB","@id":"https:\/\/promotionexams.com\/?page_id=18097#primaryimage","url":"https:\/\/promotionexams.com\/wp-content\/uploads\/2025\/08\/image-2-1.svg","contentUrl":"https:\/\/promotionexams.com\/wp-content\/uploads\/2025\/08\/image-2-1.svg","width":100,"height":800},{"@type":"BreadcrumbList","@id":"https:\/\/promotionexams.com\/?page_id=18097#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/promotionexams.com\/"},{"@type":"ListItem","position":2,"name":"Test Series- CGA AAO CBT"}]},{"@type":"WebSite","@id":"https:\/\/promotionexams.com\/#website","url":"https:\/\/promotionexams.com\/","name":"Promotionexams.com","description":"Best platform for Govt. Departmental Promotion Exams","publisher":{"@id":"https:\/\/promotionexams.com\/#organization"},"alternateName":"cssadda.in","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/promotionexams.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-GB"},{"@type":"Organization","@id":"https:\/\/promotionexams.com\/#organization","name":"CSSADDA","url":"https:\/\/promotionexams.com\/","logo":{"@type":"ImageObject","inLanguage":"en-GB","@id":"https:\/\/promotionexams.com\/#\/schema\/logo\/image\/","url":"https:\/\/promotionexams.com\/wp-content\/uploads\/2025\/07\/CSS-ADDA-Logo.png","contentUrl":"https:\/\/promotionexams.com\/wp-content\/uploads\/2025\/07\/CSS-ADDA-Logo.png","width":1077,"height":227,"caption":"CSSADDA"},"image":{"@id":"https:\/\/promotionexams.com\/#\/schema\/logo\/image\/"}}]}},"_links":{"self":[{"href":"https:\/\/promotionexams.com\/index.php?rest_route=\/wp\/v2\/pages\/18097","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=18097"}],"version-history":[{"count":11,"href":"https:\/\/promotionexams.com\/index.php?rest_route=\/wp\/v2\/pages\/18097\/revisions"}],"predecessor-version":[{"id":18308,"href":"https:\/\/promotionexams.com\/index.php?rest_route=\/wp\/v2\/pages\/18097\/revisions\/18308"}],"wp:attachment":[{"href":"https:\/\/promotionexams.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=18097"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/promotionexams.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=18097"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/promotionexams.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=18097"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}