What do you know about OOP?
Implement a small object-oriented design that calculates the combined area of circles and rectangles. Use a base Shape abstraction and polymorphic area() methods instead of placing all area formulas in one conditional-heavy function.
The function receives shapes, a list of dictionaries, and returns the total area rounded to two decimal places. Each dictionary is either {"type": "circle", "radius": number} or {"type": "rectangle", "width": number, "height": number}.
def calculate_total_area(shapes):