Choropleth map
A choropleth map visualizes global income groups using a divergent spectral color scale, with country names and income categories shown on hover. The map uses a natural Earth projection via `d3.geoPath` and supports zooming and panning through `d3.zoom`. World geometry comes from TopoJSON (50m), enriched with TSV metadata, while `d3.scaleOrdinal` drives the color mapping. A legend, built with a reusable colorLegend module, displays the categorical scale; hover effects highlight countries in red.