Can you create MCQs in this way that I can solve the Mcqs and check how much I have prepare

Asking for Preferences
Asking for Preferences
Reading File
Finding Sources
Finding Sources
Finding Sources
I have enough solid textbook material. Let me now generate your full set of 25 mixed-difficulty Biochemistry MCQs across all major topics.

๐Ÿงช Biochemistry MCQ Quiz โ€” 25 Questions (Mixed Difficulty)

Instructions: All questions are listed below. Try to answer all 25 before scrolling down to the answer key at the bottom. Good luck!

SECTION A โ€” Carbohydrate Metabolism (Q1โ€“6)

Q1. During glycolysis, which enzyme catalyzes the irreversible phosphorylation of fructose-6-phosphate to fructose-1,6-bisphosphate?
  • A) Phosphoglucose isomerase
  • B) Phosphofructokinase-1 (PFK-1)
  • C) Pyruvate kinase
  • D) Hexokinase

Q2. A red blood cell (RBC) lacks mitochondria. What is the fate of pyruvate produced during glycolysis in an RBC?
  • A) Enters the TCA cycle
  • B) Undergoes transamination to alanine
  • C) Reduced to lactate by lactate dehydrogenase
  • D) Converted to acetyl-CoA by pyruvate dehydrogenase

Q3. The enzyme pyruvate dehydrogenase complex requires all of the following coenzymes EXCEPT:
  • A) Thiamine pyrophosphate (TPP)
  • B) Lipoic acid
  • C) Pyridoxal phosphate (PLP)
  • D) CoA and FAD

Q4. In the TCA cycle, which step produces GTP directly (substrate-level phosphorylation)?
  • A) Isocitrate โ†’ alpha-ketoglutarate
  • B) Succinyl-CoA โ†’ succinate
  • C) Malate โ†’ oxaloacetate
  • D) Fumarate โ†’ malate

Q5. Glycogen phosphorylase cleaves glycogen by:
  • A) Hydrolysis, releasing glucose-1-phosphate
  • B) Phosphorolysis, releasing glucose-1-phosphate
  • C) Phosphorolysis, releasing glucose-6-phosphate
  • D) Hydrolysis, releasing free glucose

Q6. Which of the following is the rate-limiting enzyme of the pentose phosphate pathway?
  • A) Transketolase
  • B) Glucose-6-phosphate dehydrogenase (G6PD)
  • C) 6-Phosphogluconate dehydrogenase
  • D) Ribulose-5-phosphate epimerase

SECTION B โ€” Lipid Metabolism (Q7โ€“11)

Q7. Beta-oxidation of a saturated 18-carbon fatty acid (stearic acid) produces how many acetyl-CoA molecules?
  • A) 8
  • B) 9
  • C) 10
  • D) 6

Q8. Which lipoprotein is responsible for delivering dietary (exogenous) triglycerides from the intestine to peripheral tissues?
  • A) VLDL
  • B) IDL
  • C) Chylomicrons
  • D) HDL

Q9. Malonyl-CoA, the first committed intermediate of fatty acid synthesis, is produced by:
  • A) Fatty acid synthase
  • B) Acetyl-CoA carboxylase
  • C) ATP-citrate lyase
  • D) Malic enzyme

Q10. HMG-CoA reductase, the rate-limiting enzyme of cholesterol synthesis, catalyzes which reaction?
  • A) Acetyl-CoA โ†’ HMG-CoA
  • B) HMG-CoA โ†’ Mevalonate
  • C) Mevalonate โ†’ Squalene
  • D) Squalene โ†’ Cholesterol

Q11. A patient with abdominal pain, eruptive xanthomas, and markedly elevated triglycerides is found to have absent lipoprotein lipase activity. Which condition does this represent?
  • A) Type IIa familial hypercholesterolemia
  • B) Type I hyperlipoproteinemia
  • C) Tangier disease
  • D) Abetalipoproteinemia

SECTION C โ€” Proteins & Amino Acid Metabolism (Q12โ€“16)

Q12. Phenylketonuria (PKU) results from a deficiency of which enzyme?
  • A) Tyrosinase
  • B) Homogentisate oxidase
  • C) Phenylalanine hydroxylase
  • D) Fumarylacetoacetate hydrolase

Q13. Which amino acid serves as the major carrier of nitrogen from peripheral tissues to the liver?
  • A) Glutamine
  • B) Alanine
  • C) Glycine
  • D) Aspartate

Q14. The urea cycle takes place in which cellular compartments?
  • A) Cytoplasm only
  • B) Mitochondria only
  • C) Both mitochondria and cytoplasm
  • D) Endoplasmic reticulum and mitochondria

Q15. Which vitamin is required as a coenzyme for all transamination reactions?
  • A) Thiamine (B1)
  • B) Riboflavin (B2)
  • C) Pyridoxine (B6) as PLP
  • D) Cobalamin (B12)

Q16. Maple syrup urine disease (MSUD) is caused by a defect in the metabolism of which amino acids?
  • A) Phenylalanine, tyrosine, tryptophan
  • B) Leucine, isoleucine, valine (branched-chain amino acids)
  • C) Lysine, arginine, histidine
  • D) Methionine, cysteine, homocysteine

SECTION D โ€” Enzymes & Molecular Biology (Q17โ€“20)

Q17. A competitive inhibitor of an enzyme:
  • A) Increases Km and decreases Vmax
  • B) Decreases Km and has no effect on Vmax
  • C) Increases Km but does not change Vmax
  • D) Decreases Vmax but does not change Km

Q18. DNA replication is described as "semi-conservative." This means:
  • A) Each new DNA molecule contains two newly synthesized strands
  • B) Each new DNA molecule contains one original and one new strand
  • C) Only half the genome is replicated at a time
  • D) Replication occurs only in the S phase of meiosis

Q19. Which enzyme removes the RNA primer during DNA replication in eukaryotes?
  • A) DNA polymerase delta (ฮด)
  • B) RNase H / DNA polymerase alpha
  • C) Primase
  • D) Topoisomerase II

Q20. The Shine-Dalgarno sequence is found in:
  • A) Eukaryotic mRNA, upstream of the start codon
  • B) Prokaryotic mRNA, upstream of the start codon
  • C) The 5' cap structure of eukaryotic mRNA
  • D) tRNA at the anticodon loop

SECTION E โ€” Vitamins, Minerals & Miscellaneous (Q21โ€“25)

Q21. A strict vegan presents with megaloblastic anemia, elevated homocysteine, and normal methylmalonic acid levels. Which deficiency is most likely?
  • A) Vitamin B12 (cobalamin)
  • B) Folate
  • C) Iron
  • D) Vitamin B6

Q22. Wernicke-Korsakoff syndrome, seen in chronic alcoholics, is caused by deficiency of which vitamin?
  • A) Niacin (B3)
  • B) Thiamine (B1)
  • C) Pyridoxine (B6)
  • D) Biotin

Q23. Which of the following correctly pairs a nucleotide base with its type?
  • A) Adenine - pyrimidine
  • B) Thymine - purine
  • C) Guanine - purine
  • D) Cytosine - purine

Q24. Scurvy occurs due to a deficiency of Vitamin C (ascorbic acid). The primary biochemical defect is the failure to:
  • A) Synthesize clotting factors II, VII, IX, X
  • B) Hydroxylate proline and lysine residues in collagen
  • C) Absorb dietary iron from the duodenum
  • D) Produce NADPH via the pentose phosphate pathway

Q25. A patient's urine turns dark brown/black on standing. Homogentisic acid is found in the urine. What is the enzyme deficiency?
  • A) Phenylalanine hydroxylase
  • B) Tyrosinase
  • C) Homogentisate oxidase (dioxygenase)
  • D) Fumarylacetoacetate hydrolase


โœ‹ STOP HERE - Write down your answers before scrolling to the answer key below!











โœ… ANSWER KEY WITH EXPLANATIONS

Q#AnswerTopic
1BCarbohydrate metabolism
2CCarbohydrate metabolism
3CCarbohydrate metabolism
4BTCA cycle
5BGlycogen metabolism
6BPentose phosphate pathway
7BLipid - beta oxidation
8CLipoprotein metabolism
9BFatty acid synthesis
10BCholesterol synthesis
11BHyperlipoproteinemia
12CAmino acid metabolism
13BAmino acid / nitrogen transport
14CUrea cycle
15CCoenzymes
16BInborn errors of metabolism
17CEnzyme kinetics
18BMolecular biology - DNA
19BDNA replication
20BTranslation
21BVitamins
22BVitamins
23CNucleotide chemistry
24BVitamins
25CAmino acid metabolism

Detailed Explanations

Q1 - B: PFK-1 catalyzes the irreversible phosphorylation of fructose-6-phosphate to fructose-1,6-bisphosphate. It is the rate-limiting enzyme of glycolysis and is regulated by AMP (activates) and ATP/citrate (inhibit).
Q2 - C: RBCs lack mitochondria, so pyruvate cannot enter the TCA cycle. Lactate dehydrogenase reduces pyruvate to lactate while regenerating NAD+, allowing glycolysis to continue (anaerobic glycolysis).
Q3 - C: Pyruvate dehydrogenase complex requires TPP (B1), lipoic acid, CoA (B5), FAD (B2), and NAD (B3). PLP (B6) is NOT required - it is needed for transamination reactions.
Q4 - B: The succinyl-CoA synthetase step (Succinyl-CoA โ†’ succinate) directly produces GTP by substrate-level phosphorylation, the only such step in the TCA cycle.
Q5 - B: Glycogen phosphorylase uses phosphorolysis (adds inorganic phosphate Pi, not water) to cleave the alpha-1,4-glycosidic bond, releasing glucose-1-phosphate. This keeps glucose phosphorylated inside the cell.
Q6 - B: G6PD is the rate-limiting enzyme of the pentose phosphate pathway. G6PD deficiency is the most common enzyme deficiency worldwide and causes hemolytic anemia with oxidant stress.
Q7 - B: An 18-carbon saturated fatty acid undergoes 8 cycles of beta-oxidation, producing 9 acetyl-CoA molecules (one extra from the last cycle which produces 2 acetyl-CoA simultaneously).
Q8 - C: Chylomicrons transport dietary (exogenous) lipids from the intestinal enterocytes via the lymphatics to peripheral tissues. VLDL transports endogenous lipids from the liver.
Q9 - B: Acetyl-CoA carboxylase (requires biotin) catalyzes the carboxylation of acetyl-CoA to malonyl-CoA. This is the rate-limiting, committed step of fatty acid synthesis. Malonyl-CoA also inhibits carnitine acyltransferase-I, preventing simultaneous beta-oxidation.
Q10 - B: HMG-CoA reductase converts HMG-CoA โ†’ Mevalonate using 2 NADPH. This is the target of statins (competitive inhibitors), which lower cholesterol synthesis.
Q11 - B: Absent lipoprotein lipase leads to inability to hydrolyze chylomicron triglycerides, causing massive hypertriglyceridemia. This is Type I hyperlipoproteinemia (familial lipoprotein lipase deficiency).
Q12 - C: PKU is caused by deficiency of phenylalanine hydroxylase, which converts phenylalanine โ†’ tyrosine. This requires tetrahydrobiopterin (BH4) as a cofactor.
Q13 - B: Alanine is the primary carrier of nitrogen from muscle to liver (glucose-alanine cycle). Glutamine carries nitrogen from most other peripheral tissues to the kidney and liver.
Q14 - C: The urea cycle spans both compartments. Carbamoyl phosphate synthesis and citrulline production occur in the mitochondria, while argininosuccinate synthesis and the final steps occur in the cytoplasm.
Q15 - C: PLP (pyridoxal phosphate), the active form of B6, is the coenzyme for all aminotransferases (transaminases), including AST and ALT.
Q16 - B: MSUD results from a defect in the branched-chain alpha-keto acid dehydrogenase complex, which metabolizes the keto-acids derived from leucine, isoleucine, and valine.
Q17 - C: A competitive inhibitor competes with the substrate for the active site. It increases apparent Km (reduced affinity) but Vmax is unchanged because it can be overcome with high substrate concentrations.
Q18 - B: Semi-conservative replication means each daughter DNA molecule contains one parental strand and one newly synthesized strand. Proven by Meselson-Stahl experiment.
Q19 - B: In eukaryotes, RNA primers are removed by RNase H and DNA polymerase delta/epsilon. DNA pol alpha (with primase) lays down the initial RNA primer.
Q20 - B: The Shine-Dalgarno sequence is a prokaryotic ribosome binding site on mRNA, located ~10 nucleotides upstream of the AUG start codon. It base-pairs with the 16S rRNA of the 30S subunit.
Q21 - B: Elevated homocysteine occurs in BOTH B12 and folate deficiency. However, elevated methylmalonic acid (MMA) is specific to B12 deficiency (needed for methylmalonyl-CoA mutase). Normal MMA + elevated homocysteine = folate deficiency.
Q22 - B: Thiamine (B1) deficiency in alcoholics causes Wernicke encephalopathy (confusion, ophthalmoplegia, ataxia) and Korsakoff psychosis (confabulation, amnesia). Thiamine is required by pyruvate dehydrogenase, alpha-ketoglutarate dehydrogenase, and transketolase.
Q23 - C: Purines = Adenine and Guanine ("PuRines are larger - the R stands for Ring-within-a-ring"). Pyrimidines = Cytosine, Thymine, Uracil ("CUT the PY").
Q24 - B: Vitamin C is required for the hydroxylation of proline and lysine by prolyl and lysyl hydroxylase in collagen synthesis. Without it, collagen triple-helix formation is defective, causing the clinical features of scurvy (bleeding gums, perifollicular hemorrhage, poor wound healing).
Q25 - C: Dark urine on standing + homogentisic aciduria = Alkaptonuria, caused by deficiency of homogentisate oxidase (dioxygenase). This leads to accumulation of homogentisic acid (an intermediate in phenylalanine/tyrosine catabolism).

๐Ÿ“Š Score Yourself

ScoreAssessment
23โ€“25Excellent - Well prepared!
18โ€“22Good - Review weak areas
12โ€“17Fair - Need focused revision
Below 12Needs significant review

How did you do? Let me know your score, and I can generate another set focused on your weak areas, or cover a specific topic in more depth!

Can you create in a clock able format bcz I want I solve the Mcqs and click option 2 if it is correct then u give the correct answer with short explanation

Running Command

mkdir -p /home/daytona/workspace/biochem-quiz

Writing File

~/biochem-quiz/biochem_mcq_quiz.html

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
<title>Biochemistry MCQ Quiz</title>
<style>
  :root {
    --primary: #2d6a9f;
    --primary-dark: #1a4a72;
    --correct: #27ae60;
    --wrong: #e74c3c;
    --neutral: #f0f4f8;
    --card-bg: #ffffff;
    --text: #1a1a2e;
    --muted: #6b7280;
    --radius: 12px;
    --shadow: 0 4px 20px rgba(0,0,0,0.12);
  }

  * { box-sizing: border-box; margin: 0; padding: 0; }

  body {
    font-family: 'Segoe UI', system-ui, sans-serif;
    background: linear-gradient(135deg, #e8f4fd 0%, #f0f4f8 100%);
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 24px 16px;
    color: var(--text);
  }

  /* โ”€โ”€ Header โ”€โ”€ */
  .quiz-header {
    width: 100%;
    max-width: 760px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 20px;
    flex-wrap: wrap;
    gap: 12px;
  }

  .quiz-title {
    font-size: 1.4rem;
    font-weight: 700;
    color: var(--primary-dark);
  }

  .quiz-title span { color: var(--primary); }

  /* โ”€โ”€ Progress bar โ”€โ”€ */
  .progress-wrap {
    width: 100%;
    max-width: 760px;
    margin-bottom: 16px;
  }
  .progress-label {
    display: flex;
    justify-content: space-between;
    font-size: 0.82rem;
    color: var(--muted);
    margin-bottom: 6px;
  }
  .progress-bar-bg {
    background: #d1e3f5;
    border-radius: 99px;
    height: 8px;
    overflow: hidden;
  }
  .progress-bar-fill {
    height: 100%;
    background: linear-gradient(90deg, var(--primary), #5ba3d9);
    border-radius: 99px;
    transition: width 0.4s ease;
  }

  /* โ”€โ”€ Timer โ”€โ”€ */
  .timer-box {
    display: flex;
    align-items: center;
    gap: 8px;
    background: var(--primary-dark);
    color: white;
    padding: 8px 18px;
    border-radius: 99px;
    font-size: 1.05rem;
    font-weight: 700;
    letter-spacing: 1px;
    min-width: 90px;
    justify-content: center;
  }
  .timer-box.warning { background: #e67e22; }
  .timer-box.danger  { background: var(--wrong); animation: pulse 0.8s infinite; }

  @keyframes pulse {
    0%, 100% { transform: scale(1); }
    50%       { transform: scale(1.05); }
  }

  /* โ”€โ”€ Score badge โ”€โ”€ */
  .score-badge {
    background: var(--neutral);
    border: 2px solid var(--primary);
    color: var(--primary-dark);
    padding: 6px 16px;
    border-radius: 99px;
    font-weight: 700;
    font-size: 0.95rem;
  }

  /* โ”€โ”€ Question card โ”€โ”€ */
  .card {
    width: 100%;
    max-width: 760px;
    background: var(--card-bg);
    border-radius: var(--radius);
    box-shadow: var(--shadow);
    padding: 32px 36px;
    margin-bottom: 20px;
    animation: slideIn 0.3s ease;
  }

  @keyframes slideIn {
    from { opacity: 0; transform: translateY(16px); }
    to   { opacity: 1; transform: translateY(0); }
  }

  .q-section-tag {
    display: inline-block;
    background: #e8f1fb;
    color: var(--primary);
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.8px;
    padding: 3px 10px;
    border-radius: 6px;
    margin-bottom: 12px;
  }

  .q-number {
    font-size: 0.85rem;
    color: var(--muted);
    margin-bottom: 8px;
    font-weight: 600;
  }

  .q-text {
    font-size: 1.1rem;
    line-height: 1.65;
    font-weight: 600;
    margin-bottom: 28px;
    color: var(--text);
  }

  /* โ”€โ”€ Options โ”€โ”€ */
  .options-grid {
    display: flex;
    flex-direction: column;
    gap: 12px;
  }

  .option-btn {
    display: flex;
    align-items: center;
    gap: 14px;
    background: var(--neutral);
    border: 2px solid transparent;
    border-radius: 10px;
    padding: 14px 18px;
    cursor: pointer;
    font-size: 1rem;
    text-align: left;
    transition: all 0.2s ease;
    font-family: inherit;
    color: var(--text);
  }

  .option-btn:hover:not(:disabled) {
    border-color: var(--primary);
    background: #e8f1fb;
    transform: translateX(4px);
  }

  .option-letter {
    width: 32px;
    height: 32px;
    min-width: 32px;
    border-radius: 50%;
    background: white;
    border: 2px solid #c5d8ec;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    font-size: 0.88rem;
    color: var(--primary);
    transition: all 0.2s;
  }

  .option-btn.correct {
    background: #e8f8ef;
    border-color: var(--correct);
    color: #1a5c36;
  }
  .option-btn.correct .option-letter {
    background: var(--correct);
    border-color: var(--correct);
    color: white;
  }

  .option-btn.wrong {
    background: #fdecea;
    border-color: var(--wrong);
    color: #7d1a14;
  }
  .option-btn.wrong .option-letter {
    background: var(--wrong);
    border-color: var(--wrong);
    color: white;
  }

  .option-btn.reveal-correct {
    background: #e8f8ef;
    border-color: var(--correct);
    opacity: 0.85;
  }
  .option-btn.reveal-correct .option-letter {
    background: var(--correct);
    border-color: var(--correct);
    color: white;
  }

  .option-btn:disabled { cursor: default; }

  /* โ”€โ”€ Explanation box โ”€โ”€ */
  .explanation-box {
    margin-top: 20px;
    border-radius: 10px;
    padding: 16px 20px;
    font-size: 0.95rem;
    line-height: 1.6;
    display: none;
    animation: fadeIn 0.35s ease;
  }
  .explanation-box.show { display: block; }
  .explanation-box.correct-exp {
    background: #e8f8ef;
    border-left: 4px solid var(--correct);
    color: #1a5c36;
  }
  .explanation-box.wrong-exp {
    background: #fdecea;
    border-left: 4px solid var(--wrong);
    color: #7d1a14;
  }
  .explanation-box strong { display: block; margin-bottom: 4px; font-size: 1rem; }

  @keyframes fadeIn {
    from { opacity: 0; transform: translateY(-8px); }
    to   { opacity: 1; transform: translateY(0); }
  }

  /* โ”€โ”€ Next button โ”€โ”€ */
  .next-btn {
    display: none;
    margin-top: 22px;
    background: var(--primary);
    color: white;
    border: none;
    border-radius: 10px;
    padding: 13px 32px;
    font-size: 1rem;
    font-weight: 700;
    cursor: pointer;
    transition: background 0.2s, transform 0.15s;
    font-family: inherit;
    width: 100%;
  }
  .next-btn:hover { background: var(--primary-dark); transform: translateY(-1px); }
  .next-btn.show { display: block; }

  /* โ”€โ”€ Results screen โ”€โ”€ */
  #results-screen {
    display: none;
    width: 100%;
    max-width: 760px;
    animation: slideIn 0.4s ease;
  }

  .results-card {
    background: var(--card-bg);
    border-radius: var(--radius);
    box-shadow: var(--shadow);
    padding: 40px 36px;
    text-align: center;
  }

  .results-icon { font-size: 4rem; margin-bottom: 12px; }

  .results-title {
    font-size: 1.8rem;
    font-weight: 800;
    color: var(--primary-dark);
    margin-bottom: 6px;
  }

  .results-score {
    font-size: 3.5rem;
    font-weight: 900;
    color: var(--primary);
    margin: 12px 0;
  }

  .results-subtitle {
    font-size: 1rem;
    color: var(--muted);
    margin-bottom: 28px;
  }

  .grade-badge {
    display: inline-block;
    padding: 8px 28px;
    border-radius: 99px;
    font-weight: 800;
    font-size: 1.1rem;
    margin-bottom: 28px;
  }
  .grade-excellent { background: #e8f8ef; color: var(--correct); border: 2px solid var(--correct); }
  .grade-good      { background: #e8f1fb; color: var(--primary); border: 2px solid var(--primary); }
  .grade-fair      { background: #fef3cd; color: #856404; border: 2px solid #f0ad4e; }
  .grade-poor      { background: #fdecea; color: var(--wrong); border: 2px solid var(--wrong); }

  .stats-row {
    display: flex;
    justify-content: center;
    gap: 24px;
    margin-bottom: 32px;
    flex-wrap: wrap;
  }

  .stat-box {
    background: var(--neutral);
    border-radius: 10px;
    padding: 16px 24px;
    min-width: 110px;
  }
  .stat-box .stat-val { font-size: 2rem; font-weight: 800; }
  .stat-box .stat-lbl { font-size: 0.8rem; color: var(--muted); margin-top: 2px; }
  .stat-box.green .stat-val { color: var(--correct); }
  .stat-box.red .stat-val   { color: var(--wrong); }
  .stat-box.blue .stat-val  { color: var(--primary); }

  .restart-btn {
    background: var(--primary);
    color: white;
    border: none;
    border-radius: 10px;
    padding: 14px 40px;
    font-size: 1rem;
    font-weight: 700;
    cursor: pointer;
    transition: background 0.2s;
    font-family: inherit;
  }
  .restart-btn:hover { background: var(--primary-dark); }

  /* Review list */
  .review-section {
    margin-top: 32px;
    text-align: left;
  }
  .review-title {
    font-size: 1.1rem;
    font-weight: 700;
    color: var(--primary-dark);
    margin-bottom: 16px;
    padding-bottom: 8px;
    border-bottom: 2px solid #e0eaf4;
  }
  .review-item {
    padding: 12px 16px;
    border-radius: 8px;
    margin-bottom: 8px;
    font-size: 0.92rem;
    display: flex;
    align-items: flex-start;
    gap: 10px;
  }
  .review-item.r-correct { background: #e8f8ef; }
  .review-item.r-wrong   { background: #fdecea; }
  .review-icon { font-size: 1.1rem; margin-top: 1px; }
  .review-q { font-weight: 600; }
  .review-ans { color: var(--muted); font-size: 0.85rem; margin-top: 2px; }

  /* Responsive */
  @media (max-width: 560px) {
    .card { padding: 24px 18px; }
    .q-text { font-size: 1rem; }
    .results-card { padding: 28px 18px; }
    .results-score { font-size: 2.8rem; }
  }
</style>
</head>
<body>

<!-- Header -->
<div class="quiz-header">
  <div class="quiz-title">๐Ÿงฌ <span>Biochemistry</span> MCQ Quiz</div>
  <div style="display:flex; gap:10px; align-items:center; flex-wrap:wrap;">
    <div class="score-badge" id="score-display">Score: 0 / 25</div>
    <div class="timer-box" id="timer">โฑ 01:30</div>
  </div>
</div>

<!-- Progress bar -->
<div class="progress-wrap">
  <div class="progress-label">
    <span id="q-label">Question 1 of 25</span>
    <span id="pct-label">0%</span>
  </div>
  <div class="progress-bar-bg">
    <div class="progress-bar-fill" id="progress-fill" style="width:0%"></div>
  </div>
</div>

<!-- Quiz area -->
<div id="quiz-screen">
  <div class="card" id="question-card">
    <div class="q-section-tag" id="q-section"></div>
    <div class="q-number" id="q-number"></div>
    <div class="q-text" id="q-text"></div>
    <div class="options-grid" id="options-container"></div>
    <div class="explanation-box" id="explanation-box"></div>
    <button class="next-btn" id="next-btn" onclick="nextQuestion()">Next Question โ†’</button>
  </div>
</div>

<!-- Results screen -->
<div id="results-screen">
  <div class="results-card">
    <div class="results-icon" id="results-icon"></div>
    <div class="results-title">Quiz Complete!</div>
    <div class="results-score" id="results-score"></div>
    <div class="results-subtitle">out of 25 questions</div>
    <div class="grade-badge" id="grade-badge"></div>
    <div class="stats-row">
      <div class="stat-box green">
        <div class="stat-val" id="stat-correct">0</div>
        <div class="stat-lbl">Correct</div>
      </div>
      <div class="stat-box red">
        <div class="stat-val" id="stat-wrong">0</div>
        <div class="stat-lbl">Wrong</div>
      </div>
      <div class="stat-box blue">
        <div class="stat-val" id="stat-time">0s</div>
        <div class="stat-lbl">Time taken</div>
      </div>
    </div>
    <button class="restart-btn" onclick="restartQuiz()">๐Ÿ”„ Restart Quiz</button>

    <div class="review-section">
      <div class="review-title">๐Ÿ“‹ Question Review</div>
      <div id="review-list"></div>
    </div>
  </div>
</div>

<script>
const questions = [
  {
    section: "Carbohydrate Metabolism",
    text: "During glycolysis, which enzyme catalyzes the irreversible phosphorylation of fructose-6-phosphate to fructose-1,6-bisphosphate?",
    options: ["Phosphoglucose isomerase", "Phosphofructokinase-1 (PFK-1)", "Pyruvate kinase", "Hexokinase"],
    answer: 1,
    explanation: "โœ… Correct! PFK-1 is the rate-limiting enzyme of glycolysis. It catalyzes the irreversible step: Fructose-6-phosphate โ†’ Fructose-1,6-bisphosphate. It is activated by AMP and inhibited by ATP and citrate."
  },
  {
    section: "Carbohydrate Metabolism",
    text: "A red blood cell (RBC) lacks mitochondria. What is the fate of pyruvate produced during glycolysis in an RBC?",
    options: ["Enters the TCA cycle", "Undergoes transamination to alanine", "Reduced to lactate by lactate dehydrogenase", "Converted to acetyl-CoA by pyruvate dehydrogenase"],
    answer: 2,
    explanation: "โœ… Correct! RBCs lack mitochondria, so pyruvate cannot enter the TCA cycle. LDH converts pyruvate โ†’ lactate while regenerating NAD+, allowing anaerobic glycolysis to continue."
  },
  {
    section: "Carbohydrate Metabolism",
    text: "The pyruvate dehydrogenase complex requires all of the following coenzymes EXCEPT:",
    options: ["Thiamine pyrophosphate (TPP)", "Lipoic acid", "Pyridoxal phosphate (PLP)", "CoA and FAD"],
    answer: 2,
    explanation: "โœ… Correct! PDH requires TPP (B1), lipoic acid, CoA (B5), FAD (B2), and NAD (B3) โ€” remembered as 'TLC for NAD'. PLP (B6) is NOT required here; it is the coenzyme for transamination reactions."
  },
  {
    section: "TCA Cycle",
    text: "In the TCA cycle, which step produces GTP directly by substrate-level phosphorylation?",
    options: ["Isocitrate โ†’ alpha-ketoglutarate", "Succinyl-CoA โ†’ Succinate", "Malate โ†’ Oxaloacetate", "Fumarate โ†’ Malate"],
    answer: 1,
    explanation: "โœ… Correct! Succinyl-CoA synthetase converts Succinyl-CoA โ†’ Succinate with direct production of GTP (substrate-level phosphorylation). This is the only step in the TCA cycle that directly generates a high-energy phosphate bond."
  },
  {
    section: "Glycogen Metabolism",
    text: "Glycogen phosphorylase cleaves glycogen by:",
    options: ["Hydrolysis, releasing glucose-1-phosphate", "Phosphorolysis, releasing glucose-1-phosphate", "Phosphorolysis, releasing glucose-6-phosphate", "Hydrolysis, releasing free glucose"],
    answer: 1,
    explanation: "โœ… Correct! Glycogen phosphorylase uses phosphorolysis (adds inorganic phosphate Pi, NOT water) to cleave alpha-1,4-glycosidic bonds, releasing glucose-1-phosphate. This keeps glucose phosphorylated and trapped inside the cell."
  },
  {
    section: "Pentose Phosphate Pathway",
    text: "Which enzyme is the rate-limiting step of the pentose phosphate pathway?",
    options: ["Transketolase", "Glucose-6-phosphate dehydrogenase (G6PD)", "6-Phosphogluconate dehydrogenase", "Ribulose-5-phosphate epimerase"],
    answer: 1,
    explanation: "โœ… Correct! G6PD is the rate-limiting enzyme of the pentose phosphate pathway. It generates NADPH for reductive biosynthesis and antioxidant defense. G6PD deficiency is the most common enzyme deficiency worldwide, causing hemolytic anemia with oxidant stress."
  },
  {
    section: "Lipid Metabolism",
    text: "Beta-oxidation of stearic acid (18-carbon saturated fatty acid) produces how many acetyl-CoA molecules?",
    options: ["8", "9", "10", "6"],
    answer: 1,
    explanation: "โœ… Correct! An 18-carbon fatty acid undergoes 8 cycles of beta-oxidation, yielding 9 acetyl-CoA molecules. Each 2-carbon cleavage produces 1 acetyl-CoA, and the last cycle simultaneously produces 2 acetyl-CoA from the 4-carbon remainder."
  },
  {
    section: "Lipoprotein Metabolism",
    text: "Which lipoprotein delivers dietary (exogenous) triglycerides from the intestine to peripheral tissues?",
    options: ["VLDL", "IDL", "Chylomicrons", "HDL"],
    answer: 2,
    explanation: "โœ… Correct! Chylomicrons transport dietary lipids from intestinal enterocytes via the lymphatics (thoracic duct) to peripheral tissues. VLDL transports endogenous lipids synthesized in the liver."
  },
  {
    section: "Fatty Acid Synthesis",
    text: "Malonyl-CoA, the first committed intermediate of fatty acid synthesis, is produced by:",
    options: ["Fatty acid synthase", "Acetyl-CoA carboxylase", "ATP-citrate lyase", "Malic enzyme"],
    answer: 1,
    explanation: "โœ… Correct! Acetyl-CoA carboxylase (requires biotin as cofactor) catalyzes: Acetyl-CoA + CO2 โ†’ Malonyl-CoA. This is the rate-limiting, committed step of fatty acid synthesis. Importantly, malonyl-CoA also inhibits carnitine acyltransferase-I to prevent simultaneous beta-oxidation."
  },
  {
    section: "Cholesterol Synthesis",
    text: "HMG-CoA reductase, the rate-limiting enzyme of cholesterol synthesis, catalyzes which reaction?",
    options: ["Acetyl-CoA โ†’ HMG-CoA", "HMG-CoA โ†’ Mevalonate", "Mevalonate โ†’ Squalene", "Squalene โ†’ Cholesterol"],
    answer: 1,
    explanation: "โœ… Correct! HMG-CoA reductase converts HMG-CoA โ†’ Mevalonate using 2 NADPH. This is the target of statins (competitive inhibitors), which are the most widely used cholesterol-lowering drugs."
  },
  {
    section: "Lipid Disorders",
    text: "A patient has eruptive xanthomas, severe hypertriglyceridemia, and abdominal pain. Lipoprotein lipase activity is absent. This represents:",
    options: ["Type IIa familial hypercholesterolemia", "Type I hyperlipoproteinemia", "Tangier disease", "Abetalipoproteinemia"],
    answer: 1,
    explanation: "โœ… Correct! Absent lipoprotein lipase (LPL) prevents hydrolysis of chylomicron triglycerides, causing massive accumulation of chylomicrons. This is Type I hyperlipoproteinemia (familial LPL deficiency), presenting with eruptive xanthomas, lipemia retinalis, and pancreatitis risk."
  },
  {
    section: "Amino Acid Metabolism",
    text: "Phenylketonuria (PKU) results from a deficiency of which enzyme?",
    options: ["Tyrosinase", "Homogentisate oxidase", "Phenylalanine hydroxylase", "Fumarylacetoacetate hydrolase"],
    answer: 2,
    explanation: "โœ… Correct! PKU is caused by deficiency of phenylalanine hydroxylase, which normally converts phenylalanine โ†’ tyrosine (requires tetrahydrobiopterin/BH4 as cofactor). Accumulation of phenylalanine causes musty odor, intellectual disability, and hypopigmentation if untreated."
  },
  {
    section: "Nitrogen Transport",
    text: "Which amino acid serves as the major carrier of nitrogen from muscle to the liver?",
    options: ["Glutamine", "Alanine", "Glycine", "Aspartate"],
    answer: 1,
    explanation: "โœ… Correct! Alanine is the primary nitrogen carrier via the glucose-alanine cycle: muscle pyruvate + NH3 โ†’ alanine (via transamination), alanine travels to liver, liver converts alanine back to pyruvate + releases NH3 into urea cycle. Glutamine carries nitrogen from most other peripheral tissues."
  },
  {
    section: "Urea Cycle",
    text: "The urea cycle takes place in which cellular compartments?",
    options: ["Cytoplasm only", "Mitochondria only", "Both mitochondria and cytoplasm", "Endoplasmic reticulum and mitochondria"],
    answer: 2,
    explanation: "โœ… Correct! The urea cycle spans two compartments. Steps 1-2 (carbamoyl phosphate synthesis, citrulline formation) occur in the MITOCHONDRIA. Steps 3-5 (argininosuccinate synthesis, cleavage, and arginase) occur in the CYTOPLASM."
  },
  {
    section: "Coenzymes",
    text: "Which vitamin is required as a coenzyme for all transamination reactions?",
    options: ["Thiamine (B1)", "Riboflavin (B2)", "Pyridoxine (B6) as PLP", "Cobalamin (B12)"],
    answer: 2,
    explanation: "โœ… Correct! Pyridoxal phosphate (PLP), the active form of vitamin B6, is the coenzyme for all aminotransferases (transaminases), including the clinically important AST and ALT. PLP forms a Schiff base with the amino group of the substrate."
  },
  {
    section: "Inborn Errors",
    text: "Maple syrup urine disease (MSUD) is caused by a defect in metabolism of which amino acids?",
    options: ["Phenylalanine, tyrosine, tryptophan", "Leucine, isoleucine, valine (branched-chain AAs)", "Lysine, arginine, histidine", "Methionine, cysteine, homocysteine"],
    answer: 1,
    explanation: "โœ… Correct! MSUD results from deficiency of branched-chain alpha-keto acid dehydrogenase complex, which metabolizes the keto-acids of leucine, isoleucine, and valine. Presents with sweet maple syrup odor in urine, encephalopathy, and feeding problems in neonates."
  },
  {
    section: "Enzyme Kinetics",
    text: "A competitive inhibitor of an enzyme:",
    options: ["Increases Km and decreases Vmax", "Decreases Km and has no effect on Vmax", "Increases Km but does NOT change Vmax", "Decreases Vmax but does NOT change Km"],
    answer: 2,
    explanation: "โœ… Correct! A competitive inhibitor competes with substrate for the active site. It INCREASES apparent Km (reduced substrate affinity) but Vmax is UNCHANGED because it can be overcome with high substrate concentrations. On a Lineweaver-Burk plot, lines intersect on the Y-axis."
  },
  {
    section: "Molecular Biology",
    text: "DNA replication is described as semi-conservative. This means:",
    options: ["Each daughter DNA has two new strands", "Each daughter DNA has one parental + one new strand", "Only half the genome is replicated at a time", "Replication only occurs during meiosis"],
    answer: 1,
    explanation: "โœ… Correct! Semi-conservative means each daughter DNA molecule retains ONE parental (template) strand and ONE newly synthesized strand. This was proven by the Meselson-Stahl experiment using N15/N14 isotope labeling."
  },
  {
    section: "DNA Replication",
    text: "Which enzyme/mechanism removes RNA primers during DNA replication in eukaryotes?",
    options: ["DNA polymerase delta (ฮด)", "RNase H and DNA polymerase", "Primase", "Topoisomerase II"],
    answer: 1,
    explanation: "โœ… Correct! In eukaryotes, RNA primers are removed by RNase H (degrades RNA in RNA:DNA hybrids) together with DNA polymerase delta/epsilon, which fills in the gaps with DNA. In prokaryotes, DNA pol I handles both primer removal and gap filling."
  },
  {
    section: "Translation",
    text: "The Shine-Dalgarno sequence is found in:",
    options: ["Eukaryotic mRNA, upstream of the start codon", "Prokaryotic mRNA, upstream of the start codon", "The 5' cap structure of eukaryotic mRNA", "tRNA at the anticodon loop"],
    answer: 1,
    explanation: "โœ… Correct! The Shine-Dalgarno sequence is a ribosome binding site found only in PROKARYOTES, located ~5-10 nucleotides upstream of the AUG start codon on mRNA. It base-pairs complementarily with the 3' end of 16S rRNA of the 30S ribosomal subunit to initiate translation."
  },
  {
    section: "Vitamins",
    text: "A strict vegan has megaloblastic anemia, elevated homocysteine, but NORMAL methylmalonic acid (MMA) levels. Which deficiency is most likely?",
    options: ["Vitamin B12 (cobalamin)", "Folate", "Iron", "Vitamin B6"],
    answer: 1,
    explanation: "โœ… Correct! Both B12 and folate deficiency cause elevated homocysteine and megaloblastic anemia. The KEY differentiator is methylmalonic acid (MMA): elevated MMA is SPECIFIC for B12 deficiency (B12 is needed for methylmalonyl-CoA mutase). Normal MMA + elevated homocysteine = FOLATE deficiency."
  },
  {
    section: "Vitamins",
    text: "Wernicke-Korsakoff syndrome seen in chronic alcoholics is caused by deficiency of:",
    options: ["Niacin (B3)", "Thiamine (B1)", "Pyridoxine (B6)", "Biotin"],
    answer: 1,
    explanation: "โœ… Correct! Thiamine (B1) deficiency causes Wernicke encephalopathy (confusion, ophthalmoplegia, ataxia - the classic triad) and Korsakoff psychosis (confabulation, amnesia). B1 is required by pyruvate dehydrogenase, alpha-ketoglutarate dehydrogenase, and transketolase."
  },
  {
    section: "Nucleotide Chemistry",
    text: "Which of the following correctly pairs a nucleotide base with its structural type?",
    options: ["Adenine - Pyrimidine", "Thymine - Purine", "Guanine - Purine", "Cytosine - Purine"],
    answer: 2,
    explanation: "โœ… Correct! Purines (double-ring structure) = Adenine and Guanine. Pyrimidines (single-ring) = Cytosine, Thymine, Uracil. Memory aid: 'Pure As Gold' (Purines = Adenine & Guanine). 'CUT the Py' (Pyrimidines = Cytosine, Uracil, Thymine)."
  },
  {
    section: "Vitamins",
    text: "The primary biochemical defect in scurvy (Vitamin C deficiency) is the failure to:",
    options: ["Synthesize clotting factors II, VII, IX, X", "Hydroxylate proline and lysine residues in collagen", "Absorb dietary iron from the duodenum", "Produce NADPH via the pentose phosphate pathway"],
    answer: 1,
    explanation: "โœ… Correct! Vitamin C (ascorbic acid) is required by prolyl and lysyl hydroxylase enzymes that hydroxylate proline and lysine in procollagen. Without hydroxylation, the collagen triple helix cannot form properly โ†’ defective connective tissue โ†’ bleeding gums, perifollicular hemorrhage, and poor wound healing."
  },
  {
    section: "Amino Acid Metabolism",
    text: "A patient's urine turns dark brown/black on standing and homogentisic acid is found in urine. What enzyme is deficient?",
    options: ["Phenylalanine hydroxylase", "Tyrosinase", "Homogentisate oxidase (dioxygenase)", "Fumarylacetoacetate hydrolase"],
    answer: 2,
    explanation: "โœ… Correct! This is Alkaptonuria, caused by deficiency of homogentisate oxidase (dioxygenase). Homogentisic acid (an intermediate in phenylalanine/tyrosine catabolism) accumulates and oxidizes to a dark pigment (ochronosis) upon air exposure. Also causes arthritis in older patients."
  }
];

let current = 0;
let score = 0;
let answered = false;
let timeLeft = 90;
let timerInterval = null;
let startTime = Date.now();
let userAnswers = [];

function startTimer() {
  clearInterval(timerInterval);
  timeLeft = 90;
  updateTimerDisplay();
  timerInterval = setInterval(() => {
    timeLeft--;
    updateTimerDisplay();
    if (timeLeft <= 0) {
      clearInterval(timerInterval);
      if (!answered) {
        timeoutQuestion();
      }
    }
  }, 1000);
}

function updateTimerDisplay() {
  const mins = Math.floor(timeLeft / 60);
  const secs = timeLeft % 60;
  const display = `โฑ ${String(mins).padStart(2,'0')}:${String(secs).padStart(2,'0')}`;
  const el = document.getElementById('timer');
  el.textContent = display;
  el.className = 'timer-box';
  if (timeLeft <= 10) el.classList.add('danger');
  else if (timeLeft <= 25) el.classList.add('warning');
}

function timeoutQuestion() {
  answered = true;
  const opts = document.querySelectorAll('.option-btn');
  opts.forEach(btn => btn.disabled = true);
  opts[questions[current].answer].classList.add('reveal-correct');

  const expBox = document.getElementById('explanation-box');
  expBox.innerHTML = `<strong>โฐ Time's up!</strong> The correct answer was <strong>${['A','B','C','D'][questions[current].answer]}. ${questions[current].options[questions[current].answer]}</strong>. ${questions[current].explanation.replace('โœ… Correct! ','')}`;
  expBox.className = 'explanation-box wrong-exp show';

  userAnswers.push({ selected: -1, correct: questions[current].answer, timeout: true });
  document.getElementById('next-btn').classList.add('show');
}

function loadQuestion() {
  answered = false;
  const q = questions[current];

  document.getElementById('q-section').textContent = q.section;
  document.getElementById('q-number').textContent = `Question ${current + 1} of ${questions.length}`;
  document.getElementById('q-text').textContent = q.text;

  const container = document.getElementById('options-container');
  container.innerHTML = '';
  q.options.forEach((opt, i) => {
    const btn = document.createElement('button');
    btn.className = 'option-btn';
    btn.innerHTML = `<span class="option-letter">${['A','B','C','D'][i]}</span><span>${opt}</span>`;
    btn.onclick = () => selectAnswer(i);
    container.appendChild(btn);
  });

  const expBox = document.getElementById('explanation-box');
  expBox.className = 'explanation-box';
  expBox.innerHTML = '';

  document.getElementById('next-btn').classList.remove('show');

  // Progress
  const pct = Math.round((current / questions.length) * 100);
  document.getElementById('progress-fill').style.width = pct + '%';
  document.getElementById('q-label').textContent = `Question ${current + 1} of ${questions.length}`;
  document.getElementById('pct-label').textContent = pct + '%';

  startTimer();
}

function selectAnswer(selected) {
  if (answered) return;
  answered = true;
  clearInterval(timerInterval);

  const q = questions[current];
  const opts = document.querySelectorAll('.option-btn');
  opts.forEach(btn => btn.disabled = true);

  const expBox = document.getElementById('explanation-box');

  if (selected === q.answer) {
    score++;
    opts[selected].classList.add('correct');
    expBox.innerHTML = `<strong>${q.explanation}</strong>`;
    expBox.className = 'explanation-box correct-exp show';
    userAnswers.push({ selected, correct: q.answer, timeout: false });
  } else {
    opts[selected].classList.add('wrong');
    opts[q.answer].classList.add('reveal-correct');
    const shortExp = q.explanation.replace('โœ… Correct! ', '');
    expBox.innerHTML = `<strong>โŒ Incorrect.</strong> The correct answer was <strong>${['A','B','C','D'][q.answer]}. ${q.options[q.answer]}</strong>.<br><br>${shortExp}`;
    expBox.className = 'explanation-box wrong-exp show';
    userAnswers.push({ selected, correct: q.answer, timeout: false });
  }

  document.getElementById('score-display').textContent = `Score: ${score} / ${questions.length}`;
  document.getElementById('next-btn').classList.add('show');
}

function nextQuestion() {
  current++;
  if (current < questions.length) {
    // Progress
    const pct = Math.round((current / questions.length) * 100);
    document.getElementById('progress-fill').style.width = pct + '%';
    document.getElementById('q-label').textContent = `Question ${current + 1} of ${questions.length}`;
    document.getElementById('pct-label').textContent = pct + '%';
    loadQuestion();
  } else {
    showResults();
  }
}

function showResults() {
  clearInterval(timerInterval);
  document.getElementById('quiz-screen').style.display = 'none';
  document.getElementById('results-screen').style.display = 'block';

  const timeTaken = Math.round((Date.now() - startTime) / 1000);
  const mins = Math.floor(timeTaken / 60);
  const secs = timeTaken % 60;
  const timeStr = mins > 0 ? `${mins}m ${secs}s` : `${secs}s`;

  document.getElementById('results-score').textContent = `${score} / 25`;
  document.getElementById('stat-correct').textContent = score;
  document.getElementById('stat-wrong').textContent = 25 - score;
  document.getElementById('stat-time').textContent = timeStr;

  // Progress bar - complete
  document.getElementById('progress-fill').style.width = '100%';
  document.getElementById('pct-label').textContent = '100%';

  const pct = (score / 25) * 100;
  const badge = document.getElementById('grade-badge');
  const icon = document.getElementById('results-icon');

  if (pct >= 92) {
    badge.textContent = '๐Ÿ† Excellent โ€” Exam Ready!';
    badge.className = 'grade-badge grade-excellent';
    icon.textContent = '๐Ÿ†';
  } else if (pct >= 72) {
    badge.textContent = '๐Ÿ‘ Good โ€” Review Weak Areas';
    badge.className = 'grade-badge grade-good';
    icon.textContent = '๐Ÿ‘';
  } else if (pct >= 48) {
    badge.textContent = '๐Ÿ“š Fair โ€” More Revision Needed';
    badge.className = 'grade-badge grade-fair';
    icon.textContent = '๐Ÿ“š';
  } else {
    badge.textContent = 'โš ๏ธ Needs Significant Revision';
    badge.className = 'grade-badge grade-poor';
    icon.textContent = 'โš ๏ธ';
  }

  // Review list
  const reviewList = document.getElementById('review-list');
  reviewList.innerHTML = '';
  userAnswers.forEach((ua, i) => {
    const q = questions[i];
    const isCorrect = ua.selected === ua.correct;
    const div = document.createElement('div');
    div.className = `review-item ${isCorrect ? 'r-correct' : 'r-wrong'}`;

    let ansText = '';
    if (ua.timeout) {
      ansText = `Timed out. Correct: ${['A','B','C','D'][ua.correct]}. ${q.options[ua.correct]}`;
    } else if (isCorrect) {
      ansText = `Your answer: ${['A','B','C','D'][ua.selected]}. ${q.options[ua.selected]} โœ“`;
    } else {
      ansText = `Your answer: ${['A','B','C','D'][ua.selected]}. ${q.options[ua.selected]} | Correct: ${['A','B','C','D'][ua.correct]}. ${q.options[ua.correct]}`;
    }

    div.innerHTML = `
      <div class="review-icon">${isCorrect ? 'โœ…' : 'โŒ'}</div>
      <div>
        <div class="review-q">Q${i+1}. ${q.text.substring(0, 75)}${q.text.length > 75 ? '...' : ''}</div>
        <div class="review-ans">${ansText}</div>
      </div>
    `;
    reviewList.appendChild(div);
  });
}

function restartQuiz() {
  current = 0;
  score = 0;
  answered = false;
  userAnswers = [];
  startTime = Date.now();
  document.getElementById('score-display').textContent = 'Score: 0 / 25';
  document.getElementById('results-screen').style.display = 'none';
  document.getElementById('quiz-screen').style.display = 'block';
  loadQuestion();
}

// Start!
loadQuestion();
</script>
</body>
</html>
Running Command

cd /home/daytona/workspace/biochem-quiz && wc -l biochem_mcq_quiz.html && echo "File size: $(du -sh biochem_mcq_quiz.html | cut -f1)" && echo "Questions found: $(grep -c 'section:' biochem_mcq_quiz.html)"

Your interactive quiz is ready! Download and open it in any browser:

biochem mcq quiz

HTML File ยท HTML


What's included in the quiz:

FeatureDetails
25 MCQsAll Biochemistry topics, mixed difficulty
Countdown Timer90 seconds per question - turns orange at 25s, red + pulsing at 10s
Instant FeedbackClick an option - green = correct โœ…, red = wrong โŒ
Correct answer revealedIf you pick wrong, the correct answer lights up green automatically
Short explanationAppears immediately after every click
Live score trackerTop-right updates after each question
Progress barShows % completed at the top
Final results screenShows score, time taken, grade, and full question review
Restart buttonTry again from the beginning

How to use it: Download the file โ†’ open it in Chrome/Firefox/Edge โ†’ no internet needed, it runs fully offline!
This is a shared conversation. Sign in to Orris to start your own chat.