root = Card([header, progressSection, nextLessonSection, modulesSection, ratingSection, continueBtn])
header = CardHeader("Python for Data Science", "Instructor: Dr. Maya Chen")
progressSection = Card([progressHeading, progressBar], "sunk")
progressHeading = Heading("Overall Progress", "h3")
progressBar = Progress(68, "68% complete")
nextLessonSection = Card([nextHeading, nextCallout], "sunk")
nextHeading = Heading("Up Next", "h3")
nextCallout = Callout("info", "Next lesson", "Lesson 12: Pandas DataFrames — Filtering and Grouping")
modulesSection = Card([modulesHeading, modulesList], "sunk")
modulesHeading = Heading("Modules", "h3")
modulesList = ListBlock([mod1, mod2, mod3, mod4])
mod1 = ListItem("Module 1: Python Basics", "Completed · 12/12 lessons", null, "Done")
mod2 = ListItem("Module 2: NumPy Fundamentals", "Completed · 9/9 lessons", null, "Done")
mod3 = ListItem("Module 3: Pandas for Analysis", "In progress · 7/10 lessons", null, "Continue")
mod4 = ListItem("Module 4: Visualization", "Not started · 0/8 lessons")
ratingSection = Card([ratingHeading, ratingText], "sunk")
ratingHeading = Heading("Learner Rating", "h3")
ratingText = TextContent("**4.8 / 5** — based on 2,341 ratings")
continueBtn = Button("Continue Learning", null, "primary", null, "large")