give ppt of 10-12 slides on the topic "Pubertal menorrhagia & iron dificiency anemia: scope of ayurvedic intervention in adolescent women health" as PG scholar from department in kaumarabhritya

Reading File
Reading File
Reading File
Finding Sources
Finding Sources
Searching the Web

Ayurvedic treatment pubertal menorrhagia iron deficiency anemia adolescent kaumarabhritya

Reading Web Page

https://www.phcogres.com/article/18/1/206

Finding Sources
Searching PubMed

ayurvedic treatment menorrhagia adolescent iron deficiency

Running Command

mkdir -p /tmp/workspace/kaumarabhritya-ppt

Writing File

~/kaumarabhritya-ppt/build_ppt.py

from pptx import Presentation
from pptx.util import Inches, Pt, Emu
from pptx.dml.color import RGBColor
from pptx.enum.text import PP_ALIGN, MSO_ANCHOR
from pptx.util import Inches, Pt
import copy

prs = Presentation()
prs.slide_width = Inches(13.333)
prs.slide_height = Inches(7.5)

blank = prs.slide_layouts[6]

# ---- COLOR PALETTE (Ayurvedic/Academic feel) ----
DEEP_MAROON   = RGBColor(0x6B, 0x17, 0x2B)   # header bars
SAFFRON       = RGBColor(0xE5, 0x80, 0x10)   # accent / highlights
GOLD          = RGBColor(0xC8, 0x9B, 0x2A)   # sub-titles
CREAM         = RGBColor(0xFF, 0xF8, 0xEE)   # slide background
DARK_TEXT     = RGBColor(0x1C, 0x1C, 0x1C)   # body text
WHITE         = RGBColor(0xFF, 0xFF, 0xFF)
LIGHT_GREEN   = RGBColor(0xD4, 0xED, 0xDA)   # table alt rows
MID_MAROON    = RGBColor(0x9B, 0x2C, 0x3E)   # lighter maroon


# ---- HELPERS ----

def add_bg(slide, color=CREAM):
    """Flood the slide background with a solid color."""
    from pptx.oxml.ns import qn
    from lxml import etree
    bg = slide.background
    fill = bg.fill
    fill.solid()
    fill.fore_color.rgb = color

def add_rect(slide, x, y, w, h, fill_color, line_color=None):
    shape = slide.shapes.add_shape(1, Inches(x), Inches(y), Inches(w), Inches(h))
    shape.fill.solid()
    shape.fill.fore_color.rgb = fill_color
    if line_color:
        shape.line.color.rgb = line_color
    else:
        shape.line.fill.background()
    return shape

def add_textbox(slide, text, x, y, w, h,
                font_name="Calibri", font_size=18, bold=False, italic=False,
                color=DARK_TEXT, align=PP_ALIGN.LEFT, wrap=True,
                v_anchor=MSO_ANCHOR.TOP):
    tb = slide.shapes.add_textbox(Inches(x), Inches(y), Inches(w), Inches(h))
    tf = tb.text_frame
    tf.word_wrap = wrap
    tf.vertical_anchor = v_anchor
    tf.margin_left  = Inches(0.05)
    tf.margin_right = Inches(0.05)
    tf.margin_top   = Inches(0.03)
    tf.margin_bottom= Inches(0.03)
    p = tf.paragraphs[0]
    p.alignment = align
    run = p.add_run()
    run.text = text
    run.font.name = font_name
    run.font.size = Pt(font_size)
    run.font.bold = bold
    run.font.italic = italic
    run.font.color.rgb = color
    return tf

def add_header_bar(slide, title, subtitle=None):
    """Maroon header bar at top."""
    add_rect(slide, 0, 0, 13.333, 1.15, DEEP_MAROON)
    add_rect(slide, 0, 1.15, 13.333, 0.07, SAFFRON)
    add_textbox(slide, title, 0.3, 0.08, 12.5, 0.75,
                font_name="Georgia", font_size=28, bold=True,
                color=WHITE, align=PP_ALIGN.CENTER, v_anchor=MSO_ANCHOR.MIDDLE)
    if subtitle:
        add_textbox(slide, subtitle, 0.3, 0.78, 12.5, 0.35,
                    font_name="Calibri", font_size=14, italic=True,
                    color=GOLD, align=PP_ALIGN.CENTER, v_anchor=MSO_ANCHOR.MIDDLE)

def add_footer(slide, text="Dept. of Kaumarabhritya | PG Scholar Presentation"):
    add_rect(slide, 0, 7.1, 13.333, 0.4, DEEP_MAROON)
    add_textbox(slide, text, 0.3, 7.12, 12.7, 0.3,
                font_name="Calibri", font_size=10, color=GOLD,
                align=PP_ALIGN.CENTER, v_anchor=MSO_ANCHOR.MIDDLE)

def add_bullet_content(slide, bullets, x=0.4, y=1.35, w=12.5, h=5.4,
                        font_size=16, indent_char="  "):
    tb = slide.shapes.add_textbox(Inches(x), Inches(y), Inches(w), Inches(h))
    tf = tb.text_frame
    tf.word_wrap = True
    tf.margin_left  = Inches(0.1)
    tf.margin_right = Inches(0.1)
    tf.margin_top   = Inches(0.05)
    first = True
    for bullet in bullets:
        # bullet can be (text, level, bold, color)
        if isinstance(bullet, str):
            bullet = (bullet, 0, False, DARK_TEXT)
        text, level, bold, col = bullet
        if first:
            p = tf.paragraphs[0]
            first = False
        else:
            p = tf.add_paragraph()
        p.level = level
        p.space_before = Pt(4 if level == 0 else 2)
        run = p.add_run()
        run.text = text
        run.font.name = "Calibri"
        run.font.size = Pt(font_size - level * 1.5)
        run.font.bold = bold
        run.font.color.rgb = col

# ================================================================
# SLIDE 1 – TITLE SLIDE
# ================================================================
slide = prs.slides.add_slide(blank)
add_bg(slide, CREAM)

# Decorative top band
add_rect(slide, 0, 0, 13.333, 1.8, DEEP_MAROON)
add_rect(slide, 0, 1.8, 13.333, 0.1, SAFFRON)
# Bottom band
add_rect(slide, 0, 6.6, 13.333, 0.9, DEEP_MAROON)
add_rect(slide, 0, 6.55, 13.333, 0.08, SAFFRON)

add_textbox(slide, "PUBERTAL MENORRHAGIA &\nIRON DEFICIENCY ANEMIA",
            0.5, 0.15, 12.3, 1.55,
            font_name="Georgia", font_size=30, bold=True,
            color=WHITE, align=PP_ALIGN.CENTER, v_anchor=MSO_ANCHOR.MIDDLE)

add_textbox(slide,
            "Scope of Ayurvedic Intervention in Adolescent Women Health",
            0.5, 2.05, 12.3, 0.7,
            font_name="Georgia", font_size=22, italic=True,
            color=DEEP_MAROON, align=PP_ALIGN.CENTER, v_anchor=MSO_ANCHOR.MIDDLE)

add_rect(slide, 3.5, 2.95, 6.333, 0.06, SAFFRON)

add_textbox(slide,
            "Presented by:\n[PG Scholar Name]\nDepartment of Kaumarabhritya",
            0.5, 3.1, 12.3, 1.2,
            font_name="Calibri", font_size=18, bold=False,
            color=DARK_TEXT, align=PP_ALIGN.CENTER, v_anchor=MSO_ANCHOR.TOP)

add_textbox(slide,
            "Under the Guidance of:\n[Name of Guide / HOD]",
            0.5, 4.4, 12.3, 0.9,
            font_name="Calibri", font_size=15, italic=True,
            color=MID_MAROON, align=PP_ALIGN.CENTER, v_anchor=MSO_ANCHOR.TOP)

add_textbox(slide,
            "[Name of Institution] | [University Name] | July 2026",
            0.5, 5.45, 12.3, 0.75,
            font_name="Calibri", font_size=13,
            color=RGBColor(0x55,0x55,0x55), align=PP_ALIGN.CENTER)

add_textbox(slide, "Department of Kaumarabhritya | PG Scholar Presentation",
            0.3, 6.65, 12.7, 0.3,
            font_name="Calibri", font_size=10, color=GOLD,
            align=PP_ALIGN.CENTER, v_anchor=MSO_ANCHOR.MIDDLE)


# ================================================================
# SLIDE 2 – INTRODUCTION & EPIDEMIOLOGY
# ================================================================
slide = prs.slides.add_slide(blank)
add_bg(slide, CREAM)
add_header_bar(slide, "Introduction & Epidemiology")
add_footer(slide)

bullets = [
    ("Puberty & Menstrual Health — An Overview", 0, True, DEEP_MAROON),
    ("  \u2022  Menarche typically occurs between 11\u201315 years; early cycles are often anovulatory", 1, False, DARK_TEXT),
    ("  \u2022  Anovulatory cycles → imbalanced estrogen-progesterone → heavy / irregular bleeding", 1, False, DARK_TEXT),
    ("", 0, False, DARK_TEXT),
    ("Pubertal Menorrhagia — Key Facts", 0, True, DEEP_MAROON),
    ("  \u2022  Menorrhagia: menstrual blood loss > 80 mL / cycle or duration > 7 days", 1, False, DARK_TEXT),
    ("  \u2022  Prevalence: 10–37% of adolescent girls (WHO, 2019)", 1, False, DARK_TEXT),
    ("  \u2022  Leading cause of Iron Deficiency Anemia (IDA) in adolescent females", 1, False, DARK_TEXT),
    ("", 0, False, DARK_TEXT),
    ("Iron Deficiency Anemia in Adolescents", 0, True, DEEP_MAROON),
    ("  \u2022  IDA affects ~29.9% of adolescent girls globally (Global Burden of Disease, 2020)", 1, False, DARK_TEXT),
    ("  \u2022  In India: 59.1% of girls (15\u201319 yrs) are anemic — NFHS-5 (2019\u201321)", 1, False, DARK_TEXT),
    ("  \u2022  Consequences: fatigue, poor cognition, impaired growth, increased infection susceptibility", 1, False, DARK_TEXT),
]
add_bullet_content(slide, bullets, font_size=16)


# ================================================================
# SLIDE 3 – AYURVEDIC CONCEPT: RAJAKALA & ARTAVA
# ================================================================
slide = prs.slides.add_slide(blank)
add_bg(slide, CREAM)
add_header_bar(slide, "Ayurvedic Perspective: Artava & Rajakala",
               subtitle="Conceptual understanding from classical texts")
add_footer(slide)

bullets = [
    ("Artava (Menstrual Blood) — Classical View", 0, True, DEEP_MAROON),
    ("  \u2022  Artava = upadhatu of Rasa Dhatu; governed by Apana Vayu (a subtype of Vata)", 1, False, DARK_TEXT),
    ("  \u2022  Normal Rajakala: 3\u20135 days; Ritu (cycle) = 30 days (Ashtanga Hridayam)", 1, False, DARK_TEXT),
    ("  \u2022  Colour: like Gunja seed or Indragopa insect; quantity: 4 anjali (Sushruta)", 1, False, DARK_TEXT),
    ("", 0, False, DARK_TEXT),
    ("Rajonisheka (Menarche) in Kaumarabhritya", 0, True, DEEP_MAROON),
    ("  \u2022  Kaumarabhritya = branch dealing with children's health (0\u201316 years) & adolescent care", 1, False, DARK_TEXT),
    ("  \u2022  Rajonisheka is a physiological milestone requiring proper Pathya (diet) & Vihara (regimen)", 1, False, DARK_TEXT),
    ("  \u2022  Improper diet / conduct at menarche → Artavadushti or Asrigdhara", 1, False, DARK_TEXT),
    ("", 0, False, DARK_TEXT),
    ("Asrigdhara — Classical Correlation of Menorrhagia", 0, True, DEEP_MAROON),
    ("  \u2022  Asrigdhara = excessive flow of blood from the uterus (Charaka Chikitsa 30)", 1, False, DARK_TEXT),
    ("  \u2022  Predominantly a Pitta-Vata vitiation with Rakta dushti", 1, False, DARK_TEXT),
    ("  \u2022  Pubertal form: anovulatory → Vata-Pitta predominant Asrigdhara", 1, False, DARK_TEXT),
]
add_bullet_content(slide, bullets, font_size=16)


# ================================================================
# SLIDE 4 – PATHOPHYSIOLOGY (Modern + Ayurvedic Correlation)
# ================================================================
slide = prs.slides.add_slide(blank)
add_bg(slide, CREAM)
add_header_bar(slide, "Pathophysiology: Modern & Ayurvedic Correlation")
add_footer(slide)

# Two column boxes
add_rect(slide, 0.3, 1.32, 5.9, 5.5, RGBColor(0xFD,0xF0,0xE0))
add_rect(slide, 6.5, 1.32, 6.5, 5.5, RGBColor(0xE8,0xF4,0xE8))

add_textbox(slide, "Modern Pathophysiology", 0.3, 1.32, 5.9, 0.45,
            font_name="Georgia", font_size=16, bold=True,
            color=WHITE, align=PP_ALIGN.CENTER, v_anchor=MSO_ANCHOR.MIDDLE)
add_rect(slide, 0.3, 1.32, 5.9, 0.45, DEEP_MAROON)
add_textbox(slide, "Modern Pathophysiology", 0.3, 1.32, 5.9, 0.45,
            font_name="Georgia", font_size=16, bold=True,
            color=WHITE, align=PP_ALIGN.CENTER, v_anchor=MSO_ANCHOR.MIDDLE)

add_textbox(slide, "Ayurvedic Pathophysiology", 6.5, 1.32, 6.5, 0.45,
            font_name="Georgia", font_size=16, bold=True,
            color=WHITE, align=PP_ALIGN.CENTER, v_anchor=MSO_ANCHOR.MIDDLE)
add_rect(slide, 6.5, 1.32, 6.5, 0.45, RGBColor(0x2E, 0x7D, 0x32))
add_textbox(slide, "Ayurvedic Pathophysiology", 6.5, 1.32, 6.5, 0.45,
            font_name="Georgia", font_size=16, bold=True,
            color=WHITE, align=PP_ALIGN.CENTER, v_anchor=MSO_ANCHOR.MIDDLE)

modern_points = [
    "• Immaturity of HPO axis → anovulation",
    "• No LH surge → no progesterone → fragile endometrium",
    "• Estrogen breakthrough bleeding",
    "• Coagulation disorders: vWD in 5-36% of adolescent menorrhagia",
    "• Prolonged heavy loss → depleted iron stores",
    "• Serum ferritin < 12 µg/L confirms IDA",
    "• Hb < 11 g/dL in adolescents = anemia (WHO)",
]
tb = slide.shapes.add_textbox(Inches(0.4), Inches(1.85), Inches(5.7), Inches(4.8))
tf = tb.text_frame
tf.word_wrap = True
for i, pt in enumerate(modern_points):
    p = tf.paragraphs[0] if i == 0 else tf.add_paragraph()
    p.space_before = Pt(5)
    run = p.add_run()
    run.text = pt
    run.font.name = "Calibri"
    run.font.size = Pt(14)
    run.font.color.rgb = DARK_TEXT

ayur_points = [
    "• Vata (Apana) vitiation → excess Artava",
    "• Pitta aggravation → Rakta dushti (blood vitiation)",
    "• Agni mandya → poor Rasa/Rakta dhatu formation",
    "• Artavaha srotas dushti → disturbed flow",
    "• Pandu Roga = Rasa-Rakta kshaya (depletion)",
    "• Ojas kshaya → reduced immunity & strength",
    "• Trividha Pandu: Vataja, Pittaja, Kaphaja",
]
tb2 = slide.shapes.add_textbox(Inches(6.6), Inches(1.85), Inches(6.2), Inches(4.8))
tf2 = tb2.text_frame
tf2.word_wrap = True
for i, pt in enumerate(ayur_points):
    p = tf2.paragraphs[0] if i == 0 else tf2.add_paragraph()
    p.space_before = Pt(5)
    run = p.add_run()
    run.text = pt
    run.font.name = "Calibri"
    run.font.size = Pt(14)
    run.font.color.rgb = DARK_TEXT


# ================================================================
# SLIDE 5 – CLINICAL FEATURES & DIAGNOSIS
# ================================================================
slide = prs.slides.add_slide(blank)
add_bg(slide, CREAM)
add_header_bar(slide, "Clinical Features & Diagnosis")
add_footer(slide)

bullets = [
    ("Clinical Features of Pubertal Menorrhagia + IDA", 0, True, DEEP_MAROON),
    ("  \u2022  Excessive, prolonged menstrual flow; soaking > 1 pad/hour for several consecutive hours", 1, False, DARK_TEXT),
    ("  \u2022  Pallor, fatigue, breathlessness, palpitations, poor concentration", 1, False, DARK_TEXT),
    ("  \u2022  Koilonychia (spoon nails), glossitis, angular stomatitis in severe IDA", 1, False, DARK_TEXT),
    ("  \u2022  Growth retardation, poor academic performance", 1, False, DARK_TEXT),
    ("", 0, False, DARK_TEXT),
    ("Investigations", 0, True, DEEP_MAROON),
    ("  \u2022  CBC: Hb, MCV, MCH, MCHC; Peripheral smear: microcytic hypochromic anemia", 1, False, DARK_TEXT),
    ("  \u2022  Serum Ferritin (<12 µg/L), TIBC (elevated), Serum Iron (low)", 1, False, DARK_TEXT),
    ("  \u2022  Coagulation profile, TSH, Pelvic USG (to r/o structural causes)", 1, False, DARK_TEXT),
    ("", 0, False, DARK_TEXT),
    ("Ayurvedic Diagnosis (Nidana Panchaka)", 0, True, DEEP_MAROON),
    ("  \u2022  Nidana: Ahara-Vihara doshaja; Apathya sevana at Rajonisheka", 1, False, DARK_TEXT),
    ("  \u2022  Poorvaroopa: Aruchi, Daurbalya, Gaurava", 1, False, DARK_TEXT),
    ("  \u2022  Roopa: Atiartava (excess flow), Panduta (pallor), Krishata (emaciation), Shrama", 1, False, DARK_TEXT),
    ("  \u2022  Prakriti Pariksha + Nadi Pariksha + Ashtavidha Pariksha for holistic assessment", 1, False, DARK_TEXT),
]
add_bullet_content(slide, bullets, font_size=15)


# ================================================================
# SLIDE 6 – AYURVEDIC TREATMENT PRINCIPLES
# ================================================================
slide = prs.slides.add_slide(blank)
add_bg(slide, CREAM)
add_header_bar(slide, "Ayurvedic Treatment Principles",
               subtitle="Chikitsa Sutra for Asrigdhara & Pandu in Adolescents")
add_footer(slide)

bullets = [
    ("Chaturvidha Chikitsa for Asrigdhara (Menorrhagia)", 0, True, DEEP_MAROON),
    ("  1.  Nidana Parivarjana — Remove causative factors (diet, lifestyle, stress)", 1, False, DARK_TEXT),
    ("  2.  Shodhana — Virechana (Pittashamaka purgation) in selected cases", 1, False, DARK_TEXT),
    ("  3.  Shamana — Internal medications: Stambhana (astringent), Pittashamaka, Raktastambhana", 1, False, DARK_TEXT),
    ("  4.  Rasayana — Rejuvenation to restore Rasa-Rakta dhatu & Ojas", 1, False, DARK_TEXT),
    ("", 0, False, DARK_TEXT),
    ("Chikitsa for Pandu Roga (IDA Correlation)", 0, True, DEEP_MAROON),
    ("  \u2022  Deepana-Pachana: Enhance Jatharagni before Lauha (iron) administration", 1, False, DARK_TEXT),
    ("  \u2022  Lauha Sevana (Iron-based preparations) — principal line of treatment", 1, False, DARK_TEXT),
    ("  \u2022  Pathya: Iron-rich diet — pomegranate, jaggery, green leafy vegetables, sesame", 1, False, DARK_TEXT),
    ("  \u2022  Avoid: Tila taila excess, sour/fermented foods, excessive exertion", 1, False, DARK_TEXT),
    ("", 0, False, DARK_TEXT),
    ("Key Therapeutic Principles", 0, True, MID_MAROON),
    ("  \u2022  Raktaprasadana (blood purification) + Balya (strength promotion)", 1, False, DARK_TEXT),
    ("  \u2022  Anupana: Takra (buttermilk), Gomutra, or warm water for Lauha preparations", 1, False, DARK_TEXT),
]
add_bullet_content(slide, bullets, font_size=15.5)


# ================================================================
# SLIDE 7 – IMPORTANT AYURVEDIC FORMULATIONS
# ================================================================
slide = prs.slides.add_slide(blank)
add_bg(slide, CREAM)
add_header_bar(slide, "Key Ayurvedic Formulations",
               subtitle="Classical & Proprietary drugs for Asrigdhara & Pandu")
add_footer(slide)

# Table
headers = ["Formulation", "Indication", "Key Ingredients / Action", "Reference"]
rows = [
    ["Pushyanuga Churna", "Asrigdhara\n(Menorrhagia)", "Ambashtha, Musta, Khadira — Stambhana, Pittashamaka", "Astanga Hridayam Uttara"],
    ["Chandraprabha Vati", "Pandu + Dhatukshaya", "Shilajatu, Guggulu, Karpura — Balya, Rasayana", "Sharangadhara Samhita"],
    ["Loha Bhasma / Navayasa Lauha", "Pandu Roga (IDA)", "Purified iron — Hb regeneration 0.12–0.16 g/dL/day", "Charaka Chikitsa 16"],
    ["Punarnavadi Mandura", "IDA — community level", "Punarnava, Mandura — Rakta vriddhi, diuretic", "NRHM Drug Kit"],
    ["Shatavari Kalpa / Ghrita", "Artava dushti + Debility", "Asparagus racemosus — phytoestrogen, Rasayana", "Charaka Sutrasthana"],
    ["Triphala + Amalaki Rasayana", "Pandu + Immunity", "Vit C → Fe absorption; antioxidant", "Charaka Chikitsa 1"],
    ["Kumaryasava", "Artava Kshaya / Menstrual regulation", "Aloe vera — menstrual regulator, Vatanulomaka", "Bhaishajya Ratnavali"],
    ["Pradara Chintamani Rasa", "Severe Asrigdhara", "Mercury-sulphur-based; Raktastambhana", "Bhaishajya Ratnavali"],
]

col_widths = [2.4, 2.0, 5.3, 3.2]
col_x = [0.2, 2.65, 4.7, 10.05]
row_h = 0.53
start_y = 1.38

# Header row
for ci, (hdr, cw, cx) in enumerate(zip(headers, col_widths, col_x)):
    add_rect(slide, cx, start_y, cw, 0.48, DEEP_MAROON)
    add_textbox(slide, hdr, cx+0.05, start_y+0.02, cw-0.1, 0.44,
                font_size=12, bold=True, color=WHITE,
                align=PP_ALIGN.CENTER, v_anchor=MSO_ANCHOR.MIDDLE)

for ri, row in enumerate(rows):
    ry = start_y + 0.48 + ri * row_h
    bg = RGBColor(0xFF,0xF0,0xE0) if ri % 2 == 0 else CREAM
    for ci, (cell, cw, cx) in enumerate(zip(row, col_widths, col_x)):
        add_rect(slide, cx, ry, cw, row_h-0.03, bg, DEEP_MAROON)
        add_textbox(slide, cell, cx+0.05, ry+0.02, cw-0.1, row_h-0.07,
                    font_size=11, color=DARK_TEXT,
                    align=PP_ALIGN.LEFT, v_anchor=MSO_ANCHOR.MIDDLE)


# ================================================================
# SLIDE 8 – EXTERNAL THERAPIES & PANCHAKARMA
# ================================================================
slide = prs.slides.add_slide(blank)
add_bg(slide, CREAM)
add_header_bar(slide, "Panchakarma & External Therapies",
               subtitle="Para-surgical & Purification procedures in Adolescent context")
add_footer(slide)

bullets = [
    ("Shodhana (Purificatory) Therapies", 0, True, DEEP_MAROON),
    ("  \u2022  Mridu Virechana (gentle purgation): Haritaki / Trivrit — reduces Pitta, controls bleeding", 1, False, DARK_TEXT),
    ("  \u2022  Basti (medicated enema): Vata regulation; Anuvasana basti with Shatavari Taila", 1, False, DARK_TEXT),
    ("  \u2022  Uttara Basti: For direct Artavaha srotas treatment — Shatapushpa taila / Ghee", 1, False, DARK_TEXT),
    ("", 0, False, DARK_TEXT),
    ("External / Local Therapies", 0, True, DEEP_MAROON),
    ("  \u2022  Udumbara Phala Nasya: Nasya with Udumbara (Ficus racemosa) — studied in pubertal menorrhagia", 1, False, DARK_TEXT),
    ("  \u2022  Yoni Pichu (vaginal tampon): Lodhra-Patha Kashaya soaked — Stambhana + anti-inflammatory", 1, False, DARK_TEXT),
    ("  \u2022  Parisheka (medicated douche): Triphala Kashaya — reduces infection + tones endometrium", 1, False, DARK_TEXT),
    ("", 0, False, DARK_TEXT),
    ("Cautions in Adolescent Population", 0, True, MID_MAROON),
    ("  \u2022  Avoid strong Shodhana (Vamana/Virechana) in early pubertal girls — use Mridu Karma only", 1, False, DARK_TEXT),
    ("  \u2022  Uttara Basti requires experienced practitioner; avoid in nulliparous without guidance", 1, False, DARK_TEXT),
    ("  \u2022  Holistic approach: Yoga, Pranayama (Anulom-Vilom, Bhramari) reduce stress-related HPO axis disruption", 1, False, DARK_TEXT),
]
add_bullet_content(slide, bullets, font_size=15.5)


# ================================================================
# SLIDE 9 – EVIDENCE-BASED REVIEW
# ================================================================
slide = prs.slides.add_slide(blank)
add_bg(slide, CREAM)
add_header_bar(slide, "Evidence-Based Review & Clinical Studies")
add_footer(slide)

bullets = [
    ("Clinical Evidence for Ayurvedic Interventions", 0, True, DEEP_MAROON),
    ("  \u2022  Samal (2016) — Systematic review: Navayasa Lauha, Punarnavadi Mandura better than allopathic Fe salts for IDA; Sarva-Jvara-Hara Lauha — Hb regeneration 0.16 g/dL/day (Phcog Rev 2016)", 1, False, DARK_TEXT),
    ("  \u2022  Vajravataka Mandura RCT — effective, safe, palatable in adolescent girls with IDA (J Ayurveda 2023)", 1, False, DARK_TEXT),
    ("  \u2022  Udumbara Phala Nasya case series — significant reduction in menstrual flow & improvement in Hb (Pharmacog Res 2026)", 1, False, DARK_TEXT),
    ("  \u2022  Ishwarkar et al. (2023) — Ayurvedic formulations improved iron absorption & blood formation in pediatric IDA", 1, False, DARK_TEXT),
    ("", 0, False, DARK_TEXT),
    ("Advantages of Ayurvedic Approach", 0, True, DEEP_MAROON),
    ("  \u2022  No GI side effects (nausea, constipation) unlike ferrous sulphate", 1, False, DARK_TEXT),
    ("  \u2022  Organic acids in formulations → enhanced non-heme iron absorption", 1, False, DARK_TEXT),
    ("  \u2022  Simultaneous Rasayana action: corrects underlying dhatukshaya & boosts immunity", 1, False, DARK_TEXT),
    ("  \u2022  Addresses psycho-social aspect via Sattvavajaya Chikitsa (mind-body medicine)", 1, False, DARK_TEXT),
    ("", 0, False, DARK_TEXT),
    ("Current Gaps in Research", 0, True, MID_MAROON),
    ("  \u2022  Lack of large-scale RCTs in adolescent pubertal menorrhagia specifically", 1, False, DARK_TEXT),
    ("  \u2022  Standardization of classical Lauha Bhasma preparations needed", 1, False, DARK_TEXT),
]
add_bullet_content(slide, bullets, font_size=15)


# ================================================================
# SLIDE 10 – PATHYA-APATHYA (DIET & LIFESTYLE)
# ================================================================
slide = prs.slides.add_slide(blank)
add_bg(slide, CREAM)
add_header_bar(slide, "Pathya-Apathya: Dietary & Lifestyle Guidelines",
               subtitle="Preventive & adjunct care in adolescent girls")
add_footer(slide)

# Two-column layout
add_rect(slide, 0.3, 1.32, 6.0, 5.5, RGBColor(0xFD,0xF5,0xE6))
add_rect(slide, 6.7, 1.32, 6.2, 5.5, RGBColor(0xF9,0xEB,0xEB))

add_rect(slide, 0.3, 1.32, 6.0, 0.42, RGBColor(0x2E, 0x7D, 0x32))
add_textbox(slide, "PATHYA (Do's)", 0.3, 1.32, 6.0, 0.42,
            font_name="Georgia", font_size=16, bold=True,
            color=WHITE, align=PP_ALIGN.CENTER, v_anchor=MSO_ANCHOR.MIDDLE)

add_rect(slide, 6.7, 1.32, 6.2, 0.42, DEEP_MAROON)
add_textbox(slide, "APATHYA (Don'ts)", 6.7, 1.32, 6.2, 0.42,
            font_name="Georgia", font_size=16, bold=True,
            color=WHITE, align=PP_ALIGN.CENTER, v_anchor=MSO_ANCHOR.MIDDLE)

pathya = [
    "Ahara (Diet):",
    "  \u2022  Pomegranate (Dadima) — Raktaprasadana",
    "  \u2022  Jaggery (Guda) + Sesame (Tila) — iron-rich",
    "  \u2022  Amalaki (Amla) — Vit C, enhances Fe absorption",
    "  \u2022  Green leafy vegetables: spinach, methi",
    "  \u2022  Cow's ghee — Rasayana; facilitates drug absorption",
    "  \u2022  Ragi (Finger millet) — calcium + iron",
    "",
    "Vihara (Lifestyle):",
    "  \u2022  Light exercise, Yoga, Pranayama",
    "  \u2022  Adequate rest during menstruation",
    "  \u2022  Regular sleep routine",
]
tb = slide.shapes.add_textbox(Inches(0.4), Inches(1.8), Inches(5.7), Inches(4.9))
tf = tb.text_frame; tf.word_wrap = True
for i, pt in enumerate(pathya):
    p = tf.paragraphs[0] if i == 0 else tf.add_paragraph()
    p.space_before = Pt(3)
    run = p.add_run(); run.text = pt
    run.font.name = "Calibri"; run.font.size = Pt(13)
    run.font.bold = True if (pt.endswith(":")) else False
    run.font.color.rgb = RGBColor(0x1B, 0x5E, 0x20) if pt.endswith(":") else DARK_TEXT

apathya = [
    "Ahara (Avoid):",
    "  \u2022  Excessive sour/fermented food (Amla, Shukta)",
    "  \u2022  Spicy, hot food — aggravates Pitta",
    "  \u2022  Red meat in excess; processed foods",
    "  \u2022  Tea/coffee (tannins inhibit Fe absorption)",
    "  \u2022  Dieting / skipping meals → Agni mandya",
    "",
    "Vihara (Avoid):",
    "  \u2022  Heavy physical exertion during menstruation",
    "  \u2022  Day sleep, disturbed sleep cycles",
    "  \u2022  Stress, excessive screen time",
    "  \u2022  Exposure to cold water / swimming during menses",
]
tb2 = slide.shapes.add_textbox(Inches(6.8), Inches(1.8), Inches(5.9), Inches(4.9))
tf2 = tb2.text_frame; tf2.word_wrap = True
for i, pt in enumerate(apathya):
    p = tf2.paragraphs[0] if i == 0 else tf2.add_paragraph()
    p.space_before = Pt(3)
    run = p.add_run(); run.text = pt
    run.font.name = "Calibri"; run.font.size = Pt(13)
    run.font.bold = True if pt.endswith(":") else False
    run.font.color.rgb = RGBColor(0x7B, 0x00, 0x00) if pt.endswith(":") else DARK_TEXT


# ================================================================
# SLIDE 11 – INTEGRATIVE MANAGEMENT PROTOCOL
# ================================================================
slide = prs.slides.add_slide(blank)
add_bg(slide, CREAM)
add_header_bar(slide, "Proposed Integrative Management Protocol",
               subtitle="Ayurvedic intervention flowchart for PG clinical practice")
add_footer(slide)

# Flow boxes
steps = [
    ("STEP 1: Assessment", "Nidana Panchaka + CBC + Serum Ferritin\nPrakriti, Nadi, Ashtavidha Pariksha"),
    ("STEP 2: Nidana Parivarjana", "Correct diet, lifestyle, reduce stress\nPathya Ahara-Vihara counselling"),
    ("STEP 3: Deepana-Pachana", "Chitrakadi Vati / Trikatu Churna 1 week\nRestore Jatharagni before Lauha admin"),
    ("STEP 4: Shamana Aushadhi", "Pushyanuga Churna (3g BD) — menorrhagia\nNavayasa Lauha / Loha Bhasma — IDA"),
    ("STEP 5: Rasayana", "Shatavari Kalpa / Amalaki Rasayana\nChandraprabha Vati — 3 months"),
    ("STEP 6: Follow-up", "CBC at 4 & 12 weeks; Menstrual diary\nAdjust Anupana & dosage as per response"),
]

box_w = 3.8
box_h = 1.0
for i, (title, content) in enumerate(steps):
    col = i % 2
    row = i // 2
    bx = 0.5 + col * 6.5
    by = 1.38 + row * 1.85
    add_rect(slide, bx, by, box_w + 0.1, box_h + 0.55, DEEP_MAROON)
    add_textbox(slide, title, bx+0.05, by+0.03, box_w, 0.35,
                font_name="Georgia", font_size=13, bold=True,
                color=GOLD, align=PP_ALIGN.LEFT, v_anchor=MSO_ANCHOR.MIDDLE)
    add_textbox(slide, content, bx+0.05, by+0.38, box_w, 0.72,
                font_name="Calibri", font_size=11.5,
                color=WHITE, align=PP_ALIGN.LEFT, v_anchor=MSO_ANCHOR.TOP)

# Arrows between boxes (vertical within columns)
arrow_x_positions = [2.0, 8.6]
for ax in arrow_x_positions:
    for row in range(2):
        ay = 1.38 + row * 1.85 + box_h + 0.55
        add_textbox(slide, "\u25BC", ax, ay + 0.05, 0.4, 0.3,
                    font_size=16, bold=True, color=SAFFRON, align=PP_ALIGN.CENTER)


# ================================================================
# SLIDE 12 – CONCLUSION & REFERENCES
# ================================================================
slide = prs.slides.add_slide(blank)
add_bg(slide, CREAM)
add_header_bar(slide, "Conclusion & References")
add_footer(slide)

# Conclusion box
add_rect(slide, 0.3, 1.35, 12.7, 3.4, RGBColor(0x6B,0x17,0x2B))
add_textbox(slide, "Key Conclusions", 0.35, 1.38, 12.6, 0.42,
            font_name="Georgia", font_size=16, bold=True,
            color=GOLD, align=PP_ALIGN.LEFT, v_anchor=MSO_ANCHOR.MIDDLE)
conclusion_text = (
    "\u2022  Pubertal menorrhagia is a significant cause of IDA in adolescent Indian girls (NFHS-5: 59.1% anemia prevalence).\n"
    "\u2022  Ayurveda offers a holistic framework — Asrigdhara & Pandu Roga — bridging menorrhagia and anemia as a unified Dhatu imbalance.\n"
    "\u2022  Classical formulations (Pushyanuga Churna, Navayasa Lauha, Shatavari, Punarnavadi Mandura) have demonstrated clinical efficacy with superior GI tolerability vs. allopathic iron.\n"
    "\u2022  Kaumarabhritya has a unique scope: preventive Rajonisheka Pathya, early intervention, and Rasayana-based restoration in adolescent females.\n"
    "\u2022  Integrated Ayurvedic protocol — Shodhana \u2192 Shamana \u2192 Rasayana — addresses both menorrhagia and IDA simultaneously."
)
add_textbox(slide, conclusion_text, 0.4, 1.82, 12.5, 2.85,
            font_size=13, color=WHITE, align=PP_ALIGN.LEFT, v_anchor=MSO_ANCHOR.TOP)

# References
add_textbox(slide, "Selected References", 0.3, 4.85, 12.7, 0.32,
            font_name="Georgia", font_size=14, bold=True,
            color=DEEP_MAROON, align=PP_ALIGN.LEFT)

refs = [
    "1. Charaka Samhita, Chikitsa Sthana, Ch. 30 — Yonivyapad Chikitsa; Ch. 16 — Pandu Chikitsa.",
    "2. Ashtanga Hridayam, Uttara Tantra — Stri Roga Nidana & Chikitsa.",
    "3. Samal J. Ayurvedic preparations for the management of IDA: A systematic review. Pharmacog Rev. 2016;10(19):1-6. PMC5822980.",
    "4. Ishwarkar M et al. Ayurvedic management of IDA in children. JAHM. 2023;869.",
    "5. Udumbara Phala Nasya in Pubertal Menorrhagia — Case Series. Pharmacog Res. 2026;18(1):206.",
    "6. NFHS-5 (2019-21), Ministry of Health & Family Welfare, Government of India.",
    "7. Berek JS. Berek & Novak's Gynecology, 16th ed. 2020. (Hematologic Abnormalities in Adolescents).",
]
tb = slide.shapes.add_textbox(Inches(0.3), Inches(5.2), Inches(12.7), Inches(1.75))
tf = tb.text_frame; tf.word_wrap = True
for i, ref in enumerate(refs):
    p = tf.paragraphs[0] if i == 0 else tf.add_paragraph()
    p.space_before = Pt(1)
    run = p.add_run(); run.text = ref
    run.font.name = "Calibri"; run.font.size = Pt(10)
    run.font.color.rgb = RGBColor(0x33,0x33,0x33)


# ================================================================
# SAVE
# ================================================================
out_path = "/tmp/workspace/kaumarabhritya-ppt/Pubertal_Menorrhagia_IDA_Ayurvedic_Intervention.pptx"
prs.save(out_path)
print(f"Saved: {out_path}")
Running Command

cd /tmp/workspace/kaumarabhritya-ppt && python build_ppt.py 2>&1

Running Command

python3 -c " from pptx import Presentation prs = Presentation('/tmp/workspace/kaumarabhritya-ppt/Pubertal_Menorrhagia_IDA_Ayurvedic_Intervention.pptx') print(f'Total slides: {len(prs.slides)}') for i, slide in enumerate(prs.slides, 1): texts = [sh.text_frame.text[:60] for sh in slide.shapes if sh.has_text_frame and sh.text_frame.text.strip()] print(f'Slide {i}: {texts[0] if texts else \"(no text)\"}') "

Your presentation is ready! Download it here:

Pubertal Menorrhagia IDA Ayurvedic Intervention

Presentation · PPTX


Presentation Overview — 12 Slides

The deck uses a deep maroon + saffron gold color scheme (academic Ayurvedic feel), Georgia/Calibri fonts, 16:9 widescreen format, and a consistent header-footer template.
#Slide TitleKey Content
1Title SlideTopic, presenter, guide, department & institution
2Introduction & EpidemiologyMenarche physiology, prevalence data (10-37% menorrhagia; NFHS-5: 59.1% anemia in Indian adolescents)
3Ayurvedic Perspective: Artava & RajakalaClassical definition of Artava, Rajonisheka in Kaumarabhritya, Asrigdhara concept
4Pathophysiology: Modern & Ayurvedic CorrelationTwo-column layout — HPO axis/coagulation vs. Apana Vata/Rakta dushti/Pandu
5Clinical Features & DiagnosisSymptoms, investigations (Hb, ferritin, TIBC), Nidana Panchaka & Ashtavidha Pariksha
6Ayurvedic Treatment PrinciplesChaturvidha Chikitsa, Deepana-Pachana, Lauha Sevana, Anupana
7Key Ayurvedic FormulationsFormatted table: Pushyanuga Churna, Navayasa Lauha, Punarnavadi Mandura, Shatavari, Chandraprabha Vati, Kumaryasava, Pradara Chintamani Rasa
8Panchakarma & External TherapiesVirechana, Basti, Uttara Basti, Udumbara Phala Nasya, Yoni Pichu, adolescent safety precautions
9Evidence-Based ReviewPublished studies (Samal 2016, Ishwarkar 2023, Udumbara case series), advantages over allopathic iron, research gaps
10Pathya-ApathyaTwo-column Do's/Don'ts: pomegranate, amla, jaggery vs. tea/coffee, spicy food; yoga, rest
11Integrative Management Protocol6-step flowchart: Assessment → Nidana Parivarjana → Deepana-Pachana → Shamana → Rasayana → Follow-up
12Conclusion & References5 key take-aways + 7 references (Charaka, Ashtanga Hridayam, PMC studies, NFHS-5)
To personalise: Replace "[PG Scholar Name]", "[Name of Guide / HOD]", and "[Name of Institution]" on Slide 1 before presenting.

give ppt of 10-12 slides on the topic "Disorders in puberty" corelation with ayurveda & contemporary science references as PG scholar from department in kaumarabhritya

Reading File
Searching the Web

disorders of puberty precocious delayed puberty Ayurvedic correlation kaumarabhritya classical texts

Finding Sources
Finding Sources
Reading File
Reading File
Reading Web Page

https://www.wjpls.org/download/article/85092022/1664785897.p…

Finding Sources
Running Command

mkdir -p /tmp/workspace/disorders-puberty-ppt

Writing File

~/disorders-puberty-ppt/build_ppt.py

from pptx import Presentation
from pptx.util import Inches, Pt, Emu
from pptx.dml.color import RGBColor
from pptx.enum.text import PP_ALIGN, MSO_ANCHOR

prs = Presentation()
prs.slide_width  = Inches(13.333)
prs.slide_height = Inches(7.5)

blank = prs.slide_layouts[6]

# ── PALETTE ──────────────────────────────────────────────────────────────────
DEEP_TEAL   = RGBColor(0x00, 0x4D, 0x5E)   # header bars
SAFFRON     = RGBColor(0xE8, 0x7F, 0x0A)   # accent line / arrows
GOLD        = RGBColor(0xF5, 0xC5, 0x18)   # sub-header text on dark
CREAM       = RGBColor(0xFF, 0xFB, 0xF2)   # slide background
DARK_TEXT   = RGBColor(0x1A, 0x1A, 0x2E)   # body text
WHITE       = RGBColor(0xFF, 0xFF, 0xFF)
TEAL_LIGHT  = RGBColor(0xD4, 0xEE, 0xF4)   # alt row / box bg
MID_TEAL    = RGBColor(0x00, 0x7A, 0x99)   # sub-headings in body
FOREST      = RGBColor(0x1B, 0x5E, 0x20)   # Ayurvedic column
DARK_RED    = RGBColor(0x7B, 0x00, 0x00)   # caution text

# ── HELPERS ──────────────────────────────────────────────────────────────────

def add_bg(slide, color=CREAM):
    fill = slide.background.fill
    fill.solid()
    fill.fore_color.rgb = color

def add_rect(slide, x, y, w, h, fill_color, line_color=None):
    s = slide.shapes.add_shape(1, Inches(x), Inches(y), Inches(w), Inches(h))
    s.fill.solid()
    s.fill.fore_color.rgb = fill_color
    if line_color:
        s.line.color.rgb = line_color
    else:
        s.line.fill.background()
    return s

def add_tb(slide, text, x, y, w, h,
           fname="Calibri", fsize=16, bold=False, italic=False,
           color=DARK_TEXT, align=PP_ALIGN.LEFT, wrap=True,
           vanchor=MSO_ANCHOR.TOP):
    tb = slide.shapes.add_textbox(Inches(x), Inches(y), Inches(w), Inches(h))
    tf = tb.text_frame
    tf.word_wrap = wrap
    tf.vertical_anchor = vanchor
    tf.margin_left = tf.margin_right = Inches(0.06)
    tf.margin_top  = tf.margin_bottom = Inches(0.03)
    p = tf.paragraphs[0]
    p.alignment = align
    r = p.add_run()
    r.text = text
    r.font.name  = fname
    r.font.size  = Pt(fsize)
    r.font.bold  = bold
    r.font.italic = italic
    r.font.color.rgb = color
    return tf

def add_header(slide, title, subtitle=None):
    add_rect(slide, 0, 0, 13.333, 1.18, DEEP_TEAL)
    add_rect(slide, 0, 1.18, 13.333, 0.07, SAFFRON)
    add_tb(slide, title, 0.25, 0.07, 12.8, 0.78,
           fname="Georgia", fsize=28, bold=True,
           color=WHITE, align=PP_ALIGN.CENTER, vanchor=MSO_ANCHOR.MIDDLE)
    if subtitle:
        add_tb(slide, subtitle, 0.25, 0.82, 12.8, 0.34,
               fname="Calibri", fsize=14, italic=True,
               color=GOLD, align=PP_ALIGN.CENTER, vanchor=MSO_ANCHOR.MIDDLE)

def add_footer(slide, text="Dept. of Kaumarabhritya  |  PG Scholar Presentation  |  Disorders in Puberty"):
    add_rect(slide, 0, 7.1, 13.333, 0.4, DEEP_TEAL)
    add_tb(slide, text, 0.3, 7.12, 12.7, 0.3,
           fsize=10, color=GOLD, align=PP_ALIGN.CENTER, vanchor=MSO_ANCHOR.MIDDLE)

def bullet_frame(slide, bullets, x=0.35, y=1.33, w=12.6, h=5.5, fsize=15.5):
    tb = slide.shapes.add_textbox(Inches(x), Inches(y), Inches(w), Inches(h))
    tf = tb.text_frame
    tf.word_wrap = True
    tf.margin_left = Inches(0.08); tf.margin_right = Inches(0.08)
    tf.margin_top  = Inches(0.04); tf.margin_bottom = Inches(0.04)
    first = True
    for b in bullets:
        if isinstance(b, str):
            b = (b, 0, False, DARK_TEXT)
        text, lvl, bold, col = b
        p = tf.paragraphs[0] if first else tf.add_paragraph()
        first = False
        p.level = lvl
        p.space_before = Pt(5 if lvl == 0 else 2)
        r = p.add_run()
        r.text = text
        r.font.name  = "Calibri"
        r.font.size  = Pt(fsize - lvl * 1.5)
        r.font.bold  = bold
        r.font.color.rgb = col

# ═════════════════════════════════════════════════════════════════════════════
# SLIDE 1 – TITLE
# ═════════════════════════════════════════════════════════════════════════════
s = prs.slides.add_slide(blank); add_bg(s, CREAM)

add_rect(s, 0, 0, 13.333, 1.9, DEEP_TEAL)
add_rect(s, 0, 1.9, 13.333, 0.1, SAFFRON)
add_rect(s, 0, 6.6, 13.333, 0.9, DEEP_TEAL)
add_rect(s, 0, 6.56, 13.333, 0.07, SAFFRON)

add_tb(s, "DISORDERS IN PUBERTY",
       0.5, 0.12, 12.3, 1.0,
       fname="Georgia", fsize=36, bold=True,
       color=WHITE, align=PP_ALIGN.CENTER, vanchor=MSO_ANCHOR.MIDDLE)
add_tb(s, "Correlation with Ayurveda & Contemporary Science",
       0.5, 1.06, 12.3, 0.75,
       fname="Georgia", fsize=21, italic=True,
       color=GOLD, align=PP_ALIGN.CENTER, vanchor=MSO_ANCHOR.MIDDLE)

add_rect(s, 3.0, 2.15, 7.333, 0.06, SAFFRON)

add_tb(s, "Presented by:\n[PG Scholar Name]\nDepartment of Kaumarabhritya",
       0.5, 2.28, 12.3, 1.1,
       fsize=18, color=DARK_TEXT, align=PP_ALIGN.CENTER)
add_tb(s, "Under the Guidance of:\n[Name of Guide / HOD]",
       0.5, 3.5, 12.3, 0.8,
       fsize=15, italic=True, color=MID_TEAL, align=PP_ALIGN.CENTER)
add_tb(s, "[Name of Institution]  |  [University Name]  |  July 2026",
       0.5, 4.45, 12.3, 0.65,
       fsize=13, color=RGBColor(0x44,0x44,0x44), align=PP_ALIGN.CENTER)
add_tb(s, "Dept. of Kaumarabhritya  |  PG Scholar Presentation  |  Disorders in Puberty",
       0.3, 6.65, 12.7, 0.3,
       fsize=10, color=GOLD, align=PP_ALIGN.CENTER, vanchor=MSO_ANCHOR.MIDDLE)


# ═════════════════════════════════════════════════════════════════════════════
# SLIDE 2 – NORMAL PUBERTY: CONTEMPORARY & AYURVEDIC
# ═════════════════════════════════════════════════════════════════════════════
s = prs.slides.add_slide(blank); add_bg(s, CREAM)
add_header(s, "Normal Puberty: A Dual Perspective",
           subtitle="Contemporary Science & Ayurvedic Classical Correlation")
add_footer(s)

bullets = [
    ("Contemporary Science — Normal Milestones", 0, True, DEEP_TEAL),
    ("  \u2022  Girls: Thelarche (8–13 yr) \u2192 Pubarche \u2192 Peak Height Velocity \u2192 Menarche (11–15 yr)", 1, False, DARK_TEXT),
    ("  \u2022  Boys: Testicular enlargement (9–14 yr) \u2192 Pubarche \u2192 Voice change \u2192 Spermarche", 1, False, DARK_TEXT),
    ("  \u2022  Governed by HPG axis: GnRH \u2192 LH / FSH \u2192 gonadal steroids (estrogen, testosterone)", 1, False, DARK_TEXT),
    ("  \u2022  Tanner Stages I–V (Marshall & Tanner, 1969) — standard clinical grading", 1, False, DARK_TEXT),
    ("", 0, False, DARK_TEXT),
    ("Ayurvedic Perspective — Kaumarabhritya Framework", 0, True, MID_TEAL),
    ("  \u2022  Bala Avastha (0–16 yr) → Kumara / Kishora phase (puberty = Yauvanarambha)", 1, False, DARK_TEXT),
    ("  \u2022  Rajonisheka (menarche): indicates Apana Vata & Rasa-Rakta dhatu maturation", 1, False, DARK_TEXT),
    ("  \u2022  Shukra dhatu: final essence; its development marks pubertal completion in both sexes", 1, False, DARK_TEXT),
    ("  \u2022  Saptadhatu progression — Rasa \u2192 Rakta \u2192 Mamsa \u2192 Meda \u2192 Asthi \u2192 Majja \u2192 Shukra/Artava", 1, False, DARK_TEXT),
    ("", 0, False, DARK_TEXT),
    ("Key References", 0, True, SAFFRON),
    ("  \u2022  Charaka Samhita, Sharira Sthana 8; Sushruta Samhita, Sharira Sthana 3; Ashtanga Hridayam, Sharira 1", 1, False, DARK_TEXT),
    ("  \u2022  Berek & Novak's Gynecology 16th ed., Ch. 8 (Pubertal Development)", 1, False, DARK_TEXT),
]
bullet_frame(s, bullets, fsize=15.5)


# ═════════════════════════════════════════════════════════════════════════════
# SLIDE 3 – CLASSIFICATION OF PUBERTAL DISORDERS
# ═════════════════════════════════════════════════════════════════════════════
s = prs.slides.add_slide(blank); add_bg(s, CREAM)
add_header(s, "Classification of Pubertal Disorders",
           subtitle="Contemporary & Ayurvedic classification schema")
add_footer(s)

# Left box
add_rect(s, 0.25, 1.33, 6.1, 5.55, TEAL_LIGHT)
add_rect(s, 0.25, 1.33, 6.1, 0.44, DEEP_TEAL)
add_tb(s, "Contemporary Classification", 0.25, 1.33, 6.1, 0.44,
       fname="Georgia", fsize=15, bold=True, color=WHITE,
       align=PP_ALIGN.CENTER, vanchor=MSO_ANCHOR.MIDDLE)

modern = [
    "A. PRECOCIOUS PUBERTY (<8 yr girls; <9 yr boys)",
    "  1. Central (GnRH-dependent) — idiopathic / CNS lesion",
    "  2. Peripheral (GnRH-independent) — gonadal/adrenal",
    "  3. Incomplete variants: Premature thelarche,\n     Premature adrenarche, Premature menarche",
    "",
    "B. DELAYED PUBERTY (>13 yr girls; >14 yr boys)",
    "  1. Constitutional Delay of Growth & Puberty (CDGP)",
    "  2. Hypogonadotropic Hypogonadism (low LH/FSH)",
    "  3. Hypergonadotropic Hypogonadism (gonadal failure)",
    "  4. Anatomic outflow tract abnormalities",
    "",
    "C. HETEROSEXUAL / ASYNCHRONOUS PUBERTY",
    "  \u2022  PCOS (most common) — virilization at puberty",
    "  \u2022  CAH, androgen insensitivity syndrome",
]
tb = s.shapes.add_textbox(Inches(0.35), Inches(1.83), Inches(5.9), Inches(4.9))
tf = tb.text_frame; tf.word_wrap = True
for i, pt in enumerate(modern):
    p = tf.paragraphs[0] if i == 0 else tf.add_paragraph()
    p.space_before = Pt(3)
    r = p.add_run(); r.text = pt
    r.font.name = "Calibri"; r.font.size = Pt(12.5)
    r.font.bold = (pt.startswith(("A.", "B.", "C.")))
    r.font.color.rgb = DEEP_TEAL if pt.startswith(("A.", "B.", "C.")) else DARK_TEXT

# Right box
add_rect(s, 6.65, 1.33, 6.45, 5.55, RGBColor(0xE8,0xF5,0xE9))
add_rect(s, 6.65, 1.33, 6.45, 0.44, FOREST)
add_tb(s, "Ayurvedic Classification (Artava / Yauvanaja Roga)", 6.65, 1.33, 6.45, 0.44,
       fname="Georgia", fsize=14, bold=True, color=WHITE,
       align=PP_ALIGN.CENTER, vanchor=MSO_ANCHOR.MIDDLE)

ayur = [
    "A. ATIYAUVANA (Precocious Puberty)",
    "  \u2022  Ativriddhata of Rasa-Rakta-Shukra dhatu",
    "  \u2022  Pitta-Kapha vriddhi; Medovaha srotas dushti",
    "  \u2022  Ref: Charaka Sharira 8, Ashtanga Hridayam Sharira",
    "",
    "B. VILAMBITAYAUVANA (Delayed Puberty)",
    "  \u2022  Shukra Kshaya, Artava Kshaya",
    "  \u2022  Apana Vata & Vyana Vata dushti",
    "  \u2022  Dhatu kshaya → Agni mandya",
    "  \u2022  Ref: Charaka Chikitsa 2, Sushruta Chikitsa 37",
    "",
    "C. VISHAMA YAUVANARAMBHA",
    "  \u2022  Asynchronous development",
    "  \u2022  Artava dushti + Vata-Kapha predominant",
    "  \u2022  PCOS \u2194 Pushpaghni Jataharin (Kashyapa)",
]
tb2 = s.shapes.add_textbox(Inches(6.75), Inches(1.83), Inches(6.25), Inches(4.9))
tf2 = tb2.text_frame; tf2.word_wrap = True
for i, pt in enumerate(ayur):
    p = tf2.paragraphs[0] if i == 0 else tf2.add_paragraph()
    p.space_before = Pt(3)
    r = p.add_run(); r.text = pt
    r.font.name = "Calibri"; r.font.size = Pt(12.5)
    r.font.bold = pt.startswith(("A.", "B.", "C."))
    r.font.color.rgb = FOREST if pt.startswith(("A.", "B.", "C.")) else DARK_TEXT


# ═════════════════════════════════════════════════════════════════════════════
# SLIDE 4 – PRECOCIOUS PUBERTY: CONTEMPORARY SCIENCE
# ═════════════════════════════════════════════════════════════════════════════
s = prs.slides.add_slide(blank); add_bg(s, CREAM)
add_header(s, "Precocious Puberty — Contemporary Science",
           subtitle="Definition | Etiology | Diagnosis | Management")
add_footer(s)

bullets = [
    ("Definition", 0, True, DEEP_TEAL),
    ("  \u2022  Onset of secondary sexual characteristics before 8 yrs (girls) or 9 yrs (boys)  [Berek & Novak, 16e]", 1, False, DARK_TEXT),
    ("  \u2022  Two types: Central (GnRH-dependent / true) vs. Peripheral (GnRH-independent)", 1, False, DARK_TEXT),
    ("Etiology", 0, True, DEEP_TEAL),
    ("  \u2022  Central: Idiopathic (most common in girls, 90%); Hypothalamic hamartoma (2–28%); CNS tumors, infections, hydrocephalus", 1, False, DARK_TEXT),
    ("  \u2022  Peripheral: Ovarian/adrenal tumors, McCune-Albright syndrome, CAH, exogenous estrogen", 1, False, DARK_TEXT),
    ("  \u2022  Premature thelarche / adrenarche: benign variants — no GnRH activation", 1, False, DARK_TEXT),
    ("Clinical Features", 0, True, DEEP_TEAL),
    ("  \u2022  Advanced bone age, accelerated height velocity, emotional/behavioral changes", 1, False, DARK_TEXT),
    ("  \u2022  Girls: breast development, menstruation; Boys: testicular/penile enlargement, pubic hair", 1, False, DARK_TEXT),
    ("Investigations & Management", 0, True, DEEP_TEAL),
    ("  \u2022  Bone age X-ray, LH/FSH levels, GnRH stimulation test, MRI Brain, Pelvic USG", 1, False, DARK_TEXT),
    ("  \u2022  GnRHa (Leuprolide) — gold standard; discontinue at bone age ~12 yr to optimise adult height", 1, False, DARK_TEXT),
    ("  \u2022  Ref: Berek & Novak's Gynecology 16e, Ch. 8; Goldman-Cecil Medicine 26e, Ch. 233", 1, False, DARK_TEXT),
]
bullet_frame(s, bullets, fsize=15)


# ═════════════════════════════════════════════════════════════════════════════
# SLIDE 5 – PRECOCIOUS PUBERTY: AYURVEDIC CORRELATION
# ═════════════════════════════════════════════════════════════════════════════
s = prs.slides.add_slide(blank); add_bg(s, CREAM)
add_header(s, "Precocious Puberty — Ayurvedic Correlation",
           subtitle="Atiyauvana | Dosha-Dhatu analysis | Classical references")
add_footer(s)

bullets = [
    ("Ayurvedic Concept — Atiyauvana / Akala Yauvanprapti", 0, True, FOREST),
    ("  \u2022  Premature maturation of Shukra / Artava dhatu = Atipravritti of Saptadhatu paka", 1, False, DARK_TEXT),
    ("  \u2022  Pitta-Kapha predominant vitiation → hyperstimulation of Garbhashaya & Shukravaha srotas", 1, False, DARK_TEXT),
    ("  \u2022  Medovaha srotas dushti (adiposity-linked): obesity → early thelarche correlation", 1, False, DARK_TEXT),
    ("  \u2022  Charaka (Sharira 8): 'Garbheshveva cha shukram vriddhimapnoti' — Shukra matures sequentially", 1, False, DARK_TEXT),
    ("", 0, False, DARK_TEXT),
    ("Nidana (Causative Factors — Ayurvedic)", 0, True, FOREST),
    ("  \u2022  Guru (heavy), Ushna, Snigdha Ahara in excess → Pitta-Kapha vriddhi", 1, False, DARK_TEXT),
    ("  \u2022  Sedentary lifestyle → Meda vriddhi → Adipokine-Leptin axis (contemporary parallel)", 1, False, DARK_TEXT),
    ("  \u2022  Endocrine disruptors (Agantuja hetu): chemical exposure = Visha-Gara prabhava", 1, False, DARK_TEXT),
    ("", 0, False, DARK_TEXT),
    ("Chikitsa (Ayurvedic Management)", 0, True, FOREST),
    ("  \u2022  Lekhaniya Dravyas (scraping therapy): Guggulu, Triphala, Vacha — reduces Meda, regulates Shukra", 1, False, DARK_TEXT),
    ("  \u2022  Shatavari + Brahmi — neuro-endocrine regulation (HPG axis modulation)", 1, False, DARK_TEXT),
    ("  \u2022  Virechana (mild): Pittashamaka purgation; Rajonisheka Pathya strictly followed", 1, False, DARK_TEXT),
    ("  \u2022  Ref: Charaka Sharira 8; Kashyapa Samhita, Khila Sthana; Ashtanga Hridayam Sharira 1", 1, False, DARK_TEXT),
]
bullet_frame(s, bullets, fsize=14.8)


# ═════════════════════════════════════════════════════════════════════════════
# SLIDE 6 – DELAYED PUBERTY: CONTEMPORARY SCIENCE
# ═════════════════════════════════════════════════════════════════════════════
s = prs.slides.add_slide(blank); add_bg(s, CREAM)
add_header(s, "Delayed Puberty — Contemporary Science",
           subtitle="Definition | Classification | Etiology | Management")
add_footer(s)

bullets = [
    ("Definition", 0, True, DEEP_TEAL),
    ("  \u2022  Absence of breast development by age 13 (girls) or testicular enlargement by 14 (boys)", 1, False, DARK_TEXT),
    ("  \u2022  OR no menarche within 5 years of onset of puberty  [Palmert & Dunkel, NEJM 2012]", 1, False, DARK_TEXT),
    ("Classification & Etiology", 0, True, DEEP_TEAL),
    ("  1. Constitutional Delay of Growth & Puberty (CDGP) — most common (60%); benign, familial", 1, False, DARK_TEXT),
    ("  2. Hypogonadotropic Hypogonadism (low FSH/LH):", 1, False, DARK_TEXT),
    ("     - Kallmann syndrome (GnRH deficiency + anosmia); Pituitary tumors; Chronic illness; Malnutrition", 1, False, DARK_TEXT),
    ("  3. Hypergonadotropic Hypogonadism (elevated FSH/LH):", 1, False, DARK_TEXT),
    ("     - Turner syndrome (45,X); Premature ovarian insufficiency; Gonadal dysgenesis", 1, False, DARK_TEXT),
    ("  4. Anatomic: Imperforate hymen, Müllerian agenesis (MRKH)", 1, False, DARK_TEXT),
    ("Investigations & Management", 0, True, DEEP_TEAL),
    ("  \u2022  Bone age, Karyotype, FSH/LH/Estradiol/Testosterone, Prolactin, TSH, MRI pituitary", 1, False, DARK_TEXT),
    ("  \u2022  CDGP: Watchful waiting ± low-dose testosterone/estrogen for 3–6 months to initiate puberty", 1, False, DARK_TEXT),
    ("  \u2022  HRT (Hormone Replacement) in Turner syndrome; GnRH pump in Kallmann syndrome", 1, False, DARK_TEXT),
    ("  \u2022  Ref: Goldman-Cecil 26e, Ch. 233; Katzung Pharmacology 16e (GnRH analogs)", 1, False, DARK_TEXT),
]
bullet_frame(s, bullets, fsize=14.5)


# ═════════════════════════════════════════════════════════════════════════════
# SLIDE 7 – DELAYED PUBERTY: AYURVEDIC CORRELATION
# ═════════════════════════════════════════════════════════════════════════════
s = prs.slides.add_slide(blank); add_bg(s, CREAM)
add_header(s, "Delayed Puberty — Ayurvedic Correlation",
           subtitle="Vilambitayauvana | Shukra-Artava Kshaya | Classical Chikitsa")
add_footer(s)

bullets = [
    ("Ayurvedic Concept — Vilambitayauvana / Artava Kshaya", 0, True, FOREST),
    ("  \u2022  Delayed puberty = failure of sequential Dhatu paka to reach Shukra / Artava stage", 1, False, DARK_TEXT),
    ("  \u2022  Root cause: Agni Mandya \u2192 poor Ahara paka \u2192 Dhatu kshaya (Rasa \u2192 Rakta kshaya first)", 1, False, DARK_TEXT),
    ("  \u2022  Apana Vata dushti: impairs downward movement → Artavaha srotas obstruction", 1, False, DARK_TEXT),
    ("  \u2022  Turner syndrome \u2194 Sahaja (congenital) Beeja dosha / Kshetra dosha (Charaka Sharira 3)", 1, False, DARK_TEXT),
    ("", 0, False, DARK_TEXT),
    ("Nidana (Causative Factors)", 0, True, FOREST),
    ("  \u2022  Atishodhana (over-purification), excessive exertion, malnutrition, chronic illness", 1, False, DARK_TEXT),
    ("  \u2022  Manasika Hetu: Chinta, Shoka (stress, grief) → Vata vriddhi → HPG axis suppression", 1, False, DARK_TEXT),
    ("", 0, False, DARK_TEXT),
    ("Chikitsa (Ayurvedic Management)", 0, True, FOREST),
    ("  \u2022  Deepana-Pachana: Trikatu Churna — restore Agni before Dhatu-vardhaka therapy", 1, False, DARK_TEXT),
    ("  \u2022  Shatavari Kalpa / Ghrita — Rasayana; phytoestrogen action (Asparagus racemosus)", 1, False, DARK_TEXT),
    ("  \u2022  Ashwagandha (Withania somnifera) — Balya, Vajikara; supports gonadal steroidogenesis", 1, False, DARK_TEXT),
    ("  \u2022  Basti Chikitsa (Anuvasan basti): Vata regulation; Ashwagandha taila basti — Dhatuposhaka", 1, False, DARK_TEXT),
    ("  \u2022  Ref: Charaka Chikitsa 2 (Rasayana); Sushruta Chikitsa 37; Ashtanga Hridayam Uttara 34", 1, False, DARK_TEXT),
]
bullet_frame(s, bullets, fsize=14.5)


# ═════════════════════════════════════════════════════════════════════════════
# SLIDE 8 – HETEROSEXUAL / ASYNCHRONOUS PUBERTY + PCOS
# ═════════════════════════════════════════════════════════════════════════════
s = prs.slides.add_slide(blank); add_bg(s, CREAM)
add_header(s, "Heterosexual & Asynchronous Puberty / PCOS",
           subtitle="Virilisation at puberty | Polycystic Ovary — Ayurvedic parallel")
add_footer(s)

bullets = [
    ("Contemporary — Heterosexual Pubertal Development", 0, True, DEEP_TEAL),
    ("  \u2022  Most common cause: Polycystic Ovary Syndrome (PCOS) — insulin resistance + androgen excess", 1, False, DARK_TEXT),
    ("  \u2022  Others: Congenital Adrenal Hyperplasia (21-OH deficiency), Androgen Insensitivity Syndrome (AIS)", 1, False, DARK_TEXT),
    ("  \u2022  Asynchronous puberty: breast development without pubic/axillary hair → AIS (46,XY)", 1, False, DARK_TEXT),
    ("  \u2022  PCOS triad: oligo/anovulation + hyperandrogenism + polycystic ovaries (Rotterdam criteria)", 1, False, DARK_TEXT),
    ("", 0, False, DARK_TEXT),
    ("Ayurvedic Correlation — Pushpaghni Jataharin / Artavadushti", 0, True, FOREST),
    ("  \u2022  PCOS \u2194 Pushpaghni Jataharin: menstrual flow present but no conception (Kashyapa Samhita)", 1, False, DARK_TEXT),
    ("  \u2022  Also correlated with Artava dushti (Vata-Kapha predominant) — anovulation + weight gain", 1, False, DARK_TEXT),
    ("  \u2022  Medovaha srotas dushti → insulin resistance correlation; Kapha-Meda avriti of Artavavaha srotas", 1, False, DARK_TEXT),
    ("  \u2022  CAH \u2194 Sahaja Pittaja Vikara (congenital Pitta excess) — virilisation = ati-ushna Pitta prabhava", 1, False, DARK_TEXT),
    ("", 0, False, DARK_TEXT),
    ("Ayurvedic Management for PCOS in Adolescents", 0, True, FOREST),
    ("  \u2022  Lekhaniya + Deepana: Kanchanara Guggulu, Triphala, Varanadi Kashaya — reduces ovarian cysts", 1, False, DARK_TEXT),
    ("  \u2022  Shatapushpa (Anethum sowa) — ovulation inducer; Vata-Kapha shamaka", 1, False, DARK_TEXT),
    ("  \u2022  Virechana (Pittashamaka): Haritaki / Trivrit — reduces androgen-linked Pitta", 1, False, DARK_TEXT),
]
bullet_frame(s, bullets, fsize=14.5)


# ═════════════════════════════════════════════════════════════════════════════
# SLIDE 9 – GYNECOMASTIA & PUBERTAL DISORDERS IN BOYS
# ═════════════════════════════════════════════════════════════════════════════
s = prs.slides.add_slide(blank); add_bg(s, CREAM)
add_header(s, "Pubertal Disorders in Boys: Gynecomastia & Others",
           subtitle="Contemporary & Ayurvedic approach")
add_footer(s)

bullets = [
    ("Gynecomastia", 0, True, DEEP_TEAL),
    ("  \u2022  Benign proliferation of glandular breast tissue in males; pubertal form most common (50–70% boys)", 1, False, DARK_TEXT),
    ("  \u2022  Due to transient estrogen:androgen imbalance at puberty onset (Tanner stage 2–3)", 1, False, DARK_TEXT),
    ("  \u2022  Usually regresses within 12–24 months; persistent \u2192 investigate for Klinefelter (47,XXY), liver disease", 1, False, DARK_TEXT),
    ("  \u2022  Ayurvedic: Sthana vriddhi in males = Kapha-Meda vriddhi in Stanya dhatu + Vata-Kapha dushti", 1, False, DARK_TEXT),
    ("  \u2022  Rx: Lekhaniya Kashaya (Varanadi); Kanchanara Guggulu; Yoga — Surya Namaskar", 1, False, DARK_TEXT),
    ("", 0, False, DARK_TEXT),
    ("Macroorchidism / Micropenis (Pubertal Variants)", 0, True, DEEP_TEAL),
    ("  \u2022  Macroorchidism (large testes without precocity): Fragile X syndrome association", 1, False, DARK_TEXT),
    ("  \u2022  Micropenis: Hypogonadotropic hypogonadism / androgen insensitivity", 1, False, DARK_TEXT),
    ("  \u2022  Ayurvedic: Shukravaha srotas dushti; Medhra vridhi/kshaya — Beeja dosha (Charaka Sharira 3)", 1, False, DARK_TEXT),
    ("", 0, False, DARK_TEXT),
    ("Pubertal Gynaecomastia — Key Points", 0, True, MID_TEAL),
    ("  \u2022  No pharmacological treatment needed in most; reassurance is key", 1, False, DARK_TEXT),
    ("  \u2022  Ayurvedic counselling: Rajasvala Paricharya equivalent for boys = Sadvritta, Yoga, Pathya", 1, False, DARK_TEXT),
    ("  \u2022  Ref: Family Medicine 9e (Precocious/Gynecomastia section); Charaka Sharira 3 & 8", 1, False, DARK_TEXT),
]
bullet_frame(s, bullets, fsize=14.5)


# ═════════════════════════════════════════════════════════════════════════════
# SLIDE 10 – COMPARATIVE TABLE: MODERN vs AYURVEDA
# ═════════════════════════════════════════════════════════════════════════════
s = prs.slides.add_slide(blank); add_bg(s, CREAM)
add_header(s, "Comparative Correlation Table",
           subtitle="Modern Pubertal Disorders \u21D4 Ayurvedic Samanya Nidana")
add_footer(s)

headers = ["Modern Disorder", "Ayurvedic Equivalent", "Dosha-Dhatu", "Key Formulation / Chikitsa"]
rows = [
    ["Central Precocious Puberty", "Atiyauvana / Akala Yauvanaprapti", "Pitta-Kapha vriddhi\nRakta-Shukra ativriddhata", "Shatavari + Brahmi; Virechana"],
    ["Premature Thelarche / Adrenarche", "Atipitta prabhava\n(partial Pitta excess)", "Pitta + Meda vriddhi", "Triphala Churna;\nLekhaniya dravyas"],
    ["Constitutional Delayed Puberty", "Vilambitayauvana (benign)", "Vata dushti +\nAgni mandya", "Trikatu + Ashwagandha;\nDeepa-Pachana"],
    ["Hypogonadotropic Hypogonadism", "Shukra / Artava Kshaya\n(Agni mandya root)", "Vata + Dhatu kshaya", "Shatavari; Anuvasan Basti;\nAshwagandha Ghrita"],
    ["Turner Syndrome", "Sahaja Kshetra Dosha\n(congenital Artava kshaya)", "Beeja dosha + Vata", "Rasayana; supportive Balya"],
    ["PCOS at Puberty", "Pushpaghni Jataharin\n(Kashyapa)", "Kapha-Meda avriti\n+ Vata dushti", "Kanchanara Guggulu;\nShatapushpa; Virechana"],
    ["Pubertal Gynecomastia", "Kapha-Meda Stana Vridhi", "Kapha + Meda vriddhi", "Varanadi Kashaya;\nKanchanara Guggulu"],
]

col_widths = [2.85, 3.0, 2.55, 4.6]
col_x      = [0.2, 3.1, 6.15, 8.75]
row_h = 0.68
sy = 1.35

for ci, (hdr, cw, cx) in enumerate(zip(headers, col_widths, col_x)):
    add_rect(s, cx, sy, cw, 0.48, DEEP_TEAL)
    add_tb(s, hdr, cx+0.04, sy+0.02, cw-0.08, 0.44,
           fsize=12, bold=True, color=WHITE,
           align=PP_ALIGN.CENTER, vanchor=MSO_ANCHOR.MIDDLE)

for ri, row in enumerate(rows):
    ry = sy + 0.48 + ri * row_h
    bg = TEAL_LIGHT if ri % 2 == 0 else CREAM
    for ci, (cell, cw, cx) in enumerate(zip(row, col_widths, col_x)):
        add_rect(s, cx, ry, cw, row_h - 0.03, bg, DEEP_TEAL)
        add_tb(s, cell, cx+0.05, ry+0.02, cw-0.1, row_h-0.07,
               fsize=11, color=DARK_TEXT,
               align=PP_ALIGN.LEFT, vanchor=MSO_ANCHOR.MIDDLE)


# ═════════════════════════════════════════════════════════════════════════════
# SLIDE 11 – ROLE OF KAUMARABHRITYA & AYURVEDIC MANAGEMENT PROTOCOL
# ═════════════════════════════════════════════════════════════════════════════
s = prs.slides.add_slide(blank); add_bg(s, CREAM)
add_header(s, "Role of Kaumarabhritya: Management Protocol",
           subtitle="Integrated Ayurvedic stepwise approach to pubertal disorders")
add_footer(s)

steps = [
    ("STEP 1\nAssessment",
     "Nidana Panchaka + Ashtavidha Pariksha\nBone age / Tanner staging\nPrakriti & Vikriti determination"),
    ("STEP 2\nNidana Parivarjana",
     "Remove causative factors\nPathya Ahara-Vihara; address stress\nEndo-disruptors avoidance"),
    ("STEP 3\nDeepana-Pachana",
     "Trikatu Churna / Chitrakadi Vati\nRestore Jatharagni\nEnhance Dhatu paka"),
    ("STEP 4\nShodhana (if needed)",
     "Mridu Virechana — Pitta dominance\nAnuvasan Basti — Vata+Dhatukshaya\n(Age-appropriate; avoid strong Shodhana <12 yr)"),
    ("STEP 5\nShamana Aushadhi",
     "Precocious: Shatavari + Triphala\nDelayed: Ashwagandha + Shatavari Ghrita\nPCOS: Kanchanara Guggulu + Shatapushpa"),
    ("STEP 6\nRasayana + Follow-up",
     "Amalaki Rasayana / Chandraprabha Vati\nMonitor Tanner stage + bone age\nReassess at 3 & 6 months"),
]

box_w = 3.85; box_h = 1.55
for i, (title, content) in enumerate(steps):
    col = i % 2; row = i // 2
    bx = 0.3 + col * 6.6; by = 1.38 + row * 1.68
    add_rect(s, bx, by, box_w + 0.25, box_h, DEEP_TEAL)
    add_tb(s, title, bx+0.07, by+0.05, box_w+0.1, 0.42,
           fname="Georgia", fsize=13, bold=True,
           color=GOLD, align=PP_ALIGN.LEFT, vanchor=MSO_ANCHOR.MIDDLE)
    add_tb(s, content, bx+0.07, by+0.48, box_w+0.1, 1.0,
           fsize=11.5, color=WHITE, align=PP_ALIGN.LEFT, vanchor=MSO_ANCHOR.TOP)

# Arrows
for ax in [2.1, 8.7]:
    for row in range(2):
        ay = 1.38 + row * 1.68 + box_h
        add_tb(s, "\u25BC", ax, ay+0.04, 0.4, 0.25,
               fsize=16, bold=True, color=SAFFRON, align=PP_ALIGN.CENTER)


# ═════════════════════════════════════════════════════════════════════════════
# SLIDE 12 – CONCLUSION & REFERENCES
# ═════════════════════════════════════════════════════════════════════════════
s = prs.slides.add_slide(blank); add_bg(s, CREAM)
add_header(s, "Conclusion & References")
add_footer(s)

add_rect(s, 0.25, 1.35, 12.85, 3.3, DEEP_TEAL)
add_tb(s, "Key Conclusions", 0.3, 1.38, 12.7, 0.38,
       fname="Georgia", fsize=16, bold=True,
       color=GOLD, align=PP_ALIGN.LEFT, vanchor=MSO_ANCHOR.MIDDLE)
conc = (
    "\u2022  Pubertal disorders span a wide spectrum — precocious, delayed, heterosexual — all with well-defined contemporary and Ayurvedic frameworks.\n"
    "\u2022  Kaumarabhritya uniquely positions Ayurveda for early pubertal care: Rajonisheka Pathya, Dhatu-paka monitoring, Rasayana use.\n"
    "\u2022  Dosha-Dhatu correlation offers practical diagnostic and therapeutic direction: Pitta-Kapha in precocity; Vata-Dhatu kshaya in delayed puberty.\n"
    "\u2022  Classical formulations (Shatavari, Ashwagandha, Kanchanara Guggulu) are evidence-supported with favourable safety profiles in adolescents.\n"
    "\u2022  Integrated approach (Shodhana \u2192 Shamana \u2192 Rasayana) is holistic and addresses root cause — not just symptom suppression."
)
add_tb(s, conc, 0.35, 1.79, 12.6, 2.8,
       fsize=13, color=WHITE, align=PP_ALIGN.LEFT, vanchor=MSO_ANCHOR.TOP)

add_tb(s, "Key References", 0.25, 4.74, 12.85, 0.3,
       fname="Georgia", fsize=14, bold=True,
       color=DEEP_TEAL, align=PP_ALIGN.LEFT)

refs_text = (
    "1. Charaka Samhita: Sharira Sthana 3, 8; Chikitsa Sthana 1, 2.  |  "
    "2. Sushruta Samhita: Sharira 3; Chikitsa 37.  |  "
    "3. Kashyapa Samhita: Khila Sthana (Pushpaghni Jataharin).\n"
    "4. Ashtanga Hridayam: Sharira 1; Uttara Tantra 34.  |  "
    "5. Berek & Novak's Gynecology 16e, Ch. 8 (Pubertal Aberrations).  |  "
    "6. Goldman-Cecil Medicine 26e, Ch. 233 (Puberty).\n"
    "7. Palmert M, Dunkel L. Delayed Puberty. NEJM 2012;366:443–453.  |  "
    "8. Katzung Pharmacology 16e (GnRH analogs, Ch. 40).  |  "
    "9. WJPLS 2022 — Ayurvedic Concept of Puberty; WJPMR 2026 — Delayed Puberty & Ayurveda."
)
add_tb(s, refs_text, 0.25, 5.09, 12.85, 1.9,
       fsize=10.5, color=RGBColor(0x22,0x22,0x22), align=PP_ALIGN.LEFT)


# ═════════════════════════════════════════════════════════════════════════════
out = "/tmp/workspace/disorders-puberty-ppt/Disorders_in_Puberty_Kaumarabhritya.pptx"
prs.save(out)
print(f"Saved: {out}  |  Slides: {len(prs.slides)}")
Running Command

cd /tmp/workspace/disorders-puberty-ppt && python build_ppt.py 2>&1

Running Command

python3 -c " from pptx import Presentation prs = Presentation('/tmp/workspace/disorders-puberty-ppt/Disorders_in_Puberty_Kaumarabhritya.pptx') print(f'Total slides: {len(prs.slides)}') for i, slide in enumerate(prs.slides, 1): texts = [sh.text_frame.text[:70].replace(chr(10),' ') for sh in slide.shapes if sh.has_text_frame and sh.text_frame.text.strip()] print(f'Slide {i}: {texts[0] if texts else \"(empty)\"}') "

All 12 slides verified. Your presentation is ready:

Disorders in Puberty Kaumarabhritya

Presentation · PPTX


Presentation Overview — 12 Slides

Design: Deep teal + saffron gold palette, Georgia/Calibri fonts, 16:9 widescreen, consistent maroon-accented header-footer.
#Slide TitleKey Content
1Title SlideTopic, PG Scholar, Guide, Department & Institution
2Normal Puberty: A Dual PerspectiveContemporary (HPG axis, Tanner stages) vs. Ayurvedic (Rajonisheka, Saptadhatu paka, Shukra dhatu maturation)
3Classification of Pubertal DisordersTwo-column layout — Modern (Precocious / Delayed / Heterosexual) vs. Ayurvedic (Atiyauvana / Vilambitayauvana / Vishama Yauvanarambha)
4Precocious Puberty — ContemporaryDefinition, central vs. peripheral, etiology, investigations, GnRHa management
5Precocious Puberty — AyurvedicAtiyauvana, Pitta-Kapha vriddhi, Medovaha srotas dushti (obesity-leptin axis), Chikitsa
6Delayed Puberty — ContemporaryCDGP, Kallmann syndrome, Turner syndrome, hypogonadism types, karyotype, HRT
7Delayed Puberty — AyurvedicVilambitayauvana, Shukra-Artava Kshaya, Apana Vata dushti, Shatavari, Ashwagandha Basti
8Heterosexual / Asynchronous Puberty & PCOSRotterdam criteria, PCOS ↔ Pushpaghni Jataharin (Kashyapa), CAH ↔ Pitta Vikara, Kanchanara Guggulu
9Pubertal Disorders in BoysGynecomastia, macroorchidism, micropenis — contemporary + Ayurvedic (Kapha-Meda, Beeja dosha)
10Comparative Correlation Table7-row formatted table: Modern disorder ↔ Ayurvedic equivalent ↔ Dosha-Dhatu ↔ Key formulation
11Management Protocol (Kaumarabhritya)6-step flowchart: Assessment → Nidana Parivarjana → Deepana-Pachana → Shodhana → Shamana → Rasayana
12Conclusion & References5 key conclusions + 9 references (Charaka, Sushruta, Kashyapa, Berek & Novak, Goldman-Cecil, NEJM)
Before presenting: Fill in your name, guide's name, and institution on Slide 1. All classical references cite chapter and sthana for academic credibility.

give ppt of 10-12 slides on the topic "Ultra processed food & sedantory life style on pubertal disorders" corelation with ayurveda & contemporary science references as PG scholar from department in kaumarabhritya

Searching the Web

ultra processed food sedentary lifestyle precocious puberty PCOS menstrual disorders adolescent evidence 2023 2024

Finding Sources
Finding Sources
Reading Web Page

https://www.frontiersin.org/journals/nutrition/articles/10.3…

Finding Sources
Finding Sources
Searching the Web

Ayurveda ultra processed food Ahara dushti viruddha ahara Medoroga adolescent kaumarabhritya

Running Command

mkdir -p /tmp/workspace/upf-puberty-ppt

Writing File

~/upf-puberty-ppt/build_ppt.py

from pptx import Presentation
from pptx.util import Inches, Pt
from pptx.dml.color import RGBColor
from pptx.enum.text import PP_ALIGN, MSO_ANCHOR

prs = Presentation()
prs.slide_width  = Inches(13.333)
prs.slide_height = Inches(7.5)
blank = prs.slide_layouts[6]

# ── PALETTE ───────────────────────────────────────────────────────────────────
DARK_OLIVE   = RGBColor(0x3B, 0x4A, 0x1A)   # header bars (earthy-green)
SAFFRON      = RGBColor(0xE8, 0x7F, 0x0A)   # accent / arrows
GOLD         = RGBColor(0xF5, 0xC5, 0x18)   # sub-text on dark
CREAM        = RGBColor(0xFF, 0xFC, 0xF0)   # slide bg
DARK_TEXT    = RGBColor(0x1A, 0x1A, 0x1A)
WHITE        = RGBColor(0xFF, 0xFF, 0xFF)
RUST         = RGBColor(0x9C, 0x27, 0x10)   # warning / highlight
MID_OLIVE    = RGBColor(0x5C, 0x72, 0x28)   # Ayurveda column
TEAL_BG      = RGBColor(0xD4, 0xED, 0xDA)   # alternate row
DEEP_MAROON  = RGBColor(0x6B, 0x17, 0x2B)
LIGHT_AMBER  = RGBColor(0xFF, 0xF3, 0xCD)

# ── HELPERS ───────────────────────────────────────────────────────────────────

def bg(slide, color=CREAM):
    f = slide.background.fill; f.solid(); f.fore_color.rgb = color

def rect(slide, x, y, w, h, fc, lc=None):
    s = slide.shapes.add_shape(1, Inches(x), Inches(y), Inches(w), Inches(h))
    s.fill.solid(); s.fill.fore_color.rgb = fc
    s.line.fill.background() if not lc else setattr(s.line.color, 'rgb', lc)
    return s

def tb(slide, text, x, y, w, h,
       fn="Calibri", fs=16, bold=False, italic=False,
       col=DARK_TEXT, al=PP_ALIGN.LEFT, wrap=True, va=MSO_ANCHOR.TOP):
    t = slide.shapes.add_textbox(Inches(x), Inches(y), Inches(w), Inches(h))
    tf = t.text_frame; tf.word_wrap = wrap; tf.vertical_anchor = va
    tf.margin_left = tf.margin_right = Inches(0.06)
    tf.margin_top  = tf.margin_bottom = Inches(0.03)
    p = tf.paragraphs[0]; p.alignment = al
    r = p.add_run(); r.text = text
    r.font.name=fn; r.font.size=Pt(fs); r.font.bold=bold
    r.font.italic=italic; r.font.color.rgb=col
    return tf

def header(slide, title, sub=None):
    rect(slide, 0, 0, 13.333, 1.18, DARK_OLIVE)
    rect(slide, 0, 1.18, 13.333, 0.07, SAFFRON)
    tb(slide, title, 0.25, 0.07, 12.8, 0.78,
       fn="Georgia", fs=27, bold=True, col=WHITE, al=PP_ALIGN.CENTER, va=MSO_ANCHOR.MIDDLE)
    if sub:
        tb(slide, sub, 0.25, 0.82, 12.8, 0.34,
           fs=13, italic=True, col=GOLD, al=PP_ALIGN.CENTER, va=MSO_ANCHOR.MIDDLE)

def footer(slide, t="Dept. of Kaumarabhritya  |  PG Scholar Presentation  |  UPF & Sedentary Lifestyle on Pubertal Disorders"):
    rect(slide, 0, 7.1, 13.333, 0.4, DARK_OLIVE)
    tb(slide, t, 0.3, 7.12, 12.7, 0.3,
       fs=9.5, col=GOLD, al=PP_ALIGN.CENTER, va=MSO_ANCHOR.MIDDLE)

def bullets(slide, items, x=0.35, y=1.33, w=12.6, h=5.5, fs=15.5):
    box = slide.shapes.add_textbox(Inches(x), Inches(y), Inches(w), Inches(h))
    tf = box.text_frame; tf.word_wrap = True
    tf.margin_left = tf.margin_right = Inches(0.08)
    tf.margin_top  = tf.margin_bottom = Inches(0.04)
    first = True
    for b in items:
        if isinstance(b, str): b = (b, 0, False, DARK_TEXT)
        txt, lvl, bld, clr = b
        p = tf.paragraphs[0] if first else tf.add_paragraph()
        first = False; p.level = lvl; p.space_before = Pt(5 if lvl==0 else 2)
        r = p.add_run(); r.text = txt
        r.font.name="Calibri"; r.font.size=Pt(fs - lvl*1.5)
        r.font.bold=bld; r.font.color.rgb=clr

# ═════════════════════════════════════════════════════════════════
# SLIDE 1 — TITLE
# ═════════════════════════════════════════════════════════════════
s = prs.slides.add_slide(blank); bg(s, CREAM)

rect(s, 0, 0, 13.333, 2.0, DARK_OLIVE)
rect(s, 0, 2.0, 13.333, 0.1, SAFFRON)
rect(s, 0, 6.6, 13.333, 0.9, DARK_OLIVE)
rect(s, 0, 6.56, 13.333, 0.07, SAFFRON)

tb(s, "ULTRA PROCESSED FOOD &\nSEDENTARY LIFESTYLE ON\nPUBERTAL DISORDERS",
   0.4, 0.1, 12.5, 1.8,
   fn="Georgia", fs=30, bold=True,
   col=WHITE, al=PP_ALIGN.CENTER, va=MSO_ANCHOR.MIDDLE)

tb(s, "Correlation with Ayurveda & Contemporary Science",
   0.4, 2.15, 12.5, 0.62,
   fn="Georgia", fs=20, italic=True,
   col=DARK_OLIVE, al=PP_ALIGN.CENTER, va=MSO_ANCHOR.MIDDLE)

rect(s, 3.2, 2.9, 6.9, 0.06, SAFFRON)

tb(s, "Presented by:\n[PG Scholar Name]\nDepartment of Kaumarabhritya",
   0.4, 3.05, 12.5, 1.0,
   fs=17, col=DARK_TEXT, al=PP_ALIGN.CENTER)
tb(s, "Under the Guidance of:\n[Name of Guide / HOD]",
   0.4, 4.15, 12.5, 0.75,
   fs=14, italic=True, col=MID_OLIVE, al=PP_ALIGN.CENTER)
tb(s, "[Name of Institution]  |  [University]  |  July 2026",
   0.4, 5.05, 12.5, 0.55,
   fs=12.5, col=RGBColor(0x44,0x44,0x44), al=PP_ALIGN.CENTER)
tb(s, "Dept. of Kaumarabhritya  |  PG Scholar Presentation  |  UPF & Sedentary Lifestyle on Pubertal Disorders",
   0.3, 6.65, 12.7, 0.3, fs=9.5, col=GOLD, al=PP_ALIGN.CENTER, va=MSO_ANCHOR.MIDDLE)


# ═════════════════════════════════════════════════════════════════
# SLIDE 2 — INTRODUCTION & GLOBAL BURDEN
# ═════════════════════════════════════════════════════════════════
s = prs.slides.add_slide(blank); bg(s, CREAM)
header(s, "Introduction & Global Burden",
       sub="The modern adolescent health crisis — epidemiological evidence")
footer(s)

bullets(s, [
    ("Changing Adolescent Lifestyle: A Global Concern", 0, True, DARK_OLIVE),
    ("  \u2022  Ultra Processed Foods (UPFs): NOVA Group 4 — industrially formulated; high sugar, trans-fat, sodium; low fibre", 1, False, DARK_TEXT),
    ("  \u2022  UPF consumption contributes to >58% of total caloric intake in adolescents in high-income countries (Monteiro et al., 2019)", 1, False, DARK_TEXT),
    ("  \u2022  Sedentary screen time in Indian adolescents: 5–9 hrs/day (ICMR-NIN, 2021)", 1, False, DARK_TEXT),
    ("", 0, False, DARK_TEXT),
    ("Key Epidemiological Data", 0, True, DARK_OLIVE),
    ("  \u2022  Adolescents with highest UPF intake had 63% greater odds of overweight/obesity  (PLOS ONE Meta-analysis, 2024)", 1, False, DARK_TEXT),
    ("  \u2022  World Obesity Atlas 2023: ~23% of girls and 33% of boys globally will have obesity by 2035", 1, False, DARK_TEXT),
    ("  \u2022  UPF consumption associated with elevated Free Androgen Index (FAI) in pubertal girls — PCOS risk  (Zhao et al., Front Nutr 2024)", 1, False, DARK_TEXT),
    ("  \u2022  Physical inactivity + UPF diet = most prevalent combined risk factors in Brazilian school adolescents (Araujo et al., 2022)", 1, False, DARK_TEXT),
    ("", 0, False, DARK_TEXT),
    ("Relevance to Kaumarabhritya", 0, True, MID_OLIVE),
    ("  \u2022  Kaumarabhritya (0–16 yr) is uniquely positioned to address lifestyle-pubertal disorder nexus", 1, False, DARK_TEXT),
    ("  \u2022  Ayurveda's Ahara-Vihara principles provide preventive & therapeutic framework for this epidemic", 1, False, DARK_TEXT),
], fs=15)


# ═════════════════════════════════════════════════════════════════
# SLIDE 3 — WHAT ARE ULTRA PROCESSED FOODS (UPFs)?
# ═════════════════════════════════════════════════════════════════
s = prs.slides.add_slide(blank); bg(s, CREAM)
header(s, "Ultra Processed Foods (UPFs) — Definition & Classification",
       sub="NOVA Food Classification System & Ayurvedic parallel — Viruddha Ahara / Apathya Dravyas")
footer(s)

# Two-column
rect(s, 0.25, 1.33, 6.0, 5.55, LIGHT_AMBER)
rect(s, 0.25, 1.33, 6.0, 0.44, RUST)
tb(s, "Contemporary (NOVA Classification)", 0.25, 1.33, 6.0, 0.44,
   fn="Georgia", fs=14, bold=True, col=WHITE, al=PP_ALIGN.CENTER, va=MSO_ANCHOR.MIDDLE)

modern = [
    "NOVA Group 4 — Ultra Processed Foods:",
    "  \u2022  Packaged snacks, chips, biscuits",
    "  \u2022  Carbonated drinks, energy drinks, flavoured milk",
    "  \u2022  Instant noodles, ready meals, fast food",
    "  \u2022  Breakfast cereals with added sugar",
    "  \u2022  Processed meat (sausages, nuggets)",
    "",
    "Harmful Constituents:",
    "  \u2022  Trans-fats, refined sugars, excess sodium",
    "  \u2022  Artificial colours, preservatives, emulsifiers",
    "  \u2022  Endocrine Disrupting Chemicals (EDCs):",
    "     — Bisphenol-A (BPA), Phthalates",
    "     — PFAS, Acrylamide, Micro/nano plastics",
    "  \u2022  Low fibre, low micronutrients",
    "  \u2022  High glycemic load \u2192 insulin resistance",
]
bx = s.shapes.add_textbox(Inches(0.35), Inches(1.83), Inches(5.8), Inches(4.9))
tf = bx.text_frame; tf.word_wrap = True
for i, pt in enumerate(modern):
    p = tf.paragraphs[0] if i==0 else tf.add_paragraph()
    p.space_before = Pt(3)
    r = p.add_run(); r.text = pt
    r.font.name="Calibri"; r.font.size=Pt(12.5)
    r.font.bold = pt.endswith(":") and not pt.startswith(" ")
    r.font.color.rgb = RUST if (pt.endswith(":") and not pt.startswith(" ")) else DARK_TEXT

rect(s, 6.65, 1.33, 6.45, 5.55, RGBColor(0xE8,0xF5,0xE9))
rect(s, 6.65, 1.33, 6.45, 0.44, MID_OLIVE)
tb(s, "Ayurvedic Parallel — Viruddha Ahara", 6.65, 1.33, 6.45, 0.44,
   fn="Georgia", fs=14, bold=True, col=WHITE, al=PP_ALIGN.CENTER, va=MSO_ANCHOR.MIDDLE)

ayur = [
    "Viruddha Ahara (Incompatible Food):",
    "  \u2022  Charaka Sutrasthana 26: foods that vitiate doshas",
    "     without nourishing dhatus = Viruddha",
    "",
    "Apathya Dravyas (Unwholesome foods):",
    "  \u2022  Ati Lavana (excess salt) \u2192 Rakta dushti",
    "  \u2022  Ati Madhura (excess sugar) \u2192 Kapha-Meda vriddhi",
    "  \u2022  Abhishyandi (mucus-forming) foods \u2192 srotas blockage",
    "  \u2022  Paryushita (stale/stored) food \u2192 Ama formation",
    "  \u2022  Krimija Dravyas (chemical preservatives)\n     \u2194 Visha-Gara prabhava (toxic effects)",
    "",
    "Ama Concept:",
    "  \u2022  Poorly digested metabolites = Ama",
    "  \u2022  Ama blocks Srotas \u2192 Artavaha srotas\n     dushti \u2192 pubertal disorder",
]
bx2 = s.shapes.add_textbox(Inches(6.75), Inches(1.83), Inches(6.25), Inches(4.9))
tf2 = bx2.text_frame; tf2.word_wrap = True
for i, pt in enumerate(ayur):
    p = tf2.paragraphs[0] if i==0 else tf2.add_paragraph()
    p.space_before = Pt(3)
    r = p.add_run(); r.text = pt
    r.font.name="Calibri"; r.font.size=Pt(12.5)
    r.font.bold = pt.endswith(":") and not pt.startswith(" ")
    r.font.color.rgb = MID_OLIVE if (pt.endswith(":") and not pt.startswith(" ")) else DARK_TEXT


# ═════════════════════════════════════════════════════════════════
# SLIDE 4 — UPF MECHANISMS ON PUBERTY (CONTEMPORARY)
# ═════════════════════════════════════════════════════════════════
s = prs.slides.add_slide(blank); bg(s, CREAM)
header(s, "How UPFs Disrupt Puberty — Mechanisms",
       sub="Hormonal, metabolic & endocrine-disrupting pathways")
footer(s)

bullets(s, [
    ("1. Obesity & Adipose-Leptin-GnRH Axis", 0, True, RUST),
    ("  \u2022  UPFs \u2192 excess caloric intake \u2192 adiposity \u2192 raised leptin levels", 1, False, DARK_TEXT),
    ("  \u2022  Leptin signals the HPG axis to initiate puberty prematurely \u2192 Precocious Puberty", 1, False, DARK_TEXT),
    ("  \u2022  Girls with BMI >85th percentile: menarche ~6 months earlier than normal weight peers", 1, False, DARK_TEXT),
    ("", 0, False, DARK_TEXT),
    ("2. Hyperinsulinism & Androgen Excess", 0, True, RUST),
    ("  \u2022  High glycaemic UPFs \u2192 insulin resistance \u2192 raised IGF-1 \u2192 stimulates gonadal androgen secretion", 1, False, DARK_TEXT),
    ("  \u2022  Elevated Free Androgen Index (FAI) in pubertal girls with high UPF intake  [Zhao et al., Front Nutr 2024]", 1, False, DARK_TEXT),
    ("  \u2022  FAI links UPF \u2192 PCOS, acne, hirsutism in adolescent females", 1, False, DARK_TEXT),
    ("", 0, False, DARK_TEXT),
    ("3. Endocrine Disrupting Chemicals (EDCs) in UPF Packaging", 0, True, RUST),
    ("  \u2022  Bisphenol-A (BPA): estrogenic activity \u2192 premature thelarche / precocious puberty", 1, False, DARK_TEXT),
    ("  \u2022  Phthalates: anti-androgenic \u2192 delayed male puberty, gynecomastia", 1, False, DARK_TEXT),
    ("  \u2022  PFAS, Acrylamide: disrupt sex hormone homeostasis; classified probable human carcinogens", 1, False, DARK_TEXT),
    ("", 0, False, DARK_TEXT),
    ("4. Gut Microbiome Disruption", 0, True, RUST),
    ("  \u2022  Emulsifiers, preservatives in UPFs dysregulate gut microbiota \u2192 altered estrogen enterohepatic circulation", 1, False, DARK_TEXT),
    ("  \u2022  Dysbiosis \u2192 increased systemic inflammation \u2192 HPG axis perturbation", 1, False, DARK_TEXT),
], fs=14.5)


# ═════════════════════════════════════════════════════════════════
# SLIDE 5 — SEDENTARY LIFESTYLE MECHANISMS (CONTEMPORARY)
# ═════════════════════════════════════════════════════════════════
s = prs.slides.add_slide(blank); bg(s, CREAM)
header(s, "Sedentary Lifestyle — Mechanisms on Pubertal Health",
       sub="Screen time, physical inactivity and hormonal consequences")
footer(s)

bullets(s, [
    ("Sedentary Behaviour — Definition & Extent", 0, True, DEEP_MAROON),
    ("  \u2022  Sedentary behaviour: <1.5 MET activities (sitting, screen use); distinct from lack of exercise", 1, False, DARK_TEXT),
    ("  \u2022  Indian adolescents: average 7–9 hrs/day sedentary; physical activity <60 min/day recommended (WHO)", 1, False, DARK_TEXT),
    ("", 0, False, DARK_TEXT),
    ("Mechanisms Affecting Puberty", 0, True, DEEP_MAROON),
    ("  \u2022  Obesity pathway: Physical inactivity \u2192 Meda (fat) accumulation \u2192 Leptin excess \u2192 early GnRH secretion", 1, False, DARK_TEXT),
    ("  \u2022  Circadian disruption: Screen blue light \u2192 suppressed melatonin \u2192 disrupted GnRH pulsatility", 1, False, DARK_TEXT),
    ("  \u2022  Reduced SHBG: Sedentary + UPF \u2192 hyperinsulinism \u2192 low SHBG \u2192 elevated free androgens", 1, False, DARK_TEXT),
    ("  \u2022  Psychological: Screen-mediated stress \u2192 elevated cortisol \u2192 suppresses HPG axis \u2192 delayed puberty in some", 1, False, DARK_TEXT),
    ("  \u2022  Skeletal: Low weight-bearing activity \u2192 poor bone mineral density + slow linear growth", 1, False, DARK_TEXT),
    ("", 0, False, DARK_TEXT),
    ("Key Evidence", 0, True, DEEP_MAROON),
    ("  \u2022  PLOS ONE meta-analysis 2024: Insufficient physical activity = most prevalent NCD risk factor in adolescents", 1, False, DARK_TEXT),
    ("  \u2022  WHO 2022: 81% of school-going adolescents globally fail to meet recommended physical activity levels", 1, False, DARK_TEXT),
    ("  \u2022  Sedentary + UPF combination: OR=2.74 for obesity in adolescents (Louzada et al., 2015)", 1, False, DARK_TEXT),
], fs=14.8)


# ═════════════════════════════════════════════════════════════════
# SLIDE 6 — AYURVEDIC ANALYSIS: AHARA-VIHARA DUSHTI
# ═════════════════════════════════════════════════════════════════
s = prs.slides.add_slide(blank); bg(s, CREAM)
header(s, "Ayurvedic Analysis: Ahara-Vihara Dushti",
       sub="How UPF & sedentary behaviour cause disease — classical Nidana Panchaka")
footer(s)

bullets(s, [
    ("Nidana (Causative Factors) — Ahara Hetu", 0, True, MID_OLIVE),
    ("  \u2022  Guru (heavy), Snigdha (oily), Ati Madhura, Ati Lavana Ahara \u2192 Kapha-Pitta-Meda vriddhi", 1, False, DARK_TEXT),
    ("  \u2022  Paryushita (stale/stored) food, Dushta Ahara (adulterated) \u2192 Ama formation \u2192 Agni mandya", 1, False, DARK_TEXT),
    ("  \u2022  Viruddha Ahara (incompatible combinations) \u2192 Srotas dushti \u2192 Artavaha srotas blockage", 1, False, DARK_TEXT),
    ("  \u2022  Krimija dravyas (chemical additives/preservatives) \u2192 Visha-Gara prabhava \u2192 endocrine disruption", 1, False, DARK_TEXT),
    ("", 0, False, DARK_TEXT),
    ("Nidana — Vihara Hetu (Sedentary Lifestyle)", 0, True, MID_OLIVE),
    ("  \u2022  Ati Swapna (excess sleep/screen rest) + Alasya (inactivity) \u2192 Kapha vriddhi \u2192 Meda sanchaya", 1, False, DARK_TEXT),
    ("  \u2022  Vegadharana (suppression of natural urges) from sedentary habits \u2192 Apana Vata dushti", 1, False, DARK_TEXT),
    ("  \u2022  Manasika Hetu: Tarka, Chinta (screen-induced stress) \u2192 Vata-Pitta dushti \u2192 HPG axis disruption", 1, False, DARK_TEXT),
    ("  \u2022  Divaswapna (day sleep) \u2192 Agni mandya \u2192 Dhatu aparipakvata (immature dhatu formation)", 1, False, DARK_TEXT),
    ("", 0, False, DARK_TEXT),
    ("Samprapti (Pathogenesis) — Summary", 0, True, SAFFRON),
    ("  \u2022  Dosha: Kapha+Pitta vriddhi (precocious) OR Vata+Dhatu kshaya (delayed puberty)", 1, False, DARK_TEXT),
    ("  \u2022  Dushya: Rasa, Rakta, Meda dhatu; Artavaha & Medovaha srotas vitiation", 1, False, DARK_TEXT),
    ("  \u2022  Result: Atiyauvana (precocious) / Vilambitayauvana (delayed) / Pushpaghni Jataharin (PCOS)", 1, False, DARK_TEXT),
], fs=14.8)


# ═════════════════════════════════════════════════════════════════
# SLIDE 7 — SPECIFIC PUBERTAL DISORDERS LINKED TO UPF & SEDENTARY LIFE
# ═════════════════════════════════════════════════════════════════
s = prs.slides.add_slide(blank); bg(s, CREAM)
header(s, "Pubertal Disorders Linked to UPF & Sedentary Lifestyle",
       sub="Clinical spectrum — Modern & Ayurvedic correlation")
footer(s)

headers_t = ["Pubertal Disorder", "Modern Mechanism", "Ayurvedic Correlation", "Dosha-Dhatu"]
rows_t = [
    ["Precocious Puberty", "Leptin excess from adiposity\n\u2192 early GnRH activation; BPA estrogenic EDC",
     "Atiyauvana;\nPitta-Kapha vriddhi;\nMedovaha srotas dushti", "Pitta+Kapha\nRakta-Meda"],
    ["PCOS at Puberty", "Insulin resistance\n\u2192 androgen excess (FAI \u2191); UPF fat \u2192 FAI in girls",
     "Pushpaghni Jataharin\n(Kashyapa Samhita);\nKapha-Meda avriti", "Kapha+Vata\nMeda-Artava"],
    ["Menstrual Irregularity\n(Oligomenorrhoea)", "Anovulation from obesity-\nhyperandrogenism; stress",
     "Artava Kshaya;\nApana Vata dushti;\nArtavaha srotas dushti", "Vata+Kapha\nArtava"],
    ["Delayed Puberty\n(Nutritional)", "Malnutrition from\nUPF-displaced diets;\nlow micronutrients",
     "Vilambitayauvana;\nDhatu kshaya;\nAgni mandya", "Vata\nRasa-Shukra kshaya"],
    ["Pubertal Gynecomastia\n(Boys)", "Phthalates \u2192 anti-androgen;\nelevated estrogen:androgen ratio",
     "Kapha-Meda Stana\nvriddhi; Beeja dosha\naugmented", "Kapha+Meda"],
    ["Acne / Seborrhoea", "High GI UPF \u2192 IGF-1 \u2192\nandrogen-driven sebum", "Yuvanpidika;\nPitta+Kapha dushti\nTwak dosha", "Pitta+Kapha\nRakta"],
]

col_w = [2.4, 3.2, 3.2, 3.0]
col_x = [0.18, 2.63, 5.88, 9.13]
sy = 1.35; rh = 0.82

for ci, (hdr, cw, cx) in enumerate(zip(headers_t, col_w, col_x)):
    rect(s, cx, sy, cw, 0.48, DARK_OLIVE)
    tb(s, hdr, cx+0.04, sy+0.02, cw-0.08, 0.44,
       fs=12, bold=True, col=WHITE, al=PP_ALIGN.CENTER, va=MSO_ANCHOR.MIDDLE)

for ri, row in enumerate(rows_t):
    ry = sy + 0.48 + ri * rh
    bg_c = LIGHT_AMBER if ri % 2 == 0 else CREAM
    for ci, (cell, cw, cx) in enumerate(zip(row, col_w, col_x)):
        rect(s, cx, ry, cw, rh-0.03, bg_c, DARK_OLIVE)
        tb(s, cell, cx+0.05, ry+0.02, cw-0.1, rh-0.07,
           fs=11, col=DARK_TEXT, al=PP_ALIGN.LEFT, va=MSO_ANCHOR.MIDDLE)


# ═════════════════════════════════════════════════════════════════
# SLIDE 8 — MEDOROGA & STHOULYA: AYURVEDIC OBESITY-PUBERTY LINK
# ═════════════════════════════════════════════════════════════════
s = prs.slides.add_slide(blank); bg(s, CREAM)
header(s, "Sthoulya (Obesity) & Medoroga: Ayurvedic Lens",
       sub="Central Pathogenic Link between UPF/Sedentary Lifestyle and Pubertal Disorders")
footer(s)

bullets(s, [
    ("Sthoulya — Classical Definition & Samprapti", 0, True, MID_OLIVE),
    ("  \u2022  Charaka Sutrasthana 21: Sthoulya = excessive Meda dhatu accumulation due to Kapha-Meda vriddhi", 1, False, DARK_TEXT),
    ("  \u2022  Nidana: Guru, Snigdha, Madhura Ahara + Ati Swapna + Avyayama (inactivity)", 1, False, DARK_TEXT),
    ("  \u2022  Samprapti: Kapha+Meda \u2192 Agni mandya \u2192 Ama accumulation \u2192 Srotas dushti (Medovaha, Artavaha)", 1, False, DARK_TEXT),
    ("  \u2022  Ashtaninditiya Purusha (Ch. Su.21): Ati-sthula is 1st among 8 most criticised body types", 1, False, DARK_TEXT),
    ("", 0, False, DARK_TEXT),
    ("Medoroga \u2194 Obesity-Linked Precocious Puberty", 0, True, MID_OLIVE),
    ("  \u2022  Excess Meda dhatu \u2192 Adipokine analogy: Meda=adipose tissue; Medagni=lipid metabolism", 1, False, DARK_TEXT),
    ("  \u2022  Medovaha srotas dushti \u2192 hormonal milieu disturbance = Leptin-GnRH axis disruption (contemporary parallel)", 1, False, DARK_TEXT),
    ("  \u2022  Kapha Meda avriti of Artavavaha srotas \u2192 PCOS / anovulation", 1, False, DARK_TEXT),
    ("", 0, False, DARK_TEXT),
    ("Ayurvedic Management of Sthoulya in Adolescents", 0, True, MID_OLIVE),
    ("  \u2022  Lekhaniya Gana (scraping drugs): Guggulu, Triphala, Vacha, Musta \u2014 reduces Kapha-Meda", 1, False, DARK_TEXT),
    ("  \u2022  Udwartana (dry powder massage): improves Agni, reduces Meda, Kapha", 1, False, DARK_TEXT),
    ("  \u2022  Virechana (Mridu): Haritaki Churna; Kapha-Pittashamaka purgation", 1, False, DARK_TEXT),
    ("  \u2022  Avyayama correction: Laghu Vyayama, Yoga, Surya Namaskar — age-appropriate activity", 1, False, DARK_TEXT),
    ("  \u2022  Ref: Charaka Sutrasthana 21; Ashtanga Hridayam Sutrasthana 14 (Sthoulya Chikitsa)", 1, False, DARK_TEXT),
], fs=14.5)


# ═════════════════════════════════════════════════════════════════
# SLIDE 9 — PATHYA-APATHYA & DINACHARYA CORRECTIONS
# ═════════════════════════════════════════════════════════════════
s = prs.slides.add_slide(blank); bg(s, CREAM)
header(s, "Pathya-Apathya & Dinacharya Corrections",
       sub="Ayurvedic dietary & lifestyle prescription for adolescent pubertal health")
footer(s)

rect(s, 0.25, 1.33, 6.0, 5.55, RGBColor(0xE8,0xF5,0xE9))
rect(s, 0.25, 1.33, 6.0, 0.44, MID_OLIVE)
tb(s, "PATHYA (Wholesome — Do's)", 0.25, 1.33, 6.0, 0.44,
   fn="Georgia", fs=15, bold=True, col=WHITE, al=PP_ALIGN.CENTER, va=MSO_ANCHOR.MIDDLE)

rect(s, 6.65, 1.33, 6.45, 5.55, RGBColor(0xFF,0xEB,0xEB))
rect(s, 6.65, 1.33, 6.45, 0.44, RUST)
tb(s, "APATHYA (Unwholesome — Don'ts)", 6.65, 1.33, 6.45, 0.44,
   fn="Georgia", fs=15, bold=True, col=WHITE, al=PP_ALIGN.CENTER, va=MSO_ANCHOR.MIDDLE)

pathya = [
    "Ahara (Diet — Wholesome):",
    "  \u2022  Freshly cooked, seasonal, locally grown food",
    "  \u2022  Sattvika Ahara: Shali rice, yava (barley), moong dal",
    "  \u2022  Amalaki (Vit C), Pomegranate, Sesame, Jaggery",
    "  \u2022  Ragi, green leafy vegetables — iron & calcium",
    "  \u2022  Warm water, Takra (buttermilk), cow's milk",
    "",
    "Vihara (Lifestyle — Wholesome):",
    "  \u2022  Dinacharya: fixed wake-sleep routine",
    "  \u2022  Laghu Vyayama: Yoga, Surya Namaskar, walking",
    "  \u2022  Pranayama: Anulom-Vilom, Bhramari (15 min/day)",
    "  \u2022  Abhyanga (oil massage): Vata regulation",
    "  \u2022  Screen time <2 hr/day; outdoor play",
    "  \u2022  Brahmacharya Pathya during Rajonisheka phase",
]
bx = s.shapes.add_textbox(Inches(0.35), Inches(1.83), Inches(5.8), Inches(4.9))
tf = bx.text_frame; tf.word_wrap = True
for i, pt in enumerate(pathya):
    p = tf.paragraphs[0] if i==0 else tf.add_paragraph()
    p.space_before = Pt(3)
    r = p.add_run(); r.text = pt
    r.font.name="Calibri"; r.font.size=Pt(12.5)
    r.font.bold = pt.endswith(":") and not pt.startswith(" ")
    r.font.color.rgb = MID_OLIVE if (pt.endswith(":") and not pt.startswith(" ")) else DARK_TEXT

apathya = [
    "Ahara (Diet — Unwholesome):",
    "  \u2022  All NOVA Group 4 UPFs: chips, sugary drinks,\n     instant noodles, packaged biscuits",
    "  \u2022  Ati Madhura (excess sugar): Kapha-Meda vriddhi",
    "  \u2022  Ati Lavana, Ati Amla \u2192 Rakta-Pitta dushti",
    "  \u2022  Paryushita (stale) food \u2192 Ama formation",
    "  \u2022  Refrigerated/frozen foods \u2192 Agni mandya",
    "",
    "Vihara (Lifestyle — Unwholesome):",
    "  \u2022  Ati Swapna (excess sleep/rest) \u2192 Kapha vriddhi",
    "  \u2022  Divaswapna (day sleep) \u2192 Agni mandya",
    "  \u2022  Ati screen time \u2192 Melatonin disruption + stress",
    "  \u2022  Vegadharana (urge suppression) \u2192 Apana Vata",
    "  \u2022  Chinta-Shoka (anxiety/social media stress)",
    "  \u2022  Avyayama (physical inactivity) \u2192 Meda sanchaya",
]
bx2 = s.shapes.add_textbox(Inches(6.75), Inches(1.83), Inches(6.25), Inches(4.9))
tf2 = bx2.text_frame; tf2.word_wrap = True
for i, pt in enumerate(apathya):
    p = tf2.paragraphs[0] if i==0 else tf2.add_paragraph()
    p.space_before = Pt(3)
    r = p.add_run(); r.text = pt
    r.font.name="Calibri"; r.font.size=Pt(12.5)
    r.font.bold = pt.endswith(":") and not pt.startswith(" ")
    r.font.color.rgb = RUST if (pt.endswith(":") and not pt.startswith(" ")) else DARK_TEXT


# ═════════════════════════════════════════════════════════════════
# SLIDE 10 — AYURVEDIC CHIKITSA PROTOCOL
# ═════════════════════════════════════════════════════════════════
s = prs.slides.add_slide(blank); bg(s, CREAM)
header(s, "Ayurvedic Chikitsa Protocol",
       sub="Stepwise management for UPF/sedentary-linked pubertal disorders in adolescents")
footer(s)

steps = [
    ("STEP 1\nAssessment",
     "Prakriti + Nadi Pariksha + Tanner staging\nBMI, waist circumference, Agni assessment\nNidana Panchaka — identify Ahara-Vihara dushti"),
    ("STEP 2\nNidana Parivarjana",
     "Strict elimination of UPFs; screen time reduction\nPathya Ahara counselling (whole foods)\nEstablish Dinacharya & Ritucharya"),
    ("STEP 3\nAma Pachana",
     "Trikatu Churna / Chitrakadi Vati — 1–2 weeks\nWarm water sipping (Ushna Jala)\nRestore Jatharagni before Shodhana"),
    ("STEP 4\nShodhana (Age-appropriate)",
     "Mridu Virechana (Haritaki/Trivrit):\nKapha-Pitta dominant disorders\nUdwartana: Kolakulatthadi Churna"),
    ("STEP 5\nShamana Aushadhi",
     "Precocious / PCOS: Kanchanara Guggulu +\n  Shatapushpa + Triphala\nDelayed: Ashwagandha + Shatavari Ghrita"),
    ("STEP 6\nRasayana + Follow-up",
     "Amalaki Rasayana / Brahma Rasayana\nYoga + Pranayama prescription\nMonitor BMI, menstrual cycle at 3, 6 months"),
]

bw=3.88; bh=1.55
for i, (title, content) in enumerate(steps):
    col = i%2; row = i//2
    bx2 = 0.28 + col*6.65; by = 1.38 + row*1.7
    rect(s, bx2, by, bw+0.22, bh, DARK_OLIVE)
    tb(s, title, bx2+0.07, by+0.05, bw+0.08, 0.42,
       fn="Georgia", fs=13, bold=True,
       col=GOLD, al=PP_ALIGN.LEFT, va=MSO_ANCHOR.MIDDLE)
    tb(s, content, bx2+0.07, by+0.48, bw+0.08, 1.0,
       fs=11, col=WHITE, al=PP_ALIGN.LEFT, va=MSO_ANCHOR.TOP)

for ax in [2.1, 8.75]:
    for row in range(2):
        ay = 1.38 + row*1.7 + bh
        tb(s, "\u25BC", ax, ay+0.04, 0.4, 0.25,
           fs=16, bold=True, col=SAFFRON, al=PP_ALIGN.CENTER)


# ═════════════════════════════════════════════════════════════════
# SLIDE 11 — EVIDENCE SUMMARY & RESEARCH GAPS
# ═════════════════════════════════════════════════════════════════
s = prs.slides.add_slide(blank); bg(s, CREAM)
header(s, "Evidence Summary & Research Gaps",
       sub="Contemporary evidence + scope for Ayurvedic research")
footer(s)

bullets(s, [
    ("Key Contemporary Evidence", 0, True, DEEP_MAROON),
    ("  \u2022  PLOS ONE 2024 (Meta-analysis): High UPF consumption \u2192 OR=1.63 for overweight/obesity in adolescents", 1, False, DARK_TEXT),
    ("  \u2022  Zhao et al., Front Nutr 2024 (Cross-sectional, n=children/adolescents 6-19 yr): UPF \u2192 \u2191FAI in pubertal girls \u2192 PCOS risk", 1, False, DARK_TEXT),
    ("  \u2022  Machado-Rodrigues et al., Nutrients 2024: Higher UPF proportion \u2192 \u2191BMI in adolescents across multiple cohorts", 1, False, DARK_TEXT),
    ("  \u2022  PMC 2024 (Review): Physical inactivity + UPF = most prevalent combined NCD risk factor in school adolescents", 1, False, DARK_TEXT),
    ("  \u2022  WHO 2022: 81% of adolescents globally fail recommended physical activity; BPA/Phthalates confirmed EDCs", 1, False, DARK_TEXT),
    ("", 0, False, DARK_TEXT),
    ("Ayurvedic Evidence", 0, True, MID_OLIVE),
    ("  \u2022  Kanchanara Guggulu: Clinical studies show reduction in ovarian cyst size and androgen levels in PCOS", 1, False, DARK_TEXT),
    ("  \u2022  Shatavari (Asparagus racemosus): Phytoestrogen; normalises HPG axis; studied in adolescent menstrual disorders", 1, False, DARK_TEXT),
    ("  \u2022  Ashwagandha (Withania somnifera): Adaptogenic; reduces cortisol; supports gonadal function", 1, False, DARK_TEXT),
    ("", 0, False, DARK_TEXT),
    ("Research Gaps & Future Scope", 0, True, SAFFRON),
    ("  \u2022  No RCTs specifically studying Ayurvedic formulations vs. UPF-induced precocious puberty", 1, False, DARK_TEXT),
    ("  \u2022  Need for prospective studies: Dinacharya + Pathya diet intervention on pubertal timing in Indian adolescents", 1, False, DARK_TEXT),
    ("  \u2022  EDC-Ama correlation model needs biomarker validation studies", 1, False, DARK_TEXT),
], fs=14.5)


# ═════════════════════════════════════════════════════════════════
# SLIDE 12 — CONCLUSION & REFERENCES
# ═════════════════════════════════════════════════════════════════
s = prs.slides.add_slide(blank); bg(s, CREAM)
header(s, "Conclusion & References")
footer(s)

rect(s, 0.25, 1.35, 12.85, 3.25, DARK_OLIVE)
tb(s, "Key Conclusions", 0.3, 1.38, 12.7, 0.38,
   fn="Georgia", fs=16, bold=True,
   col=GOLD, al=PP_ALIGN.LEFT, va=MSO_ANCHOR.MIDDLE)
conc = (
    "\u2022  UPFs disrupt puberty through obesity-leptin-GnRH axis, hyperinsulinism-androgen excess, EDCs and gut dysbiosis.\n"
    "\u2022  Sedentary lifestyle compounds pubertal disruption via Meda sanchaya, circadian disruption and psychological stress.\n"
    "\u2022  Ayurveda offers a precise, coherent framework: Viruddha Ahara/Apathya Dravyas \u2192 Ama \u2192 Srotas dushti \u2192 pubertal disorder.\n"
    "\u2022  Sthoulya (obesity) is the central pathogenic link — Charaka Sutrasthana 21's Medoroga Chikitsa remains clinically relevant.\n"
    "\u2022  Kaumarabhritya has a vital preventive & curative role: Dinacharya, Pathya Ahara, Yoga, and Rasayana-based correction."
)
tb(s, conc, 0.35, 1.79, 12.6, 2.75,
   fs=13, col=WHITE, al=PP_ALIGN.LEFT, va=MSO_ANCHOR.TOP)

tb(s, "Key References", 0.25, 4.68, 12.85, 0.3,
   fn="Georgia", fs=14, bold=True,
   col=DARK_OLIVE, al=PP_ALIGN.LEFT)

refs = (
    "1. Charaka Samhita: Sutrasthana 21 (Sthoulya), 26 (Viruddha Ahara); Sharira Sthana 8.  "
    "2. Ashtanga Hridayam: Sutrasthana 14; Sharira 1.  "
    "3. Kashyapa Samhita: Khila Sthana (Pushpaghni Jataharin).\n"
    "4. Zhao H et al. Ultra-processed foods intake and sex hormone levels. Front Nutr. 2024;11:1451481.  "
    "5. Machado-Rodrigues AM et al. UPF Consumption & Pubertal Health. Nutrients 2024;16(22):3827.\n"
    "6. Louzada ML et al. UPF consumption and obesity in Brazilian adolescents. PLOS ONE 2024 Meta-analysis.  "
    "7. PMC 2024 (Review): UPF consumption and NCD in children — PMC10960188.\n"
    "8. WHO 2022 Global Action Plan on Physical Activity.  "
    "9. World Obesity Atlas 2023.  "
    "10. Berek & Novak's Gynecology 16e, Ch. 8 (Pubertal Development & Aberrations)."
)
tb(s, refs, 0.25, 5.02, 12.85, 1.97,
   fs=10.5, col=RGBColor(0x22,0x22,0x22), al=PP_ALIGN.LEFT)


# ═════════════════════════════════════════════════════════════════
out = "/tmp/workspace/upf-puberty-ppt/UPF_Sedentary_Lifestyle_Pubertal_Disorders_Kaumarabhritya.pptx"
prs.save(out)
print(f"Saved: {out}  |  Slides: {len(prs.slides)}")
Your credits are exhausted. You can purchase a top-up or subscribe to a plan to continue using Orris. If you're already subscribed, your daily credits will reset tomorrow.
This is a shared conversation. Sign in to Orris to start your own chat.