Build a React component that renders an interactive map showing water quality risk by ZIP code. Requirements:
- Use Mapbox GL JS or Leaflet (open-source preferred)
- Color-code regions: green (0-30 score), yellow (31-60), red (61-100)
- Click a region to see detailed risk factors
- Include a search bar for ZIP code lookup
- Mobile-responsive
- Server-side render the initial state, hydrate on client
The component should accept risk data as props.don't worry about data fetching, just the visualization.