{"id":351,"date":"2026-07-11T19:00:59","date_gmt":"2026-07-11T19:00:59","guid":{"rendered":"https:\/\/freewebtools.co.in\/?page_id=351"},"modified":"2026-07-17T14:26:15","modified_gmt":"2026-07-17T14:26:15","slug":"lesson-plan-generator","status":"publish","type":"page","link":"https:\/\/freewebtools.co.in\/index.php\/lesson-plan-generator\/","title":{"rendered":"Lesson Plan Generator"},"content":{"rendered":"\n<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n    <meta charset=\"UTF-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n    <title>Academic Lesson Plan Generator Tool<\/title>\n    <!-- Stable CDN for Lucide Icons -->\n    <script src=\"https:\/\/unpkg.com\/lucide@latest\"><\/script>\n    <style>\n        \/* ==========================================================================\n           COMPREHENSIVE UI THEME & ISOLATED WORDPRESS SCOPED STYLES\n           ========================================================================== *\/\n        :root {\n            --lpg-bg-primary: #f8fafc;\n            --lpg-bg-sidebar: #ffffff;\n            --lpg-bg-card: #ffffff;\n            --lpg-border-color: #e2e8f0;\n            --lpg-text-main: #0f172a;\n            --lpg-text-muted: #64748b;\n            --lpg-primary-action: #2563eb;\n            --lpg-primary-action-hover: #1d4ed8;\n            --lpg-success-action: #16a34a;\n            --lpg-danger-action: #dc2626;\n            --lpg-accent-light: #f1f5f9;\n            --lpg-shadow-sm: 0 1px 3px rgba(0,0,0,0.05);\n            --lpg-shadow-md: 0 4px 6px -1px rgba(0,0,0,0.05), 0 2px 4px -1px rgba(0,0,0,0.03);\n            --lpg-transition-speed: 0.2s;\n            --lpg-radius-ui: 12px;\n            \n            \/* Academic Print Properties *\/\n            --lpg-print-font-size: 12px;\n            --lpg-print-font-family: 'Times New Roman', Times, serif;\n            --lpg-print-header-bg: #f4f4f5;\n            --lpg-print-highlight-bg: #fef08a;\n            --lpg-print-border-thickness: 1px;\n            --lpg-print-row-padding: 8px;\n        }\n\n        .lpg-dark-theme {\n            --lpg-bg-primary: #0f172a;\n            --lpg-bg-sidebar: #1e293b;\n            --lpg-bg-card: #1e293b;\n            --lpg-border-color: #334155;\n            --lpg-text-main: #f8fafc;\n            --lpg-text-muted: #94a3b8;\n            --lpg-primary-action: #3b82f6;\n            --lpg-primary-action-hover: #60a5fa;\n            --lpg-accent-light: #334155;\n        }\n\n        #lpg-app-root {\n            all: unset;\n            box-sizing: border-box;\n            font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif;\n            background-color: var(--lpg-bg-primary);\n            color: var(--lpg-text-main);\n            display: flex;\n            width: 100%;\n            height: 90vh;\n            min-height: 650px;\n            border-radius: var(--lpg-radius-ui);\n            overflow: hidden;\n            border: 1px solid var(--lpg-border-color);\n            position: relative;\n        }\n\n        #lpg-app-root * {\n            box-sizing: border-box;\n        }\n\n        \/* Sidebar Mechanics *\/\n        .lpg-sidebar {\n            width: 400px;\n            background-color: var(--lpg-bg-sidebar);\n            border-right: 1px solid var(--lpg-border-color);\n            display: flex;\n            flex-direction: column;\n            flex-shrink: 0;\n            z-index: 10;\n        }\n\n        .lpg-sidebar-header {\n            padding: 1.25rem;\n            border-bottom: 1px solid var(--lpg-border-color);\n            display: flex;\n            justify-content: space-between;\n            align-items: center;\n        }\n\n        .lpg-sidebar-header h2 {\n            margin: 0;\n            font-size: 1.25rem;\n            font-weight: 700;\n            color: var(--lpg-primary-action);\n        }\n\n        .lpg-tabs-nav {\n            display: flex;\n            background-color: var(--lpg-bg-primary);\n            padding: 0.25rem;\n            margin: 0.75rem 1.25rem;\n            border-radius: var(--lpg-radius-ui);\n        }\n\n        .lpg-tab-btn {\n            flex: 1;\n            padding: 0.5rem;\n            border: none;\n            background: transparent;\n            font-size: 0.85rem;\n            font-weight: 600;\n            color: var(--lpg-text-muted);\n            cursor: pointer;\n            border-radius: calc(var(--lpg-radius-ui) - 4px);\n            transition: all var(--lpg-transition-speed);\n        }\n\n        .lpg-tab-btn.lpg-active {\n            background-color: var(--lpg-bg-sidebar);\n            color: var(--lpg-text-main);\n            box-shadow: var(--lpg-shadow-sm);\n        }\n\n        .lpg-tab-content-wrapper {\n            flex: 1;\n            overflow-y: auto;\n            padding: 0 1.25rem 1.25rem 1.25rem;\n        }\n\n        .lpg-tab-pane {\n            display: none;\n        }\n\n        .lpg-tab-pane.lpg-active {\n            display: block;\n        }\n\n        \/* Form Controls *\/\n        .lpg-form-group {\n            border: none;\n            margin: 0 0 1.25rem 0;\n            padding: 0;\n        }\n\n        .lpg-form-group legend {\n            font-size: 0.85rem;\n            font-weight: 700;\n            text-transform: uppercase;\n            letter-spacing: 0.05em;\n            color: var(--lpg-text-muted);\n            margin-bottom: 0.75rem;\n            width: 100%;\n            border-bottom: 1px solid var(--lpg-border-color);\n            padding-bottom: 0.25rem;\n        }\n\n        .lpg-form-row {\n            display: grid;\n            grid-template-columns: 1fr 1fr;\n            gap: 0.75rem;\n        }\n\n        .lpg-control-label {\n            display: block;\n            font-size: 0.8rem;\n            font-weight: 600;\n            margin-bottom: 0.35rem;\n            color: var(--lpg-text-main);\n        }\n\n        .lpg-input-field, .lpg-select-field, .lpg-textarea-field {\n            width: 100%;\n            padding: 0.6rem 0.75rem;\n            border: 1px solid var(--lpg-border-color);\n            border-radius: 8px;\n            background-color: var(--lpg-bg-primary);\n            color: var(--lpg-text-main);\n            font-size: 0.9rem;\n            margin-bottom: 0.85rem;\n            transition: border-color var(--lpg-transition-speed);\n        }\n\n        .lpg-input-field:focus, .lpg-select-field:focus, .lpg-textarea-field:focus {\n            outline: none;\n            border-color: var(--lpg-primary-action);\n        }\n\n        \/* Interactive Action Buttons *\/\n        .lpg-btn {\n            display: inline-flex;\n            align-items: center;\n            justify-content: center;\n            gap: 0.5rem;\n            padding: 0.6rem 1rem;\n            font-size: 0.85rem;\n            font-weight: 600;\n            border-radius: 8px;\n            border: 1px solid transparent;\n            cursor: pointer;\n            transition: transform 0.1s, background-color var(--lpg-transition-speed);\n        }\n\n        .lpg-btn:active { transform: scale(0.98); }\n        .lpg-btn-block { display: flex; width: 100%; }\n        .lpg-btn-sm { padding: 0.35rem 0.75rem; font-size: 0.75rem; border-radius: 6px; }\n        .lpg-btn-primary { background-color: var(--lpg-primary-action); color: #ffffff; }\n        .lpg-btn-primary:hover { background-color: var(--lpg-primary-action-hover); }\n        .lpg-btn-secondary { background-color: var(--lpg-accent-light); color: var(--lpg-text-main); border-color: var(--lpg-border-color); }\n        .lpg-btn-secondary:hover { background-color: var(--lpg-border-color); }\n        .lpg-btn-success { background-color: var(--lpg-success-action); color: #ffffff; }\n        .lpg-btn-danger { background-color: var(--lpg-danger-action); color: #ffffff; }\n\n        .lpg-input-mode-selector {\n            display: flex;\n            border-radius: 8px;\n            overflow: hidden;\n            border: 1px solid var(--lpg-border-color);\n            margin-bottom: 1.25rem;\n        }\n\n        .lpg-input-mode-selector .lpg-btn-toggle {\n            flex: 1;\n            border-radius: 0;\n            background-color: var(--lpg-bg-primary);\n            color: var(--lpg-text-muted);\n            border: none;\n            padding: 0.5rem;\n            font-weight: 600;\n            cursor: pointer;\n        }\n\n        .lpg-input-mode-selector .lpg-btn-toggle.lpg-active {\n            background-color: var(--lpg-primary-action);\n            color: #ffffff;\n        }\n\n        .lpg-mode-container { display: none; }\n        .lpg-mode-container.lpg-active { display: block; }\n\n        \/* Module Tree Elements Node UI *\/\n        .lpg-module-node {\n            background-color: var(--lpg-bg-primary);\n            border: 1px solid var(--lpg-border-color);\n            border-radius: 8px;\n            padding: 0.85rem;\n            margin-bottom: 1rem;\n        }\n\n        .lpg-module-node-header {\n            display: flex;\n            align-items: center;\n            gap: 0.35rem;\n            margin-bottom: 0.75rem;\n        }\n\n        .lpg-module-node-header input {\n            margin-bottom: 0;\n            font-weight: 700;\n            flex: 1;\n        }\n\n        .lpg-topics-list-container {\n            margin-left: 0.25rem;\n            border-left: 2px dashed var(--lpg-border-color);\n            padding-left: 0.5rem;\n        }\n\n        .lpg-topic-node-item {\n            display: flex;\n            align-items: center;\n            gap: 0.35rem;\n            margin-bottom: 0.4rem;\n        }\n\n        .lpg-topic-node-item input { margin-bottom: 0; flex: 1; }\n\n        .lpg-node-action-btn {\n            background: transparent;\n            border: none;\n            cursor: pointer;\n            padding: 0.2rem;\n            color: var(--lpg-text-muted);\n            display: flex;\n            align-items: center;\n            justify-content: center;\n            border-radius: 4px;\n        }\n        .lpg-node-action-btn:hover { background-color: var(--lpg-border-color); color: var(--lpg-text-main); }\n\n        .lpg-search-replace-box {\n            display: grid;\n            grid-template-columns: 1fr 1fr auto;\n            gap: 0.4rem;\n            margin-bottom: 1rem;\n        }\n        .lpg-search-replace-box input { margin-bottom: 0; font-size: 0.8rem; }\n\n        .lpg-sidebar-footer-actions {\n            padding: 1rem;\n            border-top: 1px solid var(--lpg-border-color);\n            background-color: var(--lpg-bg-sidebar);\n            display: grid;\n            grid-template-columns: repeat(2, 1fr);\n            gap: 0.5rem;\n        }\n\n        \/* Workspace and Frame Presentation Area *\/\n        .lpg-main-workspace {\n            flex: 1;\n            display: flex;\n            flex-direction: column;\n            overflow: hidden;\n        }\n\n        .lpg-action-ribbon {\n            height: 60px;\n            background-color: var(--lpg-bg-sidebar);\n            border-bottom: 1px solid var(--lpg-border-color);\n            padding: 0 1.5rem;\n            display: flex;\n            justify-content: space-between;\n            align-items: center;\n            flex-shrink: 0;\n        }\n\n        .lpg-stats-counter-badge {\n            background-color: var(--lpg-accent-light);\n            color: var(--lpg-text-main);\n            padding: 0.35rem 0.75rem;\n            border-radius: 50px;\n            font-size: 0.8rem;\n            font-weight: 600;\n            border: 1px solid var(--lpg-border-color);\n        }\n\n        .lpg-ribbon-right-controls {\n            display: flex;\n            gap: 0.5rem;\n            align-items: center;\n        }\n\n        .lpg-dropdown-wrapper {\n            position: relative;\n            display: inline-block;\n        }\n\n        .lpg-dropdown-menu-list {\n            display: none;\n            position: absolute;\n            right: 0;\n            top: 100%;\n            background-color: var(--lpg-bg-sidebar);\n            border: 1px solid var(--lpg-border-color);\n            border-radius: 8px;\n            box-shadow: var(--lpg-shadow-md);\n            z-index: 100;\n            min-width: 200px;\n            padding: 0.4rem 0;\n        }\n\n        .lpg-dropdown-wrapper:hover .lpg-dropdown-menu-list {\n            display: block;\n        }\n\n        .lpg-dropdown-menu-list button {\n            width: 100%;\n            padding: 0.5rem 1rem;\n            text-align: left;\n            background: transparent;\n            border: none;\n            color: var(--lpg-text-main);\n            font-size: 0.85rem;\n            cursor: pointer;\n        }\n        .lpg-dropdown-menu-list button:hover { background-color: var(--lpg-accent-light); }\n\n        .lpg-file-input-wrapper input[type=\"file\"] { display: none; }\n\n        .lpg-preview-scroll-container {\n            flex: 1;\n            overflow: auto;\n            padding: 2rem;\n            background-color: #475569;\n            display: flex;\n            justify-content: center;\n        }\n\n        .lpg-dark-theme .lpg-preview-scroll-container { background-color: #0f172a; }\n\n        \/* ==========================================================================\n           ACADEMIC RENDER FRAME SHEET SPECIFICATIONS\n           ========================================================================== *\/\n        .lpg-academic-sheet-output {\n            background-color: #ffffff;\n            color: #000000 !important;\n            box-shadow: 0 10px 25px rgba(0,0,0,0.25);\n            font-family: var(--lpg-print-font-family);\n            font-size: var(--lpg-print-font-size);\n            position: relative;\n            box-sizing: border-box;\n            display: flex;\n            flex-direction: column;\n        }\n\n        \/* Dynamic Media Size Matrix definitions *\/\n        .lpg-academic-sheet-output.lpg-size-a4-portrait { width: 210mm; min-height: 297mm; }\n        .lpg-academic-sheet-output.lpg-size-a4-landscape { width: 297mm; min-height: 210mm; }\n        .lpg-academic-sheet-output.lpg-size-letter-portrait { width: 216mm; min-height: 279mm; }\n        .lpg-academic-sheet-output.lpg-size-legal-portrait { width: 216mm; min-height: 356mm; }\n\n        \/* Structural Page Padding Margins *\/\n        .lpg-academic-sheet-output.lpg-margin-normal { padding: 20mm; }\n        .lpg-academic-sheet-output.lpg-margin-narrow { padding: 12mm; }\n        .lpg-academic-sheet-output.lpg-margin-wide { padding: 30mm; }\n\n        .lpg-sheet-header-container {\n            display: flex;\n            align-items: center;\n            border-bottom: calc(var(--lpg-print-border-thickness) + 1px) solid #000000;\n            padding-bottom: 0.75rem;\n            margin-bottom: 1rem;\n            gap: 1.5rem;\n        }\n\n        .lpg-sheet-logo-placeholder {\n            width: 75px;\n            height: 75px;\n            flex-shrink: 0;\n            border: 1px dashed #cbd5e1;\n            display: flex;\n            align-items: center;\n            justify-content: center;\n        }\n        .lpg-sheet-logo-placeholder img { width: 100%; height: 100%; object-fit: contain; }\n\n        .lpg-sheet-title-layout {\n            flex: 1;\n            text-align: center;\n        }\n\n        .lpg-sheet-title-layout h1 { font-size: 1.4rem; font-weight: 800; margin: 0; text-transform: uppercase; line-height: 1.2; }\n        .lpg-sheet-title-layout h3 { font-size: 0.95rem; font-weight: 600; margin: 0.2rem 0 0 0; }\n        .lpg-sheet-title-layout h2.lpg-document-title { font-size: 1.1rem; font-weight: 700; margin: 0.4rem 0 0 0; text-decoration: underline; letter-spacing: 0.5px; }\n        .lpg-sheet-title-layout h4 { font-size: 0.85rem; font-weight: 500; font-style: italic; margin: 0.15rem 0 0 0; }\n\n        .lpg-metadata-grid-table {\n            width: 100%;\n            border-collapse: collapse;\n            margin-bottom: 1.25rem;\n        }\n\n        .lpg-metadata-grid-table td {\n            border: var(--lpg-print-border-thickness) solid #000000;\n            padding: 5px 8px;\n            font-size: calc(var(--lpg-print-font-size) - 0.5px);\n            vertical-align: middle;\n            color: #000000 !important;\n            background-color: #ffffff;\n        }\n\n        .lpg-metadata-grid-table td.lpg-lbl {\n            font-weight: 700;\n            background-color: var(--lpg-print-header-bg);\n            width: 18%;\n        }\n        .lpg-metadata-grid-table td.lpg-val {\n            width: 32%;\n        }\n\n        \/* Central Analytical Grid Data Matrix *\/\n        .lpg-lesson-matrix-table {\n            width: 100%;\n            border-collapse: collapse;\n            margin-bottom: 2rem;\n            table-layout: fixed;\n        }\n\n        .lpg-lesson-matrix-table th, \n        .lpg-lesson-matrix-table td {\n            border: var(--lpg-print-border-thickness) solid #000000;\n            padding: var(--lpg-print-row-padding) 6px;\n            text-align: left;\n            vertical-align: top;\n            word-wrap: break-word;\n            overflow-wrap: break-word;\n            color: #000000 !important;\n            background-color: #ffffff;\n        }\n\n        .lpg-lesson-matrix-table th {\n            background-color: var(--lpg-print-header-bg);\n            font-weight: 700;\n            text-align: center;\n            font-size: calc(var(--lpg-print-font-size) - 0.5px);\n            text-transform: uppercase;\n        }\n\n        .lpg-lesson-matrix-table tr.lpg-module-heading-row td {\n            background-color: var(--lpg-print-highlight-bg) !important;\n            font-weight: 700;\n            font-size: calc(var(--lpg-print-font-size) + 0.5px);\n        }\n\n        .lpg-text-center { text-align: center !important; }\n\n        \/* Attestation Signatures Panel Frame Block *\/\n        .lpg-signature-attestation-panel {\n            display: flex;\n            justify-content: space-between;\n            margin-top: auto;\n            padding-top: 3.5rem;\n            page-break-inside: avoid;\n        }\n\n        .lpg-sig-block-element {\n            width: 220px;\n            text-align: center;\n        }\n        .lpg-sig-line-rule {\n            border-bottom: 1px dashed #000000;\n            margin-bottom: 0.4rem;\n            width: 100%;\n            height: 1px;\n        }\n        .lpg-sig-label-title { font-weight: 700; font-size: calc(var(--lpg-print-font-size) - 0.5px); margin: 0; }\n        .lpg-sig-sub-name { font-size: calc(var(--lpg-print-font-size) - 1.5px); margin: 0.1rem 0 0 0; color: #475569; }\n\n        .lpg-sheet-institutional-footer {\n            text-align: center;\n            font-size: 8px;\n            color: #64748b;\n            border-top: 1px solid #cbd5e1;\n            padding-top: 0.3rem;\n            margin-top: 1.5rem;\n        }\n\n        \/* ==========================================================================\n           RESPONSIVE RE-MECHANIZATION OVERRIDES (BREAKPOINTS)\n           ========================================================================== *\/\n        @media (max-width: 1024px) {\n            #lpg-app-root { flex-direction: column; height: auto; }\n            .lpg-sidebar { width: 100%; border-right: none; border-bottom: 1px solid var(--lpg-border-color); }\n            .lpg-preview-scroll-container { padding: 1rem; overflow-x: auto; }\n            .lpg-academic-sheet-output { transform: scale(0.9); transform-origin: top center; }\n        }\n\n        @media (max-width: 768px) {\n            .lpg-form-row { grid-template-columns: 1fr; gap: 0; }\n            .lpg-action-ribbon { flex-direction: column; height: auto; padding: 1rem; gap: 0.75rem; }\n            .lpg-ribbon-right-controls { flex-wrap: wrap; justify-content: center; }\n            .lpg-academic-sheet-output { transform: scale(0.7); }\n        }\n\n        \/* ==========================================================================\n           NATIVE DENSE SHADED MEDIA SPECIFICATIONS OVERWRITE FOR PRINT\n           ========================================================================== *\/\n        @media print {\n            body * { visibility: hidden; }\n            #lpg-app-root, #lpg-app-root * { background: transparent !important; }\n            #lpg-printTargetSheet, #lpg-printTargetSheet * { visibility: visible; }\n            #lpg-printTargetSheet {\n                position: absolute;\n                left: 0;\n                top: 0;\n                width: 100% !important;\n                box-shadow: none !important;\n                padding: 0 !important;\n                margin: 0 !important;\n            }\n            .lpg-lesson-matrix-table tr { page-break-inside: avoid !important; }\n            .lpg-lesson-matrix-table tr.lpg-module-heading-row { page-break-after: avoid !important; }\n            thead { display: table-header-group; }\n        }\n    <\/style>\n<\/head>\n<body>\n\n    <div id=\"lpg-app-root\" class=\"lpg-light-theme\">\n        <!-- Control Dashboard Configurator Panel -->\n        <aside class=\"lpg-sidebar no-print\">\n            <div class=\"lpg-sidebar-header\">\n                <h2>PlanCraft Canvas<\/h2>\n                <button id=\"lpg-themeToggleBtn\" class=\"lpg-btn lpg-btn-secondary lpg-btn-sm\" title=\"Toggle Theme Layout\">\ud83c\udf13 Theme<\/button>\n            <\/div>\n            \n            <nav class=\"lpg-tabs-nav\">\n                <button class=\"lpg-tab-btn lpg-active\" data-lpg-target=\"lpg-metaTab\">Metadata<\/button>\n                <button class=\"lpg-tab-btn\" data-lpg-target=\"lpg-syllabusTab\">Syllabus<\/button>\n                <button class=\"lpg-tab-btn\" data-lpg-target=\"lpg-styleTab\">Styles<\/button>\n            <\/nav>\n\n            <div class=\"lpg-tab-content-wrapper\">\n                <!-- Configurator Tab 1: Institution Meta Strings Matrix -->\n                <div id=\"lpg-metaTab\" class=\"lpg-tab-pane lpg-active\">\n                    <fieldset class=\"lpg-form-group\">\n                        <legend>Institution Headers<\/legend>\n                        <label class=\"lpg-control-label\" for=\"lpg-instName\">Institute Name<\/label>\n                        <input type=\"text\" id=\"lpg-instName\" class=\"lpg-input-field\" value=\"Bihar Engineering University, Patna\">\n                        \n                        <label class=\"lpg-control-label\" for=\"lpg-deptName\">Department Name<\/label>\n                        <input type=\"text\" id=\"lpg-deptName\" class=\"lpg-input-field\" value=\"Department of Computer Science &#038; Engineering\">\n                        \n                        <label class=\"lpg-control-label\" for=\"lpg-univName\">University Name<\/label>\n                        <input type=\"text\" id=\"lpg-univName\" class=\"lpg-input-field\" value=\"BEU, Patna\">\n                        \n                        <label class=\"lpg-control-label\" for=\"lpg-logoUpload\">Institute Logo Image<\/label>\n                        <input type=\"file\" id=\"lpg-logoUpload\" class=\"lpg-input-field\" accept=\"image\/*\">\n                    <\/fieldset>\n\n                    <fieldset class=\"lpg-form-group\">\n                        <legend>Course Definition Params<\/legend>\n                        <div class=\"lpg-form-row\">\n                            <div>\n                                <label class=\"lpg-control-label\" for=\"lpg-courseName\">Course Title<\/label>\n                                <input type=\"text\" id=\"lpg-courseName\" class=\"lpg-input-field\" value=\"Theory of Computation\">\n                            <\/div>\n                            <div>\n                                <label class=\"lpg-control-label\" for=\"lpg-courseCode\">Course Code<\/label>\n                                <input type=\"text\" id=\"lpg-courseCode\" class=\"lpg-input-field\" value=\"CS-1503\">\n                            <\/div>\n                        <\/div>\n                        <div class=\"lpg-form-row\">\n                            <div>\n                                <label class=\"lpg-control-label\" for=\"lpg-semester\">Semester<\/label>\n                                <input type=\"text\" id=\"lpg-semester\" class=\"lpg-input-field\" value=\"V Semester\">\n                            <\/div>\n                            <div>\n                                <label class=\"lpg-control-label\" for=\"lpg-branch\">Branch<\/label>\n                                <input type=\"text\" id=\"lpg-branch\" class=\"lpg-input-field\" value=\"CSE\">\n                            <\/div>\n                        <\/div>\n                        <div class=\"lpg-form-row\">\n                            <div>\n                                <label class=\"lpg-control-label\" for=\"lpg-facultyName\">Faculty Name<\/label>\n                                <input type=\"text\" id=\"lpg-facultyName\" class=\"lpg-input-field\" value=\"Prof. R. K. Singh\">\n                            <\/div>\n                            <div>\n                                <label class=\"lpg-control-label\" for=\"lpg-acadSession\">Academic Session<\/label>\n                                <input type=\"text\" id=\"lpg-acadSession\" class=\"lpg-input-field\" value=\"2026-2027\">\n                            <\/div>\n                        <\/div>\n                        <div class=\"lpg-form-row\">\n                            <div>\n                                <label class=\"lpg-control-label\" for=\"lpg-classStrength\">Class Strength<\/label>\n                                <input type=\"number\" id=\"lpg-classStrength\" class=\"lpg-input-field\" value=\"60\">\n                            <\/div>\n                            <div>\n                                <label class=\"lpg-control-label\" for=\"lpg-credits\">Credits<\/label>\n                                <input type=\"number\" id=\"lpg-credits\" class=\"lpg-input-field\" value=\"4\">\n                            <\/div>\n                        <\/div>\n                    <\/fieldset>\n\n                    <fieldset class=\"lpg-form-group\">\n                        <legend>Workflow Attestation Authorities<\/legend>\n                        <label class=\"lpg-control-label\" for=\"lpg-coordName\">Course Coordinator<\/label>\n                        <input type=\"text\" id=\"lpg-coordName\" class=\"lpg-input-field\" value=\"Prof. R. K. Singh\">\n                        \n                        <label class=\"lpg-control-label\" for=\"lpg-hodName\">HOD Name<\/label>\n                        <input type=\"text\" id=\"lpg-hodName\" class=\"lpg-input-field\" value=\"Dr. A. B. Verma\">\n                        \n                        <label class=\"lpg-control-label\" for=\"lpg-footerText\">Custom Document Footer<\/label>\n                        <input type=\"text\" id=\"lpg-footerText\" class=\"lpg-input-field\" value=\"Document Ref: BEU\/CSE\/2026\/LP - Internal Academic Audit Document.\">\n                    <\/fieldset>\n                <\/div>\n\n                <!-- Configurator Tab 2: Curricular Struct Parser Engine -->\n                <div id=\"lpg-syllabusTab\" class=\"lpg-tab-pane\">\n                    <div class=\"lpg-input-mode-selector\">\n                        <button id=\"lpg-modeManualBtn\" class=\"lpg-btn-toggle lpg-active\">Manual Layout<\/button>\n                        <button id=\"lpg-modePasteBtn\" class=\"lpg-btn-toggle\">Paste Text<\/button>\n                    <\/div>\n\n                    <!-- Layout Submode 1: Interactive CRUD Tree Node Mechanics -->\n                    <div id=\"lpg-manualModeContainer\" class=\"lpg-mode-container lpg-active\">\n                        <div class=\"lpg-search-replace-box\">\n                            <input type=\"text\" id=\"lpg-searchTopicInput\" class=\"lpg-input-field\" placeholder=\"Search string...\">\n                            <input type=\"text\" id=\"lpg-replaceTopicInput\" class=\"lpg-input-field\" placeholder=\"Replace string...\">\n                            <button id=\"lpg-execReplaceBtn\" class=\"lpg-btn lpg-btn-secondary lpg-btn-sm\">Swap<\/button>\n                        <\/div>\n                        <div id=\"lpg-modulesTreeRootContainer\"><\/div>\n                        <button id=\"lpg-addModuleBtn\" class=\"lpg-btn lpg-btn-primary lpg-btn-block\" style=\"margin-top: 1rem;\">+ Add New Module<\/button>\n                    <\/div>\n\n                    <!-- Layout Submode 2: Text Processor Engine Sandbox -->\n                    <div id=\"lpg-pasteModeContainer\" class=\"lpg-mode-container\">\n                        <label class=\"lpg-control-label\" for=\"lpg-rawSyllabusInput\">Raw Structural Syllabus Block<\/label>\n                        <textarea id=\"lpg-rawSyllabusInput\" class=\"lpg-textarea-field\" rows=\"12\" placeholder=\"Module 1&#10;Alphabet Languages&#10;Grammar Productions&#10;Finite Automata&#10;&#10;Module 2&#10;Regular Expressions&#10;DFA and NFA Mechanics\"><\/textarea>\n                        <button id=\"lpg-parseSyllabusBtn\" class=\"lpg-btn lpg-btn-success lpg-btn-block\">Parse Content and Overwrite Canvas<\/button>\n                    <\/div>\n                <\/div>\n\n                <!-- Configurator Tab 3: Design Adjuster Parameters Sheet -->\n                <div id=\"lpg-styleTab\" class=\"lpg-tab-pane\">\n                    <fieldset class=\"lpg-form-group\">\n                        <legend>Grid Metric Canvas Sizes<\/legend>\n                        <label class=\"lpg-control-label\" for=\"lpg-pageSizeSelect\">Layout Dimension Profiles<\/label>\n                        <select id=\"lpg-pageSizeSelect\" class=\"lpg-select-field\">\n                            <option value=\"lpg-size-a4-portrait\">A4 Portrait Standard<\/option>\n                            <option value=\"lpg-size-a4-landscape\">A4 Landscape Canvas<\/option>\n                            <option value=\"lpg-size-letter-portrait\">Letter Dimensions<\/option>\n                            <option value=\"lpg-size-legal-portrait\">Legal Format Sheet<\/option>\n                        <\/select>\n\n                        <label class=\"lpg-control-label\" for=\"lpg-pageMarginSelect\">Document Margins Boundary<\/label>\n                        <select id=\"lpg-pageMarginSelect\" class=\"lpg-select-field\">\n                            <option value=\"lpg-margin-normal\">Normal Matrix Margins<\/option>\n                            <option value=\"lpg-margin-narrow\">Dense Space Narrow<\/option>\n                            <option value=\"lpg-margin-wide\">Extended Safe Wide<\/option>\n                        <\/select>\n                    <\/fieldset>\n\n                    <fieldset class=\"lpg-form-group\">\n                        <legend>Academic Grid Typography &#038; Colors<\/legend>\n                        <label class=\"lpg-control-label\" for=\"lpg-fontFamilySelect\">Primary Grid Text Typeface<\/label>\n                        <select id=\"lpg-fontFamilySelect\" class=\"lpg-select-field\">\n                            <option value=\"'Times New Roman', Times, serif\">Times New Roman (Traditional Academic)<\/option>\n                            <option value=\"Arial, sans-serif\">Arial MT Functional<\/option>\n                            <option value=\"Georgia, serif\">Georgia High Contrast<\/option>\n                            <option value=\"'Courier New', Courier, monospace\">Technical Courier Matrix<\/option>\n                        <\/select>\n\n                        <label class=\"lpg-control-label\" for=\"lpg-fontSizeSelect\">Base Typography Output Sizing<\/label>\n                        <select id=\"lpg-fontSizeSelect\" class=\"lpg-select-field\">\n                            <option value=\"11px\">11px Compact Data Matrix<\/option>\n                            <option value=\"12px\" selected>12px Standard Board Sheet<\/option>\n                            <option value=\"13px\">13px Expanded Type Matrix<\/option>\n                            <option value=\"14px\">14px Accessible High Density<\/option>\n                        <\/select>\n\n                        <div class=\"lpg-form-row\">\n                            <div>\n                                <label class=\"lpg-control-label\" for=\"lpg-headerColorInput\">Labels Background<\/label>\n                                <input type=\"color\" id=\"lpg-headerColorInput\" class=\"lpg-input-field\" style=\"height:38px; padding:2px;\" value=\"#f4f4f5\">\n                            <\/div>\n                            <div>\n                                <label class=\"lpg-control-label\" for=\"lpg-highlightColorInput\">Highlight Color<\/label>\n                                <input type=\"color\" id=\"lpg-highlightColorInput\" class=\"lpg-input-field\" style=\"height:38px; padding:2px;\" value=\"#fef08a\">\n                            <\/div>\n                        <\/div>\n\n                        <label class=\"lpg-control-label\" for=\"lpg-borderThicknessSelect\">Grid Table Borders Weight<\/label>\n                        <select id=\"lpg-borderThicknessSelect\" class=\"lpg-select-field\">\n                            <option value=\"1px\" selected>1px Elegant Hairline Border<\/option>\n                            <option value=\"2px\">2px Traditional Dense Weight<\/option>\n                            <option value=\"3px\">3px Bold Structured Border<\/option>\n                        <\/select>\n\n                        <label class=\"lpg-control-label\" for=\"lpg-rowHeightInput\">Table Padding Metric Range<\/label>\n                        <input type=\"range\" id=\"lpg-rowHeightInput\" min=\"4\" max=\"20\" value=\"8\" style=\"width:100%;\">\n                    <\/fieldset>\n                <\/div>\n            <\/div>\n\n            <!-- Workspace Action States Navigation Bars -->\n            <div class=\"lpg-sidebar-footer-actions\">\n                <button id=\"lpg-undoBtn\" class=\"lpg-btn lpg-btn-secondary\" title=\"Revert State Operations\">\u21a9 Undo<\/button>\n                <button id=\"lpg-redoBtn\" class=\"lpg-btn lpg-btn-secondary\" title=\"Redo State Operations\">\u21aa Redo<\/button>\n                <button id=\"lpg-saveDraftBtn\" class=\"lpg-btn lpg-btn-success\">Save Draft<\/button>\n                <button id=\"lpg-loadDraftBtn\" class=\"lpg-btn lpg-btn-secondary\">Load Draft<\/button>\n            <\/div>\n        <\/aside>\n\n        <!-- Dynamic Output Visualizations Main Workspace Panel -->\n        <main class=\"lpg-main-workspace\">\n            <header class=\"lpg-action-ribbon no-print\">\n                <div class=\"lpg-ribbon-left-info\">\n                    <span class=\"lpg-stats-counter-badge\" id=\"lpg-statsCounterBadge\">Modules: 2 | Total Lectures: 7<\/span>\n                <\/div>\n                <div class=\"lpg-ribbon-right-controls\">\n                    <button id=\"lpg-copyTableBtn\" class=\"lpg-btn lpg-btn-secondary\">\ud83d\udccb Copy Data Matrix<\/button>\n                    <button id=\"lpg-printBtn\" class=\"lpg-btn lpg-btn-primary\">\ud83d\udda8\ufe0f Native Print Layout<\/button>\n                    \n                    <div class=\"lpg-dropdown-wrapper\">\n                        <button class=\"lpg-btn lpg-btn-success\">\ud83d\udcbe Export Asset Data<\/button>\n                        <div class=\"lpg-dropdown-menu-list\">\n                            <button id=\"lpg-exportHtmlBtn\">Download Plain HTML Document<\/button>\n                            <button id=\"lpg-exportJsonBtn\">Download Model State Schema (.json)<\/button>\n                        <\/div>\n                    <\/div>\n\n                    <div class=\"lpg-file-input-wrapper\">\n                        <label for=\"lpg-importJsonFile\" class=\"lpg-btn lpg-btn-secondary\">\ud83d\udce5 Import State Model<\/label>\n                        <input type=\"file\" id=\"lpg-importJsonFile\" accept=\".json\">\n                    <\/div>\n                <\/div>\n            <\/header>\n\n            <div class=\"lpg-preview-scroll-container\">\n                <!-- Academic Sheet Render Core Engine Box Target -->\n                <div id=\"lpg-printTargetSheet\" class=\"lpg-academic-sheet-output lpg-size-a4-portrait lpg-margin-normal\">\n                    \n                    <!-- Structural Organization Identity Layout Container -->\n                    <div class=\"lpg-sheet-header-container\">\n                        <div class=\"lpg-sheet-logo-placeholder\" id=\"lpg-sheetLogoWrapper\" style=\"display:none;\">\n                            <img decoding=\"async\" id=\"lpg-sheetLogoImg\" src=\"\" alt=\"Institution Identity Logo\">\n                        <\/div>\n                        <div class=\"lpg-sheet-title-layout\">\n                            <h1 id=\"lpg-outInstName\">BIHAR ENGINEERING UNIVERSITY, PATNA<\/h1>\n                            <h3 id=\"lpg-outDeptName\">Department of Computer Science &#038; Engineering<\/h3>\n                            <h2 class=\"lpg-document-title\">ACADEMIC LESSON PLAN MATRIX<\/h2>\n                            <h4 id=\"lpg-outUnivName\">Affiliated to: BEU, Patna<\/h4>\n                        <\/div>\n                    <\/div>\n\n                    <!-- Layout Specifications Structural Attributes Subgrid Table -->\n                    <table class=\"lpg-metadata-grid-table\">\n                        <tr>\n                            <td class=\"lpg-lbl\">Course \/ Subject Name:<\/td><td id=\"lpg-outCourseName\" class=\"lpg-val\">Theory of Computation<\/td>\n                            <td class=\"lpg-lbl\">Course Code:<\/td><td id=\"lpg-outCourseCode\" class=\"lpg-val\">CS-1503<\/td>\n                        <\/tr>\n                        <tr>\n                            <td class=\"lpg-lbl\">Semester Layout:<\/td><td id=\"lpg-outSemester\" class=\"lpg-val\">V Semester<\/td>\n                            <td class=\"lpg-lbl\">Branch \/ Specialization:<\/td><td id=\"lpg-outBranch\" class=\"lpg-val\">CSE<\/td>\n                        <\/tr>\n                        <tr>\n                            <td class=\"lpg-lbl\">Faculty Member Name:<\/td><td id=\"lpg-outFacultyName\" class=\"lpg-val\">Prof. R. K. Singh<\/td>\n                            <td class=\"lpg-lbl\">Academic Session:<\/td><td id=\"lpg-outAcadSession\" class=\"lpg-val\">2026-2027<\/td>\n                        <\/tr>\n                        <tr>\n                            <td class=\"lpg-lbl\">Class Strength Roll:<\/td><td id=\"lpg-outClassStrength\" class=\"lpg-val\">60<\/td>\n                            <td class=\"lpg-lbl\">Course Credits Value:<\/td><td id=\"lpg-outCredits\" class=\"lpg-val\">4<\/td>\n                        <\/tr>\n                        <tr>\n                            <td class=\"lpg-lbl\">Aggregate Lecture Units:<\/td><td id=\"lpg-outLecturesCount\" class=\"lpg-val\" style=\"font-weight:700;\">7<\/td>\n                            <td class=\"lpg-lbl\">Course Coordinator:<\/td><td id=\"lpg-outCoordName\" class=\"lpg-val\">Prof. R. K. Singh<\/td>\n                        <\/tr>\n                    <\/table>\n\n                    <!-- Analytical Deep Core Dynamic Grid System Matrix Table -->\n                    <table class=\"lpg-lesson-matrix-table\" id=\"lpg-lessonPlanMatrixTable\">\n                        <thead>\n                            <tr>\n                                <th style=\"width: 14%;\">Module \/ Unit<\/th>\n                                <th style=\"width: 14%;\">Lecture No.<\/th>\n                                <th style=\"width: 40%;\">Topic Description \/ Core Curricular Focus Point<\/th>\n                                <th style=\"width: 12%;\">Delivery Date<\/th>\n                                <th style=\"width: 10%;\">Status<\/th>\n                                <th style=\"width: 10%;\">Faculty Remark<\/th>\n                            <\/tr>\n                        <\/thead>\n                        <tbody id=\"lpg-sheetTableBody\">\n                            <!-- Injected programmatically via structural engine layout parsing calculations -->\n                        <\/tbody>\n                    <\/table>\n\n                    <!-- Rigid Baseline Attestation Signatures Operational Board Panel -->\n                    <div class=\"lpg-signature-attestation-panel\">\n                        <div class=\"lpg-sig-block-element\">\n                            <div class=\"lpg-sig-line-rule\"><\/div>\n                            <p class=\"lpg-sig-label-title\">Signature of Faculty Member<\/p>\n                            <p id=\"lpg-outSigFacultyName\" class=\"lpg-sig-sub-name\">Prof. R. K. Singh<\/p>\n                        <\/div>\n                        <div class=\"lpg-sig-block-element\">\n                            <div class=\"lpg-sig-line-rule\"><\/div>\n                            <p class=\"lpg-sig-label-title\">Signature of Head of Department<\/p>\n                            <p id=\"lpg-outSigHodName\" class=\"lpg-sig-sub-name\">Dr. A. B. Verma<\/p>\n                        <\/div>\n                    <\/div>\n\n                    <!-- Permanent Institutional Document Information Baseline Footer -->\n                    <footer class=\"lpg-sheet-institutional-footer\" id=\"lpg-outFooterText\">\n                        Document Ref: BEU\/CSE\/2026\/LP &#8211; Internal Academic Audit Document.\n                    <\/footer>\n                <\/div>\n            <\/div>\n        <\/main>\n    <\/div>\n\n    <!-- ==========================================================================\n       VANILLA CORE JS CONTROLLER SYSTEM ARCHITECTURE SCRIPT\n       ========================================================================== *\/ -->\n    <script>\n        (function() {\n            \/\/ Memory Configurator Core State Map Variable Definition\n            let lpgStateModel = {\n                metadata: {\n                    instName: \"Bihar Engineering University, Patna\",\n                    deptName: \"Department of Computer Science & Engineering\",\n                    univName: \"BEU, Patna\",\n                    logoData: \"\",\n                    courseName: \"Theory of Computation\",\n                    courseCode: \"CS-1503\",\n                    semester: \"V Semester\",\n                    branch: \"CSE\",\n                    facultyName: \"Prof. R. K. Singh\",\n                    acadSession: \"2026-2027\",\n                    classStrength: \"60\",\n                    credits: \"4\",\n                    coordName: \"Prof. R. K. Singh\",\n                    hodName: \"Dr. A. B. Verma\",\n                    footerText: \"Document Ref: BEU\/CSE\/2026\/LP - Internal Academic Audit Document.\"\n                },\n                modules: [\n                    {\n                        id: \"lpg-mod-static-1\",\n                        name: \"Module 1: Finite Automata & Regular Grammars\",\n                        topics: [\"Alphabet, Languages, and Structural String Terminology Basics\", \"Deterministic Finite Automata (DFA) Transitions and Matrix Construction\", \"Nondeterministic Finite Automata (NFA) Non-Divergent Path Tracking Analysis\", \"Equivalence Transposition Conversions of NFA into Regular DFA Models\"]\n                    },\n                    {\n                        id: \"lpg-mod-static-2\",\n                        name: \"Module 2: Syntactical Formats & Pumping Lemma Rules\",\n                        topics: [\"Regular Expression Parsing Syntax Rules and Algebraic Matrix Formulation\", \"Applications of Pumping Lemma Constraints for Non-Regularity Identity Proofs\", \"Context Free Languages Definitions and Ambiguity Reductions in Parse Structural Formats\"]\n                    }\n                ],\n                design: {\n                    pageSize: \"lpg-size-a4-portrait\",\n                    pageMargin: \"lpg-margin-normal\",\n                    fontFamily: \"'Times New Roman', Times, serif\",\n                    fontSize: \"12px\",\n                    headerColor: \"#f4f4f5\",\n                    highlightColor: \"#fef08a\",\n                    borderThickness: \"1px\",\n                    rowPadding: \"8\"\n                }\n            };\n\n            \/\/ Historical Stack Timeline Tracking Queues for Localized Undo\/Redo Engine\n            const lpgHistoryEngine = {\n                pastTimeline: [],\n                futureTimeline: [],\n                pushMutationState(stateSnapshot) {\n                    this.pastTimeline.push(JSON.stringify(stateSnapshot));\n                    this.futureTimeline = []; \/\/ Invalidate forward vector trajectory lines\n                },\n                executeUndoOperation(currentStateSnapshot) {\n                    if (this.pastTimeline.length === 0) return null;\n                    this.futureTimeline.push(JSON.stringify(currentStateSnapshot));\n                    return JSON.parse(this.pastTimeline.pop());\n                },\n                executeRedoOperation(currentStateSnapshot) {\n                    if (this.futureTimeline.length === 0) return null;\n                    this.pastTimeline.push(JSON.stringify(currentStateSnapshot));\n                    return JSON.parse(this.futureTimeline.pop());\n                }\n            };\n\n            \/\/ Initialize App Core Sequence Event Bindings\n            window.addEventListener(\"DOMContentLoaded\", () => {\n                lucide.createIcons();\n                loadBrowserCachedState();\n                bindCoreConfiguratorInterfaceListeners();\n                renderInteractiveManualConstructorUI();\n                executeLiveMatrixPreviewCompilation();\n            });\n\n            function synchronizeStateModelToInputElements() {\n                Object.keys(lpgStateModel.metadata).forEach(metaKey => {\n                    const el = document.getElementById(`lpg-${metaKey}`);\n                    if (el && el.type !== 'file') el.value = lpgStateModel.metadata[metaKey];\n                });\n\n                Object.keys(lpgStateModel.design).forEach(styleKey => {\n                    const el = document.getElementById(`lpg-${styleKey}Select`) || document.getElementById(`lpg-${styleKey}Input`);\n                    if (el) el.value = lpgStateModel.design[styleKey];\n                });\n            }\n\n            function registerStateChangeMutation() {\n                lpgHistoryEngine.pushMutationState(lpgStateModel);\n                executeBrowserLocalStorageCache();\n                executeLiveMatrixPreviewCompilation();\n            }\n\n            function executeBrowserLocalStorageCache() {\n                localStorage.setItem(\"lpg_canvas_cached_state_asset\", JSON.stringify(lpgStateModel));\n            }\n\n            function loadBrowserCachedState() {\n                const assetCachedString = localStorage.getItem(\"lpg_canvas_cached_state_asset\");\n                if (assetCachedString) {\n                    try {\n                        lpgStateModel = JSON.parse(assetCachedString);\n                        synchronizeStateModelToInputElements();\n                    } catch (err) {\n                        console.error(\"Cached workspace profile structure variant error anomaly detected. Reverting fallback standard state.\", err);\n                    }\n                }\n            }\n\n            function bindCoreConfiguratorInterfaceListeners() {\n                \/\/ Configurator Tab Switching System Actions Execution\n                document.querySelectorAll(\".lpg-tab-btn\").forEach(btn => {\n                    btn.addEventListener(\"click\", (e) => {\n                        document.querySelectorAll(\".lpg-tab-btn\").forEach(b => b.classList.remove(\"lpg-active\"));\n                        document.querySelectorAll(\".lpg-tab-pane\").forEach(p => p.classList.remove(\"lpg-active\"));\n                        \n                        e.target.classList.add(\"lpg-active\");\n                        document.getElementById(e.target.dataset.lpgTarget).classList.add(\"lpg-active\");\n                    });\n                });\n\n                \/\/ Input Modes Interface Selection Mechanics Configuration\n                document.getElementById(\"lpg-modeManualBtn\").addEventListener(\"click\", () => switchInputSubmodeContext('manual'));\n                document.getElementById(\"lpg-modePasteBtn\").addEventListener(\"click\", () => switchInputSubmodeContext('paste'));\n\n                \/\/ Metadata Inputs In-line Reactive Mapping Trackers\n                Object.keys(lpgStateModel.metadata).forEach(metaKey => {\n                    const inputEl = document.getElementById(`lpg-${metaKey}`);\n                    if (!inputEl) return;\n\n                    if (inputEl.type === 'file') {\n                        inputEl.addEventListener('change', (e) => {\n                            const fileAsset = e.target.files[0];\n                            if (fileAsset) {\n                                const fileReader = new FileReader();\n                                fileReader.onload = function(evt) {\n                                    registerStateChangeMutation();\n                                    lpgStateModel.metadata.logoData = evt.target.result;\n                                    executeLiveMatrixPreviewCompilation();\n                                };\n                                fileReader.readAsDataURL(fileAsset);\n                            }\n                        });\n                    } else {\n                        inputEl.addEventListener('input', (e) => {\n                            lpgStateModel.metadata[metaKey] = e.target.value;\n                            executeLiveMatrixPreviewCompilation();\n                        });\n                        inputEl.addEventListener('change', () => registerStateChangeMutation());\n                    }\n                });\n\n                \/\/ Design Style Customization Matrix Target Bindings\n                const styleConfigBindingMap = [\n                    { id: 'lpg-pageSizeSelect', key: 'pageSize' },\n                    { id: 'lpg-pageMarginSelect', key: 'pageMargin' },\n                    { id: 'lpg-fontFamilySelect', key: 'fontFamily' },\n                    { id: 'lpg-fontSizeSelect', key: 'fontSize' },\n                    { id: 'lpg-headerColorInput', key: 'headerColor' },\n                    { id: 'lpg-highlightColorInput', key: 'highlightColor' },\n                    { id: 'lpg-borderThicknessSelect', key: 'borderThickness' },\n                    { id: 'lpg-rowHeightInput', key: 'rowPadding' }\n                ];\n\n                styleConfigBindingMap.forEach(styleTarget => {\n                    const el = document.getElementById(styleTarget.id);\n                    if (!el) return;\n                    el.addEventListener('input', (e) => {\n                        lpgStateModel.design[styleTarget.key] = e.target.value;\n                        executeLiveMatrixPreviewCompilation();\n                    });\n                    el.addEventListener('change', () => registerStateChangeMutation());\n                });\n\n                \/\/ Core Operational Navigation Action Buttons Mechanics Control Map\n                document.getElementById(\"lpg-addModuleBtn\").addEventListener(\"click\", () => {\n                    registerStateChangeMutation();\n                    lpgStateModel.modules.push({\n                        id: 'lpg-mod-uid-' + Date.now(),\n                        name: `Module ${lpgStateModel.modules.length + 1}: New Syllabus Topic Unit`,\n                        topics: [\"Core Primary Syllabus Topic Element Node Required\"]\n                    });\n                    renderInteractiveManualConstructorUI();\n                    executeLiveMatrixPreviewCompilation();\n                });\n\n                document.getElementById(\"lpg-parseSyllabusBtn\").addEventListener(\"click\", executeRawSyllabusStreamParsingSequence);\n\n                document.getElementById(\"lpg-execReplaceBtn\").addEventListener(\"click\", () => {\n                    const searchStr = document.getElementById(\"lpg-searchTopicInput\").value.trim();\n                    const replaceStr = document.getElementById(\"lpg-replaceTopicInput\").value.trim();\n                    if (!searchStr) return;\n\n                    registerStateChangeMutation();\n                    let stringMutationOccurred = false;\n                    lpgStateModel.modules.forEach(m => {\n                        m.topics = m.topics.map(t => {\n                            if (t.includes(searchStr)) {\n                                stringMutationOccurred = true;\n                                return t.split(searchStr).join(replaceStr);\n                            }\n                            return t;\n                        });\n                    });\n\n                    if (stringMutationOccurred) {\n                        renderInteractiveManualConstructorUI();\n                        executeLiveMatrixPreviewCompilation();\n                        alert(\"Matching topic string parameters updated across matrix layout lines.\");\n                    }\n                });\n\n                \/\/ Theme Toggle Utility Control Map\n                document.getElementById(\"lpg-themeToggleBtn\").addEventListener(\"click\", () => {\n                    const appRootContainer = document.getElementById(\"lpg-app-root\");\n                    if (appRootContainer.classList.contains(\"lpg-light-theme\")) {\n                        appRootContainer.classList.remove(\"lpg-light-theme\");\n                        appRootContainer.classList.add(\"lpg-dark-theme\");\n                    } else {\n                        appRootContainer.classList.remove(\"lpg-dark-theme\");\n                        appRootContainer.classList.add(\"lpg-light-theme\");\n                    }\n                });\n\n                \/\/ History Vector Step Actions Control Triggers\n                document.getElementById(\"lpg-undoBtn\").addEventListener(\"click\", () => {\n                    const backwardStateSnapshot = lpgHistoryEngine.executeUndoOperation(lpgStateModel);\n                    if (backwardStateSnapshot) {\n                        lpgStateModel = backwardStateSnapshot;\n                        synchronizeStateModelToInputElements();\n                        renderInteractiveManualConstructorUI();\n                        executeLiveMatrixPreviewCompilation();\n                    }\n                });\n\n                document.getElementById(\"lpg-redoBtn\").addEventListener(\"click\", () => {\n                    const forwardStateSnapshot = lpgHistoryEngine.executeRedoOperation(lpgStateModel);\n                    if (forwardStateSnapshot) {\n                        lpgStateModel = forwardStateSnapshot;\n                        synchronizeStateModelToInputElements();\n                        renderInteractiveManualConstructorUI();\n                        executeLiveMatrixPreviewCompilation();\n                    }\n                });\n\n                document.getElementById(\"lpg-saveDraftBtn\").addEventListener(\"click\", () => {\n                    executeBrowserLocalStorageCache();\n                    alert(\"Active document matrix profile snapshot saved to secure local browser repository cache storage.\");\n                });\n\n                document.getElementById(\"lpg-loadDraftBtn\").addEventListener(\"click\", () => {\n                    loadBrowserCachedState();\n                    renderInteractiveManualConstructorUI();\n                    executeLiveMatrixPreviewCompilation();\n                    alert(\"Cached document model layout state successfully restored back into presentation space.\");\n                });\n\n                document.getElementById(\"lpg-printBtn\").addEventListener(\"click\", () => window.print());\n                document.getElementById(\"lpg-copyTableBtn\").addEventListener(\"click\", executeNativeClipboardGridDataExtractionTransfer);\n\n                \/\/ Exporters Download Sequence Integrations Map Trigger Channels\n                document.getElementById(\"lpg-exportHtmlBtn\").addEventListener(\"click\", () => {\n                    const targetOuterHtmlString = document.getElementById(\"lpg-printTargetSheet\").outerHTML;\n                    executeAssetDownloadSequenceStream(targetOuterHtmlString, \"lesson-plan-matrix.html\", \"text\/html\");\n                });\n\n                document.getElementById(\"lpg-exportJsonBtn\").addEventListener(\"click\", () => {\n                    executeAssetDownloadSequenceStream(JSON.stringify(lpgStateModel, null, 2), \"lesson-plan-configuration.json\", \"application\/json\");\n                });\n\n                \/\/ Importer Data State Engine File Operations Integration Reader Map\n                document.getElementById(\"lpg-importJsonFile\").addEventListener(\"change\", (e) => {\n                    const fileAssetTarget = e.target.files[0];\n                    if (!fileAssetTarget) return;\n\n                    const jsonFileReader = new FileReader();\n                    jsonFileReader.onload = function(evt) {\n                        try {\n                            const deserializedModelAsset = JSON.parse(evt.target.result);\n                            if (deserializedModelAsset.metadata && deserializedModelAsset.modules && deserializedModelAsset.design) {\n                                registerStateChangeMutation();\n                                lpgStateModel = deserializedModelAsset;\n                                synchronizeStateModelToInputElements();\n                                renderInteractiveManualConstructorUI();\n                                executeLiveMatrixPreviewCompilation();\n                                alert(\"External Configuration JSON Asset mapped to core memory variables successfully.\");\n                            } else {\n                                alert(\"Verification Profile Error: Selected JSON structure mapping criteria not met.\");\n                            }\n                        } catch (err) {\n                            alert(\"Critical Fault: File stream syntax error parsing input file format structure.\");\n                        }\n                    };\n                    jsonFileReader.readAsText(fileAssetTarget);\n                });\n            }\n\n            function switchInputSubmodeContext(selectedModeContext) {\n                document.getElementById(\"lpg-modeManualBtn\").classList.toggle(\"lpg-active\", selectedModeContext === 'manual');\n                document.getElementById(\"lpg-modePasteBtn\").classList.toggle(\"lpg-active\", selectedModeContext === 'paste');\n                document.getElementById(\"lpg-manualModeContainer\").classList.toggle(\"lpg-active\", selectedModeContext === 'manual');\n                document.getElementById(\"lpg-pasteModeContainer\").classList.toggle(\"lpg-active\", selectedModeContext === 'paste');\n            }\n\n            \/**\n             * Natural Language Linear Stream Text Block Splitter Model Parser\n             *\/\n            function executeRawSyllabusStreamParsingSequence() {\n                const pureTextFeedString = document.getElementById(\"lpg-rawSyllabusInput\").value.trim();\n                if (!pureTextFeedString) {\n                    alert(\"Parser Notice: Input text area string length evaluates to zero. Provide a dynamic syllabus scheme.\");\n                    return;\n                }\n\n                registerStateChangeMutation();\n                const textLinesArray = pureTextFeedString.split('\\n').map(l => l.trim()).filter(l => l.length > 0);\n                const synthesizedModulesArray = [];\n                let currentActiveModulePointer = null;\n\n                \/\/ Match layout formats across Universities\n                const validationModuleFilterRegex = \/^(Module|Unit|Chapter|Part|Section)\\s+\\d+|^(I|II|III|IV|V|VI|VII|VIII)\\b\/i;\n\n                textLinesArray.forEach(lineItemText => {\n                    if (validationModuleFilterRegex.test(lineItemText) || currentActiveModulePointer === null) {\n                        currentActiveModulePointer = {\n                            id: 'lpg-mod-parsed-uid-' + Date.now() + '-' + synthesizedModulesArray.length,\n                            name: lineItemText,\n                            topics: []\n                        };\n                        synthesizedModulesArray.push(currentActiveModulePointer);\n                    } else {\n                        currentActiveModulePointer.topics.push(lineItemText);\n                    }\n                });\n\n                \/\/ Clear structural anomalies and zero nodes lines structures parameters\n                lpgStateModel.modules = synthesizedModulesArray.filter(m => m.topics.length > 0);\n                renderInteractiveManualConstructorUI();\n                executeLiveMatrixPreviewCompilation();\n                switchInputSubmodeContext('manual');\n            }\n\n            \/**\n             * Dynamic Builder Engine for Constructor Tree Node Controls Layout View\n             *\/\n            function renderInteractiveManualConstructorUI() {\n                const modulesRootDOMTargetContainer = document.getElementById(\"lpg-modulesTreeRootContainer\");\n                modulesRootDOMTargetContainer.innerHTML = \"\";\n\n                lpgStateModel.modules.forEach((moduleItemNode, moduleIndexPointer) => {\n                    const mNodeElement = document.createElement(\"div\");\n                    mNodeElement.className = \"lpg-module-node\";\n                    mNodeElement.innerHTML = `\n                        <div class=\"lpg-module-node-header\">\n                            <input type=\"text\" value=\"${escapeStructuralHtmlCharacters(moduleItemNode.name)}\" class=\"lpg-input-field lpg-mod-title-input\" data-midx=\"${moduleIndexPointer}\">\n                            <button class=\"lpg-node-action-btn lpg-move-mod-up\" data-midx=\"${moduleIndexPointer}\" title=\"Shift Module Element Upward\">\u2191<\/button>\n                            <button class=\"lpg-node-action-btn lpg-move-mod-down\" data-midx=\"${moduleIndexPointer}\" title=\"Shift Module Element Downward\">\u2193<\/button>\n                            <button class=\"lpg-node-action-btn lpg-duplicate-mod\" data-midx=\"${moduleIndexPointer}\" title=\"Duplicate Complete Curricular Structure Block\">\ud83d\udccb<\/button>\n                            <button class=\"lpg-node-action-btn lpg-delete-mod\" data-midx=\"${moduleIndexPointer}\" title=\"Purge Module Block Element From Matrix Stack\" style=\"color:var(--lpg-danger-action);\">\u2715<\/button>\n                        <\/div>\n                        <div class=\"lpg-topics-list-container\" data-midx=\"${moduleIndexPointer}\"><\/div>\n                        <button class=\"lpg-btn lpg-btn-secondary lpg-btn-sm lpg-add-topic-btn\" data-midx=\"${moduleIndexPointer}\" style=\"margin-top:0.5rem; width:100%;\">+ Append New Curricular Topic Row Node<\/button>\n                    `;\n\n                    const targetTopicsSublistContainer = mNodeElement.querySelector(\".lpg-topics-list-container\");\n                    moduleItemNode.topics.forEach((topicStringLine, topicIndexPointer) => {\n                        const tNodeElement = document.createElement(\"div\");\n                        tNodeElement.className = \"lpg-topic-node-item\";\n                        tNodeElement.innerHTML = `\n                            <span style=\"font-size:0.75rem; font-family:monospace; min-width:26px; color:var(--lpg-text-muted);\">L-${topicIndexPointer + 1}<\/span>\n                            <input type=\"text\" value=\"${escapeStructuralHtmlCharacters(topicStringLine)}\" class=\"lpg-input-field lpg-topic-line-text-input\" data-midx=\"${moduleIndexPointer}\" data-tidx=\"${topicIndexPointer}\" required>\n                            <button class=\"lpg-node-action-btn lpg-delete-topic-line\" data-midx=\"${moduleIndexPointer}\" data-tidx=\"${topicIndexPointer}\">\u2715<\/button>\n                        `;\n                        targetTopicsSublistContainer.appendChild(tNodeElement);\n                    });\n\n                    modulesRootDOMTargetContainer.appendChild(mNodeElement);\n                });\n\n                bindInteractiveManualConstructorNodesEventsListeners();\n            }\n\n            function bindInteractiveManualConstructorNodesEventsListeners() {\n                \/\/ Inline Input Text Reactive Model Value Mirror Bindings Engine Sequence mapping\n                document.querySelectorAll(\".lpg-mod-title-input\").forEach(elementNode => {\n                    elementNode.addEventListener('input', (e) => {\n                        const targetMidx = e.target.dataset.midx;\n                        lpgStateModel.modules[targetMidx].name = e.target.value;\n                        executeLiveMatrixPreviewCompilation();\n                    });\n                    elementNode.addEventListener('change', () => registerStateChangeMutation());\n                });\n\n                document.querySelectorAll(\".lpg-topic-line-text-input\").forEach(elementNode => {\n                    elementNode.addEventListener('input', (e) => {\n                        const targetMidx = e.target.dataset.midx;\n                        const targetTidx = e.target.dataset.tidx;\n                        lpgStateModel.modules[targetMidx].topics[targetTidx] = e.target.value;\n                        executeLiveMatrixPreviewCompilation();\n                    });\n                    elementNode.addEventListener('change', (e) => {\n                        if (!e.target.value.trim()) {\n                            e.target.value = \"Mandatory Topic Focus Field Target String Required\";\n                            const targetMidx = e.target.dataset.midx;\n                            const targetTidx = e.target.dataset.tidx;\n                            lpgStateModel.modules[targetMidx].topics[targetTidx] = \"Mandatory Topic Focus Field Target String Required\";\n                        }\n                        registerStateChangeMutation();\n                    });\n                });\n\n                \/\/ Tree Mutation Action Triggers Operations Handler Subroutines Map Pipeline Execution\n                document.querySelectorAll(\".lpg-add-topic-btn\").forEach(btnNode => {\n                    btnNode.addEventListener('click', (e) => {\n                        registerStateChangeMutation();\n                        const targetMidx = e.target.dataset.midx;\n                        lpgStateModel.modules[targetMidx].topics.push(\"New Curricular Core Topic Segment Structure Element Reference\");\n                        renderInteractiveManualConstructorUI();\n                        executeLiveMatrixPreviewCompilation();\n                    });\n                });\n\n                document.querySelectorAll(\".lpg-delete-mod\").forEach(btnNode => {\n                    btnNode.addEventListener('click', (e) => {\n                        registerStateChangeMutation();\n                        const parsedMidx = getTargetDatasetPropertySafeWrapperFallback(e.target, 'midx');\n                        lpgStateModel.modules.splice(parseInt(parsedMidx), 1);\n                        renderInteractiveManualConstructorUI();\n                        executeLiveMatrixPreviewCompilation();\n                    });\n                });\n\n                document.querySelectorAll(\".lpg-delete-topic-line\").forEach(btnNode => {\n                    btnNode.addEventListener('click', (e) => {\n                        registerStateChangeMutation();\n                        const parsedMidx = getTargetDatasetPropertySafeWrapperFallback(e.target, 'midx');\n                        const parsedTidx = getTargetDatasetPropertySafeWrapperFallback(e.target, 'tidx');\n                        lpgStateModel.modules[parsedMidx].topics.splice(parseInt(parsedTidx), 1);\n                        renderInteractiveManualConstructorUI();\n                        executeLiveMatrixPreviewCompilation();\n                    });\n                });\n\n                document.querySelectorAll(\".lpg-move-mod-up\").forEach(btnNode => {\n                    btnNode.addEventListener('click', (e) => {\n                        const parsedMidx = parseInt(getTargetDatasetPropertySafeWrapperFallback(e.target, 'midx'));\n                        if (parsedMidx > 0) {\n                            registerStateChangeMutation();\n                            const backupModReferenceElement = lpgStateModel.modules[parsedMidx];\n                            lpgStateModel.modules[parsedMidx] = lpgStateModel.modules[parsedMidx - 1];\n                            lpgStateModel.modules[parsedMidx - 1] = backupModReferenceElement;\n                            renderInteractiveManualConstructorUI();\n                            executeLiveMatrixPreviewCompilation();\n                        }\n                    });\n                });\n\n                document.querySelectorAll(\".lpg-move-mod-down\").forEach(btnNode => {\n                    btnNode.addEventListener('click', (e) => {\n                        const parsedMidx = parseInt(getTargetDatasetPropertySafeWrapperFallback(e.target, 'midx'));\n                        if (parsedMidx < lpgStateModel.modules.length - 1) {\n                            registerStateChangeMutation();\n                            const backupModReferenceElement = lpgStateModel.modules[parsedMidx];\n                            lpgStateModel.modules[parsedMidx] = lpgStateModel.modules[parsedMidx + 1];\n                            lpgStateModel.modules[parsedMidx + 1] = backupModReferenceElement;\n                            renderInteractiveManualConstructorUI();\n                            executeLiveMatrixPreviewCompilation();\n                        }\n                    });\n                });\n\n                document.querySelectorAll(\".lpg-duplicate-mod\").forEach(btnNode => {\n                    btnNode.addEventListener('click', (e) => {\n                        registerStateChangeMutation();\n                        const parsedMidx = parseInt(getTargetDatasetPropertySafeWrapperFallback(e.target, 'midx'));\n                        const duplicatedBlockObjectClone = JSON.parse(JSON.stringify(lpgStateModel.modules[parsedMidx]));\n                        duplicatedBlockObjectClone.id = 'lpg-mod-cloned-uid-' + Date.now();\n                        duplicatedBlockObjectClone.name += \" (Duplicated Matrix Copy)\";\n                        lpgStateModel.modules.splice(parsedMidx + 1, 0, duplicatedBlockObjectClone);\n                        renderInteractiveManualConstructorUI();\n                        executeLiveMatrixPreviewCompilation();\n                    });\n                });\n            }\n\n            function getTargetDatasetPropertySafeWrapperFallback(targetNodePointer, expectedTargetKeyName) {\n                if (targetNodePointer.dataset && targetNodePointer.dataset[expectedTargetKeyName] !== undefined) {\n                    return targetNodePointer.dataset[expectedTargetKeyName];\n                }\n                if (targetNodePointer.parentElement && targetNodePointer.parentElement.dataset[expectedTargetKeyName] !== undefined) {\n                    return targetNodePointer.parentElement.dataset[expectedTargetKeyName];\n                }\n                \/\/ Handle sub-level SVG\/Path text target bubbles safely\n                return targetNodePointer.closest('button').dataset[expectedTargetKeyName];\n            }\n\n            \/**\n             * Live Preview Engine Core Canvas Compiler Pipeline Execution\n             *\/\n            function executeLiveMatrixPreviewCompilation() {\n                const sheetRenderContainerTargetDOMNode = document.getElementById(\"lpg-printTargetSheet\");\n                sheetRenderContainerTargetDOMNode.className = `lpg-academic-sheet-output ${lpgStateModel.design.pageSize} ${lpgStateModel.design.pageMargin}`;\n\n                \/\/ Inject dynamic styles into the application view properties\n                const documentRootStyleContextScopeReference = document.documentElement;\n                documentRootStyleContextScopeReference.style.setProperty('--lpg-print-font-size', lpgStateModel.design.fontSize);\n                documentRootStyleContextScopeReference.style.setProperty('--lpg-print-font-family', lpgStateModel.design.fontFamily);\n                documentRootStyleContextScopeReference.style.setProperty('--lpg-print-header-bg', lpgStateModel.design.headerColor);\n                documentRootStyleContextScopeReference.style.setProperty('--lpg-print-highlight-bg', lpgStateModel.design.highlightColor);\n                documentRootStyleContextScopeReference.style.setProperty('--lpg-print-border-thickness', lpgStateModel.design.borderThickness);\n                documentRootStyleContextScopeReference.style.setProperty('--lpg-print-row-padding', `${lpgStateModel.design.rowPadding}px`);\n\n                \/\/ Map and apply textual modifications across the sheet\n                document.getElementById(\"lpg-outInstName\").innerText = lpgStateModel.metadata.instName.toUpperCase();\n                document.getElementById(\"lpg-outDeptName\").innerText = lpgStateModel.metadata.deptName;\n                document.getElementById(\"lpg-outUnivName\").innerText = \"Affiliated to: \" + lpgStateModel.metadata.univName;\n                document.getElementById(\"lpg-outCourseName\").innerText = lpgStateModel.metadata.courseName;\n                document.getElementById(\"lpg-outCourseCode\").innerText = lpgStateModel.metadata.courseCode;\n                document.getElementById(\"lpg-outSemester\").innerText = lpgStateModel.metadata.semester;\n                document.getElementById(\"lpg-outBranch\").innerText = lpgStateModel.metadata.branch;\n                document.getElementById(\"lpg-outFacultyName\").innerText = lpgStateModel.metadata.facultyName;\n                document.getElementById(\"lpg-outAcadSession\").innerText = lpgStateModel.metadata.acadSession;\n                document.getElementById(\"lpg-outClassStrength\").innerText = lpgStateModel.metadata.classStrength;\n                document.getElementById(\"lpg-outCredits\").innerText = lpgStateModel.metadata.credits;\n                document.getElementById(\"lpg-outCoordName\").innerText = lpgStateModel.metadata.coordName;\n                \n                document.getElementById(\"lpg-outSigFacultyName\").innerText = lpgStateModel.metadata.facultyName;\n                document.getElementById(\"lpg-outSigHodName\").innerText = lpgStateModel.metadata.hodName;\n                document.getElementById(\"lpg-outFooterText\").innerText = lpgStateModel.metadata.footerText;\n\n                \/\/ Handle Identity Logo Upload Stream state transfers\n                const pLogoWrapper = document.getElementById(\"lpg-sheetLogoWrapper\");\n                const pLogoImg = document.getElementById(\"lpg-sheetLogoImg\");\n                if (lpgStateModel.metadata.logoData) {\n                    pLogoImg.src = lpgStateModel.metadata.logoData;\n                    pLogoWrapper.style.display = \"flex\";\n                } else {\n                    pLogoWrapper.style.display = \"none\";\n                }\n\n                \/\/ Compile Table Rows\n                const tbodyContainerNode = document.getElementById(\"lpg-sheetTableBody\");\n                tbodyContainerNode.innerHTML = \"\";\n\n                let globalLectureCounterSequenceIndex = 1;\n                let activeModulesCountValue = lpgStateModel.modules.length;\n\n                lpgStateModel.modules.forEach(moduleItemBlock => {\n                    \/\/ Create Module Row Highlight Bar Line Splitter\n                    const mHeaderTrNode = document.createElement(\"tr\");\n                    mHeaderTrNode.className = \"lpg-module-heading-row\";\n                    mHeaderTrNode.innerHTML = `<td colspan=\"6\" style=\"text-align:left; font-weight:700;\">${escapeStructuralHtmlCharacters(moduleItemBlock.name)}<\/td>`;\n                    tbodyContainerNode.appendChild(mHeaderTrNode);\n\n                    \/\/ Map Child lecture rows inside this module segment context block\n                    moduleItemBlock.topics.forEach(topicStringTextContent => {\n                        const rowTrNode = document.createElement(\"tr\");\n                        rowTrNode.innerHTML = `\n                            <td class=\"lpg-text-center\" style=\"font-weight:600; font-size: 0.8rem; color:#475569;\">-<\/td>\n                            <td class=\"lpg-text-center\" style=\"font-weight:700;\">Lecture ${globalLectureCounterSequenceIndex}<\/td>\n                            <td style=\"text-align:left; white-space: normal; word-break: break-word;\">${escapeStructuralHtmlCharacters(topicStringTextContent)}<\/td>\n                            <td class=\"lpg-text-center\" style=\"color:#94a3b8; font-style:italic; font-size:0.8rem;\">As Scheduled<\/td>\n                            <td class=\"lpg-text-center\" style=\"font-size:0.75rem; color:#64748b;\">Proposed<\/td>\n                            <td><\/td>\n                        `;\n                        tbodyContainerNode.appendChild(rowTrNode);\n                        globalLectureCounterSequenceIndex++;\n                    });\n                });\n\n                const absoluteAggregatedLecturesCountSum = globalLectureCounterSequenceIndex - 1;\n                document.getElementById(\"lpg-outLecturesCount\").innerText = absoluteAggregatedLecturesCountSum;\n                document.getElementById(\"lpg-statsCounterBadge\").innerText = `Modules Total Count: ${activeModulesCountValue} | Aggregate Lectures Matrix: ${absoluteAggregatedLecturesCountSum}`;\n            }\n\n            \/**\n             * Data Export Pipeline Utility Libraries Blocks\n             *\/\n            function executeAssetDownloadSequenceStream(fileContentStringBlock, generatedFileNameTarget, fileMimeTypeHeaderProperty) {\n                const anchorDomLinkElement = document.createElement(\"a\");\n                const fileBlobMemoryCarrier = new Blob([fileContentStringBlock], { type: fileMimeTypeHeaderProperty });\n                anchorDomLinkElement.href = URL.createObjectURL(fileBlobMemoryCarrier);\n                anchorDomLinkElement.download = generatedFileNameTarget;\n                anchorDomLinkElement.click();\n                URL.revokeObjectURL(anchorDomLinkElement.href);\n            }\n\n            function executeNativeClipboardGridDataExtractionTransfer() {\n                const rootTargetTableGridDOMReference = document.getElementById(\"lpg-lessonPlanMatrixTable\");\n                let plainTextTabularOutputBufferString = \"\";\n\n                for (let linearRowItem of rootTargetTableGridDOMReference.rows) {\n                    let internalRowCellsAccumulatorArray = [];\n                    for (let unitCellItem of linearRowItem.cells) {\n                        internalRowCellsAccumulatorArray.push(unitCellItem.innerText.trim());\n                    }\n                    plainTextTabularOutputBufferString += internalRowCellsAccumulatorArray.join(\"\\t\") + \"\\n\";\n                }\n\n                navigator.clipboard.writeText(plainTextTabularOutputBufferString)\n                    .then(() => alert(\"Grid matrix elements parsed and copied into system clipboard standard tabular space.\"))\n                    .catch(() => alert(\"Operation Refused: System environment variable secure context constraint prevented clipboard access.\"));\n            }\n\n            function escapeStructuralHtmlCharacters(targetRawStringInput) {\n                return String(targetRawStringInput)\n                    .replace(\/&\/g, '&amp;')\n                    .replace(\/<\/g, '&lt;')\n                    .replace(\/>\/g, '&gt;')\n                    .replace(\/\"\/g, '&quot;');\n            }\n        })();\n    <\/script>\n<\/body>\n<\/html>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Academic Lesson Plan Generator Tool PlanCraft Canvas \ud83c\udf13 Theme Metadata Syllabus Styles Institution Headers Institute Name Department Name University Name Institute Logo Image Course Definition Params Course Title Course Code Semester Branch Faculty Name Academic Session Class Strength Credits Workflow Attestation Authorities Course Coordinator HOD Name Custom Document Footer Manual Layout Paste Text Swap + [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-351","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/freewebtools.co.in\/index.php\/wp-json\/wp\/v2\/pages\/351","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/freewebtools.co.in\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/freewebtools.co.in\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/freewebtools.co.in\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/freewebtools.co.in\/index.php\/wp-json\/wp\/v2\/comments?post=351"}],"version-history":[{"count":21,"href":"https:\/\/freewebtools.co.in\/index.php\/wp-json\/wp\/v2\/pages\/351\/revisions"}],"predecessor-version":[{"id":535,"href":"https:\/\/freewebtools.co.in\/index.php\/wp-json\/wp\/v2\/pages\/351\/revisions\/535"}],"wp:attachment":[{"href":"https:\/\/freewebtools.co.in\/index.php\/wp-json\/wp\/v2\/media?parent=351"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}