The map was being initialised on DOMContentLoaded even when its container
was display:none (0×0). Leaflet sets up internal bounds from container size
at init; on a zero-sized container no tiles are ever requested. Even
invalidateSize afterwards didn't recover reliably.
* map.js now only builds the Leaflet instance once the container has real
dimensions (clientHeight >= 10). Triggered when the view toggle flips to
Karte (rAF x2 + safety timers), and via restoreView on page load if the
user's last choice was Karte.
* CSP img-src now includes https://unpkg.com for Leaflet marker icons.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>