਀㰀栀琀洀氀 氀愀渀最㴀∀攀渀∀㸀 ਀    㰀洀攀琀愀 挀栀愀爀猀攀琀㴀∀唀吀䘀ⴀ㠀∀㸀 ਀    㰀琀椀琀氀攀㸀一䔀䔀吀 倀栀礀猀椀挀猀 倀爀愀挀琀椀挀攀 匀攀琀 䜀攀渀攀爀愀琀漀爀㰀⼀琀椀琀氀攀㸀 ਀    㰀℀ⴀⴀ 䄀搀搀 樀猀倀䐀䘀 氀椀戀爀愀爀礀 ⴀⴀ㸀 ਀    㰀猀挀爀椀瀀琀 猀爀挀㴀∀栀琀琀瀀猀㨀⼀⼀挀搀渀樀猀⸀挀氀漀甀搀昀氀愀爀攀⸀挀漀洀⼀愀樀愀砀⼀氀椀戀猀⼀栀琀洀氀㈀挀愀渀瘀愀猀⼀㄀⸀㐀⸀㄀⼀栀琀洀氀㈀挀愀渀瘀愀猀⸀洀椀渀⸀樀猀∀㸀㰀⼀猀挀爀椀瀀琀㸀 ਀    㰀猀琀礀氀攀㸀 :root {਀            ⴀⴀ瀀爀椀洀愀爀礀㨀 ⌀㐀㌀㘀㄀攀攀㬀 --primary-dark: #3f37c9;਀            ⴀⴀ猀攀挀漀渀搀愀爀礀㨀 ⌀㐀㠀㤀㔀攀昀㬀 --danger: #f72585;਀            ⴀⴀ猀甀挀挀攀猀猀㨀 ⌀㐀挀挀㤀昀 㬀 --light: #f8f9fa;਀            ⴀⴀ搀愀爀欀㨀 ⌀㈀㄀㈀㔀㈀㤀㬀 --gray: #6c757d;਀            ⴀⴀ戀漀爀搀攀爀ⴀ爀愀搀椀甀猀㨀 ㄀㈀瀀砀㬀 --box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);਀            ⴀⴀ琀爀愀渀猀椀琀椀漀渀㨀 愀氀氀  ⸀㌀猀 攀愀猀攀㬀 }਀ * {਀            洀愀爀最椀渀㨀  㬀 padding: 0;਀            戀漀砀ⴀ猀椀稀椀渀最㨀 戀漀爀搀攀爀ⴀ戀漀砀㬀 font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;਀        紀 ਀        戀漀搀礀 笀 background: linear-gradient(135deg, #f5f7fa 0%, #e2e8f0 100%);਀            洀椀渀ⴀ栀攀椀最栀琀㨀 ㄀  瘀栀㬀 display: flex;਀            樀甀猀琀椀昀礀ⴀ挀漀渀琀攀渀琀㨀 挀攀渀琀攀爀㬀 align-items: center;਀            瀀愀搀搀椀渀最㨀 ㈀ 瀀砀㬀 color: var(--dark);਀            氀椀渀攀ⴀ栀攀椀最栀琀㨀 ㄀⸀㘀㬀 }਀ .container {਀            眀椀搀琀栀㨀 ㄀  ─㬀 max-width: 900px;਀            戀愀挀欀最爀漀甀渀搀㨀 眀栀椀琀攀㬀 border-radius: var(--border-radius);਀            戀漀砀ⴀ猀栀愀搀漀眀㨀 瘀愀爀⠀ⴀⴀ戀漀砀ⴀ猀栀愀搀漀眀⤀㬀 overflow: hidden;਀            琀爀愀渀猀椀琀椀漀渀㨀 瘀愀爀⠀ⴀⴀ琀爀愀渀猀椀琀椀漀渀⤀㬀 animation: fadeIn 0.5s ease-out;਀        紀 ਀        䀀欀攀礀昀爀愀洀攀猀 昀愀搀攀䤀渀 笀 from { opacity: 0; transform: translateY(20px); }਀            琀漀 笀 漀瀀愀挀椀琀礀㨀 ㄀㬀 琀爀愀渀猀昀漀爀洀㨀 琀爀愀渀猀氀愀琀攀夀⠀ ⤀㬀 紀 }਀ .header {਀            戀愀挀欀最爀漀甀渀搀㨀 氀椀渀攀愀爀ⴀ最爀愀搀椀攀渀琀⠀㄀㌀㔀搀攀最Ⰰ 瘀愀爀⠀ⴀⴀ瀀爀椀洀愀爀礀⤀Ⰰ 瘀愀爀⠀ⴀⴀ瀀爀椀洀愀爀礀ⴀ搀愀爀欀⤀⤀㬀 color: white;਀            瀀愀搀搀椀渀最㨀 ㌀ 瀀砀 ㈀ 瀀砀㬀 text-align: center;਀            瀀漀猀椀琀椀漀渀㨀 爀攀氀愀琀椀瘀攀㬀 overflow: hidden;਀        紀 ਀        ⸀栀攀愀搀攀爀㨀㨀戀攀昀漀爀攀 笀 content: '';਀            瀀漀猀椀琀椀漀渀㨀 愀戀猀漀氀甀琀攀㬀 top: -50px;਀            爀椀最栀琀㨀 ⴀ㔀 瀀砀㬀 width: 150px;਀            栀攀椀最栀琀㨀 ㄀㔀 瀀砀㬀 background: rgba(255, 255, 255, 0.1);਀            戀漀爀搀攀爀ⴀ爀愀搀椀甀猀㨀 㔀 ─㬀 }਀ .header h1 {਀            昀漀渀琀ⴀ猀椀稀攀㨀 ㈀爀攀洀㬀 margin-bottom: 10px;਀            昀漀渀琀ⴀ眀攀椀最栀琀㨀 㜀  㬀 position: relative;਀            稀ⴀ椀渀搀攀砀㨀 ㄀㬀 }਀ .header p {਀            昀漀渀琀ⴀ猀椀稀攀㨀 ㄀爀攀洀㬀 opacity: 0.9;਀            瀀漀猀椀琀椀漀渀㨀 爀攀氀愀琀椀瘀攀㬀 z-index: 1;਀        紀 ਀        ⸀挀漀渀琀攀渀琀ⴀ愀爀攀愀 笀 padding: 30px;਀        紀 ਀        ⸀栀椀搀搀攀渀 笀 display: none !important;਀        紀 ਀        ⸀戀琀渀 笀 display: inline-block;਀            瀀愀搀搀椀渀最㨀 ㄀㈀瀀砀 ㈀㠀瀀砀㬀 border-radius: 50px;਀            昀漀渀琀ⴀ眀攀椀最栀琀㨀 㘀  㬀 cursor: pointer;਀            琀爀愀渀猀椀琀椀漀渀㨀 瘀愀爀⠀ⴀⴀ琀爀愀渀猀椀琀椀漀渀⤀㬀 border: none;਀            琀攀砀琀ⴀ愀氀椀最渀㨀 挀攀渀琀攀爀㬀 box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);਀            洀愀爀最椀渀㨀 ㄀ 瀀砀 㔀瀀砀㬀 }਀ .btn-primary {਀            戀愀挀欀最爀漀甀渀搀㨀 瘀愀爀⠀ⴀⴀ瀀爀椀洀愀爀礀⤀㬀 color: white;਀        紀 ਀        ⸀戀琀渀ⴀ瀀爀椀洀愀爀礀㨀栀漀瘀攀爀 笀 background: var(--primary-dark);਀            琀爀愀渀猀昀漀爀洀㨀 琀爀愀渀猀氀愀琀攀夀⠀ⴀ㈀瀀砀⤀㬀 box-shadow: 0 8px 15px rgba(67, 97, 238, 0.3);਀        紀 ਀        ⸀戀琀渀ⴀ猀甀挀挀攀猀猀 笀 background: var(--success);਀            挀漀氀漀爀㨀 眀栀椀琀攀㬀 }਀ .btn-success:hover {਀            戀愀挀欀最爀漀甀渀搀㨀 ⌀㌀愀戀 搀㘀㬀 transform: translateY(-2px);਀            戀漀砀ⴀ猀栀愀搀漀眀㨀   㠀瀀砀 ㄀㔀瀀砀 爀最戀愀⠀㜀㘀Ⰰ ㈀ ㄀Ⰰ ㈀㐀 Ⰰ  ⸀㌀⤀㬀 }਀ .btn-danger {਀            戀愀挀欀最爀漀甀渀搀㨀 瘀愀爀⠀ⴀⴀ搀愀渀最攀爀⤀㬀 color: white;਀        紀 ਀        ⸀戀琀渀ⴀ搀愀渀最攀爀㨀栀漀瘀攀爀 笀 background: #d3166b;਀            琀爀愀渀猀昀漀爀洀㨀 琀爀愀渀猀氀愀琀攀夀⠀ⴀ㈀瀀砀⤀㬀 box-shadow: 0 8px 15px rgba(247, 37, 133, 0.3);਀        紀 ਀        ⸀戀琀渀ⴀ氀攀瘀攀氀 笀 background: var(--light);਀            挀漀氀漀爀㨀 瘀愀爀⠀ⴀⴀ搀愀爀欀⤀㬀 border: 2px solid var(--gray);਀            昀漀渀琀ⴀ猀椀稀攀㨀 ㄀⸀㈀爀攀洀㬀 padding: 15px 30px;਀            眀椀搀琀栀㨀 ㈀  瀀砀㬀 }਀ .btn-level:hover {਀            琀爀愀渀猀昀漀爀洀㨀 琀爀愀渀猀氀愀琀攀夀⠀ⴀ㔀瀀砀⤀㬀 box-shadow: 0 10px 20px rgba(0, 0, 0, 0.2);਀        紀 ਀        ⸀戀琀渀ⴀ氀攀瘀攀氀⸀猀攀氀攀挀琀攀搀 笀 background: var(--primary);਀            挀漀氀漀爀㨀 眀栀椀琀攀㬀 border-color: var(--primary);਀        紀 ਀        ⸀戀琀渀ⴀ最爀漀甀瀀 笀 display: flex;਀            昀氀攀砀ⴀ眀爀愀瀀㨀 眀爀愀瀀㬀 justify-content: center;਀            最愀瀀㨀 ㄀ 瀀砀㬀 margin: 20px 0;਀        紀 ਀        ⸀氀攀瘀攀氀ⴀ戀甀琀琀漀渀猀 笀 display: flex;਀            樀甀猀琀椀昀礀ⴀ挀漀渀琀攀渀琀㨀 挀攀渀琀攀爀㬀 gap: 20px;਀            洀愀爀最椀渀㨀 ㌀ 瀀砀  㬀 }਀ .section-title {਀            琀攀砀琀ⴀ愀氀椀最渀㨀 挀攀渀琀攀爀㬀 margin-bottom: 25px;਀            挀漀氀漀爀㨀 瘀愀爀⠀ⴀⴀ瀀爀椀洀愀爀礀ⴀ搀愀爀欀⤀㬀 font-size: 1.5rem;਀            瀀漀猀椀琀椀漀渀㨀 爀攀氀愀琀椀瘀攀㬀 padding-bottom: 10px;਀        紀 ਀        ⸀猀攀挀琀椀漀渀ⴀ琀椀琀氀攀㨀㨀愀昀琀攀爀 笀 content: '';਀            瀀漀猀椀琀椀漀渀㨀 愀戀猀漀氀甀琀攀㬀 bottom: 0;਀            氀攀昀琀㨀 㔀 ─㬀 transform: translateX(-50%);਀            眀椀搀琀栀㨀 㠀 瀀砀㬀 height: 3px;਀            戀愀挀欀最爀漀甀渀搀㨀 瘀愀爀⠀ⴀⴀ猀攀挀漀渀搀愀爀礀⤀㬀 border-radius: 3px;਀        紀 ਀        ⸀挀栀攀挀欀戀漀砀ⴀ挀漀渀琀愀椀渀攀爀 笀 display: grid;਀            最爀椀搀ⴀ琀攀洀瀀氀愀琀攀ⴀ挀漀氀甀洀渀猀㨀 爀攀瀀攀愀琀⠀愀甀琀漀ⴀ昀椀氀氀Ⰰ 洀椀渀洀愀砀⠀㈀  瀀砀Ⰰ ㄀昀爀⤀⤀㬀 gap: 15px;਀            洀愀爀最椀渀㨀 ㈀㔀瀀砀  㬀 }਀ .checkbox-item {਀            搀椀猀瀀氀愀礀㨀 昀氀攀砀㬀 align-items: center;਀        紀 ਀        ⸀挀栀攀挀欀戀漀砀ⴀ椀琀攀洀 椀渀瀀甀琀 笀 margin-right: 10px;਀            眀椀搀琀栀㨀 ㄀㠀瀀砀㬀 height: 18px;਀            挀甀爀猀漀爀㨀 瀀漀椀渀琀攀爀㬀 }਀ .checkbox-item label {਀            挀甀爀猀漀爀㨀 瀀漀椀渀琀攀爀㬀 font-size: 0.95rem;਀        紀 ਀        ⸀最攀渀攀爀愀琀攀搀ⴀ瀀愀瀀攀爀 笀 padding: 30px;਀        紀 ਀        ⸀瀀愀瀀攀爀ⴀ栀攀愀搀攀爀 笀 text-align: center;਀            洀愀爀最椀渀ⴀ戀漀琀琀漀洀㨀 ㌀ 瀀砀㬀 border-bottom: 2px solid var(--primary);਀            瀀愀搀搀椀渀最ⴀ戀漀琀琀漀洀㨀 ㈀ 瀀砀㬀 }਀ .paper-header h2 {਀            挀漀氀漀爀㨀 瘀愀爀⠀ⴀⴀ瀀爀椀洀愀爀礀ⴀ搀愀爀欀⤀㬀 margin-bottom: 5px;਀            昀漀渀琀ⴀ猀椀稀攀㨀 ㄀⸀㠀爀攀洀㬀 }਀ .paper-header h3 {਀            挀漀氀漀爀㨀 瘀愀爀⠀ⴀⴀ最爀愀礀⤀㬀 margin-bottom: 5px;਀            昀漀渀琀ⴀ猀椀稀攀㨀 ㄀⸀㈀爀攀洀㬀 font-weight: 500;਀        紀 ਀        ⸀瀀愀瀀攀爀ⴀ洀攀琀愀 笀 display: flex;਀            樀甀猀琀椀昀礀ⴀ挀漀渀琀攀渀琀㨀 猀瀀愀挀攀ⴀ戀攀琀眀攀攀渀㬀 margin-bottom: 25px;਀            瀀愀搀搀椀渀最ⴀ戀漀琀琀漀洀㨀 ㄀㔀瀀砀㬀 border-bottom: 1px solid #eee;਀            昀漀渀琀ⴀ眀攀椀最栀琀㨀 㔀  㬀 }਀ .instructions {਀            洀愀爀最椀渀ⴀ戀漀琀琀漀洀㨀 ㌀ 瀀砀㬀 padding: 20px;਀            戀愀挀欀最爀漀甀渀搀㨀 ⌀昀㠀昀㤀昀愀㬀 border-radius: var(--border-radius);਀        紀 ਀        ⸀椀渀猀琀爀甀挀琀椀漀渀猀 漀氀 笀 padding-left: 20px;਀            洀愀爀最椀渀ⴀ琀漀瀀㨀 ㄀ 瀀砀㬀 }਀ .instructions li {਀            洀愀爀最椀渀ⴀ戀漀琀琀漀洀㨀 㠀瀀砀㬀 }਀ .question-section {਀            洀愀爀最椀渀ⴀ戀漀琀琀漀洀㨀 ㌀ 瀀砀㬀 }਀ .section-heading {਀            昀漀渀琀ⴀ眀攀椀最栀琀㨀 㘀  㬀 color: var(--primary-dark);਀            洀愀爀最椀渀ⴀ戀漀琀琀漀洀㨀 ㄀㔀瀀砀㬀 padding-bottom: 5px;਀            戀漀爀搀攀爀ⴀ戀漀琀琀漀洀㨀 ㄀瀀砀 猀漀氀椀搀 ⌀攀攀攀㬀 }਀ .question {਀            洀愀爀最椀渀ⴀ戀漀琀琀漀洀㨀 ㈀ 瀀砀㬀 page-break-inside: avoid;਀        紀 ਀        ⸀焀甀攀猀琀椀漀渀ⴀ琀攀砀琀 笀 font-weight: 500;਀            洀愀爀最椀渀ⴀ戀漀琀琀漀洀㨀 㠀瀀砀㬀 }਀ .option {਀            洀愀爀最椀渀ⴀ氀攀昀琀㨀 ㈀ 瀀砀㬀 margin-bottom: 5px;਀        紀 ਀        ⸀愀挀琀椀漀渀ⴀ戀甀琀琀漀渀猀 笀 display: flex;਀            樀甀猀琀椀昀礀ⴀ挀漀渀琀攀渀琀㨀 挀攀渀琀攀爀㬀 flex-wrap: wrap;਀            最愀瀀㨀 ㄀㔀瀀砀㬀 margin-top: 40px;਀        紀 ਀        ⸀愀渀猀眀攀爀ⴀ猀栀攀攀琀 笀 margin-top: 40px;਀            瀀愀搀搀椀渀最㨀 ㈀ 瀀砀㬀 background: #f8f9fa;਀            戀漀爀搀攀爀ⴀ爀愀搀椀甀猀㨀 瘀愀爀⠀ⴀⴀ戀漀爀搀攀爀ⴀ爀愀搀椀甀猀⤀㬀 }਀ .answer-table {਀            眀椀搀琀栀㨀 ㄀  ─㬀 border-collapse: collapse;਀            洀愀爀最椀渀ⴀ琀漀瀀㨀 ㄀㔀瀀砀㬀 }਀ .answer-table th, .answer-table td {਀            戀漀爀搀攀爀㨀 ㄀瀀砀 猀漀氀椀搀 ⌀搀搀搀㬀 padding: 8px;਀            琀攀砀琀ⴀ愀氀椀最渀㨀 挀攀渀琀攀爀㬀 }਀ .answer-table th {਀            戀愀挀欀最爀漀甀渀搀ⴀ挀漀氀漀爀㨀 瘀愀爀⠀ⴀⴀ瀀爀椀洀愀爀礀⤀㬀 color: white;਀        紀 ਀        ⸀愀渀猀眀攀爀ⴀ琀愀戀氀攀 琀爀㨀渀琀栀ⴀ挀栀椀氀搀⠀攀瘀攀渀⤀ 笀 background-color: #f2f2f2;਀        紀 ਀        ⼀⨀ 一攀眀 猀琀礀氀攀猀 昀漀爀 瀀爀愀挀琀椀挀攀 猀攀琀 漀瀀琀椀漀渀猀 ⨀⼀ .practice-options {਀            搀椀猀瀀氀愀礀㨀 最爀椀搀㬀 grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));਀            最愀瀀㨀 ㈀ 瀀砀㬀 margin: 30px 0;਀        紀 ਀        ⸀漀瀀琀椀漀渀ⴀ挀愀爀搀 笀 background: white;਀            戀漀爀搀攀爀ⴀ爀愀搀椀甀猀㨀 瘀愀爀⠀ⴀⴀ戀漀爀搀攀爀ⴀ爀愀搀椀甀猀⤀㬀 padding: 25px;਀            戀漀砀ⴀ猀栀愀搀漀眀㨀 瘀愀爀⠀ⴀⴀ戀漀砀ⴀ猀栀愀搀漀眀⤀㬀 text-align: center;਀            琀爀愀渀猀椀琀椀漀渀㨀 瘀愀爀⠀ⴀⴀ琀爀愀渀猀椀琀椀漀渀⤀㬀 cursor: pointer;਀            戀漀爀搀攀爀㨀 ㈀瀀砀 猀漀氀椀搀 琀爀愀渀猀瀀愀爀攀渀琀㬀 }਀         .option-card:hover {਀            琀爀愀渀猀昀漀爀洀㨀 琀爀愀渀猀氀愀琀攀夀⠀ⴀ㔀瀀砀⤀㬀 box-shadow: 0 10px 25px rgba(0, 0, 0, 0.15);਀        紀 ਀        ⸀漀瀀琀椀漀渀ⴀ挀愀爀搀⸀猀攀氀攀挀琀攀搀 笀 border-color: var(--primary);਀            戀愀挀欀最爀漀甀渀搀㨀 爀最戀愀⠀㘀㜀Ⰰ 㤀㜀Ⰰ ㈀㌀㠀Ⰰ  ⸀ 㔀⤀㬀 }਀         .option-icon {਀            昀漀渀琀ⴀ猀椀稀攀㨀 ㈀⸀㔀爀攀洀㬀 color: var(--primary);਀            洀愀爀最椀渀ⴀ戀漀琀琀漀洀㨀 ㄀㔀瀀砀㬀 }਀         .option-title {਀            昀漀渀琀ⴀ猀椀稀攀㨀 ㄀⸀㌀爀攀洀㬀 font-weight: 600;਀            洀愀爀最椀渀ⴀ戀漀琀琀漀洀㨀 ㄀ 瀀砀㬀 color: var(--primary-dark);਀        紀 ਀        ⸀漀瀀琀椀漀渀ⴀ搀攀猀挀爀椀瀀琀椀漀渀 笀 color: var(--gray);਀            昀漀渀琀ⴀ猀椀稀攀㨀  ⸀㤀爀攀洀㬀 line-height: 1.5;਀        紀 ਀        ⸀焀甀攀猀琀椀漀渀ⴀ挀漀甀渀琀ⴀ猀攀氀攀挀琀漀爀 笀 display: flex;਀            樀甀猀琀椀昀礀ⴀ挀漀渀琀攀渀琀㨀 挀攀渀琀攀爀㬀 align-items: center;਀            最愀瀀㨀 ㄀㔀瀀砀㬀 margin: 20px 0;਀        紀 ਀        ⸀挀漀甀渀琀ⴀ戀琀渀 笀 width: 40px;਀            栀攀椀最栀琀㨀 㐀 瀀砀㬀 border-radius: 50%;਀            戀愀挀欀最爀漀甀渀搀㨀 瘀愀爀⠀ⴀⴀ氀椀最栀琀⤀㬀 border: 2px solid var(--gray);਀            搀椀猀瀀氀愀礀㨀 昀氀攀砀㬀 align-items: center;਀            樀甀猀琀椀昀礀ⴀ挀漀渀琀攀渀琀㨀 挀攀渀琀攀爀㬀 cursor: pointer;਀            昀漀渀琀ⴀ眀攀椀最栀琀㨀 戀漀氀搀㬀 transition: var(--transition);਀        紀 ਀        ⸀挀漀甀渀琀ⴀ戀琀渀㨀栀漀瘀攀爀 笀 background: var(--primary);਀            挀漀氀漀爀㨀 眀栀椀琀攀㬀 border-color: var(--primary);਀        紀 ਀        ⸀焀甀攀猀琀椀漀渀ⴀ挀漀甀渀琀 笀 font-size: 1.5rem;਀            昀漀渀琀ⴀ眀攀椀最栀琀㨀 㘀  㬀 min-width: 60px;਀            琀攀砀琀ⴀ愀氀椀最渀㨀 挀攀渀琀攀爀㬀 }਀         .timer-options {਀            搀椀猀瀀氀愀礀㨀 昀氀攀砀㬀 justify-content: center;਀            最愀瀀㨀 ㄀㔀瀀砀㬀 margin: 20px 0;਀        紀 ਀        ⸀琀椀洀攀爀ⴀ戀琀渀 笀 padding: 10px 20px;਀            戀愀挀欀最爀漀甀渀搀㨀 瘀愀爀⠀ⴀⴀ氀椀最栀琀⤀㬀 border: 2px solid var(--gray);਀            戀漀爀搀攀爀ⴀ爀愀搀椀甀猀㨀 ㌀ 瀀砀㬀 cursor: pointer;਀            琀爀愀渀猀椀琀椀漀渀㨀 瘀愀爀⠀ⴀⴀ琀爀愀渀猀椀琀椀漀渀⤀㬀 }਀         .timer-btn.selected {਀            戀愀挀欀最爀漀甀渀搀㨀 瘀愀爀⠀ⴀⴀ瀀爀椀洀愀爀礀⤀㬀 color: white;਀            戀漀爀搀攀爀ⴀ挀漀氀漀爀㨀 瘀愀爀⠀ⴀⴀ瀀爀椀洀愀爀礀⤀㬀 }਀         .timer-btn:hover {਀            琀爀愀渀猀昀漀爀洀㨀 琀爀愀渀猀氀愀琀攀夀⠀ⴀ㈀瀀砀⤀㬀 }਀         .progress-bar {਀            栀攀椀最栀琀㨀 㘀瀀砀㬀 background: #e0e0e0;਀            戀漀爀搀攀爀ⴀ爀愀搀椀甀猀㨀 ㌀瀀砀㬀 margin: 20px 0;਀            漀瘀攀爀昀氀漀眀㨀 栀椀搀搀攀渀㬀 }਀         .progress {਀            栀攀椀最栀琀㨀 ㄀  ─㬀 background: var(--primary);਀            戀漀爀搀攀爀ⴀ爀愀搀椀甀猀㨀 ㌀瀀砀㬀 transition: width 0.3s ease;਀        紀 ਀        ⸀猀琀攀瀀ⴀ椀渀搀椀挀愀琀漀爀 笀 display: flex;਀            樀甀猀琀椀昀礀ⴀ挀漀渀琀攀渀琀㨀 猀瀀愀挀攀ⴀ戀攀琀眀攀攀渀㬀 margin: 30px 0;਀            瀀漀猀椀琀椀漀渀㨀 爀攀氀愀琀椀瘀攀㬀 }਀         .step {਀            眀椀搀琀栀㨀 ㌀ 瀀砀㬀 height: 30px;਀            戀漀爀搀攀爀ⴀ爀愀搀椀甀猀㨀 㔀 ─㬀 background: var(--light);਀            戀漀爀搀攀爀㨀 ㈀瀀砀 猀漀氀椀搀 瘀愀爀⠀ⴀⴀ最爀愀礀⤀㬀 display: flex;਀            愀氀椀最渀ⴀ椀琀攀洀猀㨀 挀攀渀琀攀爀㬀 justify-content: center;਀            昀漀渀琀ⴀ眀攀椀最栀琀㨀 㘀  㬀 position: relative;਀            稀ⴀ椀渀搀攀砀㨀 ㈀㬀 }਀         .step.active {਀            戀愀挀欀最爀漀甀渀搀㨀 瘀愀爀⠀ⴀⴀ瀀爀椀洀愀爀礀⤀㬀 color: white;਀            戀漀爀搀攀爀ⴀ挀漀氀漀爀㨀 瘀愀爀⠀ⴀⴀ瀀爀椀洀愀爀礀⤀㬀 }਀         .step.completed {਀            戀愀挀欀最爀漀甀渀搀㨀 瘀愀爀⠀ⴀⴀ猀甀挀挀攀猀猀⤀㬀 color: white;਀            戀漀爀搀攀爀ⴀ挀漀氀漀爀㨀 瘀愀爀⠀ⴀⴀ猀甀挀挀攀猀猀⤀㬀 }਀         .step-label {਀            瀀漀猀椀琀椀漀渀㨀 愀戀猀漀氀甀琀攀㬀 top: 35px;਀            氀攀昀琀㨀 㔀 ─㬀 transform: translateX(-50%);਀            眀栀椀琀攀ⴀ猀瀀愀挀攀㨀 渀漀眀爀愀瀀㬀 font-size: 0.8rem;਀            挀漀氀漀爀㨀 瘀愀爀⠀ⴀⴀ最爀愀礀⤀㬀 }਀         .step-indicator::before {਀            挀漀渀琀攀渀琀㨀 ✀✀㬀 position: absolute;਀            琀漀瀀㨀 ㄀㔀瀀砀㬀 left: 0;਀            眀椀搀琀栀㨀 ㄀  ─㬀 height: 2px;਀            戀愀挀欀最爀漀甀渀搀㨀 ⌀攀 攀 攀 㬀 z-index: 1;਀        紀 ਀        ⸀猀琀攀瀀ⴀ椀渀搀椀挀愀琀漀爀 ⸀挀漀洀瀀氀攀琀攀搀㨀㨀戀攀昀漀爀攀 笀 background: var(--success);਀        紀 ਀        ⸀瀀爀愀挀琀椀挀攀ⴀ洀漀搀攀 笀 display: flex;਀            樀甀猀琀椀昀礀ⴀ挀漀渀琀攀渀琀㨀 挀攀渀琀攀爀㬀 gap: 20px;਀            洀愀爀最椀渀㨀 ㈀ 瀀砀  㬀 }਀         .mode-btn {਀            瀀愀搀搀椀渀最㨀 ㄀㈀瀀砀 ㈀㔀瀀砀㬀 background: var(--light);਀            戀漀爀搀攀爀㨀 ㈀瀀砀 猀漀氀椀搀 瘀愀爀⠀ⴀⴀ最爀愀礀⤀㬀 border-radius: 30px;਀            挀甀爀猀漀爀㨀 瀀漀椀渀琀攀爀㬀 transition: var(--transition);਀            昀漀渀琀ⴀ眀攀椀最栀琀㨀 㘀  㬀 }਀         .mode-btn.selected {਀            戀愀挀欀最爀漀甀渀搀㨀 瘀愀爀⠀ⴀⴀ瀀爀椀洀愀爀礀⤀㬀 color: white;਀            戀漀爀搀攀爀ⴀ挀漀氀漀爀㨀 瘀愀爀⠀ⴀⴀ瀀爀椀洀愀爀礀⤀㬀 }਀         .mode-btn:hover {਀            琀爀愀渀猀昀漀爀洀㨀 琀爀愀渀猀氀愀琀攀夀⠀ⴀ㈀瀀砀⤀㬀 }਀ @media (max-width: 768px) {਀            ⸀栀攀愀搀攀爀 栀㄀ 笀 font-size: 1.6rem;਀            紀 ਀            ⸀挀漀渀琀攀渀琀ⴀ愀爀攀愀 笀 padding: 20px;਀            紀 ਀            ⸀挀栀攀挀欀戀漀砀ⴀ挀漀渀琀愀椀渀攀爀 笀 grid-template-columns: 1fr;਀            紀 ਀            ⸀戀琀渀 笀 padding: 10px 20px;਀                昀漀渀琀ⴀ猀椀稀攀㨀  ⸀㤀爀攀洀㬀 }਀             .btn-level {਀                眀椀搀琀栀㨀 ㄀㔀 瀀砀㬀 font-size: 1rem;਀                瀀愀搀搀椀渀最㨀 ㄀㈀瀀砀 ㈀ 瀀砀㬀 }਀             .level-buttons {਀                昀氀攀砀ⴀ搀椀爀攀挀琀椀漀渀㨀 挀漀氀甀洀渀㬀 align-items: center;਀            紀 ਀            ⸀瀀愀瀀攀爀ⴀ栀攀愀搀攀爀 栀㈀ 笀 font-size: 1.4rem;਀            紀 ਀            ⸀瀀愀瀀攀爀ⴀ栀攀愀搀攀爀 栀㌀ 笀 font-size: 1rem;਀            紀 ਀            ⸀瀀爀愀挀琀椀挀攀ⴀ漀瀀琀椀漀渀猀 笀 grid-template-columns: 1fr;਀            紀 }਀ @media (max-width: 480px) {਀            ⸀栀攀愀搀攀爀 笀 padding: 20px 15px;਀            紀 ਀            ⸀猀攀挀琀椀漀渀ⴀ琀椀琀氀攀 笀 font-size: 1.3rem;਀            紀 ਀            ⸀瀀愀瀀攀爀ⴀ洀攀琀愀 笀 flex-direction: column;਀                最愀瀀㨀 ㄀ 瀀砀㬀 }਀             .action-buttons {਀                昀氀攀砀ⴀ搀椀爀攀挀琀椀漀渀㨀 挀漀氀甀洀渀㬀 align-items: center;਀            紀 ਀            ⸀戀琀渀 笀 width: 100%;਀                洀愀砀ⴀ眀椀搀琀栀㨀 ㈀㔀 瀀砀㬀 }਀             .btn-level {਀                眀椀搀琀栀㨀 ㄀  ─㬀 max-width: 200px;਀            紀 ਀            ⸀琀椀洀攀爀ⴀ漀瀀琀椀漀渀猀 笀 flex-wrap: wrap;਀            紀 }਀ @media print {਀            戀漀搀礀 笀 background: none;਀                瀀愀搀搀椀渀最㨀  㬀 }਀             .container {਀                戀漀砀ⴀ猀栀愀搀漀眀㨀 渀漀渀攀㬀 max-width: 100%;਀            紀 ਀            ⸀愀挀琀椀漀渀ⴀ戀甀琀琀漀渀猀 笀 display: none;਀            紀 ਀            ⸀焀甀攀猀琀椀漀渀 笀 page-break-inside: avoid;਀            紀 }਀    㰀⼀猀琀礀氀攀㸀 ਀     ਀     㰀猀挀爀椀瀀琀㸀 window.dataLayer = window.dataLayer || [];਀         昀甀渀挀琀椀漀渀 最琀愀最⠀⤀笀搀愀琀愀䰀愀礀攀爀⸀瀀甀猀栀⠀愀爀最甀洀攀渀琀猀⤀㬀紀 gtag('js', new Date());਀ gtag('config', 'G-KMZ9RJ62EY');਀       㰀⼀猀挀爀椀瀀琀㸀 ਀㰀戀漀搀礀㸀
਀        㰀搀椀瘀 挀氀愀猀猀㴀∀栀攀愀搀攀爀∀㸀 ਀            㰀愀 栀爀攀昀㴀∀一攀攀琀ⴀ攀砀愀洀ⴀ瀀爀愀挀琀椀挀攀ⴀ猀攀琀ⴀ最攀渀攀爀愀琀漀爀⸀栀琀洀氀∀ 挀氀愀猀猀㴀∀栀漀洀攀ⴀ椀挀漀渀∀㸀 ਀            㰀⼀愀㸀

NEET Physics Practice Set Generator

਀            㰀瀀㸀䜀攀渀攀爀愀琀攀 䌀甀猀琀漀洀椀稀攀搀 倀栀礀猀椀挀猀 倀爀愀挀琀椀挀攀 匀攀琀猀 昀漀爀 一䔀䔀吀 倀爀攀瀀愀爀愀琀椀漀渀㰀⼀瀀㸀
਀        
਀            㰀搀椀瘀 椀搀㴀∀猀琀愀爀琀匀挀爀攀攀渀∀㸀

NEET Physics Practice Set Generator

਀                㰀瀀 挀氀愀猀猀㴀∀琀攀砀琀ⴀ挀攀渀琀攀爀∀㸀䌀爀攀愀琀攀 挀甀猀琀漀洀椀稀攀搀 瀀栀礀猀椀挀猀 瀀爀愀挀琀椀挀攀 猀攀琀猀 琀漀 瀀爀攀瀀愀爀攀 昀漀爀 琀栀攀 一䔀䔀吀 攀砀愀洀㰀⼀瀀㸀
਀                    㰀戀甀琀琀漀渀 挀氀愀猀猀㴀∀戀琀渀 戀琀渀ⴀ瀀爀椀洀愀爀礀∀ 椀搀㴀∀猀琀愀爀琀䜀攀渀攀爀愀琀椀渀最䈀琀渀∀㸀匀琀愀爀琀 䜀攀渀攀爀愀琀椀渀最㰀⼀戀甀琀琀漀渀㸀
਀            㰀⼀搀椀瘀㸀 ਀            㰀搀椀瘀 椀搀㴀∀瀀爀愀挀琀椀挀攀吀礀瀀攀匀攀氀攀挀琀椀漀渀∀ 挀氀愀猀猀㴀∀栀椀搀搀攀渀∀㸀

Select Practice Type

਀                㰀瀀 挀氀愀猀猀㴀∀琀攀砀琀ⴀ挀攀渀琀攀爀∀㸀䌀栀漀漀猀攀 琀栀攀 琀礀瀀攀 漀昀 瀀栀礀猀椀挀猀 瀀爀愀挀琀椀挀攀 猀攀琀 礀漀甀 眀愀渀琀 琀漀 最攀渀攀爀愀琀攀㨀㰀⼀瀀㸀 ਀                㰀搀椀瘀 挀氀愀猀猀㴀∀瀀爀愀挀琀椀挀攀ⴀ漀瀀琀椀漀渀猀∀㸀
਀                        㰀搀椀瘀 挀氀愀猀猀㴀∀漀瀀琀椀漀渀ⴀ椀挀漀渀∀㸀 ਀                        㰀⼀搀椀瘀㸀
Chapter-wise Practice
਀                        㰀搀椀瘀 挀氀愀猀猀㴀∀漀瀀琀椀漀渀ⴀ搀攀猀挀爀椀瀀琀椀漀渀∀㸀倀爀愀挀琀椀挀攀 猀瀀攀挀椀昀椀挀 挀栀愀瀀琀攀爀猀 昀爀漀洀 倀栀礀猀椀挀猀 猀礀氀氀愀戀甀猀㰀⼀搀椀瘀㸀
਀                    
਀                        㰀搀椀瘀 挀氀愀猀猀㴀∀漀瀀琀椀漀渀ⴀ椀挀漀渀∀㸀 ਀                        㰀⼀搀椀瘀㸀
Topic-wise Practice
਀                        㰀搀椀瘀 挀氀愀猀猀㴀∀漀瀀琀椀漀渀ⴀ搀攀猀挀爀椀瀀琀椀漀渀∀㸀䘀漀挀甀猀 漀渀 猀瀀攀挀椀昀椀挀 瀀栀礀猀椀挀猀 琀漀瀀椀挀猀 愀渀搀 挀漀渀挀攀瀀琀猀㰀⼀搀椀瘀㸀
਀                    
਀                        㰀搀椀瘀 挀氀愀猀猀㴀∀漀瀀琀椀漀渀ⴀ椀挀漀渀∀㸀 ਀                        㰀⼀搀椀瘀㸀
Full-Length Test
਀                        㰀搀椀瘀 挀氀愀猀猀㴀∀漀瀀琀椀漀渀ⴀ搀攀猀挀爀椀瀀琀椀漀渀∀㸀匀椀洀甀氀愀琀攀 琀栀攀 愀挀琀甀愀氀 一䔀䔀吀 倀栀礀猀椀挀猀 猀攀挀琀椀漀渀 眀椀琀栀 㐀㔀 焀甀攀猀琀椀漀渀猀㰀⼀搀椀瘀㸀
਀                    
਀                        㰀搀椀瘀 挀氀愀猀猀㴀∀漀瀀琀椀漀渀ⴀ椀挀漀渀∀㸀 ਀                        㰀⼀搀椀瘀㸀
Previous Year Questions
਀                        㰀搀椀瘀 挀氀愀猀猀㴀∀漀瀀琀椀漀渀ⴀ搀攀猀挀爀椀瀀琀椀漀渀∀㸀倀爀愀挀琀椀挀攀 眀椀琀栀 焀甀攀猀琀椀漀渀猀 昀爀漀洀 瀀爀攀瘀椀漀甀猀 一䔀䔀吀 攀砀愀洀猀㰀⼀搀椀瘀㸀
਀                㰀⼀搀椀瘀㸀 ਀                㰀搀椀瘀 挀氀愀猀猀㴀∀戀琀渀ⴀ最爀漀甀瀀∀㸀 ਀                    㰀戀甀琀琀漀渀 挀氀愀猀猀㴀∀戀琀渀 戀琀渀ⴀ猀甀挀挀攀猀猀∀ 椀搀㴀∀瀀爀漀挀攀攀搀吀漀䌀栀愀瀀琀攀爀猀䈀琀渀∀㸀倀爀漀挀攀攀搀 琀漀 䌀栀愀瀀琀攀爀猀㰀⼀戀甀琀琀漀渀㸀
਀            㰀⼀搀椀瘀㸀 ਀            㰀搀椀瘀 椀搀㴀∀挀栀愀瀀琀攀爀匀攀氀攀挀琀椀漀渀∀ 挀氀愀猀猀㴀∀栀椀搀搀攀渀∀㸀

Select Physics Chapters

਀                㰀昀漀爀洀 椀搀㴀∀挀栀愀瀀琀攀爀䘀漀爀洀∀㸀
਀                        㰀搀椀瘀 挀氀愀猀猀㴀∀挀栀攀挀欀戀漀砀ⴀ椀琀攀洀∀㸀 ਀                            㰀氀愀戀攀氀 昀漀爀㴀∀昀甀氀氀倀愀瀀攀爀∀㸀䘀甀氀氀 匀礀氀氀愀戀甀猀 ⠀䄀氀氀 䌀栀愀瀀琀攀爀猀⤀㰀⼀氀愀戀攀氀㸀
਀                        㰀搀椀瘀 挀氀愀猀猀㴀∀挀栀攀挀欀戀漀砀ⴀ椀琀攀洀∀㸀 ਀                            㰀氀愀戀攀氀 昀漀爀㴀∀挀栀愀瀀琀攀爀㄀∀㸀㄀⸀ 唀渀椀琀猀 愀渀搀 䴀攀愀猀甀爀攀洀攀渀琀㰀⼀氀愀戀攀氀㸀 ਀                        㰀搀椀瘀 挀氀愀猀猀㴀∀挀栀攀挀欀戀漀砀ⴀ椀琀攀洀∀㸀 ਀                            㰀氀愀戀攀氀 昀漀爀㴀∀挀栀愀瀀琀攀爀㈀∀㸀㈀⸀ 䴀漀琀椀漀渀 椀渀 愀 匀琀爀愀椀最栀琀 䰀椀渀攀㰀⼀氀愀戀攀氀㸀 ਀                        㰀搀椀瘀 挀氀愀猀猀㴀∀挀栀攀挀欀戀漀砀ⴀ椀琀攀洀∀㸀 ਀                            㰀氀愀戀攀氀 昀漀爀㴀∀挀栀愀瀀琀攀爀㌀∀㸀㌀⸀ 䴀漀琀椀漀渀 椀渀 愀 倀氀愀渀攀㰀⼀氀愀戀攀氀㸀 ਀                        㰀搀椀瘀 挀氀愀猀猀㴀∀挀栀攀挀欀戀漀砀ⴀ椀琀攀洀∀㸀 ਀                            㰀氀愀戀攀氀 昀漀爀㴀∀挀栀愀瀀琀攀爀㐀∀㸀㐀⸀ 䰀愀眀猀 漀昀 䴀漀琀椀漀渀㰀⼀氀愀戀攀氀㸀 ਀                        㰀搀椀瘀 挀氀愀猀猀㴀∀挀栀攀挀欀戀漀砀ⴀ椀琀攀洀∀㸀 ਀                            㰀氀愀戀攀氀 昀漀爀㴀∀挀栀愀瀀琀攀爀㔀∀㸀㔀⸀ 圀漀爀欀Ⰰ 䔀渀攀爀最礀 愀渀搀 倀漀眀攀爀㰀⼀氀愀戀攀氀㸀 ਀                        㰀搀椀瘀 挀氀愀猀猀㴀∀挀栀攀挀欀戀漀砀ⴀ椀琀攀洀∀㸀 ਀                            㰀氀愀戀攀氀 昀漀爀㴀∀挀栀愀瀀琀攀爀㘀∀㸀㘀⸀ 匀礀猀琀攀洀 漀昀 倀愀爀琀椀挀氀攀猀 愀渀搀 刀漀琀愀琀椀漀渀愀氀 䴀漀琀椀漀渀㰀⼀氀愀戀攀氀㸀 ਀                        㰀搀椀瘀 挀氀愀猀猀㴀∀挀栀攀挀欀戀漀砀ⴀ椀琀攀洀∀㸀 ਀                            㰀氀愀戀攀氀 昀漀爀㴀∀挀栀愀瀀琀攀爀㜀∀㸀㜀⸀ 䜀爀愀瘀椀琀愀琀椀漀渀㰀⼀氀愀戀攀氀㸀 ਀                        㰀搀椀瘀 挀氀愀猀猀㴀∀挀栀攀挀欀戀漀砀ⴀ椀琀攀洀∀㸀 ਀                            㰀氀愀戀攀氀 昀漀爀㴀∀挀栀愀瀀琀攀爀㠀∀㸀㠀⸀ 䴀攀挀栀愀渀椀挀愀氀 倀爀漀瀀攀爀琀椀攀猀 漀昀 匀漀氀椀搀猀㰀⼀氀愀戀攀氀㸀 ਀                        㰀搀椀瘀 挀氀愀猀猀㴀∀挀栀攀挀欀戀漀砀ⴀ椀琀攀洀∀㸀 ਀                            㰀氀愀戀攀氀 昀漀爀㴀∀挀栀愀瀀琀攀爀㤀∀㸀㤀⸀ 䴀攀挀栀愀渀椀挀愀氀 倀爀漀瀀攀爀琀椀攀猀 漀昀 䘀氀甀椀搀猀㰀⼀氀愀戀攀氀㸀 ਀                        㰀搀椀瘀 挀氀愀猀猀㴀∀挀栀攀挀欀戀漀砀ⴀ椀琀攀洀∀㸀 ਀                            㰀氀愀戀攀氀 昀漀爀㴀∀挀栀愀瀀琀攀爀㄀ ∀㸀㄀ ⸀ 吀栀攀爀洀愀氀 倀爀漀瀀攀爀琀椀攀猀 漀昀 䴀愀琀琀攀爀㰀⼀氀愀戀攀氀㸀 ਀                        㰀搀椀瘀 挀氀愀猀猀㴀∀挀栀攀挀欀戀漀砀ⴀ椀琀攀洀∀㸀 ਀                            㰀氀愀戀攀氀 昀漀爀㴀∀挀栀愀瀀琀攀爀㄀㄀∀㸀㄀㄀⸀ 吀栀攀爀洀漀搀礀渀愀洀椀挀猀㰀⼀氀愀戀攀氀㸀 ਀                        㰀搀椀瘀 挀氀愀猀猀㴀∀挀栀攀挀欀戀漀砀ⴀ椀琀攀洀∀㸀 ਀                            㰀氀愀戀攀氀 昀漀爀㴀∀挀栀愀瀀琀攀爀㄀㈀∀㸀㄀㈀⸀ 䬀椀渀攀琀椀挀 吀栀攀漀爀礀㰀⼀氀愀戀攀氀㸀 ਀                        㰀搀椀瘀 挀氀愀猀猀㴀∀挀栀攀挀欀戀漀砀ⴀ椀琀攀洀∀㸀 ਀                            㰀氀愀戀攀氀 昀漀爀㴀∀挀栀愀瀀琀攀爀㄀㌀∀㸀㄀㌀⸀ 伀猀挀椀氀氀愀琀椀漀渀猀㰀⼀氀愀戀攀氀㸀 ਀                        㰀搀椀瘀 挀氀愀猀猀㴀∀挀栀攀挀欀戀漀砀ⴀ椀琀攀洀∀㸀 ਀                            㰀氀愀戀攀氀 昀漀爀㴀∀挀栀愀瀀琀攀爀㄀㐀∀㸀㄀㐀⸀ 圀愀瘀攀猀㰀⼀氀愀戀攀氀㸀 ਀                        㰀搀椀瘀 挀氀愀猀猀㴀∀挀栀攀挀欀戀漀砀ⴀ椀琀攀洀∀㸀 ਀                            㰀氀愀戀攀氀 昀漀爀㴀∀挀栀愀瀀琀攀爀㄀㔀∀㸀㄀㔀⸀ 䔀氀攀挀琀爀椀挀 䌀栀愀爀最攀 愀渀搀 䘀椀攀氀搀猀㰀⼀氀愀戀攀氀㸀 ਀                        㰀搀椀瘀 挀氀愀猀猀㴀∀挀栀攀挀欀戀漀砀ⴀ椀琀攀洀∀㸀 ਀                            㰀氀愀戀攀氀 昀漀爀㴀∀挀栀愀瀀琀攀爀㄀㘀∀㸀㄀㘀⸀ 䔀氀攀挀琀爀漀猀琀愀琀椀挀 倀漀琀攀渀琀椀愀氀 愀渀搀 䌀愀瀀愀挀椀琀愀渀挀攀㰀⼀氀愀戀攀氀㸀 ਀                        㰀搀椀瘀 挀氀愀猀猀㴀∀挀栀攀挀欀戀漀砀ⴀ椀琀攀洀∀㸀 ਀                            㰀氀愀戀攀氀 昀漀爀㴀∀挀栀愀瀀琀攀爀㄀㜀∀㸀㄀㜀⸀ 䌀甀爀爀攀渀琀 䔀氀攀挀琀爀椀挀椀琀礀㰀⼀氀愀戀攀氀㸀 ਀                        㰀搀椀瘀 挀氀愀猀猀㴀∀挀栀攀挀欀戀漀砀ⴀ椀琀攀洀∀㸀 ਀                            㰀氀愀戀攀氀 昀漀爀㴀∀挀栀愀瀀琀攀爀㄀㠀∀㸀㄀㠀⸀ 䴀漀瘀椀渀最 䌀栀愀爀最攀猀 愀渀搀 䴀愀最渀攀琀椀猀洀㰀⼀氀愀戀攀氀㸀 ਀                        㰀搀椀瘀 挀氀愀猀猀㴀∀挀栀攀挀欀戀漀砀ⴀ椀琀攀洀∀㸀 ਀                            㰀氀愀戀攀氀 昀漀爀㴀∀挀栀愀瀀琀攀爀㄀㤀∀㸀㄀㤀⸀ 䴀愀最渀攀琀椀猀洀 愀渀搀 䴀愀琀琀攀爀㰀⼀氀愀戀攀氀㸀 ਀                        㰀搀椀瘀 挀氀愀猀猀㴀∀挀栀攀挀欀戀漀砀ⴀ椀琀攀洀∀㸀 ਀                            㰀氀愀戀攀氀 昀漀爀㴀∀挀栀愀瀀琀攀爀㈀ ∀㸀㈀ ⸀ 䔀氀攀挀琀爀漀洀愀最渀攀琀椀挀 䤀渀搀甀挀琀椀漀渀㰀⼀氀愀戀攀氀㸀 ਀                        㰀搀椀瘀 挀氀愀猀猀㴀∀挀栀攀挀欀戀漀砀ⴀ椀琀攀洀∀㸀 ਀                            㰀氀愀戀攀氀 昀漀爀㴀∀挀栀愀瀀琀攀爀㈀㄀∀㸀㈀㄀⸀ 䄀氀琀攀爀渀愀琀椀渀最 䌀甀爀爀攀渀琀㰀⼀氀愀戀攀氀㸀 ਀                        㰀搀椀瘀 挀氀愀猀猀㴀∀挀栀攀挀欀戀漀砀ⴀ椀琀攀洀∀㸀 ਀                            㰀氀愀戀攀氀 昀漀爀㴀∀挀栀愀瀀琀攀爀㈀㈀∀㸀㈀㈀⸀ 䔀氀攀挀琀爀漀洀愀最渀攀琀椀挀 圀愀瘀攀㰀⼀氀愀戀攀氀㸀 ਀                        㰀搀椀瘀 挀氀愀猀猀㴀∀挀栀攀挀欀戀漀砀ⴀ椀琀攀洀∀㸀 ਀                            㰀氀愀戀攀氀 昀漀爀㴀∀挀栀愀瀀琀攀爀㈀㌀∀㸀㈀㌀⸀ 刀愀礀 伀瀀琀椀挀猀 愀渀搀 伀瀀琀椀挀愀氀 䤀渀猀琀爀甀洀攀渀琀猀㰀⼀氀愀戀攀氀㸀 ਀                        㰀搀椀瘀 挀氀愀猀猀㴀∀挀栀攀挀欀戀漀砀ⴀ椀琀攀洀∀㸀 ਀                            㰀氀愀戀攀氀 昀漀爀㴀∀挀栀愀瀀琀攀爀㈀㐀∀㸀㈀㐀⸀ 圀愀瘀攀 伀瀀琀椀挀猀㰀⼀氀愀戀攀氀㸀 ਀                        㰀搀椀瘀 挀氀愀猀猀㴀∀挀栀攀挀欀戀漀砀ⴀ椀琀攀洀∀㸀 ਀                            㰀氀愀戀攀氀 昀漀爀㴀∀挀栀愀瀀琀攀爀㈀㔀∀㸀㈀㔀⸀ 䐀甀愀氀 一愀琀甀爀攀 漀昀 刀愀搀椀愀琀椀漀渀 愀渀搀 䴀愀琀琀攀爀㰀⼀氀愀戀攀氀㸀 ਀                        㰀搀椀瘀 挀氀愀猀猀㴀∀挀栀攀挀欀戀漀砀ⴀ椀琀攀洀∀㸀 ਀                            㰀氀愀戀攀氀 昀漀爀㴀∀挀栀愀瀀琀攀爀㈀㘀∀㸀㈀㘀⸀ 䄀琀漀洀猀㰀⼀氀愀戀攀氀㸀 ਀                        㰀搀椀瘀 挀氀愀猀猀㴀∀挀栀攀挀欀戀漀砀ⴀ椀琀攀洀∀㸀 ਀                            㰀氀愀戀攀氀 昀漀爀㴀∀挀栀愀瀀琀攀爀㈀㜀∀㸀㈀㜀⸀ 一甀挀氀攀椀㰀⼀氀愀戀攀氀㸀 ਀                        㰀搀椀瘀 挀氀愀猀猀㴀∀挀栀攀挀欀戀漀砀ⴀ椀琀攀洀∀㸀 ਀                            㰀氀愀戀攀氀 昀漀爀㴀∀挀栀愀瀀琀攀爀㈀㠀∀㸀㈀㠀⸀ 匀攀洀椀挀漀渀搀甀挀琀漀爀 䔀氀攀挀琀爀漀渀椀挀猀Ⰰ 䴀愀琀攀爀椀愀氀猀Ⰰ 䐀攀瘀椀挀攀猀 愀渀搀 匀椀洀瀀氀攀 䌀椀爀挀甀椀琀猀㰀⼀氀愀戀攀氀㸀 ਀                    㰀⼀搀椀瘀㸀 ਀                
਀                    㰀栀㌀ 挀氀愀猀猀㴀∀猀攀挀琀椀漀渀ⴀ琀椀琀氀攀∀㸀匀攀氀攀挀琀 一甀洀戀攀爀 漀昀 儀甀攀猀琀椀漀渀猀㰀⼀栀㌀㸀
਀                        㰀搀椀瘀 挀氀愀猀猀㴀∀挀漀甀渀琀ⴀ戀琀渀∀ 椀搀㴀∀搀攀挀爀攀愀猀攀䌀漀甀渀琀∀㸀ⴀ㰀⼀搀椀瘀㸀
45
਀                        㰀搀椀瘀 挀氀愀猀猀㴀∀挀漀甀渀琀ⴀ戀琀渀∀ 椀搀㴀∀椀渀挀爀攀愀猀攀䌀漀甀渀琀∀㸀⬀㰀⼀搀椀瘀㸀
਀                㰀⼀搀椀瘀㸀 ਀                㰀搀椀瘀 椀搀㴀∀洀攀猀猀愀最攀∀ 挀氀愀猀猀㴀∀栀椀搀搀攀渀∀㸀㰀⼀搀椀瘀㸀
਀                    㰀戀甀琀琀漀渀 挀氀愀猀猀㴀∀戀琀渀 戀琀渀ⴀ搀愀渀最攀爀∀ 椀搀㴀∀戀愀挀欀吀漀倀爀愀挀琀椀挀攀吀礀瀀攀䈀琀渀∀㸀䈀愀挀欀㰀⼀戀甀琀琀漀渀㸀 ਀                㰀⼀搀椀瘀㸀
਀ ਀                㰀⼀搀椀瘀㸀 ਀                㰀搀椀瘀 挀氀愀猀猀㴀∀戀琀渀ⴀ最爀漀甀瀀∀㸀 ਀                    㰀戀甀琀琀漀渀 挀氀愀猀猀㴀∀戀琀渀 戀琀渀ⴀ猀甀挀挀攀猀猀∀ 椀搀㴀∀最攀渀攀爀愀琀攀䘀椀渀愀氀䈀琀渀∀㸀䜀攀渀攀爀愀琀攀 倀爀愀挀琀椀挀攀 匀攀琀㰀⼀戀甀琀琀漀渀㸀
਀            㰀⼀搀椀瘀㸀 ਀    㰀⼀搀椀瘀㸀 ਀    㰀搀椀瘀 挀氀愀猀猀㴀∀挀漀渀琀愀椀渀攀爀 栀椀搀搀攀渀∀ 椀搀㴀∀最攀渀攀爀愀琀攀搀倀愀瀀攀爀䌀漀渀琀愀椀渀攀爀∀㸀㰀⼀搀椀瘀㸀 ਀    㰀猀挀爀椀瀀琀㸀 // Initialize jsPDF਀        挀漀渀猀琀 笀 樀猀倀䐀䘀 紀 㴀 眀椀渀搀漀眀⸀樀猀瀀搀昀㬀 ਀        ⼀⼀ 䐀伀䴀 䔀氀攀洀攀渀琀猀 const startContainer = document.getElementById('startContainer');਀        挀漀渀猀琀 猀琀愀爀琀匀挀爀攀攀渀 㴀 搀漀挀甀洀攀渀琀⸀最攀琀䔀氀攀洀攀渀琀䈀礀䤀搀⠀✀猀琀愀爀琀匀挀爀攀攀渀✀⤀㬀 const practiceTypeSelection = document.getElementById('practiceTypeSelection');਀        挀漀渀猀琀 挀栀愀瀀琀攀爀匀攀氀攀挀琀椀漀渀 㴀 搀漀挀甀洀攀渀琀⸀最攀琀䔀氀攀洀攀渀琀䈀礀䤀搀⠀✀挀栀愀瀀琀攀爀匀攀氀攀挀琀椀漀渀✀⤀㬀 const levelSelection = document.getElementById('levelSelection');਀        挀漀渀猀琀 最攀渀攀爀愀琀攀搀倀愀瀀攀爀䌀漀渀琀愀椀渀攀爀 㴀 搀漀挀甀洀攀渀琀⸀最攀琀䔀氀攀洀攀渀琀䈀礀䤀搀⠀✀最攀渀攀爀愀琀攀搀倀愀瀀攀爀䌀漀渀琀愀椀渀攀爀✀⤀㬀 ਀        ⼀⼀ 䈀甀琀琀漀渀猀 const startGeneratingBtn = document.getElementById('startGeneratingBtn');਀        挀漀渀猀琀 戀愀挀欀吀漀匀琀愀爀琀䈀琀渀 㴀 搀漀挀甀洀攀渀琀⸀最攀琀䔀氀攀洀攀渀琀䈀礀䤀搀⠀✀戀愀挀欀吀漀匀琀愀爀琀䈀琀渀✀⤀㬀 const proceedToChaptersBtn = document.getElementById('proceedToChaptersBtn');਀        挀漀渀猀琀 戀愀挀欀吀漀倀爀愀挀琀椀挀攀吀礀瀀攀䈀琀渀 㴀 搀漀挀甀洀攀渀琀⸀最攀琀䔀氀攀洀攀渀琀䈀礀䤀搀⠀✀戀愀挀欀吀漀倀爀愀挀琀椀挀攀吀礀瀀攀䈀琀渀✀⤀㬀 const generateAssignmentBtn = document.getElementById('generateAssignmentBtn');਀        挀漀渀猀琀 戀愀挀欀吀漀䌀栀愀瀀琀攀爀猀䈀琀渀 㴀 搀漀挀甀洀攀渀琀⸀最攀琀䔀氀攀洀攀渀琀䈀礀䤀搀⠀✀戀愀挀欀吀漀䌀栀愀瀀琀攀爀猀䈀琀渀✀⤀㬀 const generateFinalBtn = document.getElementById('generateFinalBtn');਀        挀漀渀猀琀 氀攀瘀攀氀㄀䈀琀渀 㴀 搀漀挀甀洀攀渀琀⸀最攀琀䔀氀攀洀攀渀琀䈀礀䤀搀⠀✀氀攀瘀攀氀㄀䈀琀渀✀⤀㬀 const level2Btn = document.getElementById('level2Btn');਀        挀漀渀猀琀 氀攀瘀攀氀㌀䈀琀渀 㴀 搀漀挀甀洀攀渀琀⸀最攀琀䔀氀攀洀攀渀琀䈀礀䤀搀⠀✀氀攀瘀攀氀㌀䈀琀渀✀⤀㬀 const fullPaperCheckbox = document.getElementById('fullPaper');਀        挀漀渀猀琀 挀栀愀瀀琀攀爀䌀栀攀挀欀戀漀砀攀猀 㴀 搀漀挀甀洀攀渀琀⸀焀甀攀爀礀匀攀氀攀挀琀漀爀䄀氀氀⠀✀椀渀瀀甀琀嬀渀愀洀攀㴀∀挀栀愀瀀琀攀爀∀崀㨀渀漀琀⠀⌀昀甀氀氀倀愀瀀攀爀⤀✀⤀㬀 ਀        ⼀⼀ 一攀眀 攀氀攀洀攀渀琀猀 const questionCountSection = document.getElementById('questionCountSection');਀        挀漀渀猀琀 焀甀攀猀琀椀漀渀䌀漀甀渀琀䔀氀攀洀攀渀琀 㴀 搀漀挀甀洀攀渀琀⸀最攀琀䔀氀攀洀攀渀琀䈀礀䤀搀⠀✀焀甀攀猀琀椀漀渀䌀漀甀渀琀✀⤀㬀 const decreaseCountBtn = document.getElementById('decreaseCount');਀        挀漀渀猀琀 椀渀挀爀攀愀猀攀䌀漀甀渀琀䈀琀渀 㴀 搀漀挀甀洀攀渀琀⸀最攀琀䔀氀攀洀攀渀琀䈀礀䤀搀⠀✀椀渀挀爀攀愀猀攀䌀漀甀渀琀✀⤀㬀 const timerOptions = document.getElementById('timerOptions');਀ // Variables to store selections਀        氀攀琀 猀攀氀攀挀琀攀搀䌀栀愀瀀琀攀爀猀 㴀 嬀崀㬀 let selectedLevel = null;਀        氀攀琀 猀攀氀攀挀琀攀搀倀爀愀挀琀椀挀攀吀礀瀀攀 㴀 渀甀氀氀㬀 let questionCount = 45;਀        氀攀琀 琀椀洀攀䰀椀洀椀琀 㴀 㐀㔀㬀 ਀        ⼀⼀ 䔀瘀攀渀琀 䰀椀猀琀攀渀攀爀猀 startGeneratingBtn.addEventListener('click', showPracticeTypeSelection);਀        戀愀挀欀吀漀匀琀愀爀琀䈀琀渀⸀愀搀搀䔀瘀攀渀琀䰀椀猀琀攀渀攀爀⠀✀挀氀椀挀欀✀Ⰰ 戀愀挀欀吀漀匀琀愀爀琀⤀㬀 proceedToChaptersBtn.addEventListener('click', showChapters);਀        戀愀挀欀吀漀倀爀愀挀琀椀挀攀吀礀瀀攀䈀琀渀⸀愀搀搀䔀瘀攀渀琀䰀椀猀琀攀渀攀爀⠀✀挀氀椀挀欀✀Ⰰ 戀愀挀欀吀漀倀爀愀挀琀椀挀攀吀礀瀀攀⤀㬀 generateAssignmentBtn.addEventListener('click', showLevelSelection);਀        戀愀挀欀吀漀䌀栀愀瀀琀攀爀猀䈀琀渀⸀愀搀搀䔀瘀攀渀琀䰀椀猀琀攀渀攀爀⠀✀挀氀椀挀欀✀Ⰰ 戀愀挀欀吀漀䌀栀愀瀀琀攀爀猀⤀㬀 generateFinalBtn.addEventListener('click', generateAssignment);਀        昀甀氀氀倀愀瀀攀爀䌀栀攀挀欀戀漀砀⸀愀搀搀䔀瘀攀渀琀䰀椀猀琀攀渀攀爀⠀✀挀栀愀渀最攀✀Ⰰ 琀漀最最氀攀䌀栀愀瀀琀攀爀猀⤀㬀 ਀        ⼀⼀ 䰀攀瘀攀氀 猀攀氀攀挀琀椀漀渀 攀瘀攀渀琀 氀椀猀琀攀渀攀爀猀 level1Btn.addEventListener('click', () => selectLevel(1));਀        氀攀瘀攀氀㈀䈀琀渀⸀愀搀搀䔀瘀攀渀琀䰀椀猀琀攀渀攀爀⠀✀挀氀椀挀欀✀Ⰰ ⠀⤀ 㴀㸀 猀攀氀攀挀琀䰀攀瘀攀氀⠀㈀⤀⤀㬀 level3Btn.addEventListener('click', () => selectLevel(3));਀         // New event listeners਀        搀攀挀爀攀愀猀攀䌀漀甀渀琀䈀琀渀⸀愀搀搀䔀瘀攀渀琀䰀椀猀琀攀渀攀爀⠀✀挀氀椀挀欀✀Ⰰ 搀攀挀爀攀愀猀攀儀甀攀猀琀椀漀渀䌀漀甀渀琀⤀㬀 increaseCountBtn.addEventListener('click', increaseQuestionCount);਀         // Practice type selection਀        搀漀挀甀洀攀渀琀⸀焀甀攀爀礀匀攀氀攀挀琀漀爀䄀氀氀⠀✀⸀漀瀀琀椀漀渀ⴀ挀愀爀搀✀⤀⸀昀漀爀䔀愀挀栀⠀挀愀爀搀 㴀㸀 笀 card.addEventListener('click', () => {਀                搀漀挀甀洀攀渀琀⸀焀甀攀爀礀匀攀氀攀挀琀漀爀䄀氀氀⠀✀⸀漀瀀琀椀漀渀ⴀ挀愀爀搀✀⤀⸀昀漀爀䔀愀挀栀⠀挀 㴀㸀 挀⸀挀氀愀猀猀䰀椀猀琀⸀爀攀洀漀瘀攀⠀✀猀攀氀攀挀琀攀搀✀⤀⤀㬀 card.classList.add('selected');਀                猀攀氀攀挀琀攀搀倀爀愀挀琀椀挀攀吀礀瀀攀 㴀 挀愀爀搀⸀最攀琀䄀琀琀爀椀戀甀琀攀⠀✀搀愀琀愀ⴀ琀礀瀀攀✀⤀㬀 ਀                ⼀⼀ 匀攀琀 搀攀昀愀甀氀琀 焀甀攀猀琀椀漀渀 挀漀甀渀琀 戀愀猀攀搀 漀渀 瀀爀愀挀琀椀挀攀 琀礀瀀攀 if (selectedPracticeType === 'full-length') {਀                    焀甀攀猀琀椀漀渀䌀漀甀渀琀 㴀 㐀㔀㬀 questionCountElement.textContent = questionCount;਀                紀 攀氀猀攀 椀昀 ⠀猀攀氀攀挀琀攀搀倀爀愀挀琀椀挀攀吀礀瀀攀 㴀㴀㴀 ✀瀀爀攀瘀椀漀甀猀ⴀ礀攀愀爀✀⤀ 笀 questionCount = 45;਀                    焀甀攀猀琀椀漀渀䌀漀甀渀琀䔀氀攀洀攀渀琀⸀琀攀砀琀䌀漀渀琀攀渀琀 㴀 焀甀攀猀琀椀漀渀䌀漀甀渀琀㬀 }਀            紀⤀㬀 });਀         // Timer selection਀        搀漀挀甀洀攀渀琀⸀焀甀攀爀礀匀攀氀攀挀琀漀爀䄀氀氀⠀✀⸀琀椀洀攀爀ⴀ戀琀渀✀⤀⸀昀漀爀䔀愀挀栀⠀戀琀渀 㴀㸀 笀 btn.addEventListener('click', () => {਀                搀漀挀甀洀攀渀琀⸀焀甀攀爀礀匀攀氀攀挀琀漀爀䄀氀氀⠀✀⸀琀椀洀攀爀ⴀ戀琀渀✀⤀⸀昀漀爀䔀愀挀栀⠀戀 㴀㸀 戀⸀挀氀愀猀猀䰀椀猀琀⸀爀攀洀漀瘀攀⠀✀猀攀氀攀挀琀攀搀✀⤀⤀㬀 btn.classList.add('selected');਀                琀椀洀攀䰀椀洀椀琀 㴀 瀀愀爀猀攀䤀渀琀⠀戀琀渀⸀最攀琀䄀琀琀爀椀戀甀琀攀⠀✀搀愀琀愀ⴀ琀椀洀攀✀⤀⤀㬀 });਀        紀⤀㬀 ਀        ⼀⼀ 儀甀攀猀琀椀漀渀猀 搀愀琀愀戀愀猀攀 眀椀琀栀 琀栀爀攀攀 搀椀昀昀椀挀甀氀琀礀 氀攀瘀攀氀猀 昀漀爀 攀愀挀栀 挀栀愀瀀琀攀爀 const questions = {਀            ∀䌀栀愀瀀琀攀爀 ㄀∀㨀 笀 level1: [਀                    笀 焀甀攀猀琀椀漀渀㨀 ∀吀栀攀 匀䤀 甀渀椀琀 漀昀 氀攀渀最琀栀 椀猀㨀∀Ⰰ 漀瀀琀椀漀渀猀㨀 嬀∀䴀攀琀攀爀∀Ⰰ ∀䌀攀渀琀椀洀攀琀攀爀∀Ⰰ ∀䬀椀氀漀洀攀琀攀爀∀Ⰰ ∀䴀椀氀氀椀洀攀琀攀爀∀崀Ⰰ 愀渀猀眀攀爀㨀 ∀䄀∀ 紀Ⰰ { question: "Which of the following is a fundamental unit?", options: ["Newton", "Joule", "Second", "Watt"], answer: "C" },਀                    笀 焀甀攀猀琀椀漀渀㨀 ∀吀栀攀 搀椀洀攀渀猀椀漀渀愀氀 昀漀爀洀甀氀愀 昀漀爀 瘀攀氀漀挀椀琀礀 椀猀㨀∀Ⰰ 漀瀀琀椀漀渀猀㨀 嬀∀嬀䰀吀笀뤠崀∀Ⰰ ∀嬀䰀吀笀눠崀∀Ⰰ ∀嬀䴀䰀吀笀뤠崀∀Ⰰ ∀嬀䴀䰀吀笀눠崀∀崀Ⰰ 愀渀猀眀攀爀㨀 ∀䄀∀ 紀 ],਀                氀攀瘀攀氀㈀㨀 嬀 { question: "The percentage error in the measurement of mass and speed are 2% and 3% respectively. The error in the measurement of kinetic energy is:", options: ["8%", "2%", "12%", "10%"], answer: "A" },਀                    笀 焀甀攀猀琀椀漀渀㨀 ∀圀栀椀挀栀 漀昀 琀栀攀 昀漀氀氀漀眀椀渀最 瀀愀椀爀猀 栀愀瘀攀 琀栀攀 猀愀洀攀 搀椀洀攀渀猀椀漀渀猀㼀∀Ⰰ 漀瀀琀椀漀渀猀㨀 嬀∀吀漀爀焀甀攀 愀渀搀 圀漀爀欀∀Ⰰ ∀䄀渀最甀氀愀爀 洀漀洀攀渀琀甀洀 愀渀搀 圀漀爀欀∀Ⰰ ∀䔀渀攀爀最礀 愀渀搀 夀漀甀渀最✀猀 洀漀搀甀氀甀猀∀Ⰰ ∀䰀椀最栀琀 礀攀愀爀 愀渀搀 圀愀瘀攀氀攀渀最琀栀∀崀Ⰰ 愀渀猀眀攀爀㨀 ∀䄀∀ 紀 ],਀                氀攀瘀攀氀㌀㨀 嬀 { question: "If energy (E), velocity (V) and time (T) are chosen as fundamental quantities, the dimensional formula for surface tension will be:", options: ["[EV⁻²T⁻²]", "[E⁻²V⁻¹T⁻³]", "[EV⁻¹T⁻²]", "[EV⁻²T⁻¹]"], answer: "A" },਀                    笀 焀甀攀猀琀椀漀渀㨀 ∀䄀 瀀栀礀猀椀挀愀氀 焀甀愀渀琀椀琀礀 倀 椀猀 爀攀氀愀琀攀搀 琀漀 昀漀甀爀 漀戀猀攀爀瘀愀戀氀攀猀 愀Ⰰ 戀Ⰰ 挀 愀渀搀 搀 愀猀 倀 㴀 愀대戀눀⼀ᨀ挢 搀⸀ 吀栀攀 瀀攀爀挀攀渀琀愀最攀 攀爀爀漀爀猀 漀昀 洀攀愀猀甀爀攀洀攀渀琀 椀渀 愀Ⰰ 戀Ⰰ 挀 愀渀搀 搀 愀爀攀 ㄀─Ⰰ ㌀─Ⰰ 㐀─ 愀渀搀 ㈀─ 爀攀猀瀀攀挀琀椀瘀攀氀礀⸀ 吀栀攀 瀀攀爀挀攀渀琀愀最攀 攀爀爀漀爀 椀渀 琀栀攀 焀甀愀渀琀椀琀礀 倀 椀猀㨀∀Ⰰ 漀瀀琀椀漀渀猀㨀 嬀∀㄀㌀─∀Ⰰ ∀㄀㔀─∀Ⰰ ∀㄀㜀─∀Ⰰ ∀㈀㄀─∀崀Ⰰ 愀渀猀眀攀爀㨀 ∀䄀∀ 紀 ]਀            紀Ⰰ "Chapter 2": {਀                氀攀瘀攀氀㄀㨀 嬀 { question: "A body is moving with uniform velocity. Its acceleration is:", options: ["Zero", "Positive", "Negative", "Variable"], answer: "A" },਀                    笀 焀甀攀猀琀椀漀渀㨀 ∀吀栀攀 愀爀攀愀 甀渀搀攀爀 瘀攀氀漀挀椀琀礀ⴀ琀椀洀攀 最爀愀瀀栀 最椀瘀攀猀㨀∀Ⰰ 漀瀀琀椀漀渀猀㨀 嬀∀䐀椀猀琀愀渀挀攀∀Ⰰ ∀䄀挀挀攀氀攀爀愀琀椀漀渀∀Ⰰ ∀䐀椀猀瀀氀愀挀攀洀攀渀琀∀Ⰰ ∀匀瀀攀攀搀∀崀Ⰰ 愀渀猀眀攀爀㨀 ∀䌀∀ 紀 ],਀                氀攀瘀攀氀㈀㨀 嬀 { question: "A car accelerates from rest at a constant rate α for some time and then decelerates at a constant rate β to come to rest. If the total time elapsed is t, the maximum velocity acquired by the car is:", options: ["(αβ/(α+β))t", "((α+β)/αβ)t", "(αβt/(α+β))", "(α+β)t/αβ"], answer: "C" }਀                崀Ⰰ level3: [਀                    笀 焀甀攀猀琀椀漀渀㨀 ∀䄀 瀀愀爀琀椀挀氀攀 猀琀愀爀琀猀 昀爀漀洀 爀攀猀琀 眀椀琀栀 挀漀渀猀琀愀渀琀 愀挀挀攀氀攀爀愀琀椀漀渀⸀ 吀栀攀 爀愀琀椀漀 漀昀 猀瀀愀挀攀ⴀ愀瘀攀爀愀最攀 瘀攀氀漀挀椀琀礀 琀漀 琀栀攀 琀椀洀攀ⴀ愀瘀攀爀愀最攀 瘀攀氀漀挀椀琀礀 椀猀㨀∀Ⰰ 漀瀀琀椀漀渀猀㨀 嬀∀㄀㨀㈀∀Ⰰ ∀㈀㨀㄀∀Ⰰ ∀㌀㨀㈀∀Ⰰ ∀㈀㨀㌀∀崀Ⰰ 愀渀猀眀攀爀㨀 ∀䐀∀ 紀 ]਀            紀Ⰰ "Chapter 3": {਀                氀攀瘀攀氀㄀㨀 嬀 { question: "The path of a projectile is:", options: ["Straight line", "Parabola", "Circle", "Hyperbola"], answer: "B" },਀                    笀 焀甀攀猀琀椀漀渀㨀 ∀吀栀攀 栀漀爀椀稀漀渀琀愀氀 爀愀渀最攀 漀昀 愀 瀀爀漀樀攀挀琀椀氀攀 椀猀 洀愀砀椀洀甀洀 眀栀攀渀 琀栀攀 愀渀最氀攀 漀昀 瀀爀漀樀攀挀琀椀漀渀 椀猀㨀∀Ⰰ 漀瀀琀椀漀渀猀㨀 嬀∀㌀ 뀀∀Ⰰ ∀㐀㔀뀀∀Ⰰ ∀㘀 뀀∀Ⰰ ∀㤀 뀀∀崀Ⰰ 愀渀猀眀攀爀㨀 ∀䈀∀ 紀 ],਀                氀攀瘀攀氀㈀㨀 嬀 { question: "A projectile is fired at an angle of 45° with the horizontal. The elevation angle of the projectile at its highest point as seen from the point of projection is:", options: ["60°", "tan⁻¹(1/2)", "tan⁻¹(√3/2)", "45°"], answer: "B" }਀                崀Ⰰ level3: [਀                    笀 焀甀攀猀琀椀漀渀㨀 ∀䄀 瀀愀爀琀椀挀氀攀 椀猀 瀀爀漀樀攀挀琀攀搀 昀爀漀洀 愀 瀀漀椀渀琀 伀 眀椀琀栀 瘀攀氀漀挀椀琀礀 甀 椀渀 愀 搀椀爀攀挀琀椀漀渀 洀愀欀椀渀最 愀渀 愀渀最氀攀 넀 眀椀琀栀 琀栀攀 栀漀爀椀稀漀渀琀愀氀⸀ 䄀琀 愀渀礀 椀渀猀琀愀渀琀 椀琀猀 瀀漀猀椀琀椀漀渀 椀猀 愀琀 瀀漀椀渀琀 倀 愀琀 爀椀最栀琀 愀渀最氀攀猀 琀漀 琀栀攀 椀渀椀琀椀愀氀 搀椀爀攀挀琀椀漀渀 漀昀 瀀爀漀樀攀挀琀椀漀渀⸀ 䤀琀猀 瘀攀氀漀挀椀琀礀 愀琀 瀀漀椀渀琀 倀 椀猀㨀∀Ⰰ 漀瀀琀椀漀渀猀㨀 嬀∀甀 琀愀渀 넀∃Ⰰ ∀甀 挀漀琀 넀∃Ⰰ ∀甀 挀漀猀 넀∃Ⰰ ∀甀 猀椀渀 넀∃崀Ⰰ 愀渀猀眀攀爀㨀 ∀䈀∀ 紀 ]਀            紀Ⰰ // More chapters would follow the same pattern...਀            ⼀⼀ 䘀漀爀 戀爀攀瘀椀琀礀Ⰰ 䤀✀洀 猀栀漀眀椀渀最 漀渀氀礀 愀 昀攀眀 挀栀愀瀀琀攀爀猀⸀ 䤀渀 愀 挀漀洀瀀氀攀琀攀 椀洀瀀氀攀洀攀渀琀愀琀椀漀渀Ⰰ 愀氀氀 ㈀㠀 挀栀愀瀀琀攀爀猀 眀漀甀氀搀 戀攀 椀渀挀氀甀搀攀搀⸀ "Chapter 28": {਀                氀攀瘀攀氀㄀㨀 嬀 { question: "In an n-type semiconductor, the majority charge carriers are:", options: ["Holes", "Electrons", "Both holes and electrons", "None of these"], answer: "B" },਀                    笀 焀甀攀猀琀椀漀渀㨀 ∀䄀 瀀ⴀ渀 樀甀渀挀琀椀漀渀 搀椀漀搀攀 挀漀渀搀甀挀琀猀 眀栀攀渀 椀琀 椀猀㨀∀Ⰰ 漀瀀琀椀漀渀猀㨀 嬀∀䘀漀爀眀愀爀搀 戀椀愀猀攀搀∀Ⰰ ∀刀攀瘀攀爀猀攀 戀椀愀猀攀搀∀Ⰰ ∀唀渀戀椀愀猀攀搀∀Ⰰ ∀一漀渀攀 漀昀 琀栀攀猀攀∀崀Ⰰ 愀渀猀眀攀爀㨀 ∀䄀∀ 紀 ],਀                氀攀瘀攀氀㈀㨀 嬀 { question: "The current gain β of a transistor is 50. The input resistance of the transistor when used in the common emitter configuration is 1 kΩ. The peak value of the collector alternating current for an input peak voltage of 0.01 V is:", options: ["100 μA", "0.01 mA", "0.25 mA", "500 μA"], answer: "D" }਀                崀Ⰰ level3: [਀                    笀 焀甀攀猀琀椀漀渀㨀 ∀䤀渀 琀栀攀 挀椀爀挀甀椀琀 猀栀漀眀渀Ⰰ 琀栀攀 挀甀爀爀攀渀琀 䤀 琀栀爀漀甀最栀 琀栀攀 戀愀琀琀攀爀礀 椀猀㨀∀Ⰰ 漀瀀琀椀漀渀猀㨀 嬀∀㄀ 䄀∀Ⰰ ∀㈀ 䄀∀Ⰰ ∀㌀ 䄀∀Ⰰ ∀㐀 䄀∀崀Ⰰ 愀渀猀眀攀爀㨀 ∀䈀∀ 紀 ]਀            紀 };਀ // For demonstration, I'll add placeholder questions for all chapters਀        ⼀⼀ 䤀渀 愀 爀攀愀氀 椀洀瀀氀攀洀攀渀琀愀琀椀漀渀Ⰰ 攀愀挀栀 挀栀愀瀀琀攀爀 眀漀甀氀搀 栀愀瘀攀 瀀爀漀瀀攀爀 焀甀攀猀琀椀漀渀猀 昀漀爀 愀氀氀 琀栀爀攀攀 氀攀瘀攀氀猀 const chapterNames = [਀            ∀唀渀椀琀猀 愀渀搀 䴀攀愀猀甀爀攀洀攀渀琀∀Ⰰ ∀䴀漀琀椀漀渀 椀渀 愀 匀琀爀愀椀最栀琀 䰀椀渀攀∀Ⰰ ∀䴀漀琀椀漀渀 椀渀 愀 倀氀愀渀攀∀Ⰰ ∀䰀愀眀猀 漀昀 䴀漀琀椀漀渀∀Ⰰ  "Work, Energy and Power", "System of Particles and Rotational Motion", "Gravitation", ਀            ∀䴀攀挀栀愀渀椀挀愀氀 倀爀漀瀀攀爀琀椀攀猀 漀昀 匀漀氀椀搀猀∀Ⰰ ∀䴀攀挀栀愀渀椀挀愀氀 倀爀漀瀀攀爀琀椀攀猀 漀昀 䘀氀甀椀搀猀∀Ⰰ ∀吀栀攀爀洀愀氀 倀爀漀瀀攀爀琀椀攀猀 漀昀 䴀愀琀琀攀爀∀Ⰰ  "Thermodynamics", "Kinetic Theory", "Oscillations", "Waves", "Electric Charge and Fields", ਀            ∀䔀氀攀挀琀爀漀猀琀愀琀椀挀 倀漀琀攀渀琀椀愀氀 愀渀搀 䌀愀瀀愀挀椀琀愀渀挀攀∀Ⰰ ∀䌀甀爀爀攀渀琀 䔀氀攀挀琀爀椀挀椀琀礀∀Ⰰ ∀䴀漀瘀椀渀最 䌀栀愀爀最攀猀 愀渀搀 䴀愀最渀攀琀椀猀洀∀Ⰰ  "Magnetism and Matter", "Electromagnetic Induction", "Alternating Current", "Electromagnetic Wave", ਀            ∀刀愀礀 伀瀀琀椀挀猀 愀渀搀 伀瀀琀椀挀愀氀 䤀渀猀琀爀甀洀攀渀琀猀∀Ⰰ ∀圀愀瘀攀 伀瀀琀椀挀猀∀Ⰰ ∀䐀甀愀氀 一愀琀甀爀攀 漀昀 刀愀搀椀愀琀椀漀渀 愀渀搀 䴀愀琀琀攀爀∀Ⰰ  "Atoms", "Nuclei", "Semiconductor Electronics, Materials, Devices and Simple Circuits"਀        崀㬀 ਀        ⼀⼀ 䘀椀氀氀 椀渀 瀀氀愀挀攀栀漀氀搀攀爀 焀甀攀猀琀椀漀渀猀 昀漀爀 愀氀氀 挀栀愀瀀琀攀爀猀 for (let i = 1; i <= 28; i++) {਀            挀漀渀猀琀 挀栀愀瀀琀攀爀䬀攀礀 㴀 怀䌀栀愀瀀琀攀爀 ␀笀椀紀怀㬀 if (!questions[chapterKey]) {਀                焀甀攀猀琀椀漀渀猀嬀挀栀愀瀀琀攀爀䬀攀礀崀 㴀 笀 level1: [਀                        笀 焀甀攀猀琀椀漀渀㨀 怀䰀攀瘀攀氀 ㄀ 焀甀攀猀琀椀漀渀 昀漀爀 ␀笀挀栀愀瀀琀攀爀一愀洀攀猀嬀椀ⴀ㄀崀紀怀Ⰰ 漀瀀琀椀漀渀猀㨀 嬀∀伀瀀琀椀漀渀 䄀∀Ⰰ ∀伀瀀琀椀漀渀 䈀∀Ⰰ ∀伀瀀琀椀漀渀 䌀∀Ⰰ ∀伀瀀琀椀漀渀 䐀∀崀Ⰰ 愀渀猀眀攀爀㨀 ∀䄀∀ 紀Ⰰ { question: `Another Level 1 question for ${chapterNames[i-1]}`, options: ["Option A", "Option B", "Option C", "Option D"], answer: "B" }਀                    崀Ⰰ level2: [਀                        笀 焀甀攀猀琀椀漀渀㨀 怀䰀攀瘀攀氀 ㈀ 焀甀攀猀琀椀漀渀 昀漀爀 ␀笀挀栀愀瀀琀攀爀一愀洀攀猀嬀椀ⴀ㄀崀紀怀Ⰰ 漀瀀琀椀漀渀猀㨀 嬀∀伀瀀琀椀漀渀 䄀∀Ⰰ ∀伀瀀琀椀漀渀 䈀∀Ⰰ ∀伀瀀琀椀漀渀 䌀∀Ⰰ ∀伀瀀琀椀漀渀 䐀∀崀Ⰰ 愀渀猀眀攀爀㨀 ∀䌀∀ 紀Ⰰ { question: `Another Level 2 question for ${chapterNames[i-1]}`, options: ["Option A", "Option B", "Option C", "Option D"], answer: "D" }਀                    崀Ⰰ level3: [਀                        笀 焀甀攀猀琀椀漀渀㨀 怀䰀攀瘀攀氀 ㌀ 焀甀攀猀琀椀漀渀 昀漀爀 ␀笀挀栀愀瀀琀攀爀一愀洀攀猀嬀椀ⴀ㄀崀紀怀Ⰰ 漀瀀琀椀漀渀猀㨀 嬀∀伀瀀琀椀漀渀 䄀∀Ⰰ ∀伀瀀琀椀漀渀 䈀∀Ⰰ ∀伀瀀琀椀漀渀 䌀∀Ⰰ ∀伀瀀琀椀漀渀 䐀∀崀Ⰰ 愀渀猀眀攀爀㨀 ∀䄀∀ 紀Ⰰ { question: `Another Level 3 question for ${chapterNames[i-1]}`, options: ["Option A", "Option B", "Option C", "Option D"], answer: "B" }਀                    崀 };਀            紀 }਀ function getRandomQuestions(chapters, level, count) {਀            琀爀礀 笀 let allQuestions = [];਀                挀栀愀瀀琀攀爀猀⸀昀漀爀䔀愀挀栀⠀挀栀愀瀀琀攀爀 㴀㸀 笀 if (questions[chapter] && questions[chapter][`level${level}`]) {਀                        愀氀氀儀甀攀猀琀椀漀渀猀 㴀 愀氀氀儀甀攀猀琀椀漀渀猀⸀挀漀渀挀愀琀⠀焀甀攀猀琀椀漀渀猀嬀挀栀愀瀀琀攀爀崀嬀怀氀攀瘀攀氀␀笀氀攀瘀攀氀紀怀崀⤀㬀 }਀                紀⤀㬀 allQuestions = allQuestions.sort(() => Math.random() - 0.5);਀                爀攀琀甀爀渀 愀氀氀儀甀攀猀琀椀漀渀猀⸀猀氀椀挀攀⠀ Ⰰ 挀漀甀渀琀⤀㬀 } catch (error) {਀                挀漀渀猀漀氀攀⸀攀爀爀漀爀⠀∀䔀爀爀漀爀 椀渀 最攀琀刀愀渀搀漀洀儀甀攀猀琀椀漀渀猀㨀∀Ⰰ 攀爀爀漀爀⤀㬀 return [];਀            紀 }਀ function showPracticeTypeSelection() {਀            猀琀愀爀琀匀挀爀攀攀渀⸀挀氀愀猀猀䰀椀猀琀⸀愀搀搀⠀✀栀椀搀搀攀渀✀⤀㬀 practiceTypeSelection.classList.remove('hidden');਀        紀 ਀        昀甀渀挀琀椀漀渀 猀栀漀眀䌀栀愀瀀琀攀爀猀⠀⤀ 笀 if (!selectedPracticeType) {਀                愀氀攀爀琀⠀∀倀氀攀愀猀攀 猀攀氀攀挀琀 愀 瀀爀愀挀琀椀挀攀 琀礀瀀攀℀∀⤀㬀 return;਀            紀 ਀            瀀爀愀挀琀椀挀攀吀礀瀀攀匀攀氀攀挀琀椀漀渀⸀挀氀愀猀猀䰀椀猀琀⸀愀搀搀⠀✀栀椀搀搀攀渀✀⤀㬀 chapterSelection.classList.remove('hidden');਀        紀 ਀        昀甀渀挀琀椀漀渀 猀栀漀眀䰀攀瘀攀氀匀攀氀攀挀琀椀漀渀⠀⤀ 笀 // Get selected chapters਀            猀攀氀攀挀琀攀搀䌀栀愀瀀琀攀爀猀 㴀 昀甀氀氀倀愀瀀攀爀䌀栀攀挀欀戀漀砀⸀挀栀攀挀欀攀搀  ? Object.keys(questions) ਀                㨀 䄀爀爀愀礀⸀昀爀漀洀⠀搀漀挀甀洀攀渀琀⸀焀甀攀爀礀匀攀氀攀挀琀漀爀䄀氀氀⠀✀椀渀瀀甀琀嬀渀愀洀攀㴀∀挀栀愀瀀琀攀爀∀崀㨀挀栀攀挀欀攀搀✀⤀⤀⸀洀愀瀀⠀挀戀 㴀㸀 挀戀⸀瘀愀氀甀攀⤀㬀 ਀            椀昀 ⠀猀攀氀攀挀琀攀搀䌀栀愀瀀琀攀爀猀⸀氀攀渀最琀栀 㴀㴀㴀  ⤀ 笀 alert("Please select at least one chapter!");਀                爀攀琀甀爀渀㬀 }਀ chapterSelection.classList.add('hidden');਀            氀攀瘀攀氀匀攀氀攀挀琀椀漀渀⸀挀氀愀猀猀䰀椀猀琀⸀爀攀洀漀瘀攀⠀✀栀椀搀搀攀渀✀⤀㬀 }਀ function selectLevel(level) {਀            ⼀⼀ 刀攀洀漀瘀攀 猀攀氀攀挀琀攀搀 挀氀愀猀猀 昀爀漀洀 愀氀氀 氀攀瘀攀氀 戀甀琀琀漀渀猀 level1Btn.classList.remove('selected');਀            氀攀瘀攀氀㈀䈀琀渀⸀挀氀愀猀猀䰀椀猀琀⸀爀攀洀漀瘀攀⠀✀猀攀氀攀挀琀攀搀✀⤀㬀 level3Btn.classList.remove('selected');਀             // Add selected class to the clicked button਀            搀漀挀甀洀攀渀琀⸀最攀琀䔀氀攀洀攀渀琀䈀礀䤀搀⠀怀氀攀瘀攀氀␀笀氀攀瘀攀氀紀䈀琀渀怀⤀⸀挀氀愀猀猀䰀椀猀琀⸀愀搀搀⠀✀猀攀氀攀挀琀攀搀✀⤀㬀 ਀            猀攀氀攀挀琀攀搀䰀攀瘀攀氀 㴀 氀攀瘀攀氀㬀 }਀ function toggleChapters() {਀            挀栀愀瀀琀攀爀䌀栀攀挀欀戀漀砀攀猀⸀昀漀爀䔀愀挀栀⠀挀戀 㴀㸀 挀戀⸀搀椀猀愀戀氀攀搀 㴀 昀甀氀氀倀愀瀀攀爀䌀栀攀挀欀戀漀砀⸀挀栀攀挀欀攀搀⤀㬀 }਀ function decreaseQuestionCount() {਀            椀昀 ⠀焀甀攀猀琀椀漀渀䌀漀甀渀琀 㸀 ㄀ ⤀ 笀 questionCount -= 5;਀                焀甀攀猀琀椀漀渀䌀漀甀渀琀䔀氀攀洀攀渀琀⸀琀攀砀琀䌀漀渀琀攀渀琀 㴀 焀甀攀猀琀椀漀渀䌀漀甀渀琀㬀 }਀        紀 ਀        昀甀渀挀琀椀漀渀 椀渀挀爀攀愀猀攀儀甀攀猀琀椀漀渀䌀漀甀渀琀⠀⤀ 笀 if (questionCount < 90) {਀                焀甀攀猀琀椀漀渀䌀漀甀渀琀 ⬀㴀 㔀㬀 questionCountElement.textContent = questionCount;਀            紀 }਀ function backToStart() {਀            最攀渀攀爀愀琀攀搀倀愀瀀攀爀䌀漀渀琀愀椀渀攀爀⸀挀氀愀猀猀䰀椀猀琀⸀愀搀搀⠀✀栀椀搀搀攀渀✀⤀㬀 startContainer.classList.remove('hidden');਀            瀀爀愀挀琀椀挀攀吀礀瀀攀匀攀氀攀挀琀椀漀渀⸀挀氀愀猀猀䰀椀猀琀⸀愀搀搀⠀✀栀椀搀搀攀渀✀⤀㬀 chapterSelection.classList.add('hidden');਀            氀攀瘀攀氀匀攀氀攀挀琀椀漀渀⸀挀氀愀猀猀䰀椀猀琀⸀愀搀搀⠀✀栀椀搀搀攀渀✀⤀㬀 startScreen.classList.remove('hidden');਀             // Reset selections਀            猀攀氀攀挀琀攀搀䌀栀愀瀀琀攀爀猀 㴀 嬀崀㬀 selectedLevel = null;਀            猀攀氀攀挀琀攀搀倀爀愀挀琀椀挀攀吀礀瀀攀 㴀 渀甀氀氀㬀 questionCount = 45;਀            琀椀洀攀䰀椀洀椀琀 㴀 㐀㔀㬀 ਀            ⼀⼀ 刀攀猀攀琀 戀甀琀琀漀渀猀 level1Btn.classList.remove('selected');਀            氀攀瘀攀氀㈀䈀琀渀⸀挀氀愀猀猀䰀椀猀琀⸀爀攀洀漀瘀攀⠀✀猀攀氀攀挀琀攀搀✀⤀㬀 level3Btn.classList.remove('selected');਀            搀漀挀甀洀攀渀琀⸀焀甀攀爀礀匀攀氀攀挀琀漀爀䄀氀氀⠀✀⸀漀瀀琀椀漀渀ⴀ挀愀爀搀✀⤀⸀昀漀爀䔀愀挀栀⠀挀愀爀搀 㴀㸀 挀愀爀搀⸀挀氀愀猀猀䰀椀猀琀⸀爀攀洀漀瘀攀⠀✀猀攀氀攀挀琀攀搀✀⤀⤀㬀 document.querySelectorAll('.timer-btn').forEach(btn => btn.classList.remove('selected'));਀             // Reset question count਀            焀甀攀猀琀椀漀渀䌀漀甀渀琀䔀氀攀洀攀渀琀⸀琀攀砀琀䌀漀渀琀攀渀琀 㴀 焀甀攀猀琀椀漀渀䌀漀甀渀琀㬀 }਀ function backToPracticeType() {਀            挀栀愀瀀琀攀爀匀攀氀攀挀琀椀漀渀⸀挀氀愀猀猀䰀椀猀琀⸀愀搀搀⠀✀栀椀搀搀攀渀✀⤀㬀 practiceTypeSelection.classList.remove('hidden');਀        紀 ਀        昀甀渀挀琀椀漀渀 戀愀挀欀吀漀䌀栀愀瀀琀攀爀猀⠀⤀ 笀 levelSelection.classList.add('hidden');਀            挀栀愀瀀琀攀爀匀攀氀攀挀琀椀漀渀⸀挀氀愀猀猀䰀椀猀琀⸀爀攀洀漀瘀攀⠀✀栀椀搀搀攀渀✀⤀㬀 }਀ function generateAssignment() {਀            琀爀礀 笀 if (!selectedLevel) {਀                    愀氀攀爀琀⠀∀倀氀攀愀猀攀 猀攀氀攀挀琀 愀 搀椀昀昀椀挀甀氀琀礀 氀攀瘀攀氀℀∀⤀㬀 return;਀                紀 ਀                挀漀渀猀漀氀攀⸀氀漀最⠀∀䜀攀渀攀爀愀琀椀渀最 瀀栀礀猀椀挀猀 瀀爀愀挀琀椀挀攀 猀攀琀⸀⸀⸀∀⤀㬀 ਀                ⼀⼀ 䠀椀搀攀 猀琀愀爀琀 挀漀渀琀愀椀渀攀爀 愀渀搀 猀栀漀眀 愀猀猀椀最渀洀攀渀琀 挀漀渀琀愀椀渀攀爀 startContainer.classList.add('hidden');਀                氀攀瘀攀氀匀攀氀攀挀琀椀漀渀⸀挀氀愀猀猀䰀椀猀琀⸀愀搀搀⠀✀栀椀搀搀攀渀✀⤀㬀 generatedPaperContainer.classList.remove('hidden');਀                最攀渀攀爀愀琀攀搀倀愀瀀攀爀䌀漀渀琀愀椀渀攀爀⸀椀渀渀攀爀䠀吀䴀䰀 㴀 ✀✀㬀 ਀                挀漀渀猀琀 挀栀愀瀀琀攀爀一愀洀攀猀 㴀 猀攀氀攀挀琀攀搀䌀栀愀瀀琀攀爀猀⸀洀愀瀀⠀挀栀 㴀㸀 笀 if (ch === "Full Paper") return "Full Syllabus";਀                    挀漀渀猀琀 氀愀戀攀氀 㴀 搀漀挀甀洀攀渀琀⸀焀甀攀爀礀匀攀氀攀挀琀漀爀⠀怀氀愀戀攀氀嬀昀漀爀㴀∀␀笀挀栀⸀琀漀䰀漀眀攀爀䌀愀猀攀⠀⤀紀∀崀怀⤀㬀 return label ? ch + ". " + label.textContent.split(". ")[1] : ch;਀                紀⤀⸀樀漀椀渀⠀∀Ⰰ ∀⤀㬀 ਀                挀漀渀猀漀氀攀⸀氀漀最⠀∀䌀栀愀瀀琀攀爀 渀愀洀攀猀㨀∀Ⰰ 挀栀愀瀀琀攀爀一愀洀攀猀⤀㬀 ਀                ⼀⼀ 䜀攀琀 爀愀渀搀漀洀 焀甀攀猀琀椀漀渀猀 const mcqs = getRandomQuestions(selectedChapters, selectedLevel, questionCount);਀ console.log("Questions retrieved:", { mcqs });਀ let questionNumber = 1;਀                 // Create practice set content਀                氀攀琀 瀀愀瀀攀爀䌀漀渀琀攀渀琀 㴀 怀
਀                        㰀栀㈀㸀一䔀䔀吀 倀栀礀猀椀挀猀 倀爀愀挀琀椀挀攀 匀攀琀㰀⼀栀㈀㸀

${getPracticeTypeName(selectedPracticeType)}

਀                        㰀瀀㸀䰀攀瘀攀氀 ␀笀猀攀氀攀挀琀攀搀䰀攀瘀攀氀紀 ⴀ ␀笀猀攀氀攀挀琀攀搀䰀攀瘀攀氀 㴀㴀㴀 ㄀ 㼀 ∀一䌀䔀刀吀 䈀愀猀攀搀∀ 㨀 猀攀氀攀挀琀攀搀䰀攀瘀攀氀 㴀㴀㴀 ㈀ 㼀 ∀䠀椀最栀攀爀 䰀攀瘀攀氀∀ 㨀 ∀一䔀䔀吀 䔀砀愀洀 䰀攀瘀攀氀∀紀㰀⼀瀀㸀

Time: ${timeLimit} minutes

਀                    㰀⼀搀椀瘀㸀
਀                        㰀搀椀瘀 挀氀愀猀猀㴀∀椀渀猀琀爀甀挀琀椀漀渀猀∀㸀

Instructions:

਀                            㰀漀氀㸀
  • This physics practice set contains ${questionCount} Multiple Choice Questions (MCQs).
  • ਀                                㰀氀椀㸀䔀愀挀栀 焀甀攀猀琀椀漀渀 栀愀猀 昀漀甀爀 漀瀀琀椀漀渀猀 眀椀琀栀 漀渀氀礀 漀渀攀 挀漀爀爀攀挀琀 愀渀猀眀攀爀⸀㰀⼀氀椀㸀
  • Choose the most appropriate answer.
  • ਀                                㰀氀椀㸀吀椀洀攀㨀 ␀笀琀椀洀攀䰀椀洀椀琀紀 洀椀渀甀琀攀猀㰀⼀氀椀㸀 ${selectedPracticeType === 'full-length' ? '
  • This is a full-length physics test simulating the actual NEET exam pattern.
  • ' : ''}਀                            㰀⼀漀氀㸀
    ਀                        㰀搀椀瘀 挀氀愀猀猀㴀∀焀甀攀猀琀椀漀渀ⴀ猀攀挀琀椀漀渀∀㸀
    Physics Questions
    ਀                怀㬀 ਀                ⼀⼀ 䄀搀搀 䴀䌀儀猀 mcqs.forEach((mcq, index) => {਀                    瀀愀瀀攀爀䌀漀渀琀攀渀琀 ⬀㴀 怀
    ਀                            㰀搀椀瘀 挀氀愀猀猀㴀∀焀甀攀猀琀椀漀渀ⴀ琀攀砀琀∀㸀␀笀焀甀攀猀琀椀漀渀一甀洀戀攀爀紀⸀ ␀笀洀挀焀⸀焀甀攀猀琀椀漀渀紀㰀⼀搀椀瘀㸀
    A. ${mcq.options[0]}
    ਀                            㰀搀椀瘀 挀氀愀猀猀㴀∀漀瀀琀椀漀渀∀㸀䈀⸀ ␀笀洀挀焀⸀漀瀀琀椀漀渀猀嬀㄀崀紀㰀⼀搀椀瘀㸀
    C. ${mcq.options[2]}
    ਀                            㰀搀椀瘀 挀氀愀猀猀㴀∀漀瀀琀椀漀渀∀㸀䐀⸀ ␀笀洀挀焀⸀漀瀀琀椀漀渀猀嬀㌀崀紀㰀⼀搀椀瘀㸀
    ਀                    怀㬀 questionNumber++;਀                紀⤀㬀 ਀                ⼀⼀ 䄀搀搀 愀渀猀眀攀爀 猀栀攀攀琀 paperContent += `਀                        㰀⼀搀椀瘀㸀
    ਀                            㰀栀㌀ 挀氀愀猀猀㴀∀猀攀挀琀椀漀渀ⴀ琀椀琀氀攀∀㸀䄀渀猀眀攀爀 䬀攀礀㰀⼀栀㌀㸀 ਀                                㰀琀栀攀愀搀㸀 ਀                                        㰀琀栀㸀儀甀攀猀琀椀漀渀 一漀⸀㰀⼀琀栀㸀 ਀                                        㰀琀栀㸀儀甀攀猀琀椀漀渀 一漀⸀㰀⼀琀栀㸀 ਀                                        㰀琀栀㸀儀甀攀猀琀椀漀渀 一漀⸀㰀⼀琀栀㸀 ਀                                    㰀⼀琀爀㸀 ਀                                㰀琀戀漀搀礀㸀 `;਀ // Add answers in groups of 3਀                昀漀爀 ⠀氀攀琀 椀 㴀  㬀 椀 㰀 洀挀焀猀⸀氀攀渀最琀栀㬀 椀 ⬀㴀 ㌀⤀ 笀 paperContent += ``;਀                    昀漀爀 ⠀氀攀琀 樀 㴀  㬀 樀 㰀 ㌀㬀 樀⬀⬀⤀ 笀 if (i + j < mcqs.length) {਀                            瀀愀瀀攀爀䌀漀渀琀攀渀琀 ⬀㴀 怀㰀琀搀㸀␀笀椀 ⬀ 樀 ⬀ ㄀紀㰀⼀琀搀㸀㰀琀搀㸀␀笀洀挀焀猀嬀椀 ⬀ 樀崀⸀愀渀猀眀攀爀紀㰀⼀琀搀㸀怀㬀 } else {਀                            瀀愀瀀攀爀䌀漀渀琀攀渀琀 ⬀㴀 怀㰀琀搀㸀㰀⼀琀搀㸀㰀琀搀㸀㰀⼀琀搀㸀怀㬀 }਀                    紀 paperContent += ``;਀                紀 ਀                瀀愀瀀攀爀䌀漀渀琀攀渀琀 ⬀㴀 怀 ਀                            㰀⼀琀愀戀氀攀㸀 ਀                        㰀搀椀瘀 挀氀愀猀猀㴀∀愀挀琀椀漀渀ⴀ戀甀琀琀漀渀猀∀㸀 ਀                            㰀戀甀琀琀漀渀 挀氀愀猀猀㴀∀戀琀渀 戀琀渀ⴀ猀甀挀挀攀猀猀∀ 椀搀㴀∀搀漀眀渀氀漀愀搀䈀琀渀∀㸀㰀椀 挀氀愀猀猀㴀∀昀愀猀 昀愀ⴀ搀漀眀渀氀漀愀搀∀㸀㰀⼀椀㸀 䐀漀眀渀氀漀愀搀 愀猀 倀䐀䘀㰀⼀戀甀琀琀漀渀㸀 ਀                        㰀⼀搀椀瘀㸀 ਀                怀㬀 ਀                最攀渀攀爀愀琀攀搀倀愀瀀攀爀䌀漀渀琀愀椀渀攀爀⸀椀渀渀攀爀䠀吀䴀䰀 㴀 瀀愀瀀攀爀䌀漀渀琀攀渀琀㬀 ਀                ⼀⼀ 䄀搀搀 攀瘀攀渀琀 氀椀猀琀攀渀攀爀猀 琀漀 琀栀攀 渀攀眀 戀甀琀琀漀渀猀 document.getElementById('printBtn').addEventListener('click', printAssignment);਀                搀漀挀甀洀攀渀琀⸀最攀琀䔀氀攀洀攀渀琀䈀礀䤀搀⠀✀搀漀眀渀氀漀愀搀䈀琀渀✀⤀⸀愀搀搀䔀瘀攀渀琀䰀椀猀琀攀渀攀爀⠀✀挀氀椀挀欀✀Ⰰ 搀漀眀渀氀漀愀搀倀䐀䘀⤀㬀 document.getElementById('newAssignmentBtn').addEventListener('click', backToStart);਀ console.log("Physics practice set generated successfully");਀            紀 挀愀琀挀栀 ⠀攀爀爀漀爀⤀ 笀 console.error("Error generating physics practice set:", error);਀                愀氀攀爀琀⠀∀䄀渀 攀爀爀漀爀 漀挀挀甀爀爀攀搀 眀栀椀氀攀 最攀渀攀爀愀琀椀渀最 琀栀攀 瀀栀礀猀椀挀猀 瀀爀愀挀琀椀挀攀 猀攀琀⸀ 倀氀攀愀猀攀 琀爀礀 愀最愀椀渀⸀∀⤀㬀 }਀        紀 ਀        昀甀渀挀琀椀漀渀 最攀琀倀爀愀挀琀椀挀攀吀礀瀀攀一愀洀攀⠀琀礀瀀攀⤀ 笀 switch(type) {਀                挀愀猀攀 ✀挀栀愀瀀琀攀爀ⴀ眀椀猀攀✀㨀 爀攀琀甀爀渀 ✀䌀栀愀瀀琀攀爀ⴀ眀椀猀攀 倀爀愀挀琀椀挀攀✀㬀 case 'topic-wise': return 'Topic-wise Practice';਀                挀愀猀攀 ✀昀甀氀氀ⴀ氀攀渀最琀栀✀㨀 爀攀琀甀爀渀 ✀䘀甀氀氀ⴀ䰀攀渀最琀栀 吀攀猀琀✀㬀 case 'previous-year': return 'Previous Year Questions';਀                搀攀昀愀甀氀琀㨀 爀攀琀甀爀渀 ✀倀栀礀猀椀挀猀 倀爀愀挀琀椀挀攀 匀攀琀✀㬀 }਀        紀 ਀        昀甀渀挀琀椀漀渀 瀀爀椀渀琀䄀猀猀椀最渀洀攀渀琀⠀⤀ 笀 window.print();਀        紀 ਀        愀猀礀渀挀 昀甀渀挀琀椀漀渀 搀漀眀渀氀漀愀搀倀䐀䘀⠀⤀ 笀 const element = document.getElementById('generatedPaperContainer');਀             // Create a temporary div with optimized settings਀            挀漀渀猀琀 琀攀洀瀀䐀椀瘀 㴀 搀漀挀甀洀攀渀琀⸀挀爀攀愀琀攀䔀氀攀洀攀渀琀⠀✀搀椀瘀✀⤀㬀 tempDiv.style.position = 'absolute';਀            琀攀洀瀀䐀椀瘀⸀猀琀礀氀攀⸀氀攀昀琀 㴀 ✀ⴀ㤀㤀㤀㤀瀀砀✀㬀 tempDiv.style.width = '794px'; // A4 width in pixels (210mm)਀            琀攀洀瀀䐀椀瘀⸀猀琀礀氀攀⸀戀愀挀欀最爀漀甀渀搀䌀漀氀漀爀 㴀 ✀眀栀椀琀攀✀㬀 tempDiv.style.padding = '20px';਀            琀攀洀瀀䐀椀瘀⸀椀渀渀攀爀䠀吀䴀䰀 㴀 攀氀攀洀攀渀琀⸀椀渀渀攀爀䠀吀䴀䰀㬀 document.body.appendChild(tempDiv);਀ try {਀                挀漀渀猀琀 瀀搀昀 㴀 渀攀眀 樀猀倀䐀䘀⠀✀瀀✀Ⰰ ✀洀洀✀Ⰰ ✀愀㐀✀⤀㬀 const pageWidth = pdf.internal.pageSize.getWidth() - 25.4; // 0.5" margins਀                挀漀渀猀琀 瀀愀最攀䠀攀椀最栀琀 㴀 瀀搀昀⸀椀渀琀攀爀渀愀氀⸀瀀愀最攀匀椀稀攀⸀最攀琀䠀攀椀最栀琀⠀⤀ ⴀ ㈀㔀⸀㐀㬀 ਀                ⼀⼀ 匀瀀氀椀琀 挀漀渀琀攀渀琀 椀渀琀漀 瀀愀最攀猀 let position = 12.7; // Start with 0.5" top margin਀                氀攀琀 爀攀洀愀椀渀椀渀最䠀攀椀最栀琀 㴀 琀攀洀瀀䐀椀瘀⸀猀挀爀漀氀氀䠀攀椀最栀琀㬀 let pageNum = 1;਀                 while (remainingHeight > 0) {਀                    ⼀⼀ 䌀愀瀀琀甀爀攀 琀栀攀 挀甀爀爀攀渀琀 瀀愀最攀 猀攀挀琀椀漀渀 const canvas = await html2canvas(tempDiv, {਀                        猀挀愀氀攀㨀 ㄀⸀㔀Ⰰ windowHeight: pageHeight * 3.78, // mm to px਀                        眀椀渀搀漀眀圀椀搀琀栀㨀 瀀愀最攀圀椀搀琀栀 ⨀ ㌀⸀㜀㠀Ⰰ y: position * 3.78, // mm to px਀                        栀攀椀最栀琀㨀 瀀愀最攀䠀攀椀最栀琀 ⨀ ㌀⸀㜀㠀Ⰰ useCORS: true,਀                        戀愀挀欀最爀漀甀渀搀䌀漀氀漀爀㨀 ✀⌀昀昀昀昀昀昀✀Ⰰ logging: false਀                    紀⤀㬀 ਀                    挀漀渀猀琀 椀洀最䐀愀琀愀 㴀 挀愀渀瘀愀猀⸀琀漀䐀愀琀愀唀刀䰀⠀✀椀洀愀最攀⼀樀瀀攀最✀Ⰰ  ⸀㤀㈀⤀㬀 ਀                    ⼀⼀ 䄀搀搀 瀀愀最攀 琀漀 倀䐀䘀 if (pageNum > 1) {਀                        瀀搀昀⸀愀搀搀倀愀最攀⠀✀愀㐀✀Ⰰ ✀瀀漀爀琀爀愀椀琀✀⤀㬀 }਀                     pdf.addImage(imgData, 'JPEG', 12.7, 12.7, pageWidth, canvas.height * pageWidth / canvas.width);਀                     position += pageHeight;਀                    爀攀洀愀椀渀椀渀最䠀攀椀最栀琀 ⴀ㴀 瀀愀最攀䠀攀椀最栀琀 ⨀ ㌀⸀㜀㠀㬀 ⼀⼀ 瀀砀 pageNum++;਀                紀 ਀                ⼀⼀ 匀愀瘀攀 倀䐀䘀 pdf.save('NEET_Physics_Practice_Set.pdf');਀                挀漀渀猀漀氀攀⸀氀漀最⠀∀倀䐀䘀 猀愀瘀攀搀 猀甀挀挀攀猀猀昀甀氀氀礀∀⤀㬀 ਀            紀 挀愀琀挀栀 ⠀攀爀爀漀爀⤀ 笀 console.error('PDF generation error:', error);਀                愀氀攀爀琀⠀✀䔀爀爀漀爀 最攀渀攀爀愀琀椀渀最 倀䐀䘀⸀ 倀氀攀愀猀攀 挀栀攀挀欀 琀栀攀 挀漀渀猀漀氀攀 昀漀爀 搀攀琀愀椀氀猀⸀✀⤀㬀 // Remove temporary div if it exists਀                挀漀渀猀琀 琀攀洀瀀䐀椀瘀 㴀 搀漀挀甀洀攀渀琀⸀焀甀攀爀礀匀攀氀攀挀琀漀爀⠀✀⸀琀攀洀瀀ⴀ瀀搀昀ⴀ挀漀渀琀愀椀渀攀爀✀⤀㬀 if (tempDiv) {਀                    搀漀挀甀洀攀渀琀⸀戀漀搀礀⸀爀攀洀漀瘀攀䌀栀椀氀搀⠀琀攀洀瀀䐀椀瘀⤀㬀 }਀            紀 }਀    㰀⼀猀挀爀椀瀀琀㸀 ਀㰀⼀栀琀洀氀㸀�
    AnswerAnswerAnswer