ÿþ<!DOCTYPE html> <html lang="hi"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes"> <title>CTET * G * 0 -1 | * 0 M / > 5 0 # @ /  ' M / / (  5  6 ?  M 7 > 6 > 8 M $ M 0 | & H ( ?   - M / > 8  ( 0 G  0 </title> <link href="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Ccircle cx='50' cy='50' r='45' fill='%232e7d32'/%3E%3Ctext x='50' y='68' font-size='48' text-anchor='middle' fill='white' font-weight='bold'%3E* %3C/text%3E%3C/svg%3E" rel="icon"> <script src="https://cdnjs.cloudflare.com/ajax/libs/jspdf/2.5.1/jspdf.umd.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/html2canvas/1.4.1/html2canvas.min.js"></script> <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css"> <style> :root { --primary: #2e7d32; --primary-dark: #1b5e20; --secondary: #81c784; --danger: #e53e3e; --success: #38a169; --light: #e8f5e9; --dark: #1b5e20; --gray: #388e3c; --border-radius: 12px; --box-shadow: 0 10px 25px -5px rgba(0,0,0,0.1); --transition: all 0.3s ease; } * { margin: 0; padding: 0; box-sizing: border-box; font-family: 'Segoe UI', 'Poppins', system-ui, sans-serif; } body { background: linear-gradient(135deg, #e8f5e9 0%, #a5d6a7 100%); min-height: 100vh; display: flex; justify-content: center; align-items: center; padding: 20px; color: var(--dark); line-height: 1.5; } .container { width: 100%; max-width: 1100px; background: white; border-radius: var(--border-radius); box-shadow: var(--box-shadow); overflow: hidden; transition: var(--transition); animation: fadeIn 0.4s ease-out; } @keyframes fadeIn { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: translateY(0); } } .header { background: linear-gradient(135deg, var(--primary), var(--primary-dark)); color: white; padding: 28px 20px; text-align: center; position: relative; } .header::before { content: '<Ø?ß'; position: absolute; bottom: 10px; right: 20px; font-size: 70px; opacity: 0.1; } .header h1 { font-size: 1.9rem; margin-bottom: 8px; font-weight: 700; letter-spacing: -0.5px; } .header p { font-size: 1rem; opacity: 0.9; } .header-controls { position: absolute; top: 20px; right: 20px; display: flex; gap: 12px; z-index: 5; } .header-controls .home-icon { position: relative; top: 0; left: 0; color: white; font-size: 24px; cursor: pointer; transition: var(--transition); text-decoration: none; display: inline-block; background: rgba(0,0,0,0.2); width: 40px; height: 40px; border-radius: 50%; display: flex; align-items: center; justify-content: center; } .header-controls .home-icon:hover { transform: scale(1.08); background: rgba(0,0,0,0.4); } .lang-toggle { background: rgba(255,255,255,0.15); border: 1px solid rgba(255,255,255,0.3); border-radius: 30px; color: white; padding: 6px 16px; font-size: 0.9rem; font-weight: 600; cursor: pointer; transition: var(--transition); display: flex; align-items: center; gap: 8px; } .lang-toggle:hover { background: rgba(255,255,255,0.3); } .lang-toggle i { font-size: 1rem; } .content-area { padding: 28px; } .hidden { display: none !important; } .btn { display: inline-block; padding: 12px 28px; border-radius: 50px; font-weight: 600; cursor: pointer; transition: var(--transition); border: none; text-align: center; box-shadow: 0 4px 8px rgba(0,0,0,0.05); margin: 8px 5px; font-size: 0.95rem; } .btn-primary { background: var(--primary); color: white; } .btn-primary:hover { background: var(--primary-dark); transform: translateY(-2px); box-shadow: 0 10px 20px -5px var(--primary); } .btn-success { background: var(--success); color: white; } .btn-success:hover { background: #2c7a4a; transform: translateY(-2px); } .btn-danger { background: var(--danger); color: white; } .btn-danger:hover { background: #c53030; transform: translateY(-2px); } .btn-level { background: white; color: var(--dark); border: 2px solid #cbd5e0; font-size: 1.1rem; padding: 14px 28px; width: 190px; font-weight: 600; transition: all 0.2s; } .btn-level:hover { transform: translateY(-4px); background: #f7fafc; border-color: var(--primary); } .btn-level.selected { background: var(--primary); color: white; border-color: var(--primary); box-shadow: 0 8px 16px -4px rgba(46,125,50,0.4); } .btn-group { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; margin: 20px 0; } .level-buttons { display: flex; justify-content: center; gap: 25px; margin: 30px 0; flex-wrap: wrap; } .section-title { text-align: center; margin-bottom: 25px; color: var(--primary-dark); font-size: 1.7rem; position: relative; padding-bottom: 12px; font-weight: 600; } .section-title::after { content: ''; position: absolute; bottom: 0; left: 50%; transform: translateX(-50%); width: 80px; height: 4px; background: var(--secondary); border-radius: 4px; } .checkbox-container { display: grid; grid-template-columns: repeat(auto-fill, minmax(310px, 1fr)); gap: 14px; margin: 25px 0; max-height: 520px; overflow-y: auto; padding: 15px; border: 1px solid #e2e8f0; border-radius: 18px; background: #f0faf0; } .checkbox-item { display: flex; align-items: center; background: white; padding: 8px 12px; border-radius: 40px; transition: all 0.2s; border: 1px solid #e9ecef; } .checkbox-item:hover { background: #e8f5e9; transform: translateX(3px); } .checkbox-item input { margin-right: 12px; width: 18px; height: 18px; cursor: pointer; accent-color: var(--primary); } .checkbox-item label { cursor: pointer; font-size: 0.9rem; font-weight: 500; } .question { margin-bottom: 25px; page-break-inside: avoid; background: #ffffff; padding: 15px; border-radius: 16px; box-shadow: 0 1px 2px rgba(0,0,0,0.05); border-left: 4px solid var(--secondary); } .question-text { font-weight: 700; margin-bottom: 12px; font-size: 1.05rem; color: #2d3748; } .option { margin-left: 24px; margin-bottom: 6px; color: #4a5568; } .action-buttons { display: flex; justify-content: center; flex-wrap: wrap; gap: 18px; margin-top: 40px; } .answer-sheet { margin-top: 40px; padding: 20px; background: #e8f5e9; border-radius: var(--border-radius); } .answer-table { width: 100%; border-collapse: collapse; margin-top: 15px; border-radius: 12px; overflow: hidden; } .answer-table th, .answer-table td { border: 1px solid #cbd5e0; padding: 10px; text-align: center; } .answer-table th { background-color: var(--primary); color: white; font-weight: 600; } .streak-container { display: flex; justify-content: center; align-items: center; margin: 20px 0; gap: 20px; flex-wrap: wrap; } .streak-counter { background: #ff9100; color: white; padding: 10px 20px; border-radius: 60px; font-weight: bold; box-shadow: 0 4px 10px rgba(0,0,0,0.1); } .date-display { font-size: 1rem; font-weight: 600; background: #e2e8f0; padding: 8px 18px; border-radius: 40px; color: var(--primary-dark); } .progress-container { margin: 20px 0; background: #edf2f7; padding: 20px; border-radius: 28px; } .progress-bar { height: 12px; background: #cbd5e0; border-radius: 20px; overflow: hidden; margin-top: 12px; } .progress-fill { height: 100%; background: var(--success); border-radius: 20px; transition: width 0.5s ease; } .problem-of-day { background: linear-gradient(115deg, #fff6e5, #ffedd5); border-left: 5px solid var(--danger); padding: 20px; margin: 20px 0; border-radius: 24px; } .daily-summary { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 15px; margin: 20px 0; } .summary-card { flex: 1; min-width: 110px; background: white; padding: 15px; border-radius: 20px; box-shadow: 0 8px 20px rgba(0,0,0,0.05); text-align: center; border: 1px solid #e2e8f0; } .home-icon { position: absolute; top: 20px; left: 20px; color: white; font-size: 26px; cursor: pointer; transition: transform 0.2s; z-index: 5; background: rgba(0,0,0,0.2); width: 40px; height: 40px; border-radius: 50%; display: flex; align-items: center; justify-content: center; } .home-icon:hover { transform: scale(1.08); background: rgba(0,0,0,0.4); } .instructions { margin-bottom: 30px; padding: 18px 22px; background: #f0faf0; border-radius: 24px; border: 1px solid #e2e8f0; } @media (max-width: 680px) { .header h1 { font-size: 1.3rem; } .btn-level { width: 140px; font-size: 0.9rem; padding: 12px 16px; } .checkbox-container { grid-template-columns: 1fr; } .header-controls { top: 12px; right: 12px; gap: 8px; } .lang-toggle { font-size: 0.7rem; padding: 4px 12px; } } @media print { .action-buttons, .streak-container, .progress-container, .problem-of-day, .daily-summary, .header-controls { display: none; } .question { break-inside: avoid; } } .text-center { text-align: center; } </style> <script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-4930137336556867" crossorigin="anonymous"></script> <script async src="https://www.googletagmanager.com/gtag/js?id=G-KMZ9RJ62EY"></script> <script> window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', 'G-KMZ9RJ62EY'); </script> </head> <body> <div class="container" id="startContainer"> <div class="header"> <div class="header-controls"> <a href="ctet-exam-paper1-daily-practice-problem-generator.html" class="home-icon" ><i class="fas fa-chalkboard-user"></i></a> <button class="lang-toggle" id="langToggleBtn"><i class="fas fa-globe"></i> <span id="langLabel">9 ?  & @ </span></button> </div> <h1 id="mainTitle"><i class="fas fa-leaf"></i> CTET * G * 0 -1</h1> <p id="mainSubtitle">* 0 M / > 5 0 # @ /  ' M / / (  5  6 ?  M 7 > 6 > 8 M $ M 0 | & H ( ?   - M / > 8 8 . 8 M / >  ( 0 G  0 </p> </div> <div class="content-area"> <div id="startScreen"> <h2 class="section-title" id="startTitle"><Ø?ß * 0 M / > 5 0 # @ /  ' M / / (  5  6 ?  M 7 > 6 > 8 M $ M 0 </h2> <div class="streak-container"> <div class="streak-counter"><i class="fas fa-fire"></i> <span id="streakLabel">2  > $ > 0 </span>: <span id="streakDays">0</span> <span id="dayLabel">& ? ( </span></div> <div class="date-display" id="currentDate"></div> </div> <div class="progress-container"> <h3><i class="fas fa-chart-line"></i> <span id="progressTitle"> *  @ * M 0  $ ? </span></h3> <div class="progress-bar"><div class="progress-fill" id="progressFill" style="width: 0%"></div></div> <p id="progressText" style="margin-top: 8px;">0% * B 0 M # </p> </div> <div class="btn-group"> <button class="btn btn-primary" id="problemOfDayBtn"><i class="fas fa-calendar-day"></i> <span id="podBtnText">& ? (  @ 8 . 8 M / > </span></button> <button class="btn btn-success" id="customPracticeBtn"><i class="fas fa-pen-ruler"></i> <span id="customBtnText"> 8 M  .  - M / > 8 </span></button> </div> </div> <div id="subjectSelection" class="hidden"> <h2 class="section-title" id="subjectTitle"><Ø¯ß 5 ? 7 /  / ( </h2> <div class="btn-group"><button class="btn btn-primary" id="selectEVSBtn"><i class="fas fa-brain"></i> <span id="selectSubjectText">* 0 M / > 5 0 # @ /  ' M / / (  5  6 ?  M 7 > 6 > 8 M $ M 0 </span></button></div> </div> <div id="topicSelection" class="hidden"> <h2 class="section-title" id="topicTitle">=ØÚÜ <span id="chapterSelectText"> ' M / > / K   >  / (  0 G  </span> (27  ' M / > / )</h2> <form id="topicForm"> <div class="checkbox-container" id="topicsContainer"></div> </form> <div class="btn-group"> <button class="btn btn-danger" id="backToStartBtn"><i class="fas fa-arrow-left"></i> <span id="backStartText">* M 0 > 0  - * 0 5 > * 8 </span></button> <button class="btn btn-success" id="generateAssignmentBtn"><i class="fas fa-cogs"></i> <span id="genAssignText"> - M / > 8 * M 0 6 M (  G ( 0 G   0 G  </span></button> </div> </div> <div id="levelSelection" class="hidden"> <h2 class="section-title" id="levelTitle">¡& <span id="levelSelectText"> ? ( >  8 M $ 0  A ( G  </span></h2> <p class="text-center" id="levelDescText" style="text-align:center; margin-bottom:10px;"> * ( G CTET 8 M $ 0  G  ( A 8 > 0  A ( G  :</p> <div class="level-buttons"> <button class="btn btn-level" id="level1Btn"><span id="l1Title">8 M $ 0 1</span> <br><small id="l1Sub">, G 8 ?  / CTET  ' > 0 </small></button> <button class="btn btn-level" id="level2Btn"><span id="l2Title">8 M $ 0 2</span> <br><small id="l2Sub">. ' M / . (CTET . > (  )</small></button> <button class="btn btn-level" id="level3Btn"><span id="l3Title">8 M $ 0 3</span> <br><small id="l3Sub"> ( M ( $ (5 ? 6 M 2 G 7 # > $ M .  )</small></button> </div> <div class="btn-group"> <button class="btn btn-danger" id="backToTopicsBtn"><i class="fas fa-arrow-left"></i> <span id="backTopicsText">5 ? 7 / K  * 0 5 > * 8 </span></button> <button class="btn btn-success" id="generateFinalBtn"><i class="fas fa-cogs"></i> <span id="genFinalText"> - M / > 8 * M 0 6 M (  G ( 0 G   0 G  </span></button> </div> </div> </div> </div> <div class="container hidden" id="generatedPaperContainer"></div> <script> const { jsPDF } = window.jspdf; const startContainer = document.getElementById('startContainer'); const startScreen = document.getElementById('startScreen'); const subjectSelection = document.getElementById('subjectSelection'); const topicSelection = document.getElementById('topicSelection'); const levelSelection = document.getElementById('levelSelection'); const generatedPaperContainer = document.getElementById('generatedPaperContainer'); // ===================================================== // BILINGUAL QUESTIONS DATABASE (27 TOPICS: 15 EVS + 12 Pedagogy) // ===================================================== const questionBank = {}; function addQuestions(topicKey, enQ, hiQ) { if (!questionBank[topicKey]) questionBank[topicKey] = { en: { level1: [], level2: [], level3: [] }, hi: { level1: [], level2: [], level3: [] } }; const levels = ['level1', 'level2', 'level3']; enQ.forEach((q, idx) => { const levelKey = levels[idx] || 'level1'; questionBank[topicKey].en[levelKey].push(q); }); hiQ.forEach((q, idx) => { const levelKey = levels[idx] || 'level1'; questionBank[topicKey].hi[levelKey].push(q); }); } // ----- EVS (15) ----- addQuestions('* 0 ? 5 > 0 , 8 . M , ( M '  5  * 0 M / > 5 0 # ', [ { question: "What is the basic unit of society?", options: ["Family", "School", "Community", "Nation"], answer: "A" }, { question: "Joint family includes:", options: ["Multiple generations", "Only parents", "Only couple", "Only grandparents"], answer: "A" }, { question: "Environment affects family by:", options: ["Shaping values", "Only income", "Only emotions", "Only shelter"], answer: "A" } ], [ { question: "8 . >   @ . B 2   >   M / > 9 H ?", options: ["* 0 ? 5 > 0 ", "5 ? & M / > 2 / ", "8 . A & > / ", "0 > 7 M  M 0 "], answer: "A" }, { question: "8  / A  M $ * 0 ? 5 > 0 . G  6 > . ? 2 :", options: ["  * @ " < ? / >  ", " G 5 2 . > $ > -* ? $ > ", " G 5 2 / A  2 ", " G 5 2 & > & > -& > & @ "], answer: "A" }, { question: "* 0 M / > 5 0 # * 0 ? 5 > 0  K * M 0 - > 5 ? $  0 $ > 9 H :", options: [". B 2 M / K   K   > 0 & G  0 ", " G 5 2  / 8 G ", " G 5 2 - > 5 ( >   8 G ", " G 5 2  6 M 0 / 8 G "], answer: "A" } ] ); addQuestions('* > & *  5    $ A   $ ', [ { question: "Plants make food through:", options: ["Photosynthesis", "Respiration", "Transpiration", "Germination"], answer: "A" }, { question: "Herbivore animal is:", options: ["Cow", "Lion", "Tiger", "Bear"], answer: "A" }, { question: "Photosynthesis requires:", options: ["Sunlight, water, CO2", "Only sunlight", "Only water", "Only oxygen"], answer: "A" } ], [ { question: "* L ' G - K  ( , ( > $ G 9 H  :", options: ["* M 0  > 6 8  6 M 2 G 7 # ", "6 M 5 8 ( ", "5 > 7 M * K $ M 8 0 M  ( ", "   A 0 # "], answer: "A" }, { question: "6 >  > 9 > 0 @  > ( 5 0 :", options: [" > / ", "6 G 0 ", ", >  ", "- > 2 B "], answer: "A" }, { question: "* M 0  > 6 8  6 M 2 G 7 #  G 2 ?   > 9 ?  :", options: ["8 B 0 M / * M 0  > 6 ,  2 , CO2", " G 5 2 8 B 0 M / * M 0  > 6 ", " G 5 2  2 ", " G 5 2   M 8 @  ( "], answer: "A" } ] ); addQuestions('. > ( 5 6 0 @ 0  5  0 K  ', [ { question: "Largest organ of human body:", options: ["Skin", "Liver", "Brain", "Heart"], answer: "A" }, { question: "Vitamin C deficiency causes:", options: ["Scurvy", "Rickets", "Night blindness", "Anemia"], answer: "A" }, { question: "Viral disease example:", options: ["COVID-19", "Cholera", "Typhoid", "Tuberculosis"], answer: "A" } ], [ { question: ". > ( 5 6 0 @ 0  > 8 , 8 G , ! < >    :", options: ["$ M 5  > ", "/  C $ ", ". 8 M $ ? 7 M  ", "9 C & / "], answer: "A" }, { question: "5 ?  > . ? ( C  @  . @ 8 G :", options: ["8 M  0 M 5 @ ", "0 ?  G  M 8 ", "0 $ L  ' @ ", " ( @ . ? / > "], answer: "A" }, { question: "5 > / 0 2 0 K   > & > 9 0 # :", options: ["COVID-19", "9 H  > ", " >  + >  ! ", "$ * G & ?  "], answer: "A" } ] ); addQuestions('9 . > 0 @ . B 2  5 6 M /  $ >   ', [ { question: "Which is not a basic need?", options: ["Television", "Food", "Water", "Shelter"], answer: "A" }, { question: "Balanced diet includes:", options: ["All nutrients", "Only proteins", "Only carbs", "Only fats"], answer: "A" }, { question: "Clean water prevents:", options: ["Waterborne diseases", "Only thirst", "Only hunger", "Only pollution"], answer: "A" } ], [ { question: ". B 2  5 6 M /  $ > ( 9 @  9 H :", options: [" G 2 @ 5 ?  ( ", "- K  ( ", " 2 ", " 6 M 0 / "], answer: "A" }, { question: "8  $ A 2 ? $  9 > 0 . G  :", options: ["8 - @ * K 7  $ $ M 5 ", " G 5 2 * M 0 K  @ ( ", " G 5 2  > 0 M , M 8 ", " G 5 2 5 8 > "], answer: "A" }, { question: "8 M 5  M   2 0 K  $ > 9 H :", options: [" 2  ( ? $ 0 K  ", " G 5 2 * M / > 8 ", " G 5 2 - B  ", " G 5 2 * M 0 & B 7 # "], answer: "A" } ] ); addQuestions(' 6 M 0 / ', [ { question: "Pucca house made of:", options: ["Bricks and cement", "Mud", "Wood", "Bamboo"], answer: "A" }, { question: "Hot region houses have:", options: ["Light colors, high ceilings", "Dark colors", "Low ceilings", "No windows"], answer: "A" }, { question: "Flood area houses built:", options: ["On stilts", "Underground", "Floating", "Without foundation"], answer: "A" } ], [ { question: "*  M  > .  > ( , ( $ > 9 H :", options: ["    0 8 @ . G   ", ". ?  M  @ ", "2  ! < @ ", ", >  8 "], answer: "A" }, { question: " 0 M .  M 7 G $ M 0 K  . G  .  > ( :", options: ["9 2 M  G 0   ,   @  $ ", " 9 0 G 0   ", "( @  @  $ ", ", ? ( >  ? ! <  @ "], answer: "A" }, { question: ", > " <  M 7 G $ M 0 K  . G  .  > ( :", options: ["  - K  * 0 ", "- B . ?  $ ", "$ H 0 $ G ", ", ? ( > ( @  5 "], answer: "A" } ] ); addQuestions('* 0 ? 5 9 ( $ % > 8   > 0 ', [ { question: "Fastest transport mode:", options: ["Airplane", "Train", "Bus", "Ship"], answer: "A" }, { question: "Email is an example of:", options: ["Communication tech", "Transport tech", "Construction tech", "Medical tech"], answer: "A" }, { question: "Eco-friendly transport:", options: ["Walking", "Car", "Bus", "Train"], answer: "A" } ], [ { question: "8 , 8 G $ G  < * 0 ? 5 9 ( :", options: ["9 5 >   9 >  ", " M 0 G ( ", ", 8 ", " 9 >  "], answer: "A" }, { question: " . G 2 & > 9 0 # 9 H :", options: ["8   > 0 $  ( @  ", "* 0 ? 5 9 ( $  ( @  ", "( ? 0 M . > # $  ( @  ", " ?  ? $ M 8 > $  ( @  "], answer: "A" }, { question: "* 0 M / > 5 0 # - ( A  B 2 * 0 ? 5 9 ( :", options: ["* H & 2  2 ( > ", " > 0 ", ", 8 ", " M 0 G ( "], answer: "A" } ] ); addQuestions('- > 0 $  @ 8 >  8 M  C $ ?   0 * M 0 >  C $ ?  5 ? 5 ? ' $ >  0 - > 0 $ @ / 8 M 5 $  $ M 0 $ >   & K 2 ( ', [ { question: "India's diversity includes:", options: ["Many languages, religions", "Only one language", "Only one religion", "Only one culture"], answer: "A" }, { question: "Freedom movement leader:", options: ["Mahatma Gandhi", "Only Subhas", "Only Bhagat", "All of above"], answer: "D" }, { question: "Natural diversity example:", options: ["Himalayas", "Only deserts", "Only rivers", "Only forests"], answer: "A" } ], [ { question: "- > 0 $  @ 5 ? 5 ? ' $ > . G  :", options: ["  - > 7 >   , ' 0 M . ", " G 5 2   - > 7 > ", " G 5 2   ' 0 M . ", " G 5 2   8  8 M  C $ ? "], answer: "A" }, { question: "8 M 5 $  $ M 0 $ >   & K 2 (  G ( G $ > :", options: [". 9 > $ M . >  >  ' @ ", " G 5 2 8 A - > 7 ", " G 5 2 -  $ ", " * 0 K  M $ 8 - @ "], answer: "D" }, { question: "* M 0 >  C $ ?  5 ? 5 ? ' $ >  > & > 9 0 # :", options: ["9 ? . > 2 / ", " G 5 2 0 G  ? 8 M $ > ( ", " G 5 2 ( & ? / >  ", " G 5 2 5 ( "], answer: "A" } ] ); addQuestions(', M 0 9 M . >  ! $ % > 8 L 0 .  ! 2 ', [ { question: "Number of planets in solar system:", options: ["8", "9", "7", "6"], answer: "A" }, { question: "Largest planet:", options: ["Jupiter", "Saturn", "Neptune", "Earth"], answer: "A" }, { question: "Sun is a:", options: ["Star", "Planet", "Satellite", "Comet"], answer: "A" } ], [ { question: "8 L 0 .  ! 2 . G   M 0 9 :", options: ["8", "9", "7", "6"], answer: "A" }, { question: "8 , 8 G , ! < >  M 0 9 :", options: [", C 9 8 M * $ ? ", "6 ( ? ", "( G *  M / B ( ", "* C % M 5 @ "], answer: "A" }, { question: "8 B 0 M /   :", options: ["$ > 0 > ", " M 0 9 ", " *  M 0 9 ", "' B .  G $ A "], answer: "A" } ] ); addQuestions('* C % M 5 @ (* C % M 5 @  @   $ 0 ?  8  0  ( > , $ A ,   M 7 >  6 , & G 6 >  $ 0 $ % >  9 A   G )', [ { question: "Earth's core is made of:", options: ["Iron and nickel", "Silicon", "Copper", "Aluminum"], answer: "A" }, { question: "Seasons caused by:", options: ["Axis tilt and revolution", "Only tilt", "Only revolution", "Rotation"], answer: "A" }, { question: "Latitudes measured in:", options: ["Degrees", "Kilometers", "Miles", "Meters"], answer: "A" } ], [ { question: "* C % M 5 @  >  K 0 :", options: ["2 K 9 >  0 ( ?  2 ", "8 ? 2 ?  I ( ", "$ >  , > ", " 2 M / B . @ ( ? / . "], answer: "A" }, { question: " $ A    ? 8 8 G :", options: ["  M 7  A  > 5  0 * 0 ?  M 0 . > ", " G 5 2  A  > 5 ", " G 5 2 * 0 ?  M 0 . > ", " B 0 M # ( "], answer: "A" }, { question: "  M 7 >  6 . > * ( :", options: ["! ?  M 0 @ ", " ? 2 K . @  0 ", ". @ 2 ", ". @  0 "], answer: "A" } ] ); addQuestions(' 2 $ % > 5 > / A ', [ { question: "Earth's water cover percentage:", options: ["71%", "29%", "50%", "97%"], answer: "A" }, { question: "Highest gas in air:", options: ["Nitrogen", "Oxygen", "CO2", "Argon"], answer: "A" }, { question: "Water cycle includes:", options: ["Evaporation, condensation, precipitation", "Only evaporation", "Only condensation", "Only precipitation"], answer: "A" } ], [ { question: "* C % M 5 @ * 0  2 * M 0 $ ? 6 $ :", options: ["71%", "29%", "50%", "97%"], answer: "A" }, { question: "5 > / A . G  8 , 8 G  ' ?   H 8 :", options: ["( >   M 0 K  ( ", "  M 8 @  ( ", "CO2", " 0 M  ( "], answer: "A" }, { question: " 2   M 0 . G  :", options: ["5 > 7 M * @  0 # , 8   ( ( , 5 0 M 7 # ", " G 5 2 5 > 7 M * @  0 # ", " G 5 2 8   ( ( ", " G 5 2 5 0 M 7 # "], answer: "A" } ] ); addQuestions('. C & > $ % > + 8 2 G  ', [ { question: "Most fertile soil:", options: ["Alluvial", "Sandy", "Clayey", "Laterite"], answer: "A" }, { question: "Black soil crop:", options: ["Cotton", "Rice", "Wheat", "Sugarcane"], answer: "A" }, { question: "Soil conservation methods:", options: ["Contour ploughing, terracing", "Burning", "Excessive ploughing", "Deforestation"], answer: "A" } ], [ { question: "8 , 8 G *  > . ?  M  @ :", options: [" 2 K " < ", ", 2 A  ", " ?  ( @ ", "2 H  G 0 >   "], answer: "A" }, { question: " > 2 @ . ?  M  @ . G  + 8 2 :", options: [" * > 8 ", " > 5 2 ", " G 9 B  ", " ( M ( > "], answer: "A" }, { question: ". C & > 8  0  M 7 # :", options: ["8 . K  M   A $ >  , 8 @ " < @ & > 0 ", " 2 > ( > ", " $ M / ' ?   A $ >  ", "5 ( K   @   >  "], answer: "A" } ] ); addQuestions(' 0 M  > ', [ { question: "Renewable energy source:", options: ["Solar", "Petroleum", "Coal", "Natural gas"], answer: "A" }, { question: "Main energy source on Earth:", options: ["Sun", "Moon", "Stars", "Planets"], answer: "A" }, { question: "Non-renewable energy source:", options: ["Coal", "Wind", "Solar", "Hydro"], answer: "A" } ], [ { question: "( 5 @  0 # @ / 0 M  > :", options: ["8 L 0 ", "* G  M 0 K 2 ? / . ", " K / 2 > ", "* M 0 >  C $ ?   H 8 "], answer: "A" }, { question: "* C % M 5 @ * 0 . A  M / 0 M  > 8 M 0 K $ :", options: ["8 B 0 M / ", "  & M 0 . > ", "$ > 0 G ", " M 0 9 "], answer: "A" }, { question: " ( 5 @  0 # @ / 0 M  > :", options: [" K / 2 > ", "* 5 ( ", "8 L 0 ", " 2 "], answer: "A" } ] ); addQuestions('- > 0 $  @ - L $ ?  5 ? 6 G 7 $ >   ', [ { question: "Highest peak in India:", options: ["Kanchenjunga", "Mount Everest", "Nanda Devi", "Kamet"], answer: "A" }, { question: "Ganges originates from:", options: ["Gangotri glacier", "Nanda Devi", "Kanchenjunga", "Amarnath"], answer: "A" }, { question: "Thar Desert located in:", options: ["Rajasthan", "Gujarat", "Punjab", "Haryana"], answer: "A" } ], [ { question: "- > 0 $  @ 8 , 8 G   @  K  @ :", options: ["   (    > ", ". >    5 0 G 8 M  ", "(  & > & G 5 @ ", " > . G $ "], answer: "A" }, { question: "   >  > & M  . :", options: ["   K $ M 0 @ 9 ? . ( & ", "(  & > & G 5 @ ", "   (    > ", " . 0 ( > % "], answer: "A" }, { question: "% > 0 0 G  ? 8 M $ > ( :", options: ["0 >  8 M % > ( ", " A  0 > $ ", "*   > , ", "9 0 ? / > # > "], answer: "A" } ] ); addQuestions('  0 > $ % >  * 6 ? 7 M  * M 0 ,  ' ( ', [ { question: "Best waste disposal method:", options: ["Recycling and composting", "Burning", "Dumping in water", "Landfilling"], answer: "A" }, { question: "E-waste means:", options: ["Electronic waste", "Food waste", "Plastic waste", "Paper waste"], answer: "A" }, { question: "3R principle stands for:", options: ["Reduce, Reuse, Recycle", "Read, Write, Recite", "Rise, Run, Rest", "Reach, Relate, React"], answer: "A" } ], [ { question: " * 6 ? 7 M  ( ? *  > (  > 8 0 M 5 K $ M $ . :", options: ["* A ( 0 M   M 0 #  0  . M * K 8 M  ", " 2 > ( > ", " 2 . G  + G   ( > ", "2 H  ! + ? 2 "], answer: "A" }, { question: " -5 G 8 M   >  0 M % :", options: [" 2 G  M  M 0 I ( ?   * 6 ? 7 M  ", " > & M /  * 6 ? 7 M  ", "* M 2 > 8 M  ?   * 6 ? 7 M  ", " >    * 6 ? 7 M  "], answer: "A" }, { question: "3R 8 ? & M ' >  $ :", options: ["Reduce, Reuse, Recycle", "Read, Write, Recite", "Rise, Run, Rest", "Reach, Relate, React"], answer: "A" } ] ); addQuestions('* M 0 >  C $ ?   * & >  5   8  > * M 0 ,  ' ( ', [ { question: "Natural disaster example:", options: ["Earthquake", "Industrial pollution", "Nuclear accident", "Oil spill"], answer: "A" }, { question: "Disaster management includes:", options: ["Preparedness, response, recovery", "Only rescue", "Only relief", "Only rehabilitation"], answer: "A" }, { question: "First step in disaster management:", options: ["Risk assessment and planning", "Rescue", "Relief", "Reconstruction"], answer: "A" } ], [ { question: "* M 0 >  C $ ?   * & > & > 9 0 # :", options: ["- B   * ", " & M / K  ?  * M 0 & B 7 # ", "* 0 . > # A & A 0 M   ( > ", "$ G 2 0 ? 8 > 5 "], answer: "A" }, { question: " * & > * M 0 ,  ' ( . G  :", options: ["$ H / > 0 @ , * M 0 $ ?  M 0 ? / > , * A ( 0 M 5 > 8 ", " G 5 2 ,  > 5 ", " G 5 2 0 > 9 $ ", " G 5 2 * A ( 0 M ( ? 0 M . > # "], answer: "A" }, { question: " * & > * M 0 ,  ' (  > * 9 2 >  & . :", options: [" K  ? .   2 (  0 / K  ( > ", ",  > 5 ", "0 > 9 $ ", "* A ( 0 M ( ? 0 M . > # "], answer: "A" } ] ); // ----- PEDAGOGY (12) ----- addQuestions('* 0 M / > 5 0 # 6 ?  M 7 > ( 5 @  8 )  @  5 ' > 0 # >  0 & > / 0 > ', [ { question: "EVS stands for:", options: ["Environmental Studies", "Educational Value System", "Exam Verification", "Evaluation of Varied"], answer: "A" }, { question: "Scope of EVS includes:", options: ["Natural and social environment", "Only nature", "Only society", "Only economy"], answer: "A" }, { question: "EVS is:", options: ["Interdisciplinary", "Single subject", "Science only", "Art only"], answer: "A" } ], [ { question: "EVS  > * B 0 M # 0 B * :", options: ["Environmental Studies", "Educational Value System", "Exam Verification", "Evaluation of Varied"], answer: "A" }, { question: "EVS  G & > / 0 G . G  :", options: ["* M 0 >  C $ ?   0 8 > . >  ?  * 0 M / > 5 0 # ", " G 5 2 * M 0  C $ ? ", " G 5 2 8 . >  ", " G 5 2  0 M % 5 M / 5 8 M % > "], answer: "A" }, { question: "EVS   :", options: ["  $  5 ? 7 /  ", "  2 5 ? 7 / ", " G 5 2 5 ?  M  > ( ", " G 5 2  2 > "], answer: "A" } ] ); addQuestions('* 0 M / > 5 0 # 6 ?  M 7 >  G & M & G 6 M / ,  5 ' > 0 # >  0 . 9 $ M 5 ', [ { question: "Environmental education aims to:", options: ["Create awareness and develop skills", "Only provide information", "Only conduct exams", "Only give degrees"], answer: "A" }, { question: "Significance of EE:", options: ["Promote sustainable development", "Increase pollution", "Destroy nature", "Exploit resources"], answer: "A" }, { question: "Key objective of EE:", options: ["Develop positive attitudes", "Only learn facts", "Only pass exams", "Only memorize"], answer: "A" } ], [ { question: "* 0 M / > 5 0 # 6 ?  M 7 >  > & M & G 6 M / :", options: [" >  0 B  $ >  0  L 6 2 5 ?  > 8 ", " G 5 2  > (  > 0 @ ", " G 5 2 * 0 @  M 7 > ", " G 5 2 ! ?  M 0 @ "], answer: "A" }, { question: "* 0 M / > 5 0 # 6 ?  M 7 >  > . 9 $ M 5 :", options: ["8 $ $ 5 ?  > 8  K , " < > 5 > ", "* M 0 & B 7 # , " < > ( > ", "* M 0  C $ ? ( 7 M   0 ( > ", "8  8 > ' ( K   > & K 9 ( "], answer: "A" }, { question: "* 0 M / > 5 0 # 6 ?  M 7 >  > . A  M / & M & G 6 M / :", options: ["8  > 0 > $ M .  & C 7 M  ?  K # 5 ?  > 8 ", " G 5 2 $ % M / 8 @  ( > ", " G 5 2 * 0 @  M 7 > * > 8 ", " G 5 2 / > &  0 ( > "], answer: "A" } ] ); addQuestions('* 0 M / > 5 0 #  ' M / / (  0 * 0 M / > 5 0 # 6 ?  M 7 > ', [ { question: "Environmental studies is:", options: ["Scientific study of environment", "Only social study", "Only political study", "Only economic study"], answer: "A" }, { question: "Environmental education is:", options: ["Learning process about environment", "Only reading books", "Only watching videos", "Only listening"], answer: "A" }, { question: "Difference: EVS vs EE:", options: ["EVS broader includes education", "Both same", "EVS for children", "EE for adults"], answer: "A" } ], [ { question: "* 0 M / > 5 0 #  ' M / / ( :", options: ["* 0 M / > 5 0 #  > 5 H  M  > ( ?   ' M / / ( ", " G 5 2 8 > . >  ?   ' M / / ( ", " G 5 2 0 >  ( @ $ ?   ' M / / ( ", " G 5 2  0 M % ?   ' M / / ( "], answer: "A" }, { question: "* 0 M / > 5 0 # 6 ?  M 7 > :", options: ["* 0 M / > 5 0 #  G , > 0 G . G   ' ?  . ", " G 5 2  ? $ > , G  * " < ( > ", " G 5 2 5 @ ! ? / K ", " G 5 2 8 A ( ( > "], answer: "A" }, { question: "EVS  0 EE . G    $ 0 :", options: ["EVS 5 M / > *  , 6 ?  M 7 > 6 > . ? 2 ", "& K ( K  8 . > ( ", "EVS ,  M  K   G 2 ?  ", "EE 5 / 8 M  K   G 2 ?  "], answer: "A" } ] ); addQuestions('5 ?  M  > (  0 8 > . >  ?  5 ?  M  > (  G 2 ?   > 0 M /  M 7 G $ M 0  0 8  ,  ' ', [ { question: "EVS relates to science in:", options: ["Understanding natural phenomena", "Only formulas", "Only experiments", "Only facts"], answer: "A" }, { question: "EVS relates to social science in:", options: ["Understanding human society", "Only history", "Only geography", "Only economics"], answer: "A" }, { question: "Interdisciplinary nature helps:", options: ["Holistic understanding", "Confusion", "Difficulty", "Isolation"], answer: "A" } ], [ { question: "EVS  > 5 ?  M  > ( 8 G 8  ,  ' :", options: ["* M 0 >  C $ ?    ( >    K 8 .  ( > ", " G 5 2 8 B $ M 0 ", " G 5 2 * M 0 / K  ", " G 5 2 $ % M / "], answer: "A" }, { question: "EVS  > 8 > . >  ?  5 ?  M  > ( 8 G :", options: [". > ( 5 8 . >   K 8 .  ( > ", " G 5 2  $ ? 9 > 8 ", " G 5 2 - B  K 2 ", " G 5 2  0 M % 6 > 8 M $ M 0 "], answer: "A" }, { question: "  $  5 ? 7 /  $ > 8 9 > /  :", options: ["8 .  M 0 8 .  ", "- M 0 . ", " ? ( >  ", " 2  > 5 "], answer: "A" } ] ); addQuestions('* M 0 8 M $ A $  5 ' > 0 # >    G & C 7 M  ?  K # ', [ { question: "Best approach to present EVS:", options: ["Activity-based", "Lecture method", "Book reading", "Exam-focused"], answer: "A" }, { question: "Which approach is effective?", options: ["Experiential learning", "Rote learning", "Theoretical", "Isolated"], answer: "A" }, { question: "Thematic approach means:", options: ["Teaching through themes", "Random teaching", "Without plan", "Only facts"], answer: "A" } ], [ { question: "EVS * M 0 8 M $ A $  0 ( G  > 8 0 M 5 K $ M $ . :", options: [" $ ? 5 ? ' ? - ' > 0 ? $ ", "5 M / >  M / > ( ", " ? $ > , * " < ( > ", "* 0 @  M 7 > - G  & M 0 ? $ "], answer: "A" }, { question: "* M 0 - > 5 @ & C 7 M  ?  K # :", options: [" ( A - 5 > $ M .   ' ?  . ", "0  ( > ", "8 H & M ' >  $ ?  ", " 2  -% 2  "], answer: "A" }, { question: "5 ? 7 /  $ & C 7 M  ?  K # :", options: ["5 ? 7 / K   G . > ' M / . 8 G ", "/ > & C  M  ?  ", "/ K  ( > 0 9 ? $ ", " G 5 2 $ % M / "], answer: "A" } ] ); addQuestions(' ' ?  .  G 8 ? & M ' >  $ ', [ { question: "Learning is:", options: ["Continuous process", "One-time event", "Passive", "Unstructured"], answer: "A" }, { question: "Principle of learning:", options: ["Learning by doing", "Rote learning", "Only reading", "Only listening"], answer: "A" }, { question: "Constructivism means:", options: ["Active construction of knowledge", "Passive reception", "Memorizing", "Copying"], answer: "A" } ], [ { question: " ' ?  .   :", options: ["8 $ $ * M 0  M 0 ? / > ", "  , > 0  @   ( > ", "( ? 7 M  M 0 ? / ", " 8  0  ? $ "], answer: "A" }, { question: " ' ?  .  > 8 ? & M ' >  $ :", options: [" 0  G 8 @  ( > ", "0  ( > ", " G 5 2 * " < ( > ", " G 5 2 8 A ( ( > "], answer: "A" }, { question: "0  ( > 5 > &  >  0 M % :", options: [" M  > (  > 8  M 0 ? / ( ? 0 M . > # ", "( ? 7 M  M 0 ? /  M 0 9 # ", "/ > &  0 ( > ", "(  2 "], answer: "A" } ] ); addQuestions(' $ ? 5 ? ' ? / >  ', [ { question: "Best activity for EVS:", options: ["Nature walk", "Reading textbook", "Watching videos", "Listening"], answer: "A" }, { question: "Group activities promote:", options: ["Collaboration", "Competition", "Isolation", "Confusion"], answer: "A" }, { question: "Hands-on activities help:", options: ["Practical understanding", "Only entertainment", "Wasting time", "Creating noise"], answer: "A" } ], [ { question: "EVS  G 2 ?  8 0 M 5 K $ M $ .  $ ? 5 ? ' ? :", options: ["* M 0  C $ ? - M 0 . # ", "* > M / * A 8 M $  * " < ( > ", "5 @ ! ? / K ", "8 A ( ( > "], answer: "A" }, { question: "8 . B 9  $ ? 5 ? ' ? / >  , " < > 5 > :", options: ["8 9 / K  ", "* M 0 $ ? 8 M * 0 M ' > ", " 2  > 5 ", "- M 0 . "], answer: "A" }, { question: "5 M / > 5 9 > 0 ?   $ ? 5 ? ' ? / >  :", options: ["5 M / > 5 9 > 0 ?  8 .  ", " G 5 2 . ( K 0   ( ", "8 . / , 0 M , > & ", "6 K 0 "], answer: "A" } ] ); addQuestions('* M 0 / K  /* 0 ? / K  ( >  > 0 M / ', [ { question: "Project work in EVS encourages:", options: ["Inquiry and research skills", "Only copying", "Only memorizing", "Only answering"], answer: "A" }, { question: "Experimentation helps:", options: ["Test hypotheses", "Only fun", "Only pass exams", "Only busy"], answer: "A" }, { question: "Good EVS project should be:", options: ["Relevant and practical", "Long and complex", "Only theoretical", "Only writing"], answer: "A" } ], [ { question: "EVS . G  * 0 ? / K  ( >  > 0 M / :", options: [" >    0 6 K '  L 6 2 ", " G 5 2 (  2 ", " G 5 2 / > & ", " G 5 2 $ M $ 0 "], answer: "A" }, { question: "* M 0 / K  8 9 > /  :", options: ["* 0 ?  2 M * ( >    > * 0 @  M 7 # ", " G 5 2 .  < > ", " G 5 2 * 0 @  M 7 > * > 8 ", " G 5 2 5 M / 8 M $ "], answer: "A" }, { question: "  M  @ EVS * 0 ? / K  ( > :", options: ["* M 0 > 8   ?   0 5 M / > 5 9 > 0 ?  ", "2  , @  0   ? 2 ", " G 5 2 8 H & M ' >  $ ?  ", " G 5 2 2 ?  ( > "], answer: "A" } ] ); addQuestions(' 0 M  > ', [ { question: "Discussion in EVS helps:", options: ["Exchange ideas and clarify", "Only waste time", "Only nonsense", "Only noise"], answer: "A" }, { question: "Group discussion promotes:", options: ["Critical thinking", "Passivity", "Confusion", "Isolation"], answer: "A" }, { question: "Teacher's role in discussion:", options: ["Facilitate and guide", "Dominate", "Only listen", "Only speak"], answer: "A" } ], [ { question: "EVS . G   0 M  > 8 9 > /  :", options: ["5 ?  > 0 5 ? ( ? . /  0 8 M * 7 M  @  0 # ", " G 5 2 8 . / , 0 M , > & ", " G 5 2 ,  5 > 8 ", " G 5 2 6 K 0 "], answer: "A" }, { question: "8 . B 9  0 M  > , " < > 5 > :", options: [" 2 K  ( > $ M .   ?  $ ( ", "( ? 7 M  M 0 ? / $ > ", "- M 0 . ", " 2  > 5 "], answer: "A" }, { question: " 0 M  > . G  6 ?  M 7   @ - B . ?  > :", options: ["8 A 5 ? ' >  0 M $ >  0 . > 0 M  & 0 M 6  ", "* M 0 - A $ M 5 ", " G 5 2 8 A ( ( > ", " G 5 2 , K 2 ( > "], answer: "A" } ] ); addQuestions('8 $ $  5  5 M / > *  . B 2 M / >   ( (8 @ 8 @  )', [ { question: "CCE in EVS aims:", options: ["Assess all aspects of child", "Only academic", "Only co-curricular", "Only behavior"], answer: "A" }, { question: "Formative assessment in CCE:", options: ["During learning process", "At year end", "At beginning", "After exams"], answer: "A" }, { question: "Summative assessment in CCE:", options: ["At end of term", "During learning", "At start", "Only grading"], answer: "A" } ], [ { question: "EVS . G  CCE  > & M & G 6 M / :", options: [", > 2   G 8 0 M 5 >   @ # 5 ?  > 8  >   2 ( ", " G 5 2 6 H  M 7 # ?  ", " G 5 2 8 9 -* > M /  M 0 . ", " G 5 2 5 M / 5 9 > 0 "], answer: "A" }, { question: "CCE . G  0  ( > $ M .  . B 2 M / >   ( :", options: [" ' ?  . * M 0  M 0 ? / >  G & L 0 > ( ", "5 0 M 7  G   $ . G  ", "6 A 0 A  $ . G  ", "* 0 @  M 7 >  G , > & "], answer: "A" }, { question: "CCE . G  / K  > $ M .  . B 2 M / >   ( :", options: [" 5 ' ?  G   $ . G  ", " ' ?  .  G & L 0 > ( ", "* M 0 > 0  - . G  ", " G 5 2  M 0 G ! ?   "], answer: "A" } ] ); addQuestions('6 ?  M 7 # 8 > .  M 0 @ /8  8 > ' ( ', [ { question: "Teaching aids in EVS help:", options: ["Make learning concrete and interesting", "Only make teaching easy", "Only save time", "Only impress"], answer: "A" }, { question: "Effective teaching aid for EVS:", options: ["Models and specimens", "Only textbooks", "Only blackboard", "Only worksheets"], answer: "A" }, { question: "Audio-visual aids help:", options: ["Enhance understanding", "Only entertain", "Only fill time", "Only confuse"], answer: "A" } ], [ { question: "EVS . G  6 ?  M 7 # 8 > .  M 0 @ :", options: [" ' ?  .  K . B 0 M $  0 0 K   , ( > ( > ", " G 5 2 6 ?  M 7 #  8 > ( ", " G 5 2 8 . / ,  > ( > ", " G 5 2 * M 0 - > 5 ? $ "], answer: "A" }, { question: "EVS  G 2 ?  * M 0 - > 5 @ 6 ?  M 7 # 8 > .  M 0 @ :", options: [". I ! 2  0 ( . B ( G ", " G 5 2 * > M / * A 8 M $  G  ", " G 5 2 , M 2 H  , K 0 M ! ", " G 5 2 5 0 M  6 @  "], answer: "A" }, { question: "6 M 0 5 M / -& C 6 M / 8 > .  M 0 @ :", options: ["8 .  , " < > ( > ", " G 5 2 . ( K 0   ( ", " G 5 2 8 . / - 0 ( > ", " G 5 2 - M 0 . ? $ "], answer: "A" } ] ); addQuestions('8 . 8 M / > ', [ { question: "Major problem in EVS teaching:", options: ["Lack of practical resources", "Too many textbooks", "Less syllabus", "Short hours"], answer: "A" }, { question: "Challenge in EVS education:", options: ["Connecting concepts to real life", "Teaching definitions", "Exams", "Giving marks"], answer: "A" }, { question: "To overcome problems:", options: ["Use local resources", "Ignore problems", "Only follow textbooks", "Only lectures"], answer: "A" } ], [ { question: "EVS 6 ?  M 7 # . G  * M 0 . A  8 . 8 M / > :", options: ["5 M / > 5 9 > 0 ?  8  8 > ' ( K   @  . @ ", ", 9 A $  ' ?  * > M / * A 8 M $  G  ", " . * > M /  M 0 . ", " .    G "], answer: "A" }, { question: "EVS 6 ?  M 7 > . G   A ( L $ @ :", options: [" 5 ' > 0 # >    K 5 > 8 M $ 5 ?   @ 5 ( 8 G  K ! < ( > ", "* 0 ? - > 7 >   8 ?  > ( > ", "* 0 @  M 7 > ", "   & G ( > "], answer: "A" }, { question: "8 . 8 M / >    K & B 0  0 ( G  G 2 ?  :", options: ["8 M % > ( @ / 8  8 > ' ( K   > * / K  ", "8 . 8 M / >    ( & G  > ", " G 5 2 * > M / * A 8 M $  G  ", " G 5 2 5 M / >  M / > ( "], answer: "A" } ] ); // ===================================================== // TOPIC KEYS & BILINGUAL NAMES // ===================================================== const topicKeys = [ "* 0 ? 5 > 0 , 8 . M , ( M '  5  * 0 M / > 5 0 # ", "* > & *  5    $ A   $ ", ". > ( 5 6 0 @ 0  5  0 K  ", "9 . > 0 @ . B 2  5 6 M /  $ >   ", " 6 M 0 / ", "* 0 ? 5 9 ( $ % > 8   > 0 ", "- > 0 $  @ 8 >  8 M  C $ ?   0 * M 0 >  C $ ?  5 ? 5 ? ' $ >  0 - > 0 $ @ / 8 M 5 $  $ M 0 $ >   & K 2 ( ", ", M 0 9 M . >  ! $ % > 8 L 0 .  ! 2 ", "* C % M 5 @ (* C % M 5 @  @   $ 0 ?  8  0  ( > , $ A ,   M 7 >  6 , & G 6 >  $ 0 $ % >  9 A   G )", " 2 $ % > 5 > / A ", ". C & > $ % > + 8 2 G  ", " 0 M  > ", "- > 0 $  @ - L $ ?  5 ? 6 G 7 $ >   ", "  0 > $ % >  * 6 ? 7 M  * M 0 ,  ' ( ", "* M 0 >  C $ ?   * & >  5   8  > * M 0 ,  ' ( ", "* 0 M / > 5 0 # 6 ?  M 7 > ( 5 @  8 )  @  5 ' > 0 # >  0 & > / 0 > ", "* 0 M / > 5 0 # 6 ?  M 7 >  G & M & G 6 M / ,  5 ' > 0 # >  0 . 9 $ M 5 ", "* 0 M / > 5 0 #  ' M / / (  0 * 0 M / > 5 0 # 6 ?  M 7 > ", "5 ?  M  > (  0 8 > . >  ?  5 ?  M  > (  G 2 ?   > 0 M /  M 7 G $ M 0  0 8  ,  ' ", "* M 0 8 M $ A $  5 ' > 0 # >    G & C 7 M  ?  K # ", " ' ?  .  G 8 ? & M ' >  $ ", " $ ? 5 ? ' ? / >  ", "* M 0 / K  /* 0 ? / K  ( >  > 0 M / ", " 0 M  > ", "8 $ $  5  5 M / > *  . B 2 M / >   ( (8 @ 8 @  )", "6 ?  M 7 # 8 > .  M 0 @ /8  8 > ' ( ", "8 . 8 M / > " ]; const topicNames = { hi: [ "* 0 ? 5 > 0 , 8 . M , ( M '  5  * 0 M / > 5 0 # ", "* > & *  5    $ A   $ ", ". > ( 5 6 0 @ 0  5  0 K  ", "9 . > 0 @ . B 2  5 6 M /  $ >   ", " 6 M 0 / ", "* 0 ? 5 9 ( $ % > 8   > 0 ", "- > 0 $  @ 8 >  8 M  C $ ?   0 * M 0 >  C $ ?  5 ? 5 ? ' $ >  0 - > 0 $ @ / 8 M 5 $  $ M 0 $ >   & K 2 ( ", ", M 0 9 M . >  ! $ % > 8 L 0 .  ! 2 ", "* C % M 5 @ (  $ 0 ?  8  0  ( > , $ A ,   M 7 >  6 , & G 6 >  $ 0 ,  9 A   G )", " 2 $ % > 5 > / A ", ". C & > $ % > + 8 2 G  ", " 0 M  > ", "- > 0 $  @ - L $ ?  5 ? 6 G 7 $ >   ", "  0 > $ % >  * 6 ? 7 M  * M 0 ,  ' ( ", "* M 0 >  C $ ?   * & >  5  * M 0 ,  ' ( ", "EVS  @  5 ' > 0 # >  0 & > / 0 > ", "* 0 M / > 5 0 # 6 ?  M 7 >  G & M & G 6 M / ,  5 ' > 0 # > , . 9 $ M 5 ", "* 0 M / > 5 0 #  ' M / / (  0 * 0 M / > 5 0 # 6 ?  M 7 > ", "5 ?  M  > (  0 8 > . >  ?  5 ?  M  > ( 8 G 8  ,  ' ", "* M 0 8 M $ A $  5 ' > 0 # >    G & C 7 M  ?  K # ", " ' ?  .  G 8 ? & M ' >  $ ", " $ ? 5 ? ' ? / >  ", "* M 0 / K  /* 0 ? / K  ( >  > 0 M / ", " 0 M  > ", "8 $ $  5  5 M / > *  . B 2 M / >   ( (CCE)", "6 ?  M 7 # 8 > .  M 0 @ /8  8 > ' ( ", "8 . 8 M / > " ], en: [ "Family, Relations and Environment", "Plant and Animal Kingdom", "Human Body and Diseases", "Our Basic Needs", "Shelter", "Transportation and Communication", "Cultural & Natural Diversity of India & Freedom Movement", "Universe and Solar System", "Earth (Interior, Seasons, Latitudes, Longitudes, Rocks)", "Water and Air", "Soil and Crops", "Energy", "Physical Features of India", "Garbage and Waste Management", "Natural Disaster and Its Management", "Concept and Scope of EVS", "Objectives, Concept & Significance of EE", "Environment Studies and Environment Education", "Scope and Relation to Science & Social Science", "Approaches of Presenting Concepts", "Principles of Learning", "Activities", "Experimentation/Project Work", "Discussion", "Continuous and Comprehensive Evaluation (CCE)", "Teaching Material/Aids", "Problems" ] }; function getTopicDisplay(key, lang) { const idx = topicKeys.indexOf(key); if (idx === -1) return key; return topicNames[lang][idx] || key; } // ===================================================== // UI TRANSLATIONS // ===================================================== const uiText = { hi: { mainTitle: "<Ø?ß CTET * G * 0 -1 - * 0 M / > 5 0 # @ /  ' M / / (  5  6 ?  M 7 > 6 > 8 M $ M 0 ", mainSubtitle: "* 0 M / > 5 0 # @ /  ' M / / (  5  6 ?  M 7 > 6 > 8 M $ M 0 | & H ( ?   - M / > 8 8 . 8 M / >  ( 0 G  0 ", startTitle: "<Ø?ß * 0 M / > 5 0 # @ /  ' M / / (  5  6 ?  M 7 > 6 > 8 M $ M 0 ", streakLabel: "2  > $ > 0 ", dayLabel: "& ? ( ", progressTitle: " *  @ * M 0  $ ? ", podBtnText: "& ? (  @ 8 . 8 M / > ", customBtnText: " 8 M  .  - M / > 8 ", subjectTitle: "<Ø¯ß 5 ? 7 /  / ( ", selectSubjectText: "* 0 M / > 5 0 # @ /  ' M / / (  5  6 ?  M 7 > 6 > 8 M $ M 0 ", topicTitle: "=ØÚÜ  ' M / > / K   >  / (  0 G  ", chapterSelectText: " ' M / > / K   >  / (  0 G  ", backStartText: "* M 0 > 0  - * 0 5 > * 8 ", genAssignText: " - M / > 8 * M 0 6 M (  G ( 0 G   0 G  ", levelTitle: "¡&  ? ( >  8 M $ 0  A ( G  ", levelSelectText: " ? ( >  8 M $ 0  A ( G  ", levelDescText: " * ( G CTET 8 M $ 0  G  ( A 8 > 0  A ( G  :", l1Title: "8 M $ 0 1", l1Sub: ", G 8 ?  / CTET  ' > 0 ", l2Title: "8 M $ 0 2", l2Sub: ". ' M / . (CTET . > (  )", l3Title: "8 M $ 0 3", l3Sub: " ( M ( $ (5 ? 6 M 2 G 7 # > $ M .  )", backTopicsText: "5 ? 7 / K  * 0 5 > * 8 ", genFinalText: " - M / > 8 * M 0 6 M (  G ( 0 G   0 G  ", langLabel: "9 ?  & @ ", fullPaper: "8 - @ 5 ? 7 / (* B 0 M # * > M /  M 0 . - 27  ' M / > / )", noTopicAlert: " C * / >  . 8 G  .    ' M / > /  A ( G  !", noLevelAlert: " C * / >  ? ( >  8 M $ 0  A ( G  !", instructions: "( ? 0 M & G 6 (EVS  - M / > 8 ):", inst1: "10 , 9 A 5 ?  2 M * @ * M 0 6 M ( , * 0 M / > 5 0 # @ /  ' M / / (  5  6 ?  M 7 > 6 > 8 M $ M 0 * 0  ' > 0 ? $ d ", inst2: "15 . ? (  . G  9 2  0 G  , $ M $ 0  A   @ 8 G . ? 2 >   d ", mcqHeading: "'þ  - M / > 8 * M 0 6 M ( ", answerKey: "=ØÝ $ M $ 0  A   @ ", qNo: "* M 0 6 M ( 8  .", ans: " $ M $ 0 ", print: "* M 0 ?   / PDF", newPractice: "( / >  - M / > 8 ", markComplete: "* B 0 M #  ? 9 M ( ? $  0 G  ", completeMsg: "<Ø‰ß 6 > ( & > 0 !  - M / > 8 * B 0 M # 9 A  d * M 0  $ ? 8 9 G  @   d ", dailyComplete: ", ' >  9 K ! & ? (  @ 8 . 8 M / > 9 2 9 A  d ", podTitle: "<Øß & ? (  @  A ( L $ @ (EVS)", podSub: "<دß", podLevel: "8 M $ 0 ", podToday: "   >  - M / > 8 * M 0 6 M ( ", podStreak: "=Ø%Ý 2  > $ > 0 ", podSolved: "' 9 2 * M 0 6 M ( ", podProgress: "=ØÚÜ * M 0  $ ? ", podSolution: "=ØÌÜ 8 . > ' > ( ", podCorrect: "8 9 @ $ M $ 0 :", podExplanation: "5 M / >  M / > : CTET * 0 M / > 5 0 # @ /  5 ' > 0 # >  G  ( A 8 > 0 ", podComplete: "* B 0 M #  ? / > ", podPrint: "* M 0 ?    0 G  ", podNew: "( / >  - M / > 8 " }, en: { mainTitle: "<Ø?ß CTET Paper 1 - Environmental Studies and Pedagogy", mainSubtitle: "Environmental Studies and Pedagogy | Daily Practice Problem Generator", startTitle: "<Ø?ß Environmental Studies and Pedagogy", streakLabel: "Streak", dayLabel: "days", progressTitle: "Your Progress", podBtnText: "Problem of the Day", customBtnText: "Custom Practice", subjectTitle: "<Ø¯ß Select Subject", selectSubjectText: "Environmental Studies and Pedagogy", topicTitle: "=ØÚÜ Select Chapters", chapterSelectText: "Select Chapters", backStartText: "Back to Start", genAssignText: "Generate Practice Questions", levelTitle: "¡& Select Difficulty Level", levelSelectText: "Select Difficulty Level", levelDescText: "Choose according to your CTET level:", l1Title: "Level 1", l1Sub: "Basic / CTET Foundation", l2Title: "Level 2", l2Sub: "Medium (CTET Standard)", l3Title: "Level 3", l3Sub: "Advanced (Analytical)", backTopicsText: "Back to Topics", genFinalText: "Generate Practice Questions", langLabel: "English", fullPaper: "All Topics (Full Syllabus - 27 Chapters)", noTopicAlert: "Please select at least one chapter!", noLevelAlert: "Please select a difficulty level!", instructions: "Instructions (EVS Practice):", inst1: "10 multiple choice questions based on Environmental Studies and Pedagogy.", inst2: "Solve in 15 minutes, check with answer key.", mcqHeading: "'þ Practice Questions", answerKey: "=ØÝ Answer Key", qNo: "Q. No.", ans: "Answer", print: "Print / PDF", newPractice: "New Practice", markComplete: "Mark Complete", completeMsg: "<Ø‰ß Excellent! Practice marked complete. Progress saved.", dailyComplete: "Congratulations! Problem of the day solved.", podTitle: "<Øß Problem of the Day (EVS)", podSub: "<دß", podLevel: "Level", podToday: "Today's Practice Question", podStreak: "=Ø%Ý Streak", podSolved: "' Solved", podProgress: "=ØÚÜ Progress", podSolution: "=ØÌÜ Solution", podCorrect: "Correct Answer:", podExplanation: "Explanation: As per CTET Environmental Studies concept", podComplete: "Mark Complete", podPrint: "Print", podNew: "New Practice" } }; // ===================================================== // DOM REFS & STATE // ===================================================== const langToggleBtn = document.getElementById('langToggleBtn'); const langLabel = document.getElementById('langLabel'); let currentLang = 'hi'; let selectedTopics = []; let selectedLevel = null; let userProgress = { streak: 0, lastPracticeDate: null, totalProblemsSolved: 0, topicsCompleted: 0, totalTopics: topicKeys.length }; function applyUILanguage(lang) { const t = uiText[lang]; document.getElementById('mainTitle').textContent = t.mainTitle; document.getElementById('mainSubtitle').textContent = t.mainSubtitle; document.getElementById('startTitle').textContent = t.startTitle; document.getElementById('streakLabel').textContent = t.streakLabel; document.getElementById('dayLabel').textContent = t.dayLabel; document.getElementById('progressTitle').textContent = t.progressTitle; document.getElementById('podBtnText').textContent = t.podBtnText; document.getElementById('customBtnText').textContent = t.customBtnText; document.getElementById('subjectTitle').textContent = t.subjectTitle; document.getElementById('selectSubjectText').textContent = t.selectSubjectText; document.getElementById('topicTitle').textContent = t.topicTitle; document.getElementById('chapterSelectText').textContent = t.chapterSelectText; document.getElementById('backStartText').textContent = t.backStartText; document.getElementById('genAssignText').textContent = t.genAssignText; document.getElementById('levelTitle').textContent = t.levelTitle; document.getElementById('levelSelectText').textContent = t.levelSelectText; document.getElementById('levelDescText').textContent = t.levelDescText; document.getElementById('l1Title').textContent = t.l1Title; document.getElementById('l1Sub').textContent = t.l1Sub; document.getElementById('l2Title').textContent = t.l2Title; document.getElementById('l2Sub').textContent = t.l2Sub; document.getElementById('l3Title').textContent = t.l3Title; document.getElementById('l3Sub').textContent = t.l3Sub; document.getElementById('backTopicsText').textContent = t.backTopicsText; document.getElementById('genFinalText').textContent = t.genFinalText; langLabel.textContent = t.langLabel; renderTopics(); if (!generatedPaperContainer.classList.contains('hidden')) { if (selectedTopics.length > 0 && selectedLevel) { generatePaper(selectedTopics, selectedLevel, currentLang); } } } langToggleBtn.addEventListener('click', function() { currentLang = (currentLang === 'hi') ? 'en' : 'hi'; applyUILanguage(currentLang); }); // ============ CORE FUNCTIONS ============ function renderTopics() { const container = document.getElementById('topicsContainer'); const t = uiText[currentLang]; const fullLabel = (currentLang === 'hi') ? "' 8  * B 0 M # * > M /  M 0 . (8 - @ 27  ' M / > / )" : "' Full Syllabus (All 27 Chapters)"; container.innerHTML = `<div class="checkbox-item" style="background:#e8f5e9;"><input type="checkbox" id="fullSyllabus" value="full"><label for="fullSyllabus"><strong>${fullLabel}</strong></label></div>`; topicKeys.forEach(topic => { const id = `topic_${topic.replace(/[\s,?()]/g, '_').substring(0, 40)}`; const displayName = getTopicDisplay(topic, currentLang); container.innerHTML += `<div class="checkbox-item"><input type="checkbox" id="${id}" name="topic" value="${topic}"><label for="${id}">${displayName}</label></div>`; }); document.getElementById('fullSyllabus')?.addEventListener('change', (e) => { const allCheckboxes = document.querySelectorAll('input[name="topic"]'); allCheckboxes.forEach(cb => cb.disabled = e.target.checked); if(e.target.checked) allCheckboxes.forEach(cb => cb.checked = false); }); } function getRandomQuestions(topics, level, count, lang) { let allQs = []; topics.forEach(topic => { if (questionBank[topic] && questionBank[topic][lang] && questionBank[topic][lang][`level${level}`]) { allQs = allQs.concat(questionBank[topic][lang][`level${level}`]); } }); if (allQs.length === 0) { const t = uiText[lang]; return [{ question: t.noTopicAlert, options: ["A", "B", "C", "D"], answer: "A" }]; } allQs = allQs.sort(() => Math.random() - 0.5); return allQs.slice(0, count); } function loadUserProgress() { const saved = localStorage.getItem('ctetEVSDailyProgress'); if (saved) userProgress = JSON.parse(saved); const today = new Date().toDateString(); if (userProgress.lastPracticeDate !== today) { const yesterday = new Date(); yesterday.setDate(yesterday.getDate() - 1); if (userProgress.lastPracticeDate === yesterday.toDateString()) userProgress.streak++; else userProgress.streak = 1; userProgress.lastPracticeDate = today; saveUserProgress(); } updateUI(); } function saveUserProgress() { localStorage.setItem('ctetEVSDailyProgress', JSON.stringify(userProgress)); } function updateUI() { const t = uiText[currentLang]; document.getElementById('streakDays').textContent = userProgress.streak; const today = new Date(); document.getElementById('currentDate').textContent = today.toLocaleDateString(currentLang === 'hi' ? 'hi-IN' : 'en-US', { weekday: 'long', year: 'numeric', month: 'long', day: 'numeric' }); const percent = Math.min(100, Math.round((userProgress.topicsCompleted / userProgress.totalTopics) * 100)); document.getElementById('progressFill').style.width = `${percent}%`; document.getElementById('progressText').textContent = `${percent}% ${currentLang === 'hi' ? '* B 0 M # ' : 'complete'} (${userProgress.topicsCompleted}/${userProgress.totalTopics} ${currentLang === 'hi' ? ' ' M / > / ' : 'chapters'})`; } function generatePaper(topics, level, lang) { const t = uiText[lang]; const topicNamesDisplay = topics.length > 5 ? topics.slice(0,5).map(t => getTopicDisplay(t, lang)).join(", ")+" ..." : topics.map(t => getTopicDisplay(t, lang)).join(", "); const mcqs = getRandomQuestions(topics, level, 10, lang); let paperContent = `<div class="header"><h2>=ØØÜ CTET Paper-1 (Environmental Studies & Pedagogy)</h2><h3>=ØÌÜ ${topics.length === topicKeys.length ? (currentLang === 'hi' ? "8 . M * B 0 M # * > M /  M 0 . (27  ' M / > / )" : "Full Syllabus (27 Chapters)") : topicNamesDisplay.substring(0, 85)}</h3><p>¡& ${currentLang === 'hi' ? ' ? ( >  8 M $ 0 ' : 'Difficulty Level'} ${level}  ${level === 1 ? (currentLang === 'hi' ? ', G 8 ?  ' : 'Basic') : level === 2 ? (currentLang === 'hi' ? '. ' M / . ' : 'Medium') : (currentLang === 'hi' ? ' ( M ( $ ' : 'Advanced')}</p></div><div class="content-area"><div class="instructions"><p><strong>${t.instructions}</strong></p><ol><li>${t.inst1}</li><li>${t.inst2}</li></ol></div><div class="question-section"><div style="font-size:1.4rem; margin-bottom:20px; font-weight:bold;">${t.mcqHeading}</div>`; let qNum = 1; mcqs.forEach(mcq => { paperContent += `<div class="question"><div class="question-text">${qNum}. ${mcq.question}</div> <div class="option">A. ${mcq.options[0]}</div><div class="option">B. ${mcq.options[1]}</div> <div class="option">C. ${mcq.options[2]}</div><div class="option">D. ${mcq.options[3]}</div></div>`; qNum++; }); paperContent += `</div><div class="answer-sheet"><h3 class="section-title">${t.answerKey}</h3><table class="answer-table"><thead><tr><th>${t.qNo}</th><th>${t.ans}</th><th>${t.qNo}</th><th>${t.ans}</th></tr></thead><tbody>`; for (let i = 0; i < mcqs.length; i += 2) { paperContent += `<tr><td>${i+1}</td><td><strong>${mcqs[i].answer}</strong></td>`; if (i+1 < mcqs.length) paperContent += `<td>${i+2}</td><td><strong>${mcqs[i+1].answer}</strong></td>`; else paperContent += `<td></td><td></td>`; paperContent += `</tr>`; } paperContent += `</tbody></table></div><div class="action-buttons"><button class="btn btn-success" id="markCompleteBtn"><i class="fas fa-check-circle"></i> ${t.markComplete}</button><button class="btn btn-primary" id="printBtn"><i class="fas fa-print"></i> ${t.print}</button><button class="btn btn-danger" id="newAssignmentBtn"><i class="fas fa-undo-alt"></i> ${t.newPractice}</button></div></div>`; generatedPaperContainer.innerHTML = paperContent; generatedPaperContainer.classList.remove('hidden'); startContainer.classList.add('hidden'); document.getElementById('markCompleteBtn')?.addEventListener('click', markPracticeComplete); document.getElementById('printBtn')?.addEventListener('click', () => window.print()); document.getElementById('newAssignmentBtn')?.addEventListener('click', backToStart); } function markPracticeComplete() { const t = uiText[currentLang]; userProgress.totalProblemsSolved += 10; let newlyCompleted = 0; selectedTopics.forEach(t => { if (!userProgress[`comp_${t}`]) { userProgress[`comp_${t}`] = true; newlyCompleted++; } }); userProgress.topicsCompleted = Math.min(userProgress.totalTopics, userProgress.topicsCompleted + newlyCompleted); saveUserProgress(); updateUI(); alert(t.completeMsg); backToStart(); } function generateProblemOfDay() { const t = uiText[currentLang]; const randomTopic = topicKeys[Math.floor(Math.random() * topicKeys.length)]; const randomLevel = Math.floor(Math.random() * 3) + 1; selectedTopics = [randomTopic]; selectedLevel = randomLevel; const mcq = getRandomQuestions(selectedTopics, randomLevel, 1, currentLang)[0]; const topicDisplay = getTopicDisplay(randomTopic, currentLang); startContainer.classList.add('hidden'); generatedPaperContainer.classList.remove('hidden'); let content = `<div class="header"><h2>${t.podTitle}</h2><h3>${t.podSub} ${topicDisplay}</h3><p>${t.podLevel} ${randomLevel}</p></div><div class="content-area"><div class="problem-of-day"><h3><i class="fas fa-star-of-life"></i> ${t.podToday}</h3><p>${currentLang === 'hi' ? ' * ( @ learning streak , ( >  0  G  !' : 'Keep your learning streak going!'}</p></div><div class="daily-summary"><div class="summary-card"><h4>${t.podStreak}</h4><p>${userProgress.streak} ${currentLang === 'hi' ? '& ? ( ' : 'days'}</p></div><div class="summary-card"><h4>${t.podSolved}</h4><p>${userProgress.totalProblemsSolved}</p></div><div class="summary-card"><h4>${t.podProgress}</h4><p>${Math.round((userProgress.topicsCompleted / userProgress.totalTopics) * 100)}%</p></div></div><div class="question"><div class="question-text">${mcq.question}</div><div class="option">A. ${mcq.options[0]}</div><div class="option">B. ${mcq.options[1]}</div><div class="option">C. ${mcq.options[2]}</div><div class="option">D. ${mcq.options[3]}</div></div><div class="answer-sheet"><h3>${t.podSolution}</h3><p><strong>${t.podCorrect}</strong> ${mcq.answer}</p><p><strong>${t.podExplanation}</strong></p></div><div class="action-buttons"><button class="btn btn-success" id="markCompleteDailyBtn"><i class="fas fa-check"></i> ${t.podComplete}</button><button class="btn btn-primary" id="printBtn">${t.podPrint}</button><button class="btn btn-danger" id="newAssignmentBtn">${t.podNew}</button></div></div>`; generatedPaperContainer.innerHTML = content; document.getElementById('markCompleteDailyBtn')?.addEventListener('click', () => { userProgress.totalProblemsSolved++; saveUserProgress(); updateUI(); alert(t.dailyComplete); backToStart(); }); document.getElementById('printBtn')?.addEventListener('click', () => window.print()); document.getElementById('newAssignmentBtn')?.addEventListener('click', backToStart); } function backToStart() { generatedPaperContainer.classList.add('hidden'); startContainer.classList.remove('hidden'); document.getElementById('topicSelection').classList.add('hidden'); document.getElementById('levelSelection').classList.add('hidden'); document.getElementById('subjectSelection').classList.add('hidden'); document.getElementById('startScreen').classList.remove('hidden'); updateUI(); } // ===================================================== // EVENT BINDINGS // ===================================================== document.getElementById('customPracticeBtn').addEventListener('click', () => { document.getElementById('startScreen').classList.add('hidden'); document.getElementById('subjectSelection').classList.remove('hidden'); }); document.getElementById('selectEVSBtn').addEventListener('click', () => { renderTopics(); document.getElementById('subjectSelection').classList.add('hidden'); document.getElementById('topicSelection').classList.remove('hidden'); }); document.getElementById('backToStartBtn').addEventListener('click', backToStart); document.getElementById('generateAssignmentBtn').addEventListener('click', () => { const full = document.getElementById('fullSyllabus')?.checked; if (full) selectedTopics = [...topicKeys]; else selectedTopics = Array.from(document.querySelectorAll('input[name="topic"]:checked')).map(cb => cb.value); if (selectedTopics.length === 0) { const t = uiText[currentLang]; alert(t.noTopicAlert); return; } document.getElementById('topicSelection').classList.add('hidden'); document.getElementById('levelSelection').classList.remove('hidden'); }); document.getElementById('backToTopicsBtn').addEventListener('click', () => { document.getElementById('levelSelection').classList.add('hidden'); document.getElementById('topicSelection').classList.remove('hidden'); }); document.getElementById('level1Btn').addEventListener('click', () => { document.querySelectorAll('.btn-level').forEach(b => b.classList.remove('selected')); document.getElementById('level1Btn').classList.add('selected'); selectedLevel = 1; }); document.getElementById('level2Btn').addEventListener('click', () => { document.querySelectorAll('.btn-level').forEach(b => b.classList.remove('selected')); document.getElementById('level2Btn').classList.add('selected'); selectedLevel = 2; }); document.getElementById('level3Btn').addEventListener('click', () => { document.querySelectorAll('.btn-level').forEach(b => b.classList.remove('selected')); document.getElementById('level3Btn').classList.add('selected'); selectedLevel = 3; }); document.getElementById('generateFinalBtn').addEventListener('click', () => { if (!selectedLevel) { const t = uiText[currentLang]; alert(t.noLevelAlert); return; } generatePaper(selectedTopics, selectedLevel, currentLang); }); document.getElementById('problemOfDayBtn').addEventListener('click', generateProblemOfDay); document.getElementById('homeIconBtn').addEventListener('click', (e) => { e.preventDefault(); backToStart(); }); document.addEventListener('DOMContentLoaded', () => { loadUserProgress(); }); </script> </body> </html>