Explain Blood and Body Fluids - Human Physiology

Reading File
Finding Sources
Finding Sources
Finding Sources
Finding Sources
Reading File
Reading File
Finding Sources
Reading File
Reading File
Finding Sources
Finding Sources
Reading File
Reading File
Reading File
Finding Sources
Finding Sources
Reading File
Loading Image
Loading Image
Loading Image
I now have comprehensive content from Guyton & Hall, Costanzo, and Ganong's to write a full explanation. Here is the complete response:

Blood and Body Fluids - Human Physiology


1. Total Body Water

The body is largely water. In a 70-kg adult man, total body water (TBW) = ~60% of body weight (~42 L). This percentage varies significantly:
GroupTBW as % Body Weight
Adult male~60%
Adult female~50% (higher fat %)
Newborn/premature70-75%
ElderlyDecreases with age
TBW is inversely related to body fat - fat tissue contains very little water, so obese individuals and women (who have more adipose tissue) have proportionally less total body water.

2. Body Fluid Compartments

TBW is divided into two major compartments, separated by cell membranes:
Body fluid compartments showing ICF and ECF separated by cell membrane and capillary wall
Fig. 1.1 - Body fluid compartments (Costanzo Physiology, 7th Ed.)

Intracellular Fluid (ICF)

  • Volume: ~28 L (2/3 of TBW, ~40% body weight)
  • Fluid inside all cells, collectively treated as one compartment
  • Composition is remarkably uniform across cell types and species

Extracellular Fluid (ECF)

  • Volume: ~14 L (1/3 of TBW, ~20% body weight)
  • Divided into two main sub-compartments:
    • Plasma: ~3 L (about 1/4 of ECF) - the fluid in blood vessels
    • Interstitial fluid: ~11 L (about 3/4 of ECF) - fluid bathing cells
  • Separated from plasma by the capillary wall

Transcellular Fluid

A small extra compartment (~1-2 L) comprising cerebrospinal fluid, synovial fluid, peritoneal fluid, pericardial fluid, and intraocular fluid. It is a specialized subtype of ECF.
Summary of body fluid compartments in a 70-kg man, showing intake and output routes
Fig. 25.1 - Body fluid regulation and compartments (Guyton & Hall, Medical Physiology)

3. Composition of Body Fluids

ICF and ECF have strikingly different ionic compositions, maintained actively by membrane pumps (especially Na+/K+-ATPase).

ECF vs ICF Composition

SoluteECF (mEq/L)ICF (mEq/L)
Na+14014
K+4120
Ca2+ (ionized)2.5~0.0001
Cl-10510
HCO3-2410
Proteinlowhigh (~4x plasma)
pH~7.4~7.0 (more acidic)
  • ECF: dominated by Na+, Cl-, and HCO3-
  • ICF: dominated by K+, Mg2+, phosphates, and organic proteins
The total osmolarity of ICF and ECF is equal (~280-300 mOsm/L) because water moves freely across cell membranes to equalize any transient osmotic differences.

ECF: Plasma vs Interstitial Fluid

The key difference between plasma and interstitial fluid is protein concentration - the capillary wall is largely impermeable to large molecules like plasma proteins, so:
  • Plasma contains ~7 g/dL protein
  • Interstitial fluid contains very little protein
Because of the Donnan effect, plasma proteins (negatively charged at pH 7.4) attract extra cations into plasma, making cation concentration ~2% higher in plasma than interstitial fluid, and anion concentration slightly higher in interstitial fluid.
Major cations and anions of intracellular and extracellular fluids
Fig. 25.2 - Major cations and anions comparison: ECF vs ICF (Guyton & Hall)

4. Blood Volume and Composition

Total blood volume = ~5 L (~7% of body weight)
Blood is composed of:
  • ~60% plasma (extracellular fluid portion)
  • ~40% formed elements (mostly red blood cells)
Blood is considered its own distinct compartment because it is contained within the circulatory system.

Hematocrit

The hematocrit is the fraction of blood occupied by red blood cells (RBCs), measured by centrifugation:
GroupNormal Hematocrit
Adult males~0.42 (42%)
Adult females~0.38 (38%)
Severe anemiaas low as 0.10
Polycythemiaup to 0.65
Note: The measured hematocrit slightly overestimates the true value because ~3-4% plasma remains trapped between the packed cells.

5. Plasma Proteins

Plasma contains approximately 7 g/dL total protein, consisting of three major fractions:

Albumin (largest fraction, ~3.5-5.0 g/dL)

  • Synthesized in the liver
  • Maintains oncotic pressure (~25 mmHg) - draws water back into capillaries; prevents edema
  • Acts as a nonspecific carrier for hormones, drugs, fatty acids, bilirubin
  • Regulated - synthesis increases in protein-losing states (e.g., nephrosis) and decreases during fasting

Globulins

  • Alpha and beta globulins: synthesized in the liver - include transport proteins:
    • Transferrin - carries iron
    • Thyroxine-binding globulin (TBG) - carries thyroid hormones
    • Cortisol-binding globulin (transcortin) - carries corticosteroids
    • Ceruloplasmin - carries copper
    • Haptoglobin - binds free hemoglobin
  • Gamma globulins (immunoglobulins) - antibodies, made by lymphocytes (not liver)

Fibrinogen

  • Made in the liver
  • Precursor to fibrin - essential for blood coagulation

Functions of Plasma Proteins (Summary)

  1. Oncotic pressure - maintain fluid balance between plasma and interstitium
  2. Buffering - account for ~15% of blood's buffering capacity (through -COOH and -NH2 groups)
  3. Transport - carry lipid-soluble hormones, drugs, metals, bilirubin
  4. Immunity - immunoglobulins
  5. Coagulation - fibrinogen and clotting factors

Clinical Consequences of Low Plasma Protein (Hypoproteinemia)

  • Causes: liver disease (reduced synthesis), nephrotic syndrome (urinary loss), severe malnutrition/malabsorption
  • Result: reduced oncotic pressure → edema (excess fluid in interstitial spaces)
  • Rarely, congenital absence of specific proteins (e.g., afibrinogenemia - impaired clotting)

6. Measuring Fluid Compartment Volumes

The indicator-dilution principle is used to measure compartment volumes:
Volume = Amount of indicator injected ÷ Concentration of indicator in sample
Different substances are used for different compartments:
  • Plasma volume: radiolabeled albumin or Evans blue dye
  • ECF volume: inulin, mannitol, sucrose (cannot enter cells)
  • TBW: deuterium oxide (D2O), tritiated water, or antipyrine (cross all barriers freely)
  • ICF volume: calculated as TBW - ECF

7. Osmolarity and Electroneutrality

Electroneutrality

Every fluid compartment must have equal concentrations of cations and anions (in mEq/L). No compartment can have a net charge in the bulk solution.

Solute Concentration Units

  • Moles/millimoles: amount of substance
  • Equivalents/milliequivalents (mEq/L): for charged ions (moles × valence)
  • Osmoles/milliosmoles (mOsm/L): total particle count, determines osmotic pressure

Osmolarity of Fluid Compartments

All three compartments have nearly identical total osmolarity (~280-300 mOsm/L) despite very different ionic compositions. This is because water flows freely through cell membranes and capillary walls, equalizing osmotic pressure. The corrected osmolar activity in all compartments is ~281-282 mOsm/L (Guyton & Hall, Table 25.2).

8. Lymph

Lymph is tissue fluid that enters lymphatic capillaries. Key properties:
  • Contains clotting factors; clots on standing
  • Protein content is lower than plasma but varies by region (liver lymph is higher in protein)
  • After a fatty meal, thoracic duct lymph is milky (called chyle) due to absorbed fat (chylomicrons)
  • Lymph eventually drains into venous blood via the thoracic duct and right lymphatic duct
  • Lymphatics return excess interstitial fluid and proteins back to circulation, preventing edema

Quick Reference Summary

ParameterValue
Total body water (70-kg male)~42 L (60% body weight)
ICF~28 L (2/3 TBW)
ECF~14 L (1/3 TBW)
Plasma~3 L
Interstitial fluid~11 L
Blood volume~5 L (7% body weight)
Hematocrit (male/female)42% / 38%
Plasma protein~7 g/dL
Plasma osmolarity~290 mOsm/L
Main ECF cationNa+ (140 mEq/L)
Main ICF cationK+ (120 mEq/L)

Sources: Guyton and Hall Textbook of Medical Physiology; Costanzo Physiology, 7th Edition; Ganong's Review of Medical Physiology, 26th Edition

Make a presentation on 'Blood Physiology'

Reading File
Reading File
Reading File
Reading File
Reading File
Running Command

ls /home/daytona/workspace/ && mkdir -p /home/daytona/workspace/blood-physiology…

?

Give me results now

Writing File

~/blood-physiology-ppt/create_pptx.js

const pptxgen = require("pptxgenjs");

const pres = new pptxgen();
pres.layout = "LAYOUT_16x9";
pres.title = "Blood Physiology";
pres.author = "Orris Medical";

// ─── COLOR PALETTE ───────────────────────────────────────────
const RED      = "C0392B";  // deep blood red (dominant)
const DARKRED  = "7B241C";  // darker red
const DARKBG   = "1A0A0A";  // near-black with red tint
const CARDBG   = "2C1010";  // dark card
const CARDBG2  = "3D1515";  // slightly lighter card
const WHITE    = "FFFFFF";
const OFFWHITE = "F5E6E6";  // warm off-white
const GRAY     = "D0B0B0";  // warm gray
const ACCENT   = "E74C3C";  // bright red accent
const LTRED    = "F1948A";  // light red for subtext
const GOLD     = "F39C12";  // gold for highlights

// ─── HELPERS ─────────────────────────────────────────────────
function addSlideHeader(slide, title, subtitle) {
  // Top accent bar
  slide.addShape(pres.shapes.RECTANGLE, {
    x: 0, y: 0, w: 10, h: 0.08, fill: { color: RED }, line: { color: RED }
  });
  // Left side accent
  slide.addShape(pres.shapes.RECTANGLE, {
    x: 0, y: 0.08, w: 0.07, h: 5.545, fill: { color: DARKRED }, line: { color: DARKRED }
  });
  slide.addText(title, {
    x: 0.3, y: 0.15, w: 9.4, h: 0.6,
    fontSize: 22, bold: true, color: WHITE, fontFace: "Calibri",
    margin: 0
  });
  if (subtitle) {
    slide.addText(subtitle, {
      x: 0.3, y: 0.72, w: 9.4, h: 0.3,
      fontSize: 11, color: LTRED, fontFace: "Calibri", margin: 0
    });
  }
  // bottom bar
  slide.addShape(pres.shapes.RECTANGLE, {
    x: 0, y: 5.55, w: 10, h: 0.075, fill: { color: DARKRED }, line: { color: DARKRED }
  });
}

function card(slide, x, y, w, h, color) {
  slide.addShape(pres.shapes.RECTANGLE, {
    x, y, w, h,
    fill: { color: color || CARDBG },
    line: { color: RED, pt: 1.2 },
    shadow: { type: "outer", color: "000000", blur: 8, offset: 3, angle: 135, opacity: 0.35 }
  });
}

// ═══════════════════════════════════════════════════════════════
// SLIDE 1 — TITLE
// ═══════════════════════════════════════════════════════════════
{
  const s = pres.addSlide();
  s.background = { color: DARKBG };

  // Large decorative circle
  s.addShape(pres.shapes.OVAL, {
    x: 6.2, y: -1.2, w: 5.5, h: 5.5,
    fill: { color: RED, transparency: 82 }, line: { color: RED, pt: 1.5 }
  });
  s.addShape(pres.shapes.OVAL, {
    x: 6.8, y: -0.6, w: 4.3, h: 4.3,
    fill: { color: RED, transparency: 88 }, line: { color: ACCENT, pt: 0.8 }
  });

  // Red top accent bar
  s.addShape(pres.shapes.RECTANGLE, {
    x: 0, y: 0, w: 5.5, h: 0.1, fill: { color: RED }, line: { color: RED }
  });

  // Main title
  s.addText("BLOOD", {
    x: 0.5, y: 0.8, w: 6, h: 1.3,
    fontSize: 72, bold: true, color: RED, fontFace: "Calibri",
    charSpacing: 8, margin: 0
  });
  s.addText("PHYSIOLOGY", {
    x: 0.5, y: 2.0, w: 6.5, h: 0.9,
    fontSize: 36, bold: false, color: WHITE, fontFace: "Calibri",
    charSpacing: 14, margin: 0
  });

  // Divider line
  s.addShape(pres.shapes.RECTANGLE, {
    x: 0.5, y: 3.0, w: 4.5, h: 0.05, fill: { color: ACCENT }, line: { color: ACCENT }
  });

  // Subtitle
  s.addText("Components • Functions • Disorders\nHuman Physiology", {
    x: 0.5, y: 3.18, w: 6, h: 0.8,
    fontSize: 13, color: GRAY, fontFace: "Calibri", margin: 0
  });

  // Bottom tag
  s.addText("Medical Physiology Series", {
    x: 0.5, y: 5.1, w: 4, h: 0.35,
    fontSize: 10, color: LTRED, fontFace: "Calibri", margin: 0
  });

  // Small RBC decorative dots
  for (let i = 0; i < 6; i++) {
    s.addShape(pres.shapes.OVAL, {
      x: 0.4 + i * 0.55, y: 4.7, w: 0.22, h: 0.22,
      fill: { color: RED, transparency: 60 }, line: { color: RED, pt: 0.5 }
    });
  }
}

// ═══════════════════════════════════════════════════════════════
// SLIDE 2 — OVERVIEW / TABLE OF CONTENTS
// ═══════════════════════════════════════════════════════════════
{
  const s = pres.addSlide();
  s.background = { color: DARKBG };
  addSlideHeader(s, "Overview", "Topics covered in this presentation");

  const topics = [
    ["01", "Composition of Blood",      "Plasma, cells, volume"],
    ["02", "Red Blood Cells (RBCs)",     "Structure, function, lifespan"],
    ["03", "Haemoglobin",               "Structure, oxygen transport"],
    ["04", "White Blood Cells (WBCs)",   "Types and immune roles"],
    ["05", "Platelets & Haemostasis",   "Clotting cascade"],
    ["06", "Blood Groups",              "ABO and Rh systems"],
  ];

  topics.forEach(([num, title, sub], i) => {
    const col = i < 3 ? 0 : 1;
    const row = i % 3;
    const x = 0.4 + col * 4.85;
    const y = 1.1 + row * 1.42;

    card(s, x, y, 4.55, 1.22, CARDBG);
    s.addText(num, {
      x: x + 0.12, y: y + 0.1, w: 0.6, h: 0.55,
      fontSize: 22, bold: true, color: RED, fontFace: "Calibri", margin: 0
    });
    s.addShape(pres.shapes.RECTANGLE, {
      x: x + 0.72, y: y + 0.15, w: 0.04, h: 0.45,
      fill: { color: ACCENT }, line: { color: ACCENT }
    });
    s.addText(title, {
      x: x + 0.86, y: y + 0.1, w: 3.5, h: 0.45,
      fontSize: 13, bold: true, color: WHITE, fontFace: "Calibri", margin: 0
    });
    s.addText(sub, {
      x: x + 0.86, y: y + 0.62, w: 3.5, h: 0.35,
      fontSize: 9.5, color: GRAY, fontFace: "Calibri", margin: 0
    });
  });
}

// ═══════════════════════════════════════════════════════════════
// SLIDE 3 — COMPOSITION OF BLOOD
// ═══════════════════════════════════════════════════════════════
{
  const s = pres.addSlide();
  s.background = { color: DARKBG };
  addSlideHeader(s, "Composition of Blood", "Blood is a specialized connective tissue");

  // Left text column
  card(s, 0.25, 1.05, 5.5, 4.35, CARDBG);

  s.addText("What is Blood?", {
    x: 0.45, y: 1.15, w: 5.1, h: 0.4,
    fontSize: 14, bold: true, color: ACCENT, fontFace: "Calibri", margin: 0
  });
  s.addText([
    { text: "Blood is a fluid connective tissue that circulates through the cardiovascular system. In a 70 kg man:", options: { breakLine: true } },
  ], {
    x: 0.45, y: 1.58, w: 5.1, h: 0.55,
    fontSize: 10.5, color: OFFWHITE, fontFace: "Calibri"
  });

  const stats = [
    ["Total Volume", "~5 Litres (7% body weight)"],
    ["Plasma", "~55–60% of blood"],
    ["Formed Elements", "~40–45% of blood"],
    ["pH", "7.35 – 7.45 (slightly alkaline)"],
    ["Specific Gravity", "1.050 – 1.060"],
    ["Viscosity", "3–4× that of water"],
    ["Temperature", "38°C (slightly > body temp)"],
  ];

  stats.forEach(([k, v], i) => {
    const y = 2.18 + i * 0.46;
    s.addShape(pres.shapes.RECTANGLE, {
      x: 0.45, y, w: 0.06, h: 0.28,
      fill: { color: RED }, line: { color: RED }
    });
    s.addText(k + ":", {
      x: 0.62, y, w: 1.8, h: 0.3,
      fontSize: 10, bold: true, color: LTRED, fontFace: "Calibri", margin: 0
    });
    s.addText(v, {
      x: 2.4, y, w: 3.2, h: 0.3,
      fontSize: 10, color: WHITE, fontFace: "Calibri", margin: 0
    });
  });

  // Right — pie-like breakdown chart
  card(s, 5.95, 1.05, 3.8, 4.35, CARDBG2);
  s.addText("BLOOD COMPONENTS", {
    x: 6.05, y: 1.15, w: 3.6, h: 0.35,
    fontSize: 10, bold: true, color: ACCENT, fontFace: "Calibri", align: "center", margin: 0
  });

  // Vertical stacked bar visual
  const barX = 7.0, barY = 1.6, barW = 1.8;
  // Plasma bar
  s.addShape(pres.shapes.RECTANGLE, {
    x: barX, y: barY, w: barW, h: 2.4,
    fill: { color: "5D6D7E" }, line: { color: "7F8C8D", pt: 0.5 }
  });
  s.addText("PLASMA\n55%", {
    x: barX, y: barY + 0.9, w: barW, h: 0.7,
    fontSize: 11, bold: true, color: WHITE, fontFace: "Calibri", align: "center", margin: 0
  });
  // RBC bar
  s.addShape(pres.shapes.RECTANGLE, {
    x: barX, y: barY + 2.4, w: barW, h: 1.6,
    fill: { color: RED }, line: { color: ACCENT, pt: 0.5 }
  });
  s.addText("RBCs\n40%", {
    x: barX, y: barY + 2.55, w: barW, h: 0.65,
    fontSize: 11, bold: true, color: WHITE, fontFace: "Calibri", align: "center", margin: 0
  });
  // WBC/Platelet buffy coat
  s.addShape(pres.shapes.RECTANGLE, {
    x: barX, y: barY + 4.0, w: barW, h: 0.25,
    fill: { color: GOLD }, line: { color: GOLD, pt: 0.5 }
  });
  s.addText("WBCs + Platelets ~1%", {
    x: barX - 0.3, y: barY + 4.2, w: barW + 0.7, h: 0.25,
    fontSize: 8, color: GOLD, fontFace: "Calibri", align: "center", margin: 0
  });

  // Legend
  const legend = [
    [GRAY, "Plasma — water, proteins, electrolytes"],
    [RED, "Red Blood Cells (Erythrocytes)"],
    [GOLD, "WBCs (Leukocytes) + Platelets"],
  ];
  legend.forEach(([col, txt], i) => {
    s.addShape(pres.shapes.RECTANGLE, {
      x: 6.1, y: 3.65 + i * 0.38, w: 0.22, h: 0.18,
      fill: { color: col }, line: { color: col }
    });
    s.addText(txt, {
      x: 6.4, y: 3.62 + i * 0.38, w: 3.3, h: 0.25,
      fontSize: 8.5, color: GRAY, fontFace: "Calibri", margin: 0
    });
  });
}

// ═══════════════════════════════════════════════════════════════
// SLIDE 4 — PLASMA
// ═══════════════════════════════════════════════════════════════
{
  const s = pres.addSlide();
  s.background = { color: DARKBG };
  addSlideHeader(s, "Blood Plasma", "The liquid matrix of blood (~55% of total blood volume)");

  const cols = [
    {
      title: "Water (91–92%)",
      color: "2E86C1",
      points: ["Solvent for all dissolved substances", "Medium for transport of gases, nutrients, waste", "Regulates body temperature"]
    },
    {
      title: "Plasma Proteins (7–8%)",
      color: RED,
      points: ["Albumin — oncotic pressure, carrier", "Globulins — immunity (IgG, IgA, IgM)", "Fibrinogen — blood coagulation", "Made mostly in liver (except Ig)"]
    },
    {
      title: "Other Solutes (1–2%)",
      color: GOLD,
      points: ["Electrolytes: Na⁺, K⁺, Ca²⁺, Cl⁻, HCO₃⁻", "Glucose, amino acids, fatty acids", "Waste: urea, creatinine, bilirubin", "Hormones, vitamins, gases (O₂, CO₂)"]
    }
  ];

  cols.forEach((col, i) => {
    const x = 0.22 + i * 3.25;
    card(s, x, 1.05, 3.1, 4.35, CARDBG);
    // Header bar
    s.addShape(pres.shapes.RECTANGLE, {
      x, y: 1.05, w: 3.1, h: 0.38, fill: { color: col.color }, line: { color: col.color }
    });
    s.addText(col.title, {
      x: x + 0.1, y: 1.07, w: 2.9, h: 0.35,
      fontSize: 10.5, bold: true, color: WHITE, fontFace: "Calibri", margin: 0
    });
    col.points.forEach((pt, j) => {
      s.addShape(pres.shapes.OVAL, {
        x: x + 0.18, y: 1.65 + j * 0.74, w: 0.12, h: 0.12,
        fill: { color: col.color }, line: { color: col.color }
      });
      s.addText(pt, {
        x: x + 0.38, y: 1.6 + j * 0.74, w: 2.62, h: 0.62,
        fontSize: 9.5, color: OFFWHITE, fontFace: "Calibri", margin: 0
      });
    });
  });

  // Bottom key fact
  s.addShape(pres.shapes.RECTANGLE, {
    x: 0.22, y: 5.22, w: 9.56, h: 0.0, fill: { color: DARKRED }, line: { color: DARKRED, pt: 0 }
  });
  s.addText("📌  Plasma without fibrinogen = Serum  |  Normal plasma protein = 6–8 g/dL  |  Albumin = 3.5–5 g/dL", {
    x: 0.3, y: 5.1, w: 9.4, h: 0.3,
    fontSize: 9, color: GOLD, fontFace: "Calibri", italic: true, margin: 0
  });
}

// ═══════════════════════════════════════════════════════════════
// SLIDE 5 — RED BLOOD CELLS
// ═══════════════════════════════════════════════════════════════
{
  const s = pres.addSlide();
  s.background = { color: DARKBG };
  addSlideHeader(s, "Red Blood Cells (Erythrocytes)", "Most abundant formed element in blood");

  // Left big card
  card(s, 0.25, 1.05, 5.5, 4.35, CARDBG);

  const rbcFacts = [
    ["Shape", "Biconcave disc (no nucleus in mature form)"],
    ["Diameter", "6–8 μm"],
    ["Thickness", "2 μm at rim, 1 μm at centre"],
    ["Count (male)", "4.5–6.5 million/μL"],
    ["Count (female)", "3.8–5.8 million/μL"],
    ["Lifespan", "~120 days"],
    ["Production", "Erythropoiesis in red bone marrow"],
    ["Destruction", "Spleen & liver (reticuloendothelial system)"],
    ["Main protein", "Haemoglobin (~33% of RBC mass)"],
  ];

  s.addText("Key Facts", {
    x: 0.45, y: 1.15, w: 5.1, h: 0.38,
    fontSize: 13, bold: true, color: ACCENT, fontFace: "Calibri", margin: 0
  });

  rbcFacts.forEach(([k, v], i) => {
    const y = 1.6 + i * 0.42;
    const rowBg = i % 2 === 0 ? CARDBG : "3A1212";
    s.addShape(pres.shapes.RECTANGLE, {
      x: 0.3, y, w: 5.3, h: 0.38, fill: { color: rowBg }, line: { color: rowBg }
    });
    s.addText(k, {
      x: 0.4, y: y + 0.05, w: 1.7, h: 0.28,
      fontSize: 9.5, bold: true, color: LTRED, fontFace: "Calibri", margin: 0
    });
    s.addText(v, {
      x: 2.1, y: y + 0.05, w: 3.4, h: 0.28,
      fontSize: 9.5, color: WHITE, fontFace: "Calibri", margin: 0
    });
  });

  // Right column — functions & regulation
  card(s, 5.95, 1.05, 3.8, 2.0, CARDBG2);
  s.addText("FUNCTIONS", {
    x: 6.05, y: 1.12, w: 3.6, h: 0.32,
    fontSize: 11, bold: true, color: RED, fontFace: "Calibri", margin: 0
  });
  const funcs = [
    "O₂ transport: O₂ lungs → tissues",
    "CO₂ transport: tissues → lungs",
    "Acid-base buffering (HbH⁺)",
    "Nitric oxide transport",
  ];
  funcs.forEach((f, i) => {
    s.addShape(pres.shapes.OVAL, {
      x: 6.1, y: 1.52 + i * 0.36, w: 0.1, h: 0.1,
      fill: { color: ACCENT }, line: { color: ACCENT }
    });
    s.addText(f, {
      x: 6.28, y: 1.48 + i * 0.36, w: 3.3, h: 0.3,
      fontSize: 9.5, color: OFFWHITE, fontFace: "Calibri", margin: 0
    });
  });

  card(s, 5.95, 3.22, 3.8, 2.18, CARDBG2);
  s.addText("ERYTHROPOIESIS CONTROL", {
    x: 6.05, y: 3.3, w: 3.6, h: 0.32,
    fontSize: 11, bold: true, color: RED, fontFace: "Calibri", margin: 0
  });
  const erythro = [
    "↓ O₂ → kidney releases Erythropoietin (EPO)",
    "EPO → stimulates red bone marrow",
    "Reticulocytes released into blood",
    "Mature in 1–2 days → RBC",
    "Requires: Fe, B12, folate, B6",
  ];
  erythro.forEach((e, i) => {
    s.addShape(pres.shapes.RECTANGLE, {
      x: 6.1, y: 3.72 + i * 0.32, w: 0.08, h: 0.2,
      fill: { color: RED }, line: { color: RED }
    });
    s.addText(e, {
      x: 6.28, y: 3.7 + i * 0.32, w: 3.35, h: 0.28,
      fontSize: 9, color: OFFWHITE, fontFace: "Calibri", margin: 0
    });
  });
}

// ═══════════════════════════════════════════════════════════════
// SLIDE 6 — HAEMOGLOBIN
// ═══════════════════════════════════════════════════════════════
{
  const s = pres.addSlide();
  s.background = { color: DARKBG };
  addSlideHeader(s, "Haemoglobin (Hb)", "The oxygen-carrying protein of red blood cells");

  // Structure card
  card(s, 0.25, 1.05, 4.6, 4.35, CARDBG);
  s.addText("Structure", {
    x: 0.45, y: 1.12, w: 4.2, h: 0.38,
    fontSize: 13, bold: true, color: ACCENT, fontFace: "Calibri", margin: 0
  });

  const structureInfo = [
    "Molecular weight: 68,000 daltons",
    "4 polypeptide chains (globin)",
    "Each chain carries 1 haem group",
    "Each haem: 1 Fe²⁺ ion",
    "1 Hb molecule binds 4 O₂ molecules",
    "Normal values: Male 14–18 g/dL",
    "                      Female 12–16 g/dL",
    "Total body Hb: ~750g in adult male",
  ];
  structureInfo.forEach((info, i) => {
    s.addShape(pres.shapes.OVAL, {
      x: 0.42, y: 1.6 + i * 0.41, w: 0.1, h: 0.1,
      fill: { color: RED }, line: { color: RED }
    });
    s.addText(info, {
      x: 0.62, y: 1.56 + i * 0.41, w: 4.1, h: 0.35,
      fontSize: 9.5, color: OFFWHITE, fontFace: "Calibri", margin: 0
    });
  });

  // Right — Types of Hb
  card(s, 5.05, 1.05, 4.7, 1.95, CARDBG2);
  s.addText("Types of Haemoglobin", {
    x: 5.2, y: 1.12, w: 4.4, h: 0.35,
    fontSize: 12, bold: true, color: RED, fontFace: "Calibri", margin: 0
  });
  const hbTypes = [
    ["HbA (adult)", "α₂β₂", "96–98% in adults"],
    ["HbA₂", "α₂δ₂", "~2% in adults"],
    ["HbF (fetal)", "α₂γ₂", "High O₂ affinity"],
    ["HbS (sickle)", "Abnormal β", "Causes sickle cell disease"],
  ];
  hbTypes.forEach(([name, chains, note], i) => {
    s.addText(name, {
      x: 5.15, y: 1.55 + i * 0.33, w: 1.5, h: 0.28,
      fontSize: 9, bold: true, color: LTRED, fontFace: "Calibri", margin: 0
    });
    s.addText(chains, {
      x: 6.65, y: 1.55 + i * 0.33, w: 0.8, h: 0.28,
      fontSize: 9, color: GOLD, fontFace: "Calibri", margin: 0
    });
    s.addText(note, {
      x: 7.45, y: 1.55 + i * 0.33, w: 2.2, h: 0.28,
      fontSize: 9, color: GRAY, fontFace: "Calibri", margin: 0
    });
  });

  // O2 dissociation curve description
  card(s, 5.05, 3.15, 4.7, 2.25, CARDBG2);
  s.addText("O₂ Dissociation Curve", {
    x: 5.2, y: 3.22, w: 4.4, h: 0.35,
    fontSize: 12, bold: true, color: RED, fontFace: "Calibri", margin: 0
  });
  s.addText("Sigmoidal (S-shaped) curve due to cooperative binding", {
    x: 5.2, y: 3.6, w: 4.4, h: 0.3,
    fontSize: 9.5, color: OFFWHITE, fontFace: "Calibri", margin: 0
  });
  const shiftFacts = [
    ["RIGHT SHIFT (↓ affinity)", "↑ CO₂, ↑ Temp, ↑ H⁺ (↓pH), ↑ 2,3-DPG"],
    ["LEFT SHIFT (↑ affinity)", "↓ CO₂, ↓ Temp, ↓ H⁺ (↑pH), HbF, CO"],
  ];
  shiftFacts.forEach(([label, detail], i) => {
    const bColor = i === 0 ? ACCENT : "2E86C1";
    s.addShape(pres.shapes.RECTANGLE, {
      x: 5.15, y: 4.0 + i * 0.65, w: 1.55, h: 0.28,
      fill: { color: bColor }, line: { color: bColor }
    });
    s.addText(label, {
      x: 5.18, y: 4.0 + i * 0.65, w: 1.5, h: 0.28,
      fontSize: 7.5, bold: true, color: WHITE, fontFace: "Calibri", align: "center", margin: 0
    });
    s.addText(detail, {
      x: 6.78, y: 4.0 + i * 0.65, w: 2.9, h: 0.28,
      fontSize: 8.5, color: OFFWHITE, fontFace: "Calibri", margin: 0
    });
  });
  s.addText("P₅₀ = PO₂ at which Hb is 50% saturated = 26–27 mmHg (normal)", {
    x: 5.15, y: 5.1, w: 4.6, h: 0.28,
    fontSize: 8.5, color: GOLD, fontFace: "Calibri", italic: true, margin: 0
  });
}

// ═══════════════════════════════════════════════════════════════
// SLIDE 7 — WHITE BLOOD CELLS
// ═══════════════════════════════════════════════════════════════
{
  const s = pres.addSlide();
  s.background = { color: DARKBG };
  addSlideHeader(s, "White Blood Cells (Leukocytes)", "Cellular soldiers of the immune system");

  s.addText("Normal WBC count: 4,000 – 11,000 /μL  |  Differential count identifies subtype proportions", {
    x: 0.3, y: 1.08, w: 9.4, h: 0.28,
    fontSize: 9.5, color: GOLD, fontFace: "Calibri", italic: true, margin: 0
  });

  const wbcTypes = [
    { name: "Neutrophils",   pct: "50–70%", color: "2874A6", role: "First responders — phagocytose bacteria", multi: "Multi-lobed nucleus (PMN)" },
    { name: "Lymphocytes",   pct: "20–40%", color: "1E8449", role: "B cells (antibodies) & T cells (cell-mediated immunity)", multi: "Large round nucleus" },
    { name: "Monocytes",     pct: "2–8%",   color: "6C3483", role: "Differentiate into macrophages — phagocytosis, APC", multi: "Kidney-shaped nucleus" },
    { name: "Eosinophils",   pct: "1–4%",   color: GOLD,     role: "Allergic reactions, parasite defense", multi: "Bilobed nucleus, red granules" },
    { name: "Basophils",     pct: "0–1%",   color: ACCENT,   role: "Release histamine & heparin — allergic reactions", multi: "S-shaped nucleus, blue granules" },
  ];

  wbcTypes.forEach((wbc, i) => {
    const x = 0.22;
    const y = 1.42 + i * 0.82;
    card(s, x, y, 9.56, 0.72, CARDBG);
    s.addShape(pres.shapes.RECTANGLE, {
      x, y, w: 0.12, h: 0.72, fill: { color: wbc.color }, line: { color: wbc.color }
    });
    s.addText(wbc.name, {
      x: x + 0.22, y: y + 0.08, w: 2.0, h: 0.3,
      fontSize: 12, bold: true, color: WHITE, fontFace: "Calibri", margin: 0
    });
    s.addShape(pres.shapes.RECTANGLE, {
      x: x + 0.22, y: y + 0.38, w: 1.5, h: 0.22,
      fill: { color: wbc.color }, line: { color: wbc.color }
    });
    s.addText(wbc.pct, {
      x: x + 0.24, y: y + 0.38, w: 1.48, h: 0.22,
      fontSize: 9, bold: true, color: WHITE, fontFace: "Calibri", align: "center", margin: 0
    });
    s.addText(wbc.role, {
      x: x + 2.4, y: y + 0.1, w: 4.7, h: 0.3,
      fontSize: 10, color: OFFWHITE, fontFace: "Calibri", margin: 0
    });
    s.addText(wbc.multi, {
      x: x + 2.4, y: y + 0.4, w: 4.7, h: 0.24,
      fontSize: 8.5, color: GRAY, fontFace: "Calibri", italic: true, margin: 0
    });
    s.addText("Leukocyte", {
      x: x + 7.4, y: y + 0.2, w: 2.1, h: 0.28,
      fontSize: 8.5, color: GRAY, fontFace: "Calibri", align: "right", margin: 0
    });
  });
}

// ═══════════════════════════════════════════════════════════════
// SLIDE 8 — PLATELETS & HAEMOSTASIS
// ═══════════════════════════════════════════════════════════════
{
  const s = pres.addSlide();
  s.background = { color: DARKBG };
  addSlideHeader(s, "Platelets & Haemostasis", "The blood clotting system");

  // Platelets card
  card(s, 0.25, 1.05, 4.3, 2.2, CARDBG);
  s.addText("Platelets (Thrombocytes)", {
    x: 0.42, y: 1.12, w: 4.0, h: 0.38,
    fontSize: 12, bold: true, color: ACCENT, fontFace: "Calibri", margin: 0
  });
  const platFacts = [
    "Count: 150,000 – 400,000 /μL",
    "Size: 2–4 μm (smallest cells)",
    "Origin: Megakaryocytes in bone marrow",
    "Lifespan: 8–12 days",
    "No nucleus — contain granules",
    "Destroyed in spleen",
  ];
  platFacts.forEach((f, i) => {
    s.addShape(pres.shapes.OVAL, {
      x: 0.4, y: 1.6 + i * 0.26, w: 0.09, h: 0.09,
      fill: { color: RED }, line: { color: RED }
    });
    s.addText(f, {
      x: 0.58, y: 1.57 + i * 0.26, w: 3.8, h: 0.24,
      fontSize: 9.5, color: OFFWHITE, fontFace: "Calibri", margin: 0
    });
  });

  // Haemostasis steps
  card(s, 0.25, 3.35, 4.3, 2.05, CARDBG);
  s.addText("Steps of Haemostasis", {
    x: 0.42, y: 3.42, w: 4.0, h: 0.35,
    fontSize: 12, bold: true, color: ACCENT, fontFace: "Calibri", margin: 0
  });
  const hemoSteps = [
    ["1", "Vascular spasm — immediate vasoconstriction"],
    ["2", "Platelet plug formation (primary haemostasis)"],
    ["3", "Coagulation cascade (secondary haemostasis)"],
    ["4", "Fibrinolysis — clot dissolution (plasmin)"],
  ];
  hemoSteps.forEach(([n, txt], i) => {
    s.addShape(pres.shapes.OVAL, {
      x: 0.4, y: 3.88 + i * 0.36, w: 0.28, h: 0.28,
      fill: { color: RED }, line: { color: RED }
    });
    s.addText(n, {
      x: 0.4, y: 3.88 + i * 0.36, w: 0.28, h: 0.28,
      fontSize: 9, bold: true, color: WHITE, fontFace: "Calibri", align: "center", margin: 0
    });
    s.addText(txt, {
      x: 0.78, y: 3.88 + i * 0.36, w: 3.65, h: 0.28,
      fontSize: 9.5, color: OFFWHITE, fontFace: "Calibri", margin: 0
    });
  });

  // Coagulation cascade
  card(s, 4.75, 1.05, 5.0, 4.35, CARDBG2);
  s.addText("Coagulation Cascade", {
    x: 4.92, y: 1.12, w: 4.7, h: 0.38,
    fontSize: 13, bold: true, color: RED, fontFace: "Calibri", margin: 0
  });

  // Intrinsic pathway
  s.addText("INTRINSIC PATHWAY", {
    x: 4.92, y: 1.57, w: 2.1, h: 0.28,
    fontSize: 8.5, bold: true, color: "2E86C1", fontFace: "Calibri", margin: 0
  });
  const intrinsic = ["Factor XII (Hageman)", "↓", "XI → IX → VIII", "↓", "Factor X activated"];
  intrinsic.forEach((step, i) => {
    s.addText(step, {
      x: 4.92, y: 1.9 + i * 0.38, w: 2.2, h: 0.32,
      fontSize: 9, color: i === 4 ? GOLD : OFFWHITE, fontFace: "Calibri",
      bold: i === 4, align: "left", margin: 0
    });
  });

  // Extrinsic pathway
  s.addText("EXTRINSIC PATHWAY", {
    x: 7.22, y: 1.57, w: 2.4, h: 0.28,
    fontSize: 8.5, bold: true, color: ACCENT, fontFace: "Calibri", margin: 0
  });
  const extrinsic = ["Tissue Factor (III)", "↓", "Factor VII → VIIa", "↓", "Factor X activated"];
  extrinsic.forEach((step, i) => {
    s.addText(step, {
      x: 7.22, y: 1.9 + i * 0.38, w: 2.4, h: 0.32,
      fontSize: 9, color: i === 4 ? GOLD : OFFWHITE, fontFace: "Calibri",
      bold: i === 4, margin: 0
    });
  });

  // Convergence arrow
  s.addShape(pres.shapes.RECTANGLE, {
    x: 5.05, y: 3.9, w: 4.6, h: 0.04, fill: { color: GOLD }, line: { color: GOLD }
  });
  s.addText("COMMON PATHWAY", {
    x: 5.8, y: 3.98, w: 3.0, h: 0.28,
    fontSize: 9, bold: true, color: GOLD, fontFace: "Calibri", align: "center", margin: 0
  });
  const common = ["X + Va + Ca²⁺ → Prothrombinase", "Prothrombin → Thrombin", "Fibrinogen → Fibrin (clot)"];
  common.forEach((step, i) => {
    s.addText("→ " + step, {
      x: 4.92, y: 4.3 + i * 0.32, w: 4.7, h: 0.28,
      fontSize: 9, color: OFFWHITE, fontFace: "Calibri", margin: 0
    });
  });
}

// ═══════════════════════════════════════════════════════════════
// SLIDE 9 — BLOOD GROUPS
// ═══════════════════════════════════════════════════════════════
{
  const s = pres.addSlide();
  s.background = { color: DARKBG };
  addSlideHeader(s, "Blood Groups", "ABO system and Rh system");

  // ABO table
  card(s, 0.25, 1.05, 5.55, 3.2, CARDBG);
  s.addText("ABO Blood Group System", {
    x: 0.42, y: 1.12, w: 5.2, h: 0.38,
    fontSize: 13, bold: true, color: ACCENT, fontFace: "Calibri", margin: 0
  });

  // Table
  const headers = ["Blood Group", "Antigen on RBC", "Antibody in Plasma", "Can Donate To", "Can Receive From"];
  const rows = [
    ["A",  "A",    "Anti-B",        "A, AB",    "A, O"],
    ["B",  "B",    "Anti-A",        "B, AB",    "B, O"],
    ["AB", "A & B","None",          "AB only",  "All groups"],
    ["O",  "None", "Anti-A, Anti-B","All groups","O only"],
  ];

  headers.forEach((h, i) => {
    s.addShape(pres.shapes.RECTANGLE, {
      x: 0.3 + i * 1.07, y: 1.58, w: 1.06, h: 0.3,
      fill: { color: DARKRED }, line: { color: RED, pt: 0.5 }
    });
    s.addText(h, {
      x: 0.31 + i * 1.07, y: 1.58, w: 1.04, h: 0.3,
      fontSize: 7.5, bold: true, color: WHITE, fontFace: "Calibri", align: "center", margin: 0
    });
  });

  rows.forEach((row, ri) => {
    const rowColor = ri % 2 === 0 ? CARDBG : "3A1212";
    row.forEach((cell, ci) => {
      s.addShape(pres.shapes.RECTANGLE, {
        x: 0.3 + ci * 1.07, y: 1.9 + ri * 0.36, w: 1.06, h: 0.34,
        fill: { color: rowColor }, line: { color: "4A1010", pt: 0.5 }
      });
      const isGroup = ci === 0;
      s.addText(cell, {
        x: 0.31 + ci * 1.07, y: 1.91 + ri * 0.36, w: 1.04, h: 0.3,
        fontSize: 8.5, bold: isGroup, color: isGroup ? GOLD : OFFWHITE,
        fontFace: "Calibri", align: "center", margin: 0
      });
    });
  });

  // O universal donor, AB universal recipient
  s.addText("O = Universal Donor  |  AB = Universal Recipient", {
    x: 0.42, y: 4.0, w: 5.3, h: 0.25,
    fontSize: 9, bold: true, color: GOLD, fontFace: "Calibri", margin: 0
  });

  // Rh System
  card(s, 5.95, 1.05, 3.8, 4.35, CARDBG2);
  s.addText("Rh Blood Group System", {
    x: 6.05, y: 1.12, w: 3.6, h: 0.38,
    fontSize: 12, bold: true, color: RED, fontFace: "Calibri", margin: 0
  });

  const rhFacts = [
    "Most important after ABO system",
    "Rh+ (D antigen present): ~85% people",
    "Rh− (D antigen absent): ~15% people",
    "No naturally occurring antibodies",
    "Anti-D forms only after exposure",
    "",
    "Erythroblastosis Fetalis:",
    "• Rh− mother + Rh+ fetus",
    "• 1st pregnancy: sensitization",
    "• 2nd pregnancy: anti-D crosses",
    "  placenta → haemolysis in fetus",
    "• Prevention: Anti-D (Rhogam) injection",
    "  within 72 hrs of delivery/abortion",
  ];

  rhFacts.forEach((f, i) => {
    if (f === "") return;
    const isBold = f.endsWith(":") || f.startsWith("Rh");
    s.addText(f, {
      x: 6.08, y: 1.6 + i * 0.26, w: 3.55, h: 0.26,
      fontSize: 8.8, bold: isBold, color: isBold ? LTRED : OFFWHITE,
      fontFace: "Calibri", margin: 0
    });
  });
}

// ═══════════════════════════════════════════════════════════════
// SLIDE 10 — ANAEMIA
// ═══════════════════════════════════════════════════════════════
{
  const s = pres.addSlide();
  s.background = { color: DARKBG };
  addSlideHeader(s, "Anaemia", "Reduction in haemoglobin, RBC count, or haematocrit");

  s.addText("Definition: Hb < 13 g/dL (male)  or  < 12 g/dL (female)", {
    x: 0.3, y: 1.07, w: 9.4, h: 0.28,
    fontSize: 10, bold: true, color: GOLD, fontFace: "Calibri", margin: 0
  });

  const anaemiaTypes = [
    { title: "Iron Deficiency Anaemia", color: ACCENT, facts: ["Most common worldwide", "Microcytic hypochromic RBCs", "Causes: poor diet, blood loss, malabsorption", "Tx: oral iron supplements"] },
    { title: "Megaloblastic Anaemia",   color: "2E86C1", facts: ["Deficiency of B12 or folate", "Macrocytic RBCs (large, immature)", "Pernicious anaemia = B12 + intrinsic factor lack", "Tx: B12/folate replacement"] },
    { title: "Haemolytic Anaemia",      color: GOLD, facts: ["Premature RBC destruction", "Causes: sickle cell, thalassaemia, G6PD deficiency", "Features: jaundice, splenomegaly", "Tx: treat cause, transfusion"] },
    { title: "Aplastic Anaemia",        color: "6C3483", facts: ["Bone marrow failure — pancytopenia", "Causes: drugs, radiation, autoimmune, viruses", "All cell lines reduced (RBC, WBC, platelets)", "Tx: BMT, immunosuppression"] },
  ];

  anaemiaTypes.forEach((type, i) => {
    const col = i < 2 ? 0 : 1;
    const row = i % 2;
    const x = 0.22 + col * 4.9;
    const y = 1.42 + row * 2.15;

    card(s, x, y, 4.65, 2.0, CARDBG);
    s.addShape(pres.shapes.RECTANGLE, {
      x, y, w: 4.65, h: 0.35, fill: { color: type.color }, line: { color: type.color }
    });
    s.addText(type.title, {
      x: x + 0.1, y: y + 0.03, w: 4.45, h: 0.3,
      fontSize: 10.5, bold: true, color: WHITE, fontFace: "Calibri", margin: 0
    });
    type.facts.forEach((fact, j) => {
      s.addShape(pres.shapes.OVAL, {
        x: x + 0.15, y: y + 0.5 + j * 0.36, w: 0.09, h: 0.09,
        fill: { color: type.color }, line: { color: type.color }
      });
      s.addText(fact, {
        x: x + 0.32, y: y + 0.45 + j * 0.36, w: 4.2, h: 0.32,
        fontSize: 9, color: OFFWHITE, fontFace: "Calibri", margin: 0
      });
    });
  });
}

// ═══════════════════════════════════════════════════════════════
// SLIDE 11 — HEMATOCRIT & BLOOD INDICES
// ═══════════════════════════════════════════════════════════════
{
  const s = pres.addSlide();
  s.background = { color: DARKBG };
  addSlideHeader(s, "Haematocrit & Blood Indices", "Key measurements in clinical haematology");

  // Left column
  card(s, 0.25, 1.05, 4.5, 4.35, CARDBG);
  s.addText("Haematocrit (Packed Cell Volume)", {
    x: 0.42, y: 1.12, w: 4.2, h: 0.38,
    fontSize: 12, bold: true, color: ACCENT, fontFace: "Calibri", margin: 0
  });
  const hctFacts = [
    ["Normal (Male)", "40 – 52%"],
    ["Normal (Female)", "35 – 47%"],
    ["Newborn", "44 – 64%"],
    ["Anaemia", "< 30%"],
    ["Polycythaemia", "> 60%"],
    ["Method", "Centrifuge blood, measure RBC column"],
  ];
  hctFacts.forEach(([k, v], i) => {
    const y = 1.58 + i * 0.46;
    const rowBg = i % 2 === 0 ? CARDBG : "3A1212";
    s.addShape(pres.shapes.RECTANGLE, {
      x: 0.3, y, w: 4.35, h: 0.4, fill: { color: rowBg }, line: { color: rowBg }
    });
    s.addText(k, { x: 0.4, y: y + 0.07, w: 1.9, h: 0.28, fontSize: 9.5, bold: true, color: LTRED, fontFace: "Calibri", margin: 0 });
    s.addText(v, { x: 2.3, y: y + 0.07, w: 2.2, h: 0.28, fontSize: 9.5, color: WHITE, fontFace: "Calibri", margin: 0 });
  });

  // Right — blood indices
  card(s, 4.95, 1.05, 4.8, 4.35, CARDBG2);
  s.addText("Red Cell Indices", {
    x: 5.1, y: 1.12, w: 4.5, h: 0.38,
    fontSize: 12, bold: true, color: RED, fontFace: "Calibri", margin: 0
  });

  const indices = [
    { name: "MCV", full: "Mean Corpuscular Volume", norm: "80 – 100 fL", info: "Size of RBC. Low=microcytic, High=macrocytic" },
    { name: "MCH", full: "Mean Corpuscular Hb", norm: "27 – 33 pg", info: "Amount of Hb per RBC" },
    { name: "MCHC", full: "Mean Corpuscular Hb Concentration", norm: "32 – 36 g/dL", info: "Hb concentration in RBCs" },
    { name: "RDW", full: "Red Cell Distribution Width", norm: "11.5 – 14.5%", info: "Variation in RBC size (anisocytosis)" },
    { name: "Reticulocytes", full: "Immature RBCs", norm: "0.5 – 1.5%", info: "Indicator of bone marrow activity" },
  ];

  indices.forEach((idx, i) => {
    const y = 1.58 + i * 0.74;
    card(s, 5.05, y, 4.65, 0.66, "2C1010");
    s.addShape(pres.shapes.RECTANGLE, {
      x: 5.05, y, w: 0.08, h: 0.66, fill: { color: RED }, line: { color: RED }
    });
    s.addText(idx.name, { x: 5.22, y: y + 0.06, w: 1.0, h: 0.28, fontSize: 11, bold: true, color: GOLD, fontFace: "Calibri", margin: 0 });
    s.addText(idx.full, { x: 6.22, y: y + 0.06, w: 3.35, h: 0.28, fontSize: 9, color: LTRED, fontFace: "Calibri", margin: 0 });
    s.addText("Normal: " + idx.norm, { x: 5.22, y: y + 0.35, w: 1.7, h: 0.24, fontSize: 8.5, color: WHITE, fontFace: "Calibri", margin: 0 });
    s.addText(idx.info, { x: 6.95, y: y + 0.35, w: 2.65, h: 0.24, fontSize: 8, color: GRAY, fontFace: "Calibri", margin: 0 });
  });
}

// ═══════════════════════════════════════════════════════════════
// SLIDE 12 — SUMMARY / CONCLUSION
// ═══════════════════════════════════════════════════════════════
{
  const s = pres.addSlide();
  s.background = { color: DARKBG };

  // Top bar
  s.addShape(pres.shapes.RECTANGLE, {
    x: 0, y: 0, w: 10, h: 0.08, fill: { color: RED }, line: { color: RED }
  });
  // Bottom bar
  s.addShape(pres.shapes.RECTANGLE, {
    x: 0, y: 5.55, w: 10, h: 0.075, fill: { color: DARKRED }, line: { color: DARKRED }
  });

  s.addText("KEY TAKEAWAYS", {
    x: 0.4, y: 0.2, w: 9.2, h: 0.55,
    fontSize: 24, bold: true, color: RED, fontFace: "Calibri", charSpacing: 5, margin: 0
  });
  s.addShape(pres.shapes.RECTANGLE, {
    x: 0.4, y: 0.76, w: 3.5, h: 0.05, fill: { color: ACCENT }, line: { color: ACCENT }
  });

  const takeaways = [
    ["Blood Volume", "~5 L in adults; 7% of body weight"],
    ["Composition", "55% plasma + 45% formed elements (RBCs, WBCs, platelets)"],
    ["RBCs", "Biconcave, no nucleus; 120-day lifespan; carry O₂ via haemoglobin"],
    ["Haemoglobin", "4 globin chains + 4 haem groups; S-shaped O₂ dissociation curve"],
    ["WBCs", "5 types: neutrophils dominate; lymphocytes give specific immunity"],
    ["Platelets", "Smallest; essential for haemostasis and clot formation"],
    ["ABO System", "A, B, AB, O — based on surface antigens; O = universal donor"],
    ["Rh System", "D antigen; critical in pregnancy to prevent erythroblastosis fetalis"],
  ];

  takeaways.forEach(([k, v], i) => {
    const col = i < 4 ? 0 : 1;
    const row = i % 4;
    const x = 0.3 + col * 4.9;
    const y = 0.95 + row * 1.12;

    card(s, x, y, 4.55, 1.0, CARDBG);
    s.addShape(pres.shapes.RECTANGLE, {
      x, y, w: 0.09, h: 1.0, fill: { color: RED }, line: { color: RED }
    });
    s.addText(k, {
      x: x + 0.2, y: y + 0.12, w: 4.2, h: 0.3,
      fontSize: 10.5, bold: true, color: LTRED, fontFace: "Calibri", margin: 0
    });
    s.addText(v, {
      x: x + 0.2, y: y + 0.46, w: 4.2, h: 0.45,
      fontSize: 9.5, color: OFFWHITE, fontFace: "Calibri", margin: 0
    });
  });
}

// ─── WRITE FILE ──────────────────────────────────────────────
pres.writeFile({ fileName: "/home/daytona/workspace/blood-physiology-ppt/Blood_Physiology.pptx" })
  .then(() => console.log("✅ Done: Blood_Physiology.pptx"))
  .catch(err => { console.error("❌ Error:", err); process.exit(1); });
Running Command

cd /home/daytona/workspace/blood-physiology-ppt && node create_pptx.js 2>&1

Your presentation is ready! Here's the download link:

Blood Physiology

Presentation · PPTX


What's inside — 12 slides with a deep red/dark medical theme:
SlideContent
1Title Slide — Bold typographic cover with decorative elements
2Overview — 6-topic table of contents with numbered cards
3Composition of Blood — Key stats + stacked bar (Plasma / RBCs / WBCs)
4Plasma — 3-column layout: Water, Plasma Proteins, Other Solutes
5Red Blood Cells — Full facts table + erythropoiesis control
6Haemoglobin — Structure, types (HbA/F/S/A₂), O₂ dissociation curve (Bohr effect)
7White Blood Cells — All 5 types with % counts and functions
8Platelets & Haemostasis — Clotting cascade (intrinsic + extrinsic + common pathway)
9Blood Groups — Full ABO table + Rh system + erythroblastosis fetalis
10Anaemia — 4 types: Iron deficiency, Megaloblastic, Haemolytic, Aplastic
11Haematocrit & Indices — MCV, MCH, MCHC, RDW with normal values
12Key Takeaways — 8-point summary card layout

Explain: Nerve Muscle Physiology according to 1st year BHMS, CBDC course.

Reading File
Searching the Web

BHMS 1st year CBDC syllabus nerve muscle physiology topics

Reading Web Page

https://www.scribd.com/document/798554902/Physiology-CBDC-1s…

Finding Sources
Finding Sources
Finding Sources
Finding Sources
Finding Sources
Finding Sources
Finding Sources
Reading File
Finding Sources
Reading File
Finding Sources
Reading File
Finding Sources
Reading File
Reading File
I now have comprehensive textbook content covering all BHMS CBDC nerve-muscle physiology topics. Let me now compose the full, well-structured answer.

Nerve Muscle Physiology

1st Year BHMS — CBDC Syllabus


CBDC Syllabus Topics Covered

The BHMS 1st year CBDC physiology syllabus for Nerve-Muscle includes:
  1. Physiological properties of nerve fibres
  2. Nerve fibre - types, classification, function
  3. Degeneration and regeneration of nerve fibres
  4. Resting membrane potential
  5. Action potential - generation, propagation
  6. Neuromuscular junction (NMJ)
  7. Excitation-contraction coupling
  8. Skeletal, smooth, and cardiac muscle physiology

UNIT 1 — PHYSIOLOGICAL PROPERTIES OF NERVE FIBRES

All excitable tissues (nerve and muscle) share certain fundamental physiological properties:
PropertyDescription
ExcitabilityAbility to respond to an adequate stimulus
ConductivityAbility to conduct an impulse along the membrane
ContractilityAbility to shorten in length (muscle specific)
RhythmicityAbility to generate spontaneous impulses (e.g., cardiac muscle)
TonicityState of partial continuous contraction (muscle)
ExtensibilityAbility to be stretched
ElasticityAbility to return to original length after stretch

Special Properties of Nerve

  • Irritability (Excitability) - nerve responds to stimulus (electrical, chemical, mechanical)
  • All-or-None Law - if a stimulus is strong enough (above threshold), the nerve fires a complete action potential; a subthreshold stimulus produces no response
  • Refractory Period - period after firing during which the nerve cannot be re-excited:
    • Absolute Refractory Period - no stimulus, however strong, can elicit a response (~0.5-1 ms)
    • Relative Refractory Period - only a stronger-than-normal stimulus can elicit a response

UNIT 2 — CLASSIFICATION OF NERVE FIBRES

Nerve fibres are classified by two systems:

Erlanger & Gasser Classification (by conduction velocity & diameter)

Fibre TypeDiameterVelocityMyelinationFunction
13–20 μm70–120 m/sMyelinatedSkeletal muscle motor, proprioception
6–12 μm30–70 m/sMyelinatedTouch, pressure
3–6 μm15–30 m/sMyelinatedMuscle spindle (fusimotor)
1–5 μm5–30 m/sLightly myelinatedSharp/fast pain, cold, touch
B1–3 μm3–15 m/sLightly myelinatedPreganglionic autonomic
C0.2–1 μm0.5–2 m/sUnmyelinatedSlow/burning pain, warmth, postganglionic autonomic

Lloyd & Hunt Classification (for afferent/sensory fibres)

GroupCorresponds toSource
Group I (Ia, Ib)Muscle spindle (Ia), Golgi tendon organ (Ib)
Group IISecondary muscle spindle endings
Group IIIFree nerve endings (pain, cold)
Group IVCUnmyelinated free endings (slow pain)

UNIT 3 — DEGENERATION AND REGENERATION OF NERVE FIBRES

Wallerian Degeneration (after nerve injury)

When a nerve fibre is cut or crushed, the segment distal to the injury degenerates:
  1. Day 1-3: Axon and myelin disintegrate distal to the cut
  2. Day 3-5: Schwann cells proliferate and phagocytose debris
  3. Day 7 onward: Myelin is completely absorbed; an empty endoneurial tube remains
  4. The cell body undergoes chromatolysis (Nissl substance dissolves, nucleus displaced)

Regeneration

  • PNS fibres can regenerate; CNS fibres generally cannot
  • Regeneration rate: ~1-3 mm/day (1 inch per month)
  • Schwann cells form bands of Büngner - guide tubes for the regenerating axon
  • Recovery depends on proximity to cell body and continuity of endoneurium

Types of Nerve Injury (Seddon's Classification)

TypeFeaturesRecovery
NeuropraxiaConduction block only, no structural damageComplete, days to weeks
AxonotmesisAxon cut but endoneurium intactGood, slow (months)
NeurotmesisComplete nerve transectionPoor, surgery needed

UNIT 4 — RESTING MEMBRANE POTENTIAL (RMP)

Definition

The electrical potential difference across the cell membrane at rest (no stimulation).
  • Nerve fibre: -70 mV (inside negative relative to outside)
  • Skeletal muscle: -80 to -90 mV

Basis of RMP

The resting membrane potential is established by:
  1. Unequal distribution of ions across the membrane:
    • Inside cell: High K⁺, high proteins⁻, low Na⁺, low Cl⁻
    • Outside cell: High Na⁺, high Cl⁻, low K⁺
  2. Selective membrane permeability at rest:
    • Membrane is ~50-100x more permeable to K⁺ than Na⁺ at rest
    • K⁺ leaks out → interior becomes negative
  3. Na⁺/K⁺-ATPase pump (electrogenic):
    • Pumps 3 Na⁺ out for every 2 K⁺ in
    • Maintains concentration gradients
    • Contributes about -4 mV directly (electrogenic contribution)

Nernst Equation

For a single ion:
E_ion = (RT/zF) × ln([ion]outside / [ion]inside)
For K⁺ at body temperature:
E_K = -94 mV (theoretical)

Goldman-Hodgkin-Katz (GHK) Equation

Considers permeability of all ions simultaneously. The actual RMP (-70 mV) lies between E_K and E_Na, weighted by relative permeabilities.

UNIT 5 — ACTION POTENTIAL (AP)

Definition

A rapid, transient, self-propagating change in membrane potential in response to a threshold stimulus.

Phases of Action Potential

![Action potential phases showing depolarization, overshoot, repolarization and hyperpolarization]
Phase 1 — Resting Phase: Membrane at -70 mV. Na⁺ channels closed.
Phase 2 — Depolarisation:
  • Threshold stimulus (~-55 mV) is reached
  • Voltage-gated Na⁺ channels open rapidly
  • Na⁺ floods inside → membrane potential rises sharply
  • Potential swings from -70 mV → +30 to +40 mV (overshoot/spike)
Phase 3 — Repolarisation:
  • Na⁺ channels inactivate (h-gate closes)
  • Voltage-gated K⁺ channels open (slower)
  • K⁺ flows out → membrane potential returns toward -70 mV
Phase 4 — Hyperpolarisation (After-potential):
  • K⁺ channels close slowly → membrane temporarily overshoots below -70 mV
  • Returns to resting potential as K⁺ channels close

Key Numerical Values (Nerve)

ParameterValue
Resting membrane potential-70 mV
Threshold potential-55 mV
Peak overshoot+30 to +40 mV
Duration of AP~1 ms (myelinated nerve)
Absolute refractory period~0.5-1 ms
Relative refractory period~1-2 ms
Conduction velocity (Aα)70-120 m/s

Propagation of Action Potential

  • The AP spreads along the axon by local current circuits
  • In myelinated fibres: propagation is by saltatory conduction (jumping from node to node of Ranvier) - faster and more energy-efficient
  • In unmyelinated fibres: continuous propagation along entire membrane - slower

Saltatory Conduction

  • The myelin sheath acts as an insulator
  • Current flows only at the Nodes of Ranvier (gaps in myelin)
  • Conduction is faster (~70-120 m/s in Aα) vs. unmyelinated (<2 m/s)
  • Less metabolic energy required (Na⁺/K⁺ pumping only at nodes)

UNIT 6 — NEUROMUSCULAR JUNCTION (NMJ)

Structure

The NMJ (also called the Motor End Plate) is the synapse between a motor neuron and a skeletal muscle fibre.
Components:
  • Presynaptic terminal (axon terminal/bouton): contains ~300,000 synaptic vesicles, each with ~10,000 molecules of acetylcholine (ACh); rich in mitochondria
  • Synaptic cleft: 20-30 nm wide; contains acetylcholinesterase (AChE)
  • Postsynaptic membrane (motor end plate): has junctional folds (subneural clefts) that increase surface area; contains nicotinic ACh receptors and voltage-gated Na⁺ channels

Events at the NMJ (Step by Step)

Step 1: Nerve impulse (AP) arrives at axon terminal
Step 2: Voltage-gated Ca²⁺ channels open → Ca²⁺ enters terminal (100-fold increase in [Ca²⁺])
Step 3: Ca²⁺ activates calmodulin-kinase → exocytosis of ACh vesicles (~125 vesicles per AP)
Step 4: ACh diffuses across synaptic cleft and binds to nicotinic receptors on motor end plate
Step 5: Nicotinic receptors (ligand-gated channels) open → Na⁺ and K⁺ move → End Plate Potential (EPP) is generated
Step 6: EPP reaches threshold → Muscle Action Potential is generated and spreads over muscle fibre
Step 7: ACh is rapidly hydrolysed by acetylcholinesterase into acetate + choline; choline is recycled back into the terminal

Drugs Acting on NMJ

DrugActionEffect
Neostigmine, PhysostigmineInhibit AChEProlongs ACh action → spasm
SuccinylcholineNicotinic agonistSustained depolarisation → block (used in anaesthesia)
Curare (tubocurarine)Nicotinic antagonistBlocks ACh binding → paralysis
OrganophosphatesIrreversibly inhibit AChECholinergic crisis
Botulinum toxinBlocks ACh releaseFlaccid paralysis

Disease: Myasthenia Gravis

  • Autoimmune: antibodies against nicotinic ACh receptors
  • Leads to reduced EPP → muscle weakness, fatigability
  • Treatment: neostigmine (anticholinesterase) or thymectomy

UNIT 7 — EXCITATION-CONTRACTION COUPLING (ECC)

This is the mechanism linking the electrical signal (AP) to the mechanical event (muscle contraction).

Steps in ECC

  1. Muscle AP spreads along the sarcolemma
  2. AP travels down T-tubules (transverse tubules) - extensions of cell membrane into the fibre
  3. T-tubules are in contact with terminal cisternae of the sarcoplasmic reticulum (SR)
  4. Dihydropyridine receptors (voltage sensors) in T-tubules activate Ryanodine receptors in SR
  5. Ca²⁺ is released from SR into cytoplasm (intracellular Ca²⁺ rises from 10⁻⁷ M to 10⁻⁵ M)
  6. Ca²⁺ binds to troponin C on the thin filament
  7. Troponin-tropomyosin complex moves → actin binding sites exposed
  8. Myosin heads bind to actin → cross-bridge cycling → contraction

Sliding Filament Theory of Muscle Contraction

Proposed by Huxley & Hanson (1954)
  • Muscle fibres are made of myofibrils → made of sarcomeres (functional unit)
  • Each sarcomere contains:
    • Thick filaments (myosin) in the A band
    • Thin filaments (actin, troponin, tropomyosin) extending from Z-lines
Cross-bridge Cycle (Power Stroke):
  1. Myosin head (charged with ADP + Pi) attaches to actin
  2. Power stroke: myosin head pivots, pulls actin → sarcomere shortens
  3. ATP binds myosin → releases actin (rigor mortis = no ATP)
  4. ATP hydrolysis → myosin head resets for next cycle
During contraction:
  • A band stays same width
  • I band shortens
  • H zone shortens
  • Z lines move closer together
  • Sarcomere length decreases

UNIT 8 — SKELETAL MUSCLE MECHANICS

Types of Muscle Contraction

TypeDescription
IsotonicMuscle shortens, tension constant (e.g., lifting a weight)
IsometricTension develops, no shortening (e.g., pushing a wall)
EccentricMuscle lengthens while developing tension

Twitch, Summation, Tetanus

  • Twitch: Single AP → single brief contraction
  • Summation: Second stimulus before relaxation → greater contraction
  • Temporal summation: Increasing frequency of stimuli
  • Tetanus: Sustained stimulation → smooth, maximal, unfused or fused contraction
    • Unfused (incomplete) tetanus: ~30-40 Hz
    • Fused (complete) tetanus: ~60-80 Hz

Motor Unit

  • One motor neuron + all muscle fibres it innervates
  • Small motor units (e.g., eye muscles) → fine control
  • Large motor units (e.g., quadriceps) → coarse control
  • Recruitment of more motor units = greater force

Fibre Types

PropertyType I (Slow oxidative)Type II (Fast glycolytic)
SpeedSlowFast
MetabolismOxidative (aerobic)Glycolytic (anaerobic)
FatigueResistantFatigable
ColourRed (myoglobin-rich)White
FunctionPosture, enduranceSudden bursts, power

UNIT 9 — SMOOTH MUSCLE

Types

  • Multi-unit smooth muscle: Each fibre independently innervated; responds to nerve signals (e.g., ciliary muscle of eye, iris, piloerector)
  • Unitary (visceral/single-unit) smooth muscle: Cells connected by gap junctions; contract as a unit; shows spontaneous activity; found in GI tract, uterus, ureter

Key Differences from Skeletal Muscle

FeatureSkeletalSmooth
ControlVoluntaryInvoluntary
SpeedFastSlow
TroponinPresentAbsent
TriggerCa²⁺ + troponinCa²⁺ + calmodulin → myosin light chain kinase
T-tubulesPresentAbsent (caveolae instead)
Sarcoplasmic reticulumWell developedLess developed
RegulationNeural onlyNeural + hormonal + local

UNIT 10 — QUICK MEMORY SUMMARY

TopicKey Point
RMP (nerve)-70 mV; maintained by Na⁺/K⁺ pump + K⁺ permeability
Threshold-55 mV
AP duration~1 ms (nerve); 1-5 ms (muscle)
NMJ transmitterAcetylcholine (nicotinic receptor)
ECC messengerCa²⁺ released from sarcoplasmic reticulum
Sliding filamentActin slides over myosin; sarcomere shortens
All-or-None lawAP is full or absent; no partial responses
Saltatory conductionMyelinated fibres; jumps between Nodes of Ranvier
Nerve regeneration~1-3 mm/day in PNS; via Bands of Büngner
Myasthenia GravisAntibodies against nicotinic ACh receptors → weakness

Sources: Guyton and Hall Textbook of Medical Physiology (Chapters 5-8); Ganong's Review of Medical Physiology, 26th Ed; BHMS 1st Year CBDC Physiology Syllabus

Create a PowerPoint on 'Nerve Muscle Physiology' for BHMS 1st Year students

Running Command

ls /home/daytona/workspace/ && mkdir -p /home/daytona/workspace/nerve-muscle-ppt

Writing File

~/nerve-muscle-ppt/create_pptx.js

const pptxgen = require("pptxgenjs");

const pres = new pptxgen();
pres.layout = "LAYOUT_16x9";
pres.title = "Nerve Muscle Physiology";
pres.author = "Orris Medical";

// ─── COLOUR PALETTE (deep navy/teal — neuroscience feel) ─────
const NAVY      = "0B1A2E";   // dominant dark bg
const DARKNAVY  = "060F1C";   // deeper bg
const TEAL      = "0E7C7B";   // primary accent
const LTEAL     = "14A8A6";   // lighter teal
const CYAN      = "4ECDC4";   // highlight cyan
const WHITE     = "FFFFFF";
const OFFWHITE  = "E8F4F8";
const GRAY      = "A8C4CC";
const GOLD      = "F4D03F";
const ORANGE    = "E67E22";
const PURPLE    = "8E44AD";
const GREEN     = "27AE60";
const RED       = "E74C3C";
const CARD      = "112236";   // card bg
const CARD2     = "0D2A3A";   // alt card bg

// ─── HELPERS ─────────────────────────────────────────────────
function hdr(slide, title, subtitle) {
  slide.addShape(pres.shapes.RECTANGLE, { x:0, y:0, w:10, h:0.09, fill:{color:TEAL}, line:{color:TEAL} });
  slide.addShape(pres.shapes.RECTANGLE, { x:0, y:0.09, w:0.07, h:5.535, fill:{color:"094545"}, line:{color:"094545"} });
  slide.addText(title, { x:0.25, y:0.14, w:9.5, h:0.55, fontSize:21, bold:true, color:WHITE, fontFace:"Calibri", margin:0 });
  if (subtitle) slide.addText(subtitle, { x:0.25, y:0.68, w:9.5, h:0.28, fontSize:10, color:CYAN, fontFace:"Calibri", italic:true, margin:0 });
  slide.addShape(pres.shapes.RECTANGLE, { x:0, y:5.55, w:10, h:0.075, fill:{color:TEAL}, line:{color:TEAL} });
  slide.addText("BHMS 1st Year | Nerve Muscle Physiology | CBDC", { x:0.25, y:5.56, w:9.5, h:0.07, fontSize:6.5, color:NAVY, fontFace:"Calibri", margin:0 });
}

function card(slide, x, y, w, h, color) {
  slide.addShape(pres.shapes.RECTANGLE, { x, y, w, h, fill:{color:color||CARD}, line:{color:LTEAL, pt:0.9}, shadow:{type:"outer",color:"000000",blur:7,offset:3,angle:135,opacity:0.3} });
}

function dot(slide, x, y, color) {
  slide.addShape(pres.shapes.OVAL, { x, y, w:0.1, h:0.1, fill:{color:color||CYAN}, line:{color:color||CYAN} });
}

function badge(slide, x, y, w, h, text, bgColor, textColor) {
  slide.addShape(pres.shapes.RECTANGLE, { x, y, w, h, fill:{color:bgColor}, line:{color:bgColor} });
  slide.addText(text, { x, y, w, h, fontSize:8.5, bold:true, color:textColor||WHITE, fontFace:"Calibri", align:"center", valign:"middle", margin:0 });
}

// ═══════════════════════════════════════════════════════════════
// SLIDE 1 — TITLE
// ═══════════════════════════════════════════════════════════════
{
  const s = pres.addSlide();
  s.background = { color: DARKNAVY };

  // Decorative circles
  s.addShape(pres.shapes.OVAL, { x:6.0, y:-0.8, w:5.5, h:5.5, fill:{color:TEAL, transparency:88}, line:{color:TEAL, pt:1.5} });
  s.addShape(pres.shapes.OVAL, { x:6.8, y:-0.1, w:3.8, h:3.8, fill:{color:CYAN, transparency:92}, line:{color:CYAN, pt:0.8} });
  s.addShape(pres.shapes.OVAL, { x:7.5, y:2.5, w:2.5, h:2.5, fill:{color:TEAL, transparency:85}, line:{color:TEAL, pt:1.2} });

  // Top accent
  s.addShape(pres.shapes.RECTANGLE, { x:0, y:0, w:5.8, h:0.1, fill:{color:TEAL}, line:{color:TEAL} });
  s.addShape(pres.shapes.RECTANGLE, { x:0, y:0.1, w:0.08, h:5.52, fill:{color:"094545"}, line:{color:"094545"} });

  s.addText("NERVE MUSCLE", { x:0.35, y:0.65, w:7, h:1.15, fontSize:52, bold:true, color:WHITE, fontFace:"Calibri", charSpacing:3, margin:0 });
  s.addText("PHYSIOLOGY", { x:0.35, y:1.75, w:7, h:0.82, fontSize:44, bold:false, color:CYAN, fontFace:"Calibri", charSpacing:12, margin:0 });

  s.addShape(pres.shapes.RECTANGLE, { x:0.35, y:2.68, w:5.0, h:0.055, fill:{color:LTEAL}, line:{color:LTEAL} });

  s.addText("BHMS 1st Year  •  CBDC Syllabus  •  Human Physiology", { x:0.35, y:2.82, w:7, h:0.32, fontSize:11.5, color:GRAY, fontFace:"Calibri", margin:0 });

  const topics = ["Nerve Fibre Types","Membrane Potential","Action Potential","NMJ & Synapse","Muscle Contraction"];
  topics.forEach((t,i) => {
    s.addShape(pres.shapes.OVAL, { x:0.35+i*1.45, y:3.35, w:0.1, h:0.1, fill:{color:CYAN}, line:{color:CYAN} });
    s.addText(t, { x:0.52+i*1.45, y:3.32, w:1.35, h:0.28, fontSize:8.5, color:GRAY, fontFace:"Calibri", margin:0 });
  });

  s.addText("Orris Medical Education", { x:0.35, y:5.1, w:4, h:0.28, fontSize:9.5, color:TEAL, fontFace:"Calibri", margin:0 });
  s.addShape(pres.shapes.RECTANGLE, { x:0, y:5.55, w:10, h:0.075, fill:{color:TEAL}, line:{color:TEAL} });
}

// ═══════════════════════════════════════════════════════════════
// SLIDE 2 — SYLLABUS OVERVIEW
// ═══════════════════════════════════════════════════════════════
{
  const s = pres.addSlide();
  s.background = { color: NAVY };
  hdr(s, "CBDC Syllabus — Nerve Muscle Physiology", "1st Year BHMS | Topics at a Glance");

  const topics = [
    { num:"01", title:"Properties of Nerve Fibres",   sub:"Excitability, conductivity, all-or-none law, refractory period", col:TEAL },
    { num:"02", title:"Classification of Nerve Fibres",sub:"Erlanger-Gasser (A,B,C) and Lloyd-Hunt classification", col:CYAN },
    { num:"03", title:"Resting Membrane Potential",    sub:"Ion distribution, Nernst equation, Na⁺/K⁺ pump", col:ORANGE },
    { num:"04", title:"Action Potential",              sub:"Generation, phases, propagation, saltatory conduction", col:PURPLE },
    { num:"05", title:"Neuromuscular Junction",        sub:"Structure, ACh release, end plate potential, drugs", col:GREEN },
    { num:"06", title:"Muscle Contraction",            sub:"Sliding filament theory, ECC, twitch, tetanus", col:RED },
    { num:"07", title:"Degeneration & Regeneration",   sub:"Wallerian degeneration, nerve repair, Bands of Büngner", col:GOLD },
    { num:"08", title:"Smooth Muscle Physiology",      sub:"Types, mechanism, differences from skeletal muscle", col:"2E86C1" },
  ];

  topics.forEach((t, i) => {
    const col = i < 4 ? 0 : 1;
    const row = i % 4;
    const x = 0.22 + col * 4.88;
    const y = 1.0 + row * 1.14;
    card(s, x, y, 4.65, 1.02, CARD);
    s.addShape(pres.shapes.RECTANGLE, { x, y, w:0.1, h:1.02, fill:{color:t.col}, line:{color:t.col} });
    s.addText(t.num, { x:x+0.18, y:y+0.08, w:0.5, h:0.38, fontSize:18, bold:true, color:t.col, fontFace:"Calibri", margin:0 });
    s.addText(t.title, { x:x+0.7, y:y+0.08, w:3.85, h:0.35, fontSize:10.5, bold:true, color:WHITE, fontFace:"Calibri", margin:0 });
    s.addText(t.sub, { x:x+0.7, y:y+0.54, w:3.85, h:0.38, fontSize:8.5, color:GRAY, fontFace:"Calibri", margin:0 });
  });
}

// ═══════════════════════════════════════════════════════════════
// SLIDE 3 — PHYSIOLOGICAL PROPERTIES OF NERVE
// ═══════════════════════════════════════════════════════════════
{
  const s = pres.addSlide();
  s.background = { color: NAVY };
  hdr(s, "Physiological Properties of Nerve Fibres", "Fundamental properties of excitable tissues");

  const props = [
    { name:"Excitability",    icon:"⚡", color:GOLD,   desc:"Ability to respond to an adequate (threshold) stimulus. Basis of nerve signalling." },
    { name:"Conductivity",    icon:"→", color:CYAN,   desc:"Ability to propagate an electrical impulse along the nerve membrane without decrement." },
    { name:"All-or-None Law", icon:"◉", color:ORANGE, desc:"If stimulus ≥ threshold → full AP. If below threshold → no AP. No partial responses." },
    { name:"Rhythmicity",     icon:"〰", color:GREEN,  desc:"Ability to generate spontaneous, repetitive impulses (prominent in cardiac & smooth muscle)." },
    { name:"Contractility",   icon:"↕", color:RED,    desc:"Ability to shorten in response to stimulus. Characteristic of muscle fibres." },
    { name:"Tonicity",        icon:"▣", color:PURPLE, desc:"State of partial, continuous contraction maintaining muscle tone at rest." },
  ];

  props.forEach((p, i) => {
    const col = i < 3 ? 0 : 1;
    const row = i % 3;
    const x = 0.22 + col * 4.9;
    const y = 1.05 + row * 1.47;
    card(s, x, y, 4.65, 1.3, CARD);
    s.addShape(pres.shapes.RECTANGLE, { x, y, w:4.65, h:0.33, fill:{color:p.color}, line:{color:p.color} });
    s.addText(p.icon + "  " + p.name, { x:x+0.1, y:y+0.02, w:4.4, h:0.3, fontSize:11, bold:true, color:WHITE, fontFace:"Calibri", margin:0 });
    s.addText(p.desc, { x:x+0.15, y:y+0.42, w:4.35, h:0.75, fontSize:9.5, color:OFFWHITE, fontFace:"Calibri", margin:0 });
  });

  // Refractory period box at bottom
  s.addText("📌  Refractory Period:  Absolute (~0.5–1 ms) — no response possible  |  Relative (~1–2 ms) — only stronger stimulus works", {
    x:0.22, y:5.08, w:9.55, h:0.3, fontSize:8.5, color:GOLD, fontFace:"Calibri", italic:true, margin:0
  });
}

// ═══════════════════════════════════════════════════════════════
// SLIDE 4 — CLASSIFICATION OF NERVE FIBRES
// ═══════════════════════════════════════════════════════════════
{
  const s = pres.addSlide();
  s.background = { color: NAVY };
  hdr(s, "Classification of Nerve Fibres", "Erlanger & Gasser Classification — based on diameter and conduction velocity");

  card(s, 0.22, 1.0, 9.56, 3.98, CARD);

  // Table header
  const cols = ["Fibre", "Diameter (μm)", "Velocity (m/s)", "Myelination", "Function"];
  const colW = [0.7, 1.65, 1.65, 1.55, 4.0];
  const startX = 0.3;
  let cx = startX;
  cols.forEach((c, i) => {
    s.addShape(pres.shapes.RECTANGLE, { x:cx, y:1.05, w:colW[i]-0.05, h:0.38, fill:{color:TEAL}, line:{color:TEAL} });
    s.addText(c, { x:cx, y:1.06, w:colW[i]-0.05, h:0.35, fontSize:9, bold:true, color:WHITE, fontFace:"Calibri", align:"center", margin:0 });
    cx += colW[i];
  });

  const rows = [
    ["Aα","13–20","70–120","Myelinated","Skeletal muscle efferent, proprioception (Ia, Ib)", TEAL],
    ["Aβ","6–12","30–70","Myelinated","Touch, pressure, vibration", CYAN],
    ["Aγ","3–6","15–30","Myelinated","Muscle spindle (fusimotor fibres)", "2E86C1"],
    ["Aδ","1–5","5–30","Lightly myelinated","Sharp/fast pain, cold, touch", ORANGE],
    ["B","1–3","3–15","Lightly myelinated","Preganglionic autonomic fibres", PURPLE],
    ["C","0.2–1","0.5–2","Unmyelinated","Slow/burning pain, warmth, postganglionic autonomic", RED],
  ];

  rows.forEach((row, ri) => {
    const y = 1.48 + ri * 0.42;
    const rowBg = ri % 2 === 0 ? CARD : CARD2;
    let cx2 = startX;
    row.slice(0,5).forEach((cell, ci) => {
      s.addShape(pres.shapes.RECTANGLE, { x:cx2, y, w:colW[ci]-0.05, h:0.38, fill:{color:rowBg}, line:{color:"1A3A4A", pt:0.5} });
      const isFirst = ci === 0;
      s.addText(cell, { x:cx2+0.04, y:y+0.05, w:colW[ci]-0.1, h:0.28, fontSize:isFirst?11:8.8, bold:isFirst, color:isFirst?row[5]:OFFWHITE, fontFace:"Calibri", align:isFirst?"center":"left", margin:0 });
      cx2 += colW[ci];
    });
  });

  // Lloyd-Hunt summary
  card(s, 0.22, 5.06, 9.56, 0.38, "0A1E32");
  s.addText("Lloyd-Hunt Classification (Afferents):  Group I (Ia-muscle spindle, Ib-GTO)  |  Group II (secondary spindle)  |  Group III (Aδ-pain/cold)  |  Group IV (C-unmyelinated, slow pain)", {
    x:0.35, y:5.1, w:9.3, h:0.28, fontSize:8.5, color:GOLD, fontFace:"Calibri", margin:0
  });
}

// ═══════════════════════════════════════════════════════════════
// SLIDE 5 — RESTING MEMBRANE POTENTIAL
// ═══════════════════════════════════════════════════════════════
{
  const s = pres.addSlide();
  s.background = { color: NAVY };
  hdr(s, "Resting Membrane Potential (RMP)", "The electrical potential difference across an unstimulated nerve membrane");

  // Left column — basis
  card(s, 0.22, 1.0, 5.5, 4.42, CARD);
  s.addText("Definition & Values", { x:0.4, y:1.08, w:5.1, h:0.35, fontSize:12.5, bold:true, color:CYAN, fontFace:"Calibri", margin:0 });

  const vals = [
    ["Nerve (neuron)", "−70 mV"],
    ["Skeletal muscle", "−80 to −90 mV"],
    ["Cardiac muscle", "−90 mV"],
    ["Smooth muscle", "−50 to −55 mV"],
  ];
  vals.forEach(([k,v],i) => {
    const y = 1.5 + i*0.45;
    s.addShape(pres.shapes.RECTANGLE, { x:0.38, y, w:5.2, h:0.38, fill:{color:i%2===0?CARD:CARD2}, line:{color:CARD2} });
    s.addText(k, { x:0.48, y:y+0.06, w:2.5, h:0.26, fontSize:9.5, color:GRAY, fontFace:"Calibri", margin:0 });
    s.addText(v, { x:3.0, y:y+0.06, w:2.5, h:0.26, fontSize:12, bold:true, color:GOLD, fontFace:"Calibri", margin:0 });
  });

  s.addText("Basis of RMP", { x:0.4, y:3.38, w:5.1, h:0.35, fontSize:12, bold:true, color:CYAN, fontFace:"Calibri", margin:0 });
  const basis = [
    ["1", "Unequal ion distribution", "High K⁺ & proteins inside; high Na⁺ & Cl⁻ outside"],
    ["2", "Selective permeability", "At rest: K⁺ permeability >> Na⁺ permeability (50–100×)"],
    ["3", "K⁺ diffuses out", "Interior becomes negative; equilibrium reached at E_K"],
    ["4", "Na⁺/K⁺-ATPase pump", "3 Na⁺ out / 2 K⁺ in → electrogenic contribution (~−4 mV)"],
  ];
  basis.forEach(([n,bold,desc],i) => {
    dot(s, 0.42, 3.83+i*0.37, CYAN);
    s.addText(bold+": ", { x:0.6, y:3.8+i*0.37, w:1.7, h:0.28, fontSize:9, bold:true, color:LTEAL, fontFace:"Calibri", margin:0 });
    s.addText(desc, { x:2.28, y:3.8+i*0.37, w:3.3, h:0.28, fontSize:9, color:OFFWHITE, fontFace:"Calibri", margin:0 });
  });

  // Right column — ion diagram
  card(s, 5.9, 1.0, 3.88, 4.42, CARD2);
  s.addText("Ion Distribution", { x:6.05, y:1.08, w:3.6, h:0.35, fontSize:12.5, bold:true, color:CYAN, fontFace:"Calibri", margin:0 });

  // Outside box
  s.addShape(pres.shapes.RECTANGLE, { x:6.0, y:1.5, w:3.7, h:1.08, fill:{color:"0A2535"}, line:{color:LTEAL, pt:1} });
  s.addText("OUTSIDE (ECF)", { x:6.1, y:1.52, w:3.5, h:0.3, fontSize:9, bold:true, color:GRAY, fontFace:"Calibri", align:"center", margin:0 });
  s.addText("Na⁺  142 mEq/L  •  Cl⁻  103 mEq/L  •  K⁺  4 mEq/L", { x:6.05, y:1.85, w:3.65, h:0.28, fontSize:9, color:OFFWHITE, fontFace:"Calibri", align:"center", margin:0 });

  // Membrane
  s.addShape(pres.shapes.RECTANGLE, { x:6.0, y:2.62, w:3.7, h:0.38, fill:{color:TEAL}, line:{color:LTEAL, pt:1} });
  s.addText("⬛ MEMBRANE (selectively permeable)", { x:6.05, y:2.65, w:3.65, h:0.28, fontSize:8.5, bold:true, color:WHITE, fontFace:"Calibri", align:"center", margin:0 });

  // Inside box
  s.addShape(pres.shapes.RECTANGLE, { x:6.0, y:3.04, w:3.7, h:1.08, fill:{color:"0A2535"}, line:{color:LTEAL, pt:1} });
  s.addText("INSIDE (ICF)  [ −70 mV ]", { x:6.1, y:3.06, w:3.5, h:0.3, fontSize:9, bold:true, color:GOLD, fontFace:"Calibri", align:"center", margin:0 });
  s.addText("K⁺  140 mEq/L  •  Proteins⁻  high  •  Na⁺  14 mEq/L", { x:6.05, y:3.38, w:3.65, h:0.28, fontSize:9, color:OFFWHITE, fontFace:"Calibri", align:"center", margin:0 });

  // Nernst equation
  card(s, 5.9, 4.2, 3.88, 1.12, "0A1E2E");
  s.addText("Nernst Equation", { x:6.08, y:4.25, w:3.6, h:0.28, fontSize:9.5, bold:true, color:CYAN, fontFace:"Calibri", margin:0 });
  s.addText("E_ion = (RT/zF) × ln([ion]out / [ion]in)", { x:6.08, y:4.57, w:3.6, h:0.28, fontSize:10, color:GOLD, fontFace:"Calibri", italic:true, margin:0 });
  s.addText("E_K = −94 mV  |  E_Na = +61 mV  |  Actual RMP = −70 mV (GHK equation)", { x:6.08, y:4.88, w:3.65, h:0.28, fontSize:8, color:GRAY, fontFace:"Calibri", margin:0 });
}

// ═══════════════════════════════════════════════════════════════
// SLIDE 6 — ACTION POTENTIAL
// ═══════════════════════════════════════════════════════════════
{
  const s = pres.addSlide();
  s.background = { color: NAVY };
  hdr(s, "Action Potential (AP)", "Rapid, transient, self-propagating change in membrane potential");

  // Left — phases description
  card(s, 0.22, 1.0, 5.35, 4.42, CARD);
  s.addText("Phases of Action Potential", { x:0.4, y:1.07, w:5.0, h:0.38, fontSize:12.5, bold:true, color:CYAN, fontFace:"Calibri", margin:0 });

  const phases = [
    { name:"Resting Phase", val:"−70 mV", color:GRAY,   desc:"Na⁺ channels closed. Resting K⁺ leak channels open. Stable baseline." },
    { name:"Depolarisation", val:"−70→+35 mV", color:RED,    desc:"Threshold (−55 mV) reached → voltage-gated Na⁺ channels OPEN → Na⁺ rushes in → rapid rise." },
    { name:"Overshoot",      val:"+35 mV", color:ORANGE, desc:"Membrane potential exceeds 0 mV. Na⁺ channels begin to inactivate (h-gate closes)." },
    { name:"Repolarisation", val:"+35→−70 mV", color:GREEN,  desc:"Voltage-gated K⁺ channels OPEN → K⁺ flows out → membrane potential falls." },
    { name:"Hyperpolarisation",val:"−70→−80 mV", color:PURPLE, desc:"K⁺ channels close slowly → brief dip below RMP (after-potential). Followed by return to −70 mV." },
  ];

  phases.forEach((p, i) => {
    const y = 1.54 + i * 0.75;
    s.addShape(pres.shapes.RECTANGLE, { x:0.3, y, w:0.08, h:0.62, fill:{color:p.color}, line:{color:p.color} });
    s.addText(p.name, { x:0.46, y:y+0.04, w:2.5, h:0.26, fontSize:9.5, bold:true, color:p.color, fontFace:"Calibri", margin:0 });
    badge(s, 2.95, y+0.04, 1.48, 0.24, p.val, p.color, WHITE);
    s.addText(p.desc, { x:0.46, y:y+0.32, w:4.95, h:0.3, fontSize:8.5, color:OFFWHITE, fontFace:"Calibri", margin:0 });
  });

  // Right — key values + propagation
  card(s, 5.75, 1.0, 4.03, 2.18, CARD2);
  s.addText("Key Values", { x:5.9, y:1.07, w:3.7, h:0.33, fontSize:12, bold:true, color:CYAN, fontFace:"Calibri", margin:0 });
  const kvs = [
    ["RMP",              "−70 mV"],
    ["Threshold",        "−55 mV"],
    ["Peak (overshoot)", "+30 to +40 mV"],
    ["AP duration",      "~1 ms (nerve)"],
    ["Abs. refractory",  "~0.5–1 ms"],
    ["Rel. refractory",  "~1–2 ms"],
  ];
  kvs.forEach(([k,v],i) => {
    s.addText(k, { x:5.88, y:1.47+i*0.27, w:2.0, h:0.24, fontSize:9, color:GRAY, fontFace:"Calibri", margin:0 });
    s.addText(v, { x:7.85, y:1.47+i*0.27, w:1.85, h:0.24, fontSize:9.5, bold:true, color:GOLD, fontFace:"Calibri", margin:0 });
  });

  card(s, 5.75, 3.28, 4.03, 2.14, CARD2);
  s.addText("Propagation", { x:5.9, y:3.35, w:3.7, h:0.33, fontSize:12, bold:true, color:CYAN, fontFace:"Calibri", margin:0 });

  const propItems = [
    ["Continuous conduction", "Unmyelinated fibres — slow (~0.5–2 m/s). Current flows along entire axon membrane."],
    ["Saltatory conduction",  "Myelinated fibres — AP jumps from node to node of Ranvier. Fast (70–120 m/s). Energy-efficient."],
    ["All-or-None",          "AP is full amplitude or absent. Intensity coded by frequency, not amplitude."],
  ];
  propItems.forEach(([title, desc],i) => {
    dot(s, 5.88, 3.82+i*0.5, CYAN);
    s.addText(title+": ", { x:6.06, y:3.79+i*0.5, w:1.95, h:0.26, fontSize:9, bold:true, color:LTEAL, fontFace:"Calibri", margin:0 });
    s.addText(desc, { x:5.88, y:4.03+i*0.5, w:3.82, h:0.26, fontSize:8.5, color:OFFWHITE, fontFace:"Calibri", margin:0 });
  });
}

// ═══════════════════════════════════════════════════════════════
// SLIDE 7 — NEUROMUSCULAR JUNCTION
// ═══════════════════════════════════════════════════════════════
{
  const s = pres.addSlide();
  s.background = { color: NAVY };
  hdr(s, "Neuromuscular Junction (NMJ)", "Synapse between motor neuron axon terminal and skeletal muscle fibre");

  // Structure card
  card(s, 0.22, 1.0, 4.5, 4.42, CARD);
  s.addText("Structure of NMJ", { x:0.4, y:1.07, w:4.2, h:0.35, fontSize:12, bold:true, color:CYAN, fontFace:"Calibri", margin:0 });

  const structItems = [
    ["Presynaptic terminal", "Axon terminal / bouton; ~300,000 synaptic vesicles; mitochondria (ATP for ACh synthesis)"],
    ["Synaptic vesicles",   "Each contains ~10,000 molecules of Acetylcholine (ACh)"],
    ["Synaptic cleft",      "20–30 nm wide; contains Acetylcholinesterase (AChE)"],
    ["Motor end plate",     "Postsynaptic membrane with junctional folds (subneural clefts)"],
    ["ACh receptors",       "Nicotinic receptors (ligand-gated ion channels) at the junctional folds"],
    ["Voltage-gated Na⁺",  "Channels in subneural clefts — generate muscle AP on stimulation"],
  ];
  structItems.forEach(([title,desc],i) => {
    const y = 1.5 + i*0.65;
    s.addShape(pres.shapes.RECTANGLE, { x:0.32, y, w:0.07, h:0.52, fill:{color:i%2===0?TEAL:ORANGE}, line:{color:i%2===0?TEAL:ORANGE} });
    s.addText(title, { x:0.48, y:y+0.04, w:4.1, h:0.22, fontSize:9.5, bold:true, color:i%2===0?CYAN:GOLD, fontFace:"Calibri", margin:0 });
    s.addText(desc, { x:0.48, y:y+0.26, w:4.1, h:0.28, fontSize:8.5, color:OFFWHITE, fontFace:"Calibri", margin:0 });
  });

  // Events card
  card(s, 4.9, 1.0, 4.88, 4.42, CARD2);
  s.addText("Events at NMJ — Step by Step", { x:5.05, y:1.07, w:4.6, h:0.35, fontSize:12, bold:true, color:CYAN, fontFace:"Calibri", margin:0 });

  const steps = [
    ["1", TEAL,   "AP arrives at axon terminal"],
    ["2", CYAN,   "Voltage-gated Ca²⁺ channels open → Ca²⁺ enters (100× rise)"],
    ["3", GREEN,  "Ca²⁺ → exocytosis of ~125 ACh vesicles into cleft"],
    ["4", ORANGE, "ACh binds nicotinic receptors on motor end plate"],
    ["5", PURPLE, "Na⁺/K⁺ flow → End Plate Potential (EPP) generated"],
    ["6", RED,    "EPP → threshold → Muscle Action Potential"],
    ["7", GOLD,   "AChE hydrolyses ACh → acetate + choline; choline recycled"],
  ];
  steps.forEach(([n,col,text],i) => {
    const y = 1.52 + i*0.55;
    s.addShape(pres.shapes.OVAL, { x:5.05, y, w:0.32, h:0.32, fill:{color:col}, line:{color:col} });
    s.addText(n, { x:5.05, y, w:0.32, h:0.32, fontSize:10, bold:true, color:WHITE, fontFace:"Calibri", align:"center", valign:"middle", margin:0 });
    // Arrow
    if (i<6) s.addText("↓", { x:5.14, y:y+0.32, w:0.18, h:0.2, fontSize:9, color:col, fontFace:"Calibri", align:"center", margin:0 });
    s.addText(text, { x:5.45, y:y+0.03, w:4.25, h:0.3, fontSize:9.5, color:OFFWHITE, fontFace:"Calibri", margin:0 });
  });
}

// ═══════════════════════════════════════════════════════════════
// SLIDE 8 — DRUGS AT NMJ & MYASTHENIA GRAVIS
// ═══════════════════════════════════════════════════════════════
{
  const s = pres.addSlide();
  s.background = { color: NAVY };
  hdr(s, "Drugs at NMJ & Clinical Disorders", "Pharmacology of neuromuscular junction");

  // Drugs table
  card(s, 0.22, 1.0, 9.55, 2.75, CARD);
  s.addText("Drugs Acting on NMJ", { x:0.4, y:1.07, w:9.2, h:0.35, fontSize:12.5, bold:true, color:CYAN, fontFace:"Calibri", margin:0 });

  const drugCols = ["Drug", "Mechanism", "Effect", "Clinical Use"];
  const drugColW = [2.2, 2.8, 2.4, 2.3];
  let dcx = 0.3;
  drugCols.forEach((h,i) => {
    s.addShape(pres.shapes.RECTANGLE, { x:dcx, y:1.48, w:drugColW[i]-0.06, h:0.3, fill:{color:TEAL}, line:{color:TEAL} });
    s.addText(h, { x:dcx+0.04, y:1.49, w:drugColW[i]-0.1, h:0.28, fontSize:9, bold:true, color:WHITE, fontFace:"Calibri", align:"center", margin:0 });
    dcx += drugColW[i];
  });
  const drugs = [
    ["Neostigmine / Physostigmine", "Inhibits AChE (reversible)", "↑ ACh in cleft → spasm", "Myasthenia Gravis Tx"],
    ["Succinylcholine", "Depolarising block (nicotinic agonist)", "Flaccid paralysis (sustained depol.)", "Anaesthetic muscle relaxant"],
    ["Curare (tubocurarine)", "Competitive nicotinic antagonist", "Non-depolarising paralysis", "Surgical muscle relaxation"],
    ["Organophosphates", "Irreversibly inhibit AChE", "Cholinergic crisis, death", "Insecticides, nerve agents"],
    ["Botulinum toxin", "Blocks ACh vesicle release", "Flaccid paralysis", "Cosmetic, spasticity, strabismus"],
  ];
  drugs.forEach((row, ri) => {
    const y = 1.82 + ri * 0.36;
    const rowBg = ri%2===0?CARD:CARD2;
    let cx2 = 0.3;
    row.forEach((cell,ci) => {
      s.addShape(pres.shapes.RECTANGLE, { x:cx2, y, w:drugColW[ci]-0.06, h:0.33, fill:{color:rowBg}, line:{color:"1A3A4A",pt:0.5} });
      s.addText(cell, { x:cx2+0.06, y:y+0.05, w:drugColW[ci]-0.12, h:0.24, fontSize:8.5, bold:ci===0, color:ci===0?GOLD:OFFWHITE, fontFace:"Calibri", margin:0 });
      cx2 += drugColW[ci];
    });
  });

  // Myasthenia Gravis
  card(s, 0.22, 3.88, 9.55, 1.5, "0A1E2E");
  s.addShape(pres.shapes.RECTANGLE, { x:0.22, y:3.88, w:9.55, h:0.35, fill:{color:RED}, line:{color:RED} });
  s.addText("⚠  Myasthenia Gravis — Clinical Pearl", { x:0.35, y:3.9, w:9.3, h:0.3, fontSize:11, bold:true, color:WHITE, fontFace:"Calibri", margin:0 });
  const mgItems = [
    "Autoimmune disease: Antibodies against NICOTINIC ACh receptors",
    "↓ Functional receptors → ↓ EPP amplitude → Muscle weakness & fatigability",
    "Hallmark: Weakness WORSE with activity, improves with rest",
    "Treatment: Neostigmine (anticholinesterase) | Thymectomy | Immunosuppressants | Anti-CD20",
  ];
  mgItems.forEach((txt,i) => {
    dot(s, 0.35, 4.32+i*0.27, RED);
    s.addText(txt, { x:0.52, y:4.29+i*0.27, w:9.15, h:0.25, fontSize:9, color:OFFWHITE, fontFace:"Calibri", margin:0 });
  });
}

// ═══════════════════════════════════════════════════════════════
// SLIDE 9 — MUSCLE CONTRACTION
// ═══════════════════════════════════════════════════════════════
{
  const s = pres.addSlide();
  s.background = { color: NAVY };
  hdr(s, "Skeletal Muscle Contraction", "Sliding Filament Theory & Excitation-Contraction Coupling");

  // Left — Sarcomere structure
  card(s, 0.22, 1.0, 4.65, 4.42, CARD);
  s.addText("Sarcomere — Functional Unit", { x:0.4, y:1.07, w:4.3, h:0.35, fontSize:11.5, bold:true, color:CYAN, fontFace:"Calibri", margin:0 });

  const sarcomere = [
    ["Sarcomere", "Region between two Z-lines; basic contractile unit"],
    ["Thick filaments", "Myosin — has globular head (ATPase activity)"],
    ["Thin filaments", "Actin + Troponin + Tropomyosin"],
    ["A band", "Dark band; contains thick (+ thin) filaments; CONSTANT width"],
    ["I band", "Light band; only thin filaments; SHORTENS during contraction"],
    ["H zone", "Only thick filaments in centre; SHORTENS during contraction"],
    ["Z line", "Anchors thin filaments; defines sarcomere boundary"],
    ["M line", "Centre of sarcomere; connects thick filaments"],
  ];
  sarcomere.forEach(([term,def],i) => {
    const y = 1.5 + i*0.48;
    const bg = i%2===0?CARD:CARD2;
    s.addShape(pres.shapes.RECTANGLE, { x:0.3, y, w:4.48, h:0.42, fill:{color:bg}, line:{color:bg} });
    s.addText(term, { x:0.4, y:y+0.08, w:1.6, h:0.26, fontSize:9, bold:true, color:LTEAL, fontFace:"Calibri", margin:0 });
    s.addText(def, { x:2.05, y:y+0.08, w:2.6, h:0.3, fontSize:8.5, color:OFFWHITE, fontFace:"Calibri", margin:0 });
  });

  // Right — ECC + Sliding Filament
  card(s, 5.05, 1.0, 4.73, 2.12, CARD2);
  s.addText("Excitation-Contraction Coupling (ECC)", { x:5.2, y:1.07, w:4.5, h:0.35, fontSize:11, bold:true, color:CYAN, fontFace:"Calibri", margin:0 });
  const ecc = [
    "Muscle AP → T-tubules (transverse tubules)",
    "T-tubules → activate Dihydropyridine receptors",
    "DHP receptors → open Ryanodine receptors on SR",
    "Ca²⁺ released from Sarcoplasmic Reticulum",
    "Ca²⁺ binds Troponin C → tropomyosin moves",
    "Actin binding sites EXPOSED",
    "Myosin heads bind actin → cross-bridge cycle",
  ];
  ecc.forEach((step,i) => {
    dot(s, 5.2, 1.5+i*0.27, i===5?GREEN:TEAL);
    s.addText(step, { x:5.38, y:1.47+i*0.27, w:4.3, h:0.24, fontSize:8.8, color:i===5?GOLD:OFFWHITE, fontFace:"Calibri", bold:i===5, margin:0 });
  });

  card(s, 5.05, 3.22, 4.73, 2.2, CARD2);
  s.addText("Cross-Bridge Cycle (Sliding Filament)", { x:5.2, y:3.29, w:4.5, h:0.33, fontSize:11, bold:true, color:CYAN, fontFace:"Calibri", margin:0 });
  const cb = [
    ["Step 1","Myosin head (ADP+Pi) attaches to ACTIN — cross-bridge formed"],
    ["Step 2","POWER STROKE — head pivots 45° → actin pulled → sarcomere shortens"],
    ["Step 3","ATP binds myosin → head DETACHES from actin (rigor mortis = no ATP)"],
    ["Step 4","ATP hydrolysis → ADP + Pi; myosin head returns to original position (cocked)"],
    ["Step 5","Cycle repeats as long as Ca²⁺ and ATP are available"],
  ];
  cb.forEach(([n,desc],i) => {
    badge(s, 5.18, 3.68+i*0.32, 0.52, 0.22, n, i===1?RED:TEAL, WHITE);
    s.addText(desc, { x:5.78, y:3.67+i*0.32, w:3.92, h:0.28, fontSize:8.5, color:i===1?GOLD:OFFWHITE, fontFace:"Calibri", bold:i===1, margin:0 });
  });
}

// ═══════════════════════════════════════════════════════════════
// SLIDE 10 — MUSCLE MECHANICS
// ═══════════════════════════════════════════════════════════════
{
  const s = pres.addSlide();
  s.background = { color: NAVY };
  hdr(s, "Muscle Mechanics & Types of Contraction", "Twitch, summation, tetanus, and motor unit");

  // Contraction types
  card(s, 0.22, 1.0, 4.65, 2.08, CARD);
  s.addText("Types of Contraction", { x:0.4, y:1.07, w:4.3, h:0.33, fontSize:12, bold:true, color:CYAN, fontFace:"Calibri", margin:0 });
  const contTypes = [
    ["Isotonic",  GREEN,  "Muscle shortens; tension remains constant. E.g., lifting a weight."],
    ["Isometric", ORANGE, "Tension develops; no shortening. E.g., pushing a wall."],
    ["Eccentric", PURPLE, "Muscle lengthens while generating tension. E.g., lowering a weight."],
  ];
  contTypes.forEach(([n,col,d],i) => {
    s.addShape(pres.shapes.RECTANGLE, { x:0.3, y:1.45+i*0.5, w:4.5, h:0.42, fill:{color:CARD2}, line:{color:CARD2} });
    badge(s, 0.35, 1.5+i*0.5, 0.95, 0.28, n, col, WHITE);
    s.addText(d, { x:1.38, y:1.52+i*0.5, w:3.35, h:0.28, fontSize:8.8, color:OFFWHITE, fontFace:"Calibri", margin:0 });
  });

  // Twitch-Tetanus
  card(s, 0.22, 3.18, 4.65, 2.25, CARD);
  s.addText("Twitch → Summation → Tetanus", { x:0.4, y:3.25, w:4.3, h:0.33, fontSize:11.5, bold:true, color:CYAN, fontFace:"Calibri", margin:0 });
  const tetItems = [
    ["Twitch", GRAY, "Single AP → single brief contraction & relaxation cycle"],
    ["Summation", ORANGE, "2nd stimulus before relaxation → greater force (temporal summation)"],
    ["Unfused Tetanus", GREEN, "~30–40 Hz → sustained but incomplete (serrated) contraction"],
    ["Fused Tetanus", RED, "~60–80 Hz → smooth, maximal, sustained contraction"],
  ];
  tetItems.forEach(([n,col,d],i) => {
    dot(s, 0.35, 3.68+i*0.38, col);
    s.addText(n+":", { x:0.52, y:3.65+i*0.38, w:1.45, h:0.28, fontSize:9.5, bold:true, color:col, fontFace:"Calibri", margin:0 });
    s.addText(d, { x:1.95, y:3.65+i*0.38, w:2.85, h:0.28, fontSize:8.8, color:OFFWHITE, fontFace:"Calibri", margin:0 });
  });

  // Motor Unit + Fibre types
  card(s, 5.05, 1.0, 4.73, 2.18, CARD2);
  s.addText("Motor Unit", { x:5.2, y:1.07, w:4.5, h:0.33, fontSize:12, bold:true, color:CYAN, fontFace:"Calibri", margin:0 });
  const muItems = [
    "1 motor neuron + ALL muscle fibres it innervates",
    "Small motor units (e.g., eye): 3–6 fibres → fine control",
    "Large motor units (quadriceps): 1000s → coarse/powerful",
    "Recruitment: more motor units = greater force",
    "Size principle: small (slow) units recruited first",
  ];
  muItems.forEach((txt,i) => {
    dot(s, 5.2, 1.52+i*0.3, TEAL);
    s.addText(txt, { x:5.38, y:1.49+i*0.3, w:4.3, h:0.28, fontSize:9, color:OFFWHITE, fontFace:"Calibri", margin:0 });
  });

  // Fibre types table
  card(s, 5.05, 3.28, 4.73, 2.14, CARD2);
  s.addText("Muscle Fibre Types", { x:5.2, y:3.35, w:4.5, h:0.33, fontSize:12, bold:true, color:CYAN, fontFace:"Calibri", margin:0 });
  const ftHeader = ["Feature","Type I (Slow)","Type II (Fast)"];
  const ftColW = [1.4, 1.5, 1.6];
  let ftx = 5.12;
  ftHeader.forEach((h,i) => {
    s.addShape(pres.shapes.RECTANGLE, { x:ftx, y:3.74, w:ftColW[i]-0.05, h:0.28, fill:{color:TEAL}, line:{color:TEAL} });
    s.addText(h, { x:ftx, y:3.75, w:ftColW[i]-0.05, h:0.25, fontSize:8, bold:true, color:WHITE, fontFace:"Calibri", align:"center", margin:0 });
    ftx += ftColW[i];
  });
  const ftRows = [
    ["Speed","Slow","Fast"],
    ["Metabolism","Oxidative","Glycolytic"],
    ["Fatigue","Resistant","Fatigable"],
    ["Colour","Red","White"],
    ["Function","Posture/endurance","Power/sprinting"],
  ];
  ftRows.forEach((row,ri) => {
    const y = 4.06 + ri*0.26;
    const bg = ri%2===0?CARD:CARD2;
    let cx3 = 5.12;
    row.forEach((cell,ci) => {
      s.addShape(pres.shapes.RECTANGLE, { x:cx3, y, w:ftColW[ci]-0.05, h:0.24, fill:{color:bg}, line:{color:"1A3A4A",pt:0.4} });
      s.addText(cell, { x:cx3+0.04, y:y+0.04, w:ftColW[ci]-0.08, h:0.18, fontSize:8, color:ci===0?LTEAL:OFFWHITE, fontFace:"Calibri", bold:ci===0, margin:0 });
      cx3 += ftColW[ci];
    });
  });
}

// ═══════════════════════════════════════════════════════════════
// SLIDE 11 — DEGENERATION & REGENERATION
// ═══════════════════════════════════════════════════════════════
{
  const s = pres.addSlide();
  s.background = { color: NAVY };
  hdr(s, "Degeneration & Regeneration of Nerve Fibres", "Wallerian degeneration and peripheral nerve repair");

  card(s, 0.22, 1.0, 5.55, 4.42, CARD);
  s.addText("Wallerian Degeneration (Distal to cut)", { x:0.4, y:1.07, w:5.2, h:0.35, fontSize:12, bold:true, color:ORANGE, fontFace:"Calibri", margin:0 });

  const wdEvents = [
    ["Day 1–3",   RED,    "Axon and myelin disintegrate DISTAL to the injury site"],
    ["Day 3–5",   ORANGE, "Schwann cells proliferate; phagocytose axon/myelin debris"],
    ["Day 5–7",   GOLD,   "Macrophages assist in clearance of debris"],
    ["Day 7+",    GREEN,  "Empty endoneurial tube (Schwann cell columns) remains"],
    ["Cell body", PURPLE, "Chromatolysis: Nissl substance dissolves, nucleus displaced peripherally"],
  ];
  wdEvents.forEach(([time,col,desc],i) => {
    const y = 1.5 + i*0.6;
    badge(s, 0.35, y+0.08, 0.85, 0.25, time, col, WHITE);
    s.addText(desc, { x:1.28, y:y+0.05, w:4.35, h:0.45, fontSize:9.5, color:OFFWHITE, fontFace:"Calibri", margin:0 });
    if(i<4) s.addShape(pres.shapes.RECTANGLE, { x:0.7, y:y+0.38, w:0.02, h:0.22, fill:{color:col}, line:{color:col} });
  });

  s.addText("Regeneration", { x:0.4, y:4.58, w:5.2, h:0.3, fontSize:11, bold:true, color:GREEN, fontFace:"Calibri", margin:0 });
  s.addText("Rate: ~1–3 mm/day (1 inch/month)  |  PNS can regenerate; CNS generally cannot  |  Guided by Bands of Büngner (Schwann cell tubes)", {
    x:0.4, y:4.9, w:5.2, h:0.3, fontSize:8.5, color:GRAY, fontFace:"Calibri", margin:0
  });

  // Right — Seddon classification
  card(s, 5.95, 1.0, 3.83, 4.42, CARD2);
  s.addText("Seddon's Classification of Nerve Injury", { x:6.05, y:1.07, w:3.6, h:0.45, fontSize:11, bold:true, color:CYAN, fontFace:"Calibri", margin:0 });

  const seddon = [
    { name:"Neuropraxia", col:GREEN, desc:"Conduction block only. Axon & endoneurium intact. No structural damage.", recovery:"Complete recovery in days–weeks." },
    { name:"Axonotmesis", col:ORANGE, desc:"Axon cut but endoneurium intact. Wallerian degeneration occurs distally.", recovery:"Good recovery (months). Guided by intact endoneurium." },
    { name:"Neurotmesis", col:RED, desc:"Complete nerve transection. All layers severed (axon + myelin + connective tissue).", recovery:"Poor without surgery. Requires nerve repair/grafting." },
  ];
  seddon.forEach((item,i) => {
    const y = 1.6 + i*1.3;
    card(s, 6.0, y, 3.7, 1.18, CARD);
    s.addShape(pres.shapes.RECTANGLE, { x:6.0, y, w:3.7, h:0.32, fill:{color:item.col}, line:{color:item.col} });
    s.addText(item.name, { x:6.08, y:y+0.02, w:3.55, h:0.28, fontSize:11, bold:true, color:WHITE, fontFace:"Calibri", margin:0 });
    s.addText(item.desc, { x:6.08, y:y+0.38, w:3.55, h:0.42, fontSize:9, color:OFFWHITE, fontFace:"Calibri", margin:0 });
    s.addText("↳ "+item.recovery, { x:6.08, y:y+0.82, w:3.55, h:0.28, fontSize:8.5, color:GOLD, fontFace:"Calibri", italic:true, margin:0 });
  });
}

// ═══════════════════════════════════════════════════════════════
// SLIDE 12 — SMOOTH MUSCLE
// ═══════════════════════════════════════════════════════════════
{
  const s = pres.addSlide();
  s.background = { color: NAVY };
  hdr(s, "Smooth Muscle Physiology", "Involuntary muscle found in visceral organs");

  card(s, 0.22, 1.0, 4.65, 2.1, CARD);
  s.addText("Types of Smooth Muscle", { x:0.4, y:1.07, w:4.3, h:0.33, fontSize:12, bold:true, color:CYAN, fontFace:"Calibri", margin:0 });
  const smTypes = [
    { name:"Multi-unit", col:TEAL, desc:"Each fibre independently innervated. E.g., ciliary muscle, iris, piloerector muscles. Neural control dominant." },
    { name:"Unitary (Visceral/Single-unit)", col:ORANGE, desc:"Fibres connected by GAP JUNCTIONS → contract as a unit. Spontaneous activity. E.g., GI tract, uterus, ureter, bladder." },
  ];
  smTypes.forEach(({name,col,desc},i) => {
    const y = 1.48 + i*0.75;
    s.addShape(pres.shapes.RECTANGLE, { x:0.3, y, w:4.48, h:0.62, fill:{color:CARD2}, line:{color:CARD2} });
    badge(s, 0.35, y+0.1, 1.5, 0.26, name, col, WHITE);
    s.addText(desc, { x:1.92, y:y+0.07, w:2.75, h:0.52, fontSize:8.8, color:OFFWHITE, fontFace:"Calibri", margin:0 });
  });

  card(s, 0.22, 3.18, 4.65, 2.24, CARD);
  s.addText("Contraction Mechanism", { x:0.4, y:3.25, w:4.3, h:0.33, fontSize:12, bold:true, color:CYAN, fontFace:"Calibri", margin:0 });
  const smMech = [
    "Ca²⁺ enters from ECF (L-type channels) or released from SR",
    "Ca²⁺ + Calmodulin → Ca-Calmodulin complex",
    "Activates Myosin Light Chain Kinase (MLCK)",
    "MLCK phosphorylates myosin → cross-bridge cycling",
    "Relaxation: MLCK inactivated; myosin phosphatase dephosphorylates",
    "NO TROPONIN in smooth muscle (unlike skeletal)",
  ];
  smMech.forEach((txt,i) => {
    dot(s, 0.35, 3.68+i*0.3, i===5?RED:TEAL);
    s.addText(txt, { x:0.52, y:3.65+i*0.3, w:4.25, h:0.28, fontSize:8.8, bold:i===5, color:i===5?GOLD:OFFWHITE, fontFace:"Calibri", margin:0 });
  });

  // Comparison table
  card(s, 5.05, 1.0, 4.73, 4.42, CARD2);
  s.addText("Skeletal vs Smooth Muscle", { x:5.2, y:1.07, w:4.5, h:0.33, fontSize:12, bold:true, color:CYAN, fontFace:"Calibri", margin:0 });

  const compHeader = ["Feature","Skeletal","Smooth"];
  const compColW = [1.55, 1.55, 1.55];
  let compX = 5.1;
  compHeader.forEach((h,i) => {
    s.addShape(pres.shapes.RECTANGLE, { x:compX, y:1.46, w:compColW[i]-0.05, h:0.3, fill:{color:TEAL}, line:{color:TEAL} });
    s.addText(h, { x:compX, y:1.47, w:compColW[i]-0.05, h:0.28, fontSize:8.5, bold:true, color:WHITE, fontFace:"Calibri", align:"center", margin:0 });
    compX += compColW[i];
  });
  const compRows = [
    ["Control","Voluntary","Involuntary"],
    ["Speed","Fast","Slow"],
    ["Troponin","Present","ABSENT"],
    ["Trigger","Ca²⁺+Troponin","Ca²⁺+Calmodulin/MLCK"],
    ["T-tubules","Present","Absent (caveolae)"],
    ["SR","Well developed","Less developed"],
    ["Striations","Yes","No"],
    ["Nuclei","Multi-nucleate","Single nucleus"],
    ["Fatigue","Fatigable","Resistant"],
    ["Regulation","Neural only","Neural+hormonal+local"],
  ];
  compRows.forEach((row,ri) => {
    const y = 1.8 + ri*0.36;
    const bg = ri%2===0?CARD:CARD2;
    let cx4 = 5.1;
    row.forEach((cell,ci) => {
      s.addShape(pres.shapes.RECTANGLE, { x:cx4, y, w:compColW[ci]-0.05, h:0.32, fill:{color:bg}, line:{color:"1A3A4A",pt:0.4} });
      const isHighlight = (cell==="ABSENT"||cell==="Yes"||cell==="No");
      s.addText(cell, { x:cx4+0.04, y:y+0.06, w:compColW[ci]-0.08, h:0.22, fontSize:8, bold:ci===0||isHighlight, color:ci===0?LTEAL:(isHighlight?RED:OFFWHITE), fontFace:"Calibri", margin:0 });
      cx4 += compColW[ci];
    });
  });
}

// ═══════════════════════════════════════════════════════════════
// SLIDE 13 — SUMMARY / KEY TAKEAWAYS
// ═══════════════════════════════════════════════════════════════
{
  const s = pres.addSlide();
  s.background = { color: DARKNAVY };

  s.addShape(pres.shapes.RECTANGLE, { x:0, y:0, w:10, h:0.09, fill:{color:TEAL}, line:{color:TEAL} });
  s.addShape(pres.shapes.RECTANGLE, { x:0, y:5.55, w:10, h:0.075, fill:{color:TEAL}, line:{color:TEAL} });
  // Decorative
  s.addShape(pres.shapes.OVAL, { x:7.5, y:3.0, w:3.5, h:3.5, fill:{color:TEAL, transparency:91}, line:{color:TEAL, pt:1} });

  s.addText("KEY TAKEAWAYS", { x:0.35, y:0.18, w:9.2, h:0.5, fontSize:22, bold:true, color:WHITE, fontFace:"Calibri", charSpacing:5, margin:0 });
  s.addShape(pres.shapes.RECTANGLE, { x:0.35, y:0.68, w:3.8, h:0.05, fill:{color:CYAN}, line:{color:CYAN} });

  const takeaways = [
    { topic:"RMP",                val:"−70 mV (nerve); maintained by Na⁺/K⁺ pump + K⁺ permeability", col:TEAL },
    { topic:"Action Potential",   val:"Threshold −55 mV; Na⁺ in (depol.) → K⁺ out (repol.); All-or-None", col:CYAN },
    { topic:"Saltatory Conduction",val:"AP jumps node to node in myelinated fibres; 70–120 m/s", col:GREEN },
    { topic:"Nerve Fibre Types",  val:"Aα fastest (70–120 m/s); C slowest (0.5–2 m/s); B = preganglionic autonomic", col:ORANGE },
    { topic:"NMJ Transmitter",    val:"Acetylcholine → nicotinic receptors → EPP → Muscle AP", col:PURPLE },
    { topic:"ECC Messenger",      val:"Ca²⁺ released from SR → binds Troponin C → exposes actin sites", col:RED },
    { topic:"Sliding Filament",   val:"Myosin heads attach to actin → power stroke → sarcomere shortens; ATP needed", col:GOLD },
    { topic:"Smooth Muscle",      val:"No troponin; Ca²⁺ + calmodulin → MLCK → myosin phosphorylation → contraction", col:"2E86C1" },
  ];

  takeaways.forEach((t, i) => {
    const col = i < 4 ? 0 : 1;
    const row = i % 4;
    const x = 0.22 + col * 4.9;
    const y = 0.82 + row * 1.17;
    card(s, x, y, 4.65, 1.05, CARD);
    s.addShape(pres.shapes.RECTANGLE, { x, y, w:0.09, h:1.05, fill:{color:t.col}, line:{color:t.col} });
    s.addText(t.topic, { x:x+0.2, y:y+0.1, w:4.3, h:0.3, fontSize:10.5, bold:true, color:t.col, fontFace:"Calibri", margin:0 });
    s.addText(t.val, { x:x+0.2, y:y+0.44, w:4.3, h:0.52, fontSize:9, color:OFFWHITE, fontFace:"Calibri", margin:0 });
  });
}

// ─── WRITE ────────────────────────────────────────────────────
pres.writeFile({ fileName: "/home/daytona/workspace/nerve-muscle-ppt/Nerve_Muscle_Physiology_BHMS.pptx" })
  .then(() => console.log("✅ Done: Nerve_Muscle_Physiology_BHMS.pptx"))
  .catch(err => { console.error("❌", err); process.exit(1); });
Running Command

cd /home/daytona/workspace/nerve-muscle-ppt && node create_pptx.js 2>&1

Your presentation is ready! Download it here:

Nerve Muscle Physiology BHMS

Presentation · PPTX


13 slides with a deep navy/teal neuroscience theme, fully aligned to BHMS CBDC syllabus:
SlideContent
1Title Slide — Bold typographic cover with decorative neural elements
2CBDC Syllabus Overview — 8 numbered topic cards at a glance
3Physiological Properties — 6 properties (excitability, conductivity, all-or-none, etc.)
4Classification of Nerve Fibres — Complete Erlanger-Gasser table (Aα, Aβ, Aγ, Aδ, B, C) + Lloyd-Hunt
5Resting Membrane Potential — Values table, ion distribution diagram, Nernst equation
6Action Potential — All 5 phases with ion mechanisms + key numerical values + propagation
7Neuromuscular Junction — Structure + 7-step event sequence (ACh release to AChE destruction)
8Drugs at NMJ & Myasthenia Gravis — Drug table (neostigmine, curare, botox, etc.) + MG clinical pearl
9Muscle Contraction — Sarcomere anatomy + ECC steps + cross-bridge cycle
10Muscle Mechanics — Isotonic/isometric/eccentric + twitch/tetanus + motor unit + fibre types
11Degeneration & Regeneration — Wallerian degeneration timeline + Seddon's classification
12Smooth Muscle — Types, contraction mechanism (MLCK pathway), full comparison table vs. skeletal
13Key Takeaways — 8-point summary cards for quick revision
This is a shared conversation. Sign in to Orris to start your own chat.