- Lightning layer on PrecipitationRadar: toggleable ⚡ button (persisted via
showLightning setting). When on, fetches recent strikes from the planned CORS
relay and renders them as markers that pan/zoom with the slippy map.
- New src/lib/api/lightning.js: fetchLightningStrikes() reads
https://cors.thecookiejar.me/lightning?lat&lon&radiusKm&limit (relay NOT
deployed yet) with an 8s abort timeout and graceful failure - never blocks or
crashes the map, shows an unavailable banner instead. Exports pure
projectStrikeToLayer() for Mercator tile-layer marker projection.
- showLightning setting added to DEFAULT_SETTINGS + app store; toggle persists.
- Tests: fetch URL/parsing/error handling + layer projection. 71 total pass.