root = Card([header, currentCard, forecastHeading, forecastTable, sunHeading, sunTable])
header = CardHeader("Morning weather brief", "Bengaluru · Friday, 14 June")
currentCard = Card([temp, condTag, details], "sunk")
temp = TextContent("24°C", "large-heavy")
condTag = TagBlock(["Partly cloudy"])
details = TextContent("Feels like 24°C · Humidity 65% · Wind 12 km/h", "small")
forecastHeading = Heading("Next 3 days", "h3")
forecastTable = Table([dayCol, highCol, lowCol, condCol])
dayCol = Col("Day", ["Sat", "Sun", "Mon"])
highCol = Col("High", ["28°C", "29°C", "28°C"])
lowCol = Col("Low", ["19°C", "20°C", "19°C"])
condCol = Col("Conditions", ["Partly cloudy", "Light rain", "Sunny"])
sunHeading = Heading("Sunrise & sunset", "h3")
sunTable = Table([eventCol, timeCol])
eventCol = Col("Event", ["Sunrise", "Sunset"])
timeCol = Col("Time", ["5:58 AM", "6:44 PM"])