I have ibs I want a very realistic plan from basics for bpt 1st year university exam till October timing 4am to 6am evening 6 30pm to 9

Asking for Preferences

And I cannot study on tues thrusday in evening and Sunday also just 1 hr in evening after 8pm

Asking for Preferences
Searching the Web

BPT 1st year syllabus anatomy physiology biochemistry psychology sociology exam topics

Searching the Web

IBS study tips stress management students university exam

Here is your complete, realistic study plan. I've built it specifically around your constraints.

BPT 1st Year Study Plan - Aug 5 to Oct 31, 2026

Your Study Reality Check

Total weeks available: ~13 weeks Usable study time per week:
SlotDaysHours
Morning 4:00-6:00 AMMon, Tue, Wed, Thu, Fri, Sat, Sun2 hrs x 7 = 14 hrs
Evening 6:30-9:00 PMMon, Wed, Fri, Sat only2.5 hrs x 4 = 10 hrs
Evening (limited)Tue, Thu = 0 hrs; Sun = 1 hr after 8 PM1 hr
Weekly total~25 hrs/week
Total study hours before exams: ~325 hours

IBS-Specific Rules (Non-Negotiable)

Since stress unpredictably triggers your IBS, these rules protect your health AND your studies:
  1. Never study right after waking - give yourself 15-20 min after 4 AM to use the bathroom, drink warm water, and settle before opening books
  2. No new hard topics on high-stress days - if your gut is bad, use that session only for reading/revision, never for first-time learning
  3. Build in a "lost session" buffer - every week has 1-2 backup slots built in. Missing a session is already accounted for in this plan
  4. Keep a water bottle at your desk - dehydration worsens IBS and brain fog
  5. Morning slot = lighter cognitive work (reading, flashcards, diagrams) because gut motility peaks in the morning
  6. Evening slot = harder work (writing, problem solving, past papers) when your gut is usually calmer
  7. Sunday 8-9 PM = weekly review only, never new content
  8. Do not skip sleep to study - sleep deprivation is a major IBS trigger. 4 AM is fine only if you sleep by 10-10:30 PM

Subjects and Weightage (Priority Order)

SubjectWeightDifficultyPriority
AnatomyVery High (200 marks)Very Hard1st
PhysiologyVery High (200 marks)Hard2nd
Psychology + SociologyMedium (100 marks combined)Moderate3rd
BiochemistryModerate (100 marks)Moderate-Hard4th

4-Phase Plan

PHASE 1: Foundation (Aug 5 - Aug 30) - 4 weeks

Goal: Cover all subjects from zero. No skipping. Light but consistent.
Weekly schedule template:
DayMorning 4-6 AMEvening
MonAnatomy - new topic (1 region/system)6:30-9 PM: Physiology - new topic
TueAnatomy - revise Monday's topicNO EVENING (skip completely, rest)
WedPhysiology - revise Tuesday's morning topic6:30-9 PM: Biochemistry - new chapter
ThuPsychology/Sociology - 1 chapter readingNO EVENING (rest/walk/light activity)
FriAnatomy - new topic (continue region)6:30-9 PM: Physiology - new topic
SatBiochemistry - revise + make short notes6:30-9 PM: Anatomy - diagrams + labels
SunLight reading (any subject feeling weak)8-9 PM: Weekly review - what did I cover?
Phase 1 Anatomy topics to cover (in order):
  • Week 1: General anatomy - terms, regions, body cavities, bone structure
  • Week 2: Upper limb - bones, muscles, joints, nerves
  • Week 3: Lower limb - bones, muscles, joints, nerves
  • Week 4: Spine and vertebral column
Phase 1 Physiology topics:
  • Week 1: Cell physiology, body fluids, homeostasis
  • Week 2: Blood - components, haemostasis, blood groups
  • Week 3: Cardiovascular system basics (heart, cardiac cycle)
  • Week 4: Respiratory system basics
Phase 1 Biochemistry:
  • Week 1-2: Carbohydrate metabolism (glycolysis, TCA cycle basics)
  • Week 3-4: Protein structure, enzymes
Phase 1 Psychology/Sociology:
  • Week 1: Introduction, schools of psychology
  • Week 2-3: Sensation, perception, learning
  • Week 4: Memory + intro to Sociology

PHASE 2: Build-Up (Sep 1 - Sep 28) - 4 weeks

Goal: Complete remaining syllabus topics. Start writing answers, not just reading.
Weekly schedule template:
DayMorning 4-6 AMEvening
MonAnatomy - new topic (thorax/abdomen)6:30-9 PM: Write 3 short answers Anatomy
TuePhysiology - new topicNO EVENING
WedBiochemistry - new chapter6:30-9 PM: Write 2 long answers Physiology
ThuPsychology/Sociology - continue chaptersNO EVENING
FriAnatomy - new topic (head/neck/CNS)6:30-9 PM: Physiology - write + diagrams
SatMock questions + self-test (any subject)6:30-9 PM: Biochemistry + Psych/Soc writing
SunWeak area revision8-9 PM: Plan next week's topics
Phase 2 Anatomy topics:
  • Week 5: Thorax - thoracic cage, lungs, heart anatomy, mediastinum
  • Week 6: Abdomen - organs, peritoneum, abdominal wall
  • Week 7: Head and neck - skull, cranial nerves overview
  • Week 8: Neuroanatomy basics - brain regions, spinal cord
Phase 2 Physiology:
  • Week 5: Nerve and muscle physiology, neuromuscular junction
  • Week 6: Digestive system physiology
  • Week 7: Renal system, fluid balance
  • Week 8: Endocrine system basics, nervous system overview
Phase 2 Biochemistry:
  • Week 5-6: Lipid metabolism, vitamins
  • Week 7-8: Nucleic acids, clinical biochemistry basics
Phase 2 Psychology/Sociology:
  • Week 5-6: Motivation, emotion, personality
  • Week 7-8: Sociology - society, health and illness, community

PHASE 3: Revision + Past Papers (Oct 1 - Oct 20) - 3 weeks

Goal: Stop reading new content. Only revise, write, and practice questions.
Weekly schedule template:
DayMorning 4-6 AMEvening
MonAnatomy - revise 2-3 important topics6:30-9 PM: Write full past paper answers (Anatomy)
TuePhysiology - rapid revision notesNO EVENING
WedBiochemistry rapid revision6:30-9 PM: Physiology past paper writing
ThuPsychology/Sociology - revise all chaptersNO EVENING
FriAnatomy + Physiology diagrams6:30-9 PM: Mixed subject practice questions
SatFull mock test - any one subject (timed 3 hrs)6:30-9 PM: Review mock answers, find gaps
SunRest - gentle reading only8-9 PM: Plan final week targets
Key revision tasks in Phase 3:
  • Make 1-page summary sheets for every topic
  • Memorize all major diagrams (brachial plexus, cardiac cycle curves, nephron, kreb's cycle)
  • Practice writing under time pressure
  • Focus on: definitions, classifications, and applied anatomy questions (high exam frequency)

PHASE 4: Final 10 Days (Oct 21-31)

Goal: Consolidate, not cram. Protect your gut and sleep.
DayMorning 4-6 AMEvening
Oct 21-22Anatomy full revision (summary notes only)2.5 hrs: Physiology full revision
Oct 23-24Biochemistry + Psych/Soc combined revision2.5 hrs: All diagrams review
Oct 25-26High-yield topics only (past paper patterns)2.5 hrs: Write 5 answers timed
Oct 27Light reading - do NOT start new topicsRest evening - no study
Oct 281 hr reading per subject - revision onlyRest
Oct 29Final formula/definitions reviewSleep by 9:30 PM
Oct 30Exam eve - stop studying by 6 PMRest, gut-friendly food, sleep by 10 PM
Oct 31Exam day-

Daily Routine Structure (IBS-Safe)

Morning Slot (4:00 - 6:00 AM)

4:00 AM - Wake up
4:00-4:20 - Bathroom time, warm water/herbal tea, sit quietly (do NOT rush)
4:20-5:20 - Study Block 1 (new reading / diagram drawing / flashcards)
5:20-5:30 - Break (walk 5 min, light stretch)
5:30-6:00 - Study Block 2 (revise what you just read, make short notes)
6:00 AM - Done. Normal morning routine.

Evening Slot (6:30 - 9:00 PM)

6:30 PM - Light snack if hungry (not a heavy meal - avoid IBS triggers)
6:30-7:30 - Study Block 1 (active study - writing answers, solving MCQs)
7:30-7:40 - Break (walk, water, no phone doom-scrolling)
7:40-8:40 - Study Block 2 (continue writing / diagrams / practice)
8:40-9:00 - 20 min review: what did I cover today? Write 3 key points.
9:00 PM - STOP. No study after 9 PM.

Subject-Specific Study Methods

Anatomy (hardest - most marks)

  • Draw diagrams daily - do not just read, DRAW and label
  • Use a body atlas or colored diagrams (Gray's simplified / BPT atlas)
  • Make region-wise notes: each region = 1 A4 page summary
  • Focus areas: brachial plexus, lumbosacral plexus, joints, nerve supply of muscles
  • Applied anatomy questions = very common in exams, practice them specifically

Physiology (2nd hardest)

  • Understand mechanisms, do not memorize blindly
  • Draw graphs: cardiac cycle, action potential, spirometry curves
  • Learn in systems (CVS, RS, Renal, Endocrine, etc.)
  • Focus: regulation mechanisms - how does the body maintain homeostasis

Biochemistry

  • Focus on metabolic pathways with diagrams (glycolysis, TCA, beta-oxidation)
  • Learn enzyme names and cofactors
  • Clinical applications are commonly asked - connect biochemistry to disease

Psychology + Sociology (easiest - do not over-invest time)

  • Read standard textbook (Munn's Psychology or similar)
  • Make definition lists - most marks come from definitions + short answers
  • Sociology: focus on concepts - health, illness, society, community medicine links

IBS Flare Management During Study

If you have a bad gut morning:
  • Skip the new topic, do only light revision or flashcard review
  • Do not sit at desk in discomfort - use that 15 min for gentle walking
  • Make up the topic the next morning (each week has built-in buffer)
If gut flare happens during exam prep stress (Oct):
  • Cut evening session to 1 hour only (6:30-7:30 PM)
  • Use mornings for only revision, no pressure to finish topics
  • Remind yourself: you have covered the content. Revision is consolidation, not panic.
Diet tips that help IBS + study:
  • Avoid heavy/greasy meals before study sessions
  • Eat small meals - large meals worsen post-meal urgency
  • Warm water or ginger tea in the morning helps gut motility
  • Avoid excessive coffee/tea (caffeine is a strong IBS trigger)
  • Do not study on an empty stomach either - low blood sugar = poor focus

Weekly Tracking System

At the end of every Sunday (8-9 PM slot), answer these 4 questions in a notebook:
  1. What did I cover this week? (list topics)
  2. What did I miss? (reschedule for next week)
  3. Which subject feels weakest? (allocate more time next week)
  4. How was my gut this week? (track patterns to predict and plan)

Summary: What Makes This Plan Realistic

  • You have 325 study hours before October - more than enough for BPT 1st year if used consistently
  • Tuesday and Thursday evenings are completely free - this is actually good, it gives your gut and brain recovery time
  • IBS flare days are pre-accounted - missing 1-2 sessions per week does not derail the plan
  • No all-nighters, no panic cramming - both are IBS triggers and they backfire
  • Phase 3 begins revision early (Oct 1) - you are not still reading new content in October
  • The plan starts tomorrow (Aug 6) with General Anatomy - just open your book at 4:20 AM and begin

One final note: IBS worsens when you feel behind. This plan is deliberately paced so you are always slightly ahead, never catching up. If you follow the Phase 1 schedule even 70% consistently, you will enter October in a strong position. The goal is not perfection - it is calm, consistent progress.

Create a detailed pdf

Reading File
Running Command

ls -la /tmp/workspace/ 2>/dev/null || echo "workspace does not exist yet"

Running Command

mkdir -p /tmp/workspace/bpt-study-plan

Writing File

~/bpt-study-plan/generate_pdf.py

from reportlab.lib.pagesizes import A4
from reportlab.lib import colors
from reportlab.lib.styles import getSampleStyleSheet, ParagraphStyle
from reportlab.lib.units import cm, mm
from reportlab.platypus import (
    SimpleDocTemplate, Paragraph, Spacer, Table, TableStyle,
    HRFlowable, PageBreak, KeepTogether
)
from reportlab.lib.enums import TA_CENTER, TA_LEFT, TA_JUSTIFY
from reportlab.platypus import Flowable

OUTPUT = "/tmp/workspace/bpt-study-plan/BPT_Study_Plan.pdf"

# ── Colour palette ──────────────────────────────────────────────
NAVY    = colors.HexColor("#1B3A6B")
TEAL    = colors.HexColor("#0D7377")
AMBER   = colors.HexColor("#F4A300")
SOFT_BG = colors.HexColor("#F0F4FA")
LIGHT_GREEN = colors.HexColor("#E8F5E9")
LIGHT_RED   = colors.HexColor("#FFEBEE")
LIGHT_AMBER = colors.HexColor("#FFF8E1")
WHITE   = colors.white
DARK_TEXT = colors.HexColor("#1A1A2E")
GREY    = colors.HexColor("#757575")

# ── Styles ───────────────────────────────────────────────────────
styles = getSampleStyleSheet()

def make_style(name, parent="Normal", **kwargs):
    s = ParagraphStyle(name, parent=styles[parent], **kwargs)
    return s

cover_title = make_style("CoverTitle",
    fontSize=28, leading=34, textColor=WHITE,
    alignment=TA_CENTER, fontName="Helvetica-Bold")

cover_sub = make_style("CoverSub",
    fontSize=13, leading=18, textColor=colors.HexColor("#D0E8FF"),
    alignment=TA_CENTER, fontName="Helvetica")

cover_note = make_style("CoverNote",
    fontSize=10, leading=14, textColor=colors.HexColor("#FFD180"),
    alignment=TA_CENTER, fontName="Helvetica-Oblique")

h1 = make_style("H1",
    fontSize=16, leading=20, textColor=WHITE,
    fontName="Helvetica-Bold", alignment=TA_LEFT,
    spaceBefore=4, spaceAfter=4)

h2 = make_style("H2",
    fontSize=13, leading=17, textColor=NAVY,
    fontName="Helvetica-Bold", spaceBefore=10, spaceAfter=4)

h3 = make_style("H3",
    fontSize=11, leading=14, textColor=TEAL,
    fontName="Helvetica-Bold", spaceBefore=6, spaceAfter=2)

body = make_style("Body",
    fontSize=9.5, leading=14, textColor=DARK_TEXT,
    fontName="Helvetica", alignment=TA_JUSTIFY, spaceAfter=4)

body_b = make_style("BodyBold",
    fontSize=9.5, leading=14, textColor=DARK_TEXT,
    fontName="Helvetica-Bold", spaceAfter=2)

bullet = make_style("Bullet",
    fontSize=9.5, leading=13, textColor=DARK_TEXT,
    fontName="Helvetica", leftIndent=14, spaceAfter=2,
    bulletText="•")

caution = make_style("Caution",
    fontSize=9.5, leading=13, textColor=colors.HexColor("#B71C1C"),
    fontName="Helvetica-Oblique", leftIndent=10, spaceAfter=2)

note = make_style("Note",
    fontSize=9, leading=12, textColor=colors.HexColor("#4A4A4A"),
    fontName="Helvetica-Oblique", leftIndent=8, spaceAfter=3)

# ── Helper classes ───────────────────────────────────────────────
class ColorBox(Flowable):
    """A filled rounded rectangle used as a section header band."""
    def __init__(self, text, style, bg=NAVY, w=None, pad_h=8, pad_v=5, radius=4):
        super().__init__()
        self.text = text
        self.style = style
        self.bg = bg
        self._w = w
        self.pad_h = pad_h
        self.pad_v = pad_v
        self.radius = radius

    def wrap(self, aW, aH):
        self.width = self._w or aW
        self.height = self.style.fontSize + self.pad_v * 2 + 4
        return self.width, self.height

    def draw(self):
        c = self.canv
        c.setFillColor(self.bg)
        c.roundRect(0, 0, self.width, self.height, self.radius, fill=1, stroke=0)
        c.setFillColor(WHITE)
        c.setFont(self.style.fontName, self.style.fontSize)
        c.drawString(self.pad_h, self.pad_v + 2, self.text)


class CoverBanner(Flowable):
    """Full-width cover gradient-style banner."""
    def __init__(self, w, h):
        super().__init__()
        self.width = w
        self.height = h

    def wrap(self, aW, aH):
        return self.width, self.height

    def draw(self):
        c = self.canv
        c.setFillColor(NAVY)
        c.rect(0, 0, self.width, self.height, fill=1, stroke=0)
        # decorative accent strip
        c.setFillColor(TEAL)
        c.rect(0, self.height - 6, self.width, 6, fill=1, stroke=0)
        c.setFillColor(AMBER)
        c.rect(0, 0, self.width, 5, fill=1, stroke=0)


# ── Table helpers ────────────────────────────────────────────────
def hdr_cell(text):
    return Paragraph(f"<b>{text}</b>", make_style(
        "TH", fontSize=9, textColor=WHITE,
        fontName="Helvetica-Bold", alignment=TA_CENTER))

def cell(text, align=TA_LEFT, bold=False):
    fn = "Helvetica-Bold" if bold else "Helvetica"
    return Paragraph(text, make_style(
        "TD", fontSize=9, textColor=DARK_TEXT,
        fontName=fn, alignment=align, leading=12))

def base_table_style(header_bg=NAVY):
    return TableStyle([
        ("BACKGROUND",  (0,0), (-1,0), header_bg),
        ("TEXTCOLOR",   (0,0), (-1,0), WHITE),
        ("FONTNAME",    (0,0), (-1,0), "Helvetica-Bold"),
        ("FONTSIZE",    (0,0), (-1,-1), 9),
        ("ROWBACKGROUNDS", (0,1), (-1,-1), [WHITE, SOFT_BG]),
        ("GRID",        (0,0), (-1,-1), 0.4, colors.HexColor("#CCCCCC")),
        ("VALIGN",      (0,0), (-1,-1), "MIDDLE"),
        ("TOPPADDING",  (0,0), (-1,-1), 5),
        ("BOTTOMPADDING",(0,0),(-1,-1), 5),
        ("LEFTPADDING", (0,0), (-1,-1), 6),
        ("RIGHTPADDING",(0,0), (-1,-1), 6),
    ])


# ── Document setup ───────────────────────────────────────────────
doc = SimpleDocTemplate(
    OUTPUT, pagesize=A4,
    leftMargin=1.8*cm, rightMargin=1.8*cm,
    topMargin=1.8*cm, bottomMargin=1.8*cm,
    title="BPT 1st Year Study Plan - IBS-Aware",
    author="Orris AI Study Planner"
)

W = A4[0] - 3.6*cm   # usable page width
story = []


# ══════════════════════════════════════════════════════════════════
# COVER PAGE
# ══════════════════════════════════════════════════════════════════
story.append(CoverBanner(W, 8*cm))
story.append(Spacer(1, -8*cm))   # overlap text over banner

cover_items = [
    Spacer(1, 1.2*cm),
    Paragraph("BPT 1st Year", make_style("CT1", fontSize=14, textColor=colors.HexColor("#90CAF9"),
        alignment=TA_CENTER, fontName="Helvetica")),
    Spacer(1, 0.2*cm),
    Paragraph("Complete Study Plan", make_style("CT2", fontSize=30, textColor=WHITE,
        alignment=TA_CENTER, fontName="Helvetica-Bold", leading=36)),
    Spacer(1, 0.15*cm),
    Paragraph("Anatomy · Physiology · Biochemistry · Psychology · Sociology",
        make_style("CT3", fontSize=11, textColor=colors.HexColor("#B3E5FC"),
        alignment=TA_CENTER, fontName="Helvetica")),
    Spacer(1, 0.4*cm),
    Paragraph("Aug 5 – Oct 31, 2026  |  IBS-Aware & Stress-Safe",
        make_style("CT4", fontSize=10, textColor=AMBER,
        alignment=TA_CENTER, fontName="Helvetica-Bold")),
    Spacer(1, 0.5*cm),
    HRFlowable(width=W*0.5, thickness=1, color=AMBER, hAlign="CENTER"),
    Spacer(1, 0.3*cm),
    Paragraph("Study windows: 4:00–6:00 AM  |  6:30–9:00 PM (Mon/Wed/Fri/Sat)",
        make_style("CT5", fontSize=9, textColor=colors.HexColor("#CFD8DC"),
        alignment=TA_CENTER, fontName="Helvetica-Oblique")),
    Spacer(1, 0.1*cm),
    Paragraph("Tue/Thu evenings off  ·  Sun 8–9 PM only  ·  IBS flare buffers built in",
        make_style("CT6", fontSize=9, textColor=colors.HexColor("#CFD8DC"),
        alignment=TA_CENTER, fontName="Helvetica-Oblique")),
]
for item in cover_items:
    story.append(item)

story.append(Spacer(1, 1.5*cm))

# Info box on cover
info_data = [
    [hdr_cell("Metric"), hdr_cell("Value")],
    [cell("Total Study Weeks"), cell("13 weeks (Aug 5 – Oct 31)")],
    [cell("Available Hours/Week"), cell("~25 hours")],
    [cell("Total Study Hours"), cell("~325 hours")],
    [cell("Morning Slot"), cell("4:00 AM – 6:00 AM (daily)")],
    [cell("Evening Slot"), cell("6:30 PM – 9:00 PM (Mon/Wed/Fri/Sat)")],
    [cell("Rest Evenings"), cell("Tue, Thu (full off)  |  Sun 1 hr (8–9 PM)")],
    [cell("IBS Strategy"), cell("Stress-safe pacing, built-in buffer days")],
]
info_table = Table(info_data, colWidths=[W*0.42, W*0.58])
info_table.setStyle(base_table_style(TEAL))
story.append(info_table)
story.append(PageBreak())


# ══════════════════════════════════════════════════════════════════
# SECTION 1 — IBS RULES
# ══════════════════════════════════════════════════════════════════
story.append(ColorBox("SECTION 1 · IBS Management Rules (Non-Negotiable)", h1, bg=colors.HexColor("#B71C1C")))
story.append(Spacer(1, 0.3*cm))
story.append(Paragraph(
    "Since stress unpredictably triggers your IBS, the following rules protect both your health and your study performance. "
    "These are not optional — breaking them is more likely to cost you study time than gain it.",
    body))
story.append(Spacer(1, 0.2*cm))

ibs_rules = [
    ("Never rush to sit at your desk after waking",
     "Give yourself 15–20 min after 4 AM for bathroom, warm water, and quiet sitting before opening any book."),
    ("No new hard topics on high-stress/flare days",
     "If your gut is bad, use that session only for passive reading or flashcard review — never first-time learning."),
    ("Miss a session? It is already accounted for",
     "Every week has 1–2 built-in buffer slots. Missing a session does not break this plan."),
    ("Keep water at your desk at all times",
     "Dehydration worsens both IBS and brain fog. Sip water throughout every session."),
    ("Morning = lighter cognitive work",
     "Gut motility peaks in the morning. Use 4–6 AM for reading, diagrams, and flashcards — not heavy writing."),
    ("Evening = harder active work",
     "Use 6:30–9 PM for writing answers, MCQs, and timed practice when your gut is usually calmer."),
    ("Sunday 8–9 PM = weekly review ONLY",
     "Never introduce new content on Sunday evenings. This is review and planning time only."),
    ("Sleep is sacred — never skip it to study",
     "4 AM is only viable if you sleep by 10–10:30 PM. Sleep deprivation is a major IBS and stress trigger."),
    ("No heavy meals before study sessions",
     "Eat light, gut-friendly meals. Avoid excess caffeine — it is a strong IBS trigger and raises anxiety."),
    ("Stop studying by 9 PM — always",
     "Late-night study raises cortisol, disrupts sleep, and worsens next-day IBS. Hard stop at 9 PM."),
]
for rule, detail in ibs_rules:
    story.append(KeepTogether([
        Paragraph(f"<b>{rule}</b>", body_b),
        Paragraph(detail, note),
        Spacer(1, 0.15*cm),
    ]))

# IBS flare protocol box
story.append(Spacer(1, 0.2*cm))
story.append(ColorBox("  What to do during an IBS flare", h1,
    bg=colors.HexColor("#E65100"), w=W*0.7))
story.append(Spacer(1, 0.15*cm))
flare_actions = [
    "Skip new topic — do light revision or flashcard-only session",
    "Walk gently for 10–15 min before sitting again",
    "Reschedule the missed topic to the next day's buffer slot",
    "In October: cut evening session to 1 hour only (6:30–7:30 PM)",
    "Remind yourself: you have covered the content — revision is consolidation, not panic",
]
for a in flare_actions:
    story.append(Paragraph(a, bullet))

story.append(PageBreak())


# ══════════════════════════════════════════════════════════════════
# SECTION 2 — WEEKLY SCHEDULE OVERVIEW
# ══════════════════════════════════════════════════════════════════
story.append(ColorBox("SECTION 2 · Weekly Study Hours Overview", h1, bg=NAVY))
story.append(Spacer(1, 0.3*cm))

hours_data = [
    [hdr_cell("Day"), hdr_cell("Morning 4–6 AM"), hdr_cell("Evening"), hdr_cell("Daily Total")],
    [cell("Monday"),    cell("2 hrs"), cell("6:30–9:00 PM (2.5 hrs)"), cell("4.5 hrs", bold=True)],
    [cell("Tuesday"),   cell("2 hrs"), cell("OFF — rest/light activity"), cell("2 hrs")],
    [cell("Wednesday"), cell("2 hrs"), cell("6:30–9:00 PM (2.5 hrs)"), cell("4.5 hrs", bold=True)],
    [cell("Thursday"),  cell("2 hrs"), cell("OFF — rest/light activity"), cell("2 hrs")],
    [cell("Friday"),    cell("2 hrs"), cell("6:30–9:00 PM (2.5 hrs)"), cell("4.5 hrs", bold=True)],
    [cell("Saturday"),  cell("2 hrs"), cell("6:30–9:00 PM (2.5 hrs)"), cell("4.5 hrs", bold=True)],
    [cell("Sunday"),    cell("2 hrs"), cell("8:00–9:00 PM (1 hr review)"), cell("3 hrs")],
    [cell("WEEKLY TOTAL", bold=True), cell("14 hrs", bold=True),
     cell("11 hrs", bold=True), cell("~25 hrs", bold=True)],
]
hours_table = Table(hours_data, colWidths=[W*0.18, W*0.22, W*0.38, W*0.22])
hours_table.setStyle(base_table_style(NAVY))
hours_table.setStyle(TableStyle([
    *base_table_style(NAVY).getCommands(),
    ("BACKGROUND", (0,8), (-1,8), AMBER),
    ("TEXTCOLOR",  (0,8), (-1,8), DARK_TEXT),
    ("FONTNAME",   (0,8), (-1,8), "Helvetica-Bold"),
]))
story.append(hours_table)
story.append(Spacer(1, 0.4*cm))

story.append(Paragraph("Subject Priority & Marks", h2))
subj_data = [
    [hdr_cell("Subject"), hdr_cell("Marks"), hdr_cell("Difficulty"), hdr_cell("Priority"), hdr_cell("% Time Allocation")],
    [cell("Human Anatomy"),         cell("200", TA_CENTER), cell("Very Hard"),   cell("1st", bold=True), cell("35%", TA_CENTER)],
    [cell("Human Physiology"),      cell("200", TA_CENTER), cell("Hard"),        cell("2nd", bold=True), cell("30%", TA_CENTER)],
    [cell("Psychology + Sociology"),cell("100", TA_CENTER), cell("Moderate"),    cell("3rd", bold=True), cell("20%", TA_CENTER)],
    [cell("Biochemistry"),          cell("100", TA_CENTER), cell("Moderate-Hard"),cell("4th", bold=True), cell("15%", TA_CENTER)],
]
subj_table = Table(subj_data, colWidths=[W*0.30, W*0.12, W*0.18, W*0.12, W*0.28])
subj_table.setStyle(base_table_style(TEAL))
story.append(subj_table)
story.append(PageBreak())


# ══════════════════════════════════════════════════════════════════
# SECTION 3 — DAILY ROUTINE
# ══════════════════════════════════════════════════════════════════
story.append(ColorBox("SECTION 3 · Daily Routine Structure (IBS-Safe)", h1, bg=TEAL))
story.append(Spacer(1, 0.3*cm))

story.append(Paragraph("Morning Slot — 4:00 AM to 6:00 AM", h2))
morning = [
    ("4:00 AM", "Wake up"),
    ("4:00–4:20 AM", "Bathroom time, warm water / herbal ginger tea, sit quietly — DO NOT rush to desk"),
    ("4:20–5:20 AM", "Study Block 1 — new reading, diagram drawing, flashcard review"),
    ("5:20–5:30 AM", "Break — 5 min walk, stretch, water sip, no screen"),
    ("5:30–6:00 AM", "Study Block 2 — revise what you just studied, write 3 key bullet points"),
    ("6:00 AM", "Done. Begin normal morning routine."),
]
morn_data = [[hdr_cell("Time"), hdr_cell("Activity")]] + \
            [[cell(t), cell(a)] for t, a in morning]
morn_table = Table(morn_data, colWidths=[W*0.28, W*0.72])
morn_table.setStyle(base_table_style(colors.HexColor("#1565C0")))
story.append(morn_table)
story.append(Spacer(1, 0.3*cm))

story.append(Paragraph("Evening Slot — 6:30 PM to 9:00 PM (Mon, Wed, Fri, Sat)", h2))
evening = [
    ("6:30 PM",        "Light snack if hungry (NOT a heavy meal — avoid IBS triggers)"),
    ("6:30–7:30 PM",   "Study Block 1 — active work: writing answers, solving MCQs, making notes"),
    ("7:30–7:40 PM",   "Break — short walk, water, no social media doom-scrolling"),
    ("7:40–8:40 PM",   "Study Block 2 — continue writing / diagrams / timed practice"),
    ("8:40–9:00 PM",   "20-min review — what did I cover today? Write 3 key points in notebook"),
    ("9:00 PM",        "STOP. No studying after 9 PM. Wind down for sleep."),
]
eve_data = [[hdr_cell("Time"), hdr_cell("Activity")]] + \
           [[cell(t), cell(a)] for t, a in evening]
eve_table = Table(eve_data, colWidths=[W*0.28, W*0.72])
eve_table.setStyle(base_table_style(colors.HexColor("#1B5E20")))
story.append(eve_table)
story.append(Spacer(1, 0.3*cm))

story.append(Paragraph("Sunday Evening — 8:00 PM to 9:00 PM (Weekly Review)", h2))
story.append(Paragraph(
    "Answer these 4 questions in your notebook every Sunday. This 1-hour session keeps the entire plan on track:",
    body))
sunday_qs = [
    "What topics did I cover this week? (list them)",
    "What did I miss? (reschedule to next week's buffer slot)",
    "Which subject feels weakest? (allocate 10–15% more time next week)",
    "How was my gut this week? (track patterns — do certain days/foods cause flares?)",
]
for q in sunday_qs:
    story.append(Paragraph(q, bullet))
story.append(PageBreak())


# ══════════════════════════════════════════════════════════════════
# SECTION 4 — PHASE-BY-PHASE PLAN
# ══════════════════════════════════════════════════════════════════
story.append(ColorBox("SECTION 4 · Phase-by-Phase Study Plan", h1, bg=NAVY))
story.append(Spacer(1, 0.3*cm))

phases = [
    {
        "title": "PHASE 1 — Foundation (Aug 5 – Aug 30) · 4 Weeks",
        "goal": "Cover all subjects from zero. Light but consistent daily progress. No skipping ahead.",
        "bg": colors.HexColor("#0D47A1"),
        "schedule": [
            ["Mon", "Anatomy — new topic (1 region)", "6:30–9 PM: Physiology — new topic"],
            ["Tue", "Anatomy — revise Monday's topic", "NO EVENING — rest completely"],
            ["Wed", "Physiology — revise Tuesday morning topic", "6:30–9 PM: Biochemistry — new chapter"],
            ["Thu", "Psychology / Sociology — 1 chapter reading", "NO EVENING — rest / gentle walk"],
            ["Fri", "Anatomy — continue region / new topic", "6:30–9 PM: Physiology — new topic"],
            ["Sat", "Biochemistry — revise + make short notes", "6:30–9 PM: Anatomy diagrams + labels"],
            ["Sun", "Light reading (weakest subject)", "8–9 PM: Weekly review (4 questions)"],
        ],
        "topics": {
            "Anatomy": [
                "Week 1: General Anatomy — terms, regions, body cavities, bone structure",
                "Week 2: Upper limb — bones, muscles, joints, nerves",
                "Week 3: Lower limb — bones, muscles, joints, nerves",
                "Week 4: Spine and vertebral column",
            ],
            "Physiology": [
                "Week 1: Cell physiology, body fluids, homeostasis",
                "Week 2: Blood — components, haemostasis, blood groups",
                "Week 3: Cardiovascular system basics (heart, cardiac cycle)",
                "Week 4: Respiratory system basics",
            ],
            "Biochemistry": [
                "Week 1–2: Carbohydrate metabolism — glycolysis, TCA cycle basics",
                "Week 3–4: Protein structure and enzymes",
            ],
            "Psych/Soc": [
                "Week 1: Introduction to Psychology, schools of thought",
                "Week 2–3: Sensation, perception, learning",
                "Week 4: Memory + Introduction to Sociology",
            ],
        }
    },
    {
        "title": "PHASE 2 — Build-Up (Sep 1 – Sep 28) · 4 Weeks",
        "goal": "Complete remaining syllabus. Start writing answers, not just reading. Build exam stamina.",
        "bg": colors.HexColor("#1B5E20"),
        "schedule": [
            ["Mon", "Anatomy — new topic (thorax/abdomen)", "6:30–9 PM: Write 3 short answers (Anatomy)"],
            ["Tue", "Physiology — new topic", "NO EVENING"],
            ["Wed", "Biochemistry — new chapter", "6:30–9 PM: Write 2 long answers (Physiology)"],
            ["Thu", "Psychology/Sociology — continue chapters", "NO EVENING"],
            ["Fri", "Anatomy — new topic (head/neck/CNS)", "6:30–9 PM: Physiology write + diagrams"],
            ["Sat", "Mock questions + self-test (any subject)", "6:30–9 PM: Biochemistry + Psych/Soc writing"],
            ["Sun", "Weak area revision", "8–9 PM: Plan next week's topics"],
        ],
        "topics": {
            "Anatomy": [
                "Week 5: Thorax — thoracic cage, lungs, heart anatomy, mediastinum",
                "Week 6: Abdomen — organs, peritoneum, abdominal wall",
                "Week 7: Head and neck — skull, cranial nerves overview",
                "Week 8: Neuroanatomy — brain regions, spinal cord basics",
            ],
            "Physiology": [
                "Week 5: Nerve and muscle physiology, neuromuscular junction",
                "Week 6: Digestive system physiology",
                "Week 7: Renal system and fluid balance",
                "Week 8: Endocrine system, nervous system overview",
            ],
            "Biochemistry": [
                "Week 5–6: Lipid metabolism and vitamins",
                "Week 7–8: Nucleic acids and clinical biochemistry basics",
            ],
            "Psych/Soc": [
                "Week 5–6: Motivation, emotion, personality",
                "Week 7–8: Sociology — society, health and illness, community",
            ],
        }
    },
    {
        "title": "PHASE 3 — Revision + Past Papers (Oct 1 – Oct 20) · 3 Weeks",
        "goal": "STOP reading new content. Only revise, write, and practice questions under time pressure.",
        "bg": colors.HexColor("#4A148C"),
        "schedule": [
            ["Mon", "Anatomy — revise 2–3 important topics", "6:30–9 PM: Full past paper answers (Anatomy)"],
            ["Tue", "Physiology — rapid revision notes", "NO EVENING"],
            ["Wed", "Biochemistry rapid revision", "6:30–9 PM: Physiology past paper writing"],
            ["Thu", "Psychology/Sociology — revise all chapters", "NO EVENING"],
            ["Fri", "Anatomy + Physiology diagrams", "6:30–9 PM: Mixed subject practice questions"],
            ["Sat", "Full mock test — 1 subject, timed 3 hrs", "6:30–9 PM: Review mock, find gaps"],
            ["Sun", "Rest — gentle reading only", "8–9 PM: Plan final week targets"],
        ],
        "topics": {
            "Key Tasks": [
                "Make 1-page summary sheets for every topic",
                "Memorise all major diagrams: brachial plexus, cardiac cycle, nephron, Krebs cycle",
                "Practice writing answers under timed conditions",
                "Focus: definitions, classifications, and applied anatomy (high exam frequency)",
                "Attempt at least 2 full mock papers per subject before Oct 20",
            ],
        }
    },
]

for phase in phases:
    story.append(ColorBox(f"  {phase['title']}", h1, bg=phase["bg"]))
    story.append(Spacer(1, 0.15*cm))
    story.append(Paragraph(f"<b>Goal:</b> {phase['goal']}", body))
    story.append(Spacer(1, 0.15*cm))

    # Weekly schedule table
    story.append(Paragraph("Weekly Schedule Template", h3))
    sched_data = [[hdr_cell("Day"), hdr_cell("Morning 4–6 AM"), hdr_cell("Evening")]] + \
                 [[cell(row[0], bold=True), cell(row[1]), cell(row[2])] for row in phase["schedule"]]
    sched_table = Table(sched_data, colWidths=[W*0.12, W*0.42, W*0.46])
    sched_table.setStyle(base_table_style(phase["bg"]))
    story.append(sched_table)
    story.append(Spacer(1, 0.2*cm))

    # Topics by subject
    story.append(Paragraph("Topics to Cover", h3))
    for subj, topics in phase["topics"].items():
        story.append(Paragraph(f"<b>{subj}</b>", body_b))
        for t in topics:
            story.append(Paragraph(t, bullet))
        story.append(Spacer(1, 0.1*cm))
    story.append(Spacer(1, 0.3*cm))

story.append(PageBreak())


# ══════════════════════════════════════════════════════════════════
# SECTION 5 — PHASE 4 FINAL 10 DAYS
# ══════════════════════════════════════════════════════════════════
story.append(ColorBox("SECTION 5 · Phase 4 — Final 10 Days (Oct 21–31)", h1, bg=colors.HexColor("#B71C1C")))
story.append(Spacer(1, 0.3*cm))
story.append(Paragraph(
    "Consolidate — do NOT cram new topics. Protect your gut and sleep at all costs.",
    body))
story.append(Spacer(1, 0.2*cm))

final_data = [
    [hdr_cell("Dates"), hdr_cell("Morning 4–6 AM"), hdr_cell("Evening")],
    [cell("Oct 21–22"), cell("Anatomy full revision (summary notes only)"), cell("Physiology full revision")],
    [cell("Oct 23–24"), cell("Biochemistry + Psych/Soc combined revision"), cell("All diagrams review")],
    [cell("Oct 25–26"), cell("High-yield topics (past paper patterns)"), cell("Write 5 answers timed")],
    [cell("Oct 27"),    cell("Light reading — DO NOT start new topics"), cell("REST evening — no study")],
    [cell("Oct 28"),    cell("1 hr reading per subject — revision only"), cell("REST")],
    [cell("Oct 29"),    cell("Final formulas and definitions review"), cell("Sleep by 9:30 PM")],
    [cell("Oct 30", bold=True), cell("EXAM EVE — stop all study by 6 PM", bold=True),
     cell("Gut-friendly meal, light walk, sleep by 10 PM", bold=True)],
    [cell("Oct 31", bold=True), cell("EXAM DAY", bold=True), cell("—")],
]
final_table = Table(final_data, colWidths=[W*0.20, W*0.42, W*0.38])
final_table.setStyle(base_table_style(colors.HexColor("#B71C1C")))
final_table.setStyle(TableStyle([
    *base_table_style(colors.HexColor("#B71C1C")).getCommands(),
    ("BACKGROUND", (0,7), (-1,7), LIGHT_AMBER),
    ("BACKGROUND", (0,8), (-1,8), colors.HexColor("#FFCDD2")),
    ("FONTNAME",   (0,7), (-1,8), "Helvetica-Bold"),
]))
story.append(final_table)
story.append(PageBreak())


# ══════════════════════════════════════════════════════════════════
# SECTION 6 — SUBJECT STUDY METHODS
# ══════════════════════════════════════════════════════════════════
story.append(ColorBox("SECTION 6 · Subject-Specific Study Methods", h1, bg=NAVY))
story.append(Spacer(1, 0.3*cm))

subjects_detail = [
    {
        "name": "Human Anatomy (Highest Priority — 200 Marks)",
        "bg": colors.HexColor("#1565C0"),
        "methods": [
            "Draw diagrams daily — do NOT just read, DRAW and label everything",
            "Use a body atlas or colored diagram book alongside your textbook",
            "Make region-wise notes: each anatomical region = 1 A4 page summary",
            "Applied anatomy questions are very common in exams — practice them specifically",
            "Focus areas: brachial plexus, lumbosacral plexus, joints, nerve supply of muscles",
            "Learn surface anatomy for practical examination questions",
            "Memorise origin, insertion, and nerve supply of major muscles in upper and lower limb",
        ],
        "high_yield": [
            "Brachial plexus (draw it 10+ times)", "Lumbosacral plexus", "Shoulder and hip joint anatomy",
            "Carpal tunnel", "Femoral triangle", "Heart anatomy and blood supply",
            "Cranial nerves overview", "Spinal cord cross-section",
        ]
    },
    {
        "name": "Human Physiology (2nd Priority — 200 Marks)",
        "bg": colors.HexColor("#1B5E20"),
        "methods": [
            "Understand mechanisms — do NOT memorise blindly",
            "Draw graphs for every system: cardiac cycle, action potential, spirometry curves",
            "Learn in systems — CVS, RS, Renal, Endocrine, Nervous System etc.",
            "Focus on regulation mechanisms: how does the body maintain homeostasis?",
            "Practice writing out mechanisms step-by-step (common exam question format)",
            "Make flowcharts for complex processes (e.g. clotting cascade, renin-angiotensin)",
        ],
        "high_yield": [
            "Cardiac cycle with pressure-volume curve", "Action potential (nerve and muscle)",
            "Spirometry values and lung volumes", "Regulation of blood pressure",
            "Renal regulation of fluid balance", "Neuromuscular junction mechanism",
            "Blood clotting cascade", "Endocrine feedback loops",
        ]
    },
    {
        "name": "Biochemistry (4th Priority — 100 Marks)",
        "bg": colors.HexColor("#E65100"),
        "methods": [
            "Focus on metabolic pathways with diagrams — glycolysis, TCA, beta-oxidation",
            "Learn enzyme names, cofactors, and what each enzyme does",
            "Clinical applications are commonly asked — connect biochemistry to disease",
            "Use mnemonics for Krebs cycle intermediates and vitamin functions",
            "Make a 'pathway map' poster and stick it where you study",
        ],
        "high_yield": [
            "Glycolysis pathway (complete)", "TCA / Krebs cycle", "Electron transport chain",
            "Enzyme kinetics (Km, Vmax)", "Vitamins and their deficiency diseases",
            "Protein synthesis overview", "Clinical biochemistry: liver function, diabetes markers",
        ]
    },
    {
        "name": "Psychology + Sociology (3rd Priority — 100 Marks combined)",
        "bg": colors.HexColor("#4A148C"),
        "methods": [
            "Read standard textbook (Munn's Psychology or Morgan & King)",
            "Make definition lists — most marks come from definitions and short answers",
            "Learn major theories with theorist names (Freud, Piaget, Maslow, etc.)",
            "Sociology: focus on concepts — health, illness, society, community medicine links",
            "Do NOT over-invest time here — 20% of your study time is sufficient",
            "Use past paper questions to identify the most repeated topics",
        ],
        "high_yield": [
            "Definition of psychology and its branches", "Classical and operant conditioning",
            "Memory types and theories", "Maslow's hierarchy of needs",
            "Personality theories", "Stress and health",
            "Sociology: social determinants of health", "Community and society concepts",
        ]
    },
]

for subj in subjects_detail:
    story.append(KeepTogether([
        ColorBox(f"  {subj['name']}", make_style("SH", fontSize=11, fontName="Helvetica-Bold"),
                 bg=subj["bg"]),
        Spacer(1, 0.15*cm),
    ]))
    story.append(Paragraph("How to Study:", h3))
    for m in subj["methods"]:
        story.append(Paragraph(m, bullet))
    story.append(Spacer(1, 0.1*cm))
    story.append(Paragraph("High-Yield Topics (focus on these first):", h3))
    hy_text = "  ·  ".join(subj["high_yield"])
    story.append(Paragraph(hy_text, note))
    story.append(Spacer(1, 0.3*cm))

story.append(PageBreak())


# ══════════════════════════════════════════════════════════════════
# SECTION 7 — DIET & GUT CARE
# ══════════════════════════════════════════════════════════════════
story.append(ColorBox("SECTION 7 · Diet and Gut Care During Study Season", h1, bg=TEAL))
story.append(Spacer(1, 0.3*cm))

story.append(Paragraph("Foods and Habits That Help IBS", h2))
helps = [
    "Warm water or ginger tea first thing in the morning — helps gut motility gently",
    "Small, frequent meals — large meals worsen post-meal urgency",
    "Cooked vegetables over raw (easier to digest during high-stress periods)",
    "White rice, banana, boiled potatoes — gentle on the gut",
    "Stay consistently hydrated throughout the day, not just during study",
    "Regular meal times — irregular eating patterns worsen IBS unpredictability",
]
for h in helps:
    story.append(Paragraph(h, bullet))

story.append(Spacer(1, 0.2*cm))
story.append(Paragraph("Foods and Habits to Avoid", h2))
avoids = [
    "Excess coffee or tea — caffeine is a strong IBS trigger and raises anxiety before exams",
    "Heavy, fried, or greasy meals before study sessions",
    "Skipping meals — low blood sugar = poor focus and increased gut sensitivity",
    "Carbonated drinks and artificial sweeteners — can worsen bloating and cramps",
    "Eating while anxious or rushing — eat sitting down, slowly, without distractions",
    "Alcohol (even socially) — disrupts gut microbiome and sleep quality",
]
for a in avoids:
    story.append(Paragraph(a, caution))

story.append(Spacer(1, 0.2*cm))
story.append(Paragraph("Stress-Gut Connection: Understanding Your IBS", h2))
story.append(Paragraph(
    "IBS is strongly linked to the gut-brain axis. When you are stressed, cortisol levels rise and "
    "directly affect gut motility — causing either urgency, cramping, or constipation depending on your "
    "IBS subtype. This means exam stress does not just feel bad, it physically worsens your symptoms. "
    "The study plan is built around minimising this cycle by keeping a predictable, low-pressure routine "
    "where you are always slightly ahead of schedule rather than scrambling to catch up.", body))

story.append(Spacer(1, 0.3*cm))
story.append(Paragraph("Daily Stress-Management Practices (5 min each, non-negotiable)", h2))
stress_mgmt = [
    "Morning: 4–5 min of slow diaphragmatic breathing after waking — activates the parasympathetic system",
    "Study breaks: 5 min walk (not screen time) — physical movement resets gut and focus",
    "Before evening study: 3 deep slow breaths before opening books — signals safety to your gut",
    "Before sleep: progressive muscle relaxation or light stretching — lowers cortisol for better sleep",
    "Weekly: one activity you genuinely enjoy that has nothing to do with studying",
]
for s in stress_mgmt:
    story.append(Paragraph(s, bullet))
story.append(PageBreak())


# ══════════════════════════════════════════════════════════════════
# SECTION 8 — WEEKLY TRACKING TEMPLATE
# ══════════════════════════════════════════════════════════════════
story.append(ColorBox("SECTION 8 · Weekly Tracking System", h1, bg=NAVY))
story.append(Spacer(1, 0.3*cm))
story.append(Paragraph(
    "Use this template every Sunday 8–9 PM. Print multiple copies or copy into a notebook. "
    "Tracking prevents panic by showing you that you ARE making progress, even when it does not feel like it.",
    body))
story.append(Spacer(1, 0.3*cm))

# 13-week overview table
story.append(Paragraph("13-Week Progress Tracker", h2))
tracker_data = [
    [hdr_cell("Week"), hdr_cell("Dates"), hdr_cell("Phase"), hdr_cell("Main Focus"), hdr_cell("Status")],
    [cell("1"),  cell("Aug 5–10"),  cell("Foundation"), cell("Anatomy: General, Upper Limb  |  Physiology: Cells, Blood"), cell("[ ]")],
    [cell("2"),  cell("Aug 11–17"), cell("Foundation"), cell("Anatomy: Lower Limb  |  Physiology: CVS  |  Biochem: Carbs"), cell("[ ]")],
    [cell("3"),  cell("Aug 18–24"), cell("Foundation"), cell("Anatomy: Spine  |  Physiology: RS  |  Psych: Intro"), cell("[ ]")],
    [cell("4"),  cell("Aug 25–30"), cell("Foundation"), cell("Anatomy review  |  Physiology review  |  Psych: Perception"), cell("[ ]")],
    [cell("5"),  cell("Sep 1–7"),   cell("Build-Up"),   cell("Anatomy: Thorax  |  Physiology: Nerve/Muscle  |  Biochem: Lipids"), cell("[ ]")],
    [cell("6"),  cell("Sep 8–14"),  cell("Build-Up"),   cell("Anatomy: Abdomen  |  Physiology: Digestion  |  Psych: Motivation"), cell("[ ]")],
    [cell("7"),  cell("Sep 15–21"), cell("Build-Up"),   cell("Anatomy: Head/Neck  |  Physiology: Renal  |  Biochem: Nucleic acids"), cell("[ ]")],
    [cell("8"),  cell("Sep 22–28"), cell("Build-Up"),   cell("Anatomy: Neuroanatomy  |  Physiology: Endocrine  |  Sociology"), cell("[ ]")],
    [cell("9"),  cell("Oct 1–6"),   cell("Revision"),   cell("Anatomy full revision  |  Start writing practice answers"), cell("[ ]")],
    [cell("10"), cell("Oct 7–13"),  cell("Revision"),   cell("Physiology + Biochem revision  |  Mock papers"), cell("[ ]")],
    [cell("11"), cell("Oct 14–20"), cell("Revision"),   cell("All subjects revision  |  Timed mock exams"), cell("[ ]")],
    [cell("12"), cell("Oct 21–26"), cell("Final"),      cell("Summary notes only  |  High-yield topics"), cell("[ ]")],
    [cell("13"), cell("Oct 27–31"), cell("Final"),      cell("Light review  |  Rest  |  Exam"), cell("[ ]")],
]
tracker_table = Table(tracker_data, colWidths=[W*0.07, W*0.15, W*0.14, W*0.55, W*0.09])
tracker_table.setStyle(base_table_style(NAVY))
story.append(tracker_table)
story.append(Spacer(1, 0.4*cm))

story.append(Paragraph("Sunday Review Questions (Answer in Notebook)", h2))
review_q = [
    "1. What topics did I cover this week? (list all of them)",
    "2. What did I miss or skip? (reschedule to buffer slot next week)",
    "3. Which subject feels weakest? (add 10–15% more time next week)",
    "4. How was my gut / stress level this week? (1–10 scale, note patterns)",
]
for q in review_q:
    story.append(Paragraph(q, body_b))
    story.append(Spacer(1, 0.05*cm))
story.append(PageBreak())


# ══════════════════════════════════════════════════════════════════
# SECTION 9 — MOTIVATIONAL SUMMARY
# ══════════════════════════════════════════════════════════════════
story.append(ColorBox("SECTION 9 · Why This Plan Will Work For You", h1, bg=TEAL))
story.append(Spacer(1, 0.3*cm))

points = [
    ("You have enough time", 
     "325 study hours over 13 weeks is more than sufficient for BPT 1st year if used consistently. "
     "Most students cram in the last 2 weeks. You are starting now."),
    ("IBS flare days are pre-accounted for",
     "Missing 1–2 sessions per week is already factored into this plan. A missed session is not a crisis — "
     "it is a scheduled buffer being used as intended."),
    ("Tue/Thu evenings off is an advantage",
     "These forced rest days give your gut and nervous system recovery time that most students do not allow themselves. "
     "You will enter each Wednesday and Friday study session calmer and more focused."),
    ("No all-nighters, ever",
     "All-nighters spike cortisol, wreck the next day's gut, and reduce memory consolidation. "
     "This plan gives you more sleep and better retention than those who cram."),
    ("Revision starts early",
     "Phase 3 revision begins October 1st. You will not be reading new content in October "
     "while others are still discovering topics they never covered."),
    ("Stress worsens IBS — calm consistency heals it",
     "This plan is deliberately paced so you are always slightly ahead, never catching up. "
     "That psychological buffer is as important for your gut as it is for your grades."),
    ("Start tomorrow",
     "August 6th (Thursday) morning at 4:20 AM. Open your Anatomy textbook to Chapter 1: General Anatomy. "
     "Read for 60 minutes. Draw 2 diagrams. Write 3 key points. You have begun."),
]
for title, detail in points:
    story.append(KeepTogether([
        Paragraph(f"<b>{title}</b>", body_b),
        Paragraph(detail, body),
        Spacer(1, 0.15*cm),
    ]))

story.append(Spacer(1, 0.4*cm))
story.append(HRFlowable(width=W, thickness=2, color=AMBER))
story.append(Spacer(1, 0.2*cm))
story.append(Paragraph(
    "You are not studying despite having IBS. You are studying with a plan that works around it.",
    make_style("Final", fontSize=12, fontName="Helvetica-Bold", textColor=NAVY,
               alignment=TA_CENTER, leading=16)))
story.append(Spacer(1, 0.1*cm))
story.append(Paragraph(
    "Calm. Consistent. Forward.",
    make_style("Final2", fontSize=10, fontName="Helvetica-Oblique", textColor=TEAL,
               alignment=TA_CENTER)))

# ── Build ────────────────────────────────────────────────────────
doc.build(story)
print(f"PDF saved to: {OUTPUT}")
Running Command

cd /tmp/workspace/bpt-study-plan && python generate_pdf.py 2>&1

Running Command

ls -lh /tmp/workspace/bpt-study-plan/BPT_Study_Plan.pdf

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

BPT Study Plan

PDF Document · PDF


What's inside the PDF (9 sections, fully formatted):
SectionContent
Cover PageSummary stats, time slots, subject overview
Section 110 IBS non-negotiable rules + flare protocol
Section 2Weekly hours table + subject priority/marks
Section 3Daily routine (morning + evening + Sunday templates)
Section 4Phase 1, 2 & 3 — full week-by-week schedules with topics
Section 5Final 10 days (Oct 21–31) day-by-day plan
Section 6Subject-specific study methods + high-yield topics
Section 7Diet, gut care, and stress-gut connection
Section 813-week progress tracker + Sunday review questions
Section 9Why this plan works — motivational summary
Print it out, keep it on your desk, and tick off each week as you go. Good luck with your exams!

This is not realistic

Asking for Preferences

How can I complete whole volume in 1 day

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.

What is your current syllabus coverage — what % have you already studied?

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.