root = Card([header, countdown, agenda, speakers, tickets, register])
header = CardHeader("Frontend Summit 2025", "June 12–13, 2025 · Moscone Center, San Francisco")
countdown = Callout("info", "12 days to go", "Join 1,200+ engineers for two days of talks, workshops, and networking.")
agenda = Card([agendaTitle, agendaList], "sunk")
agendaTitle = Heading("Agenda", "h3")
agendaList = ListBlock([day1, day2])
day1 = ListItem("Day 1 — June 12", "9:00 AM Keynote · 11:00 AM Rendering Performance · 2:00 PM State Architecture · 4:30 PM Panel")
day2 = ListItem("Day 2 — June 13", "9:30 AM Accessibility · 11:30 AM AI in the Browser · 2:30 PM Web Components · 5:00 PM Closing")
speakers = Card([speakersTitle, speakerList], "sunk")
speakersTitle = Heading("Speakers", "h3")
speakerList = ListBlock([speaker1, speaker2, speaker3, speaker4])
speaker1 = ListItem("Ada Chen", "Principal Engineer, Chromium — Rendering performance at scale")
speaker2 = ListItem("Marcus Reid", "Staff Engineer, Vercel — Building resilient state layers")
speaker3 = ListItem("Priya Nair", "Director of Engineering, Shopify — Accessible by default")
speaker4 = ListItem("Tomás Álvarez", "ML Engineer, Hugging Face — On-device AI in the browser")
tickets = Card([ticketsTitle, ticketTable], "sunk")
ticketsTitle = Heading("Tickets", "h3")
ticketTable = Table([tierCol, priceCol, perksCol])
tierCol = Col("Tier", ["Early Bird", "Standard", "VIP"])
priceCol = Col("Price", ["$299", "$449", "$899"])
perksCol = Col("Includes", ["All talks, swag", "Talks + workshops", "Talks + workshops, front-row seats, speaker dinner"])
register = Card([registerTitle, registerForm], "clear")
registerTitle = Heading("Register now", "h3")
registerForm = Form("registration", registerButtons, [nameField, emailField])
nameField = FormControl("Full name", nameInput)
nameInput = Input("name", "Jane Doe")
emailField = FormControl("Email", emailInput, "We'll send your ticket and updates")
emailInput = Input("email", "jane@example.com", "email")
registerButtons = Buttons([registerBtn])
registerBtn = Button("Register", null, "primary")