Extracts the portal URL probe (fetch) from modules/weather.js into
modules/data/loaders.checkPortalHealth(). This is the last fetch()
call outside of modules/data/, satisfying the Phase 2 data-layer rule.
modules/weather.js now delegates health probing to the data module
and retains only the visual update logic (opacity, rune ring).
Fixes#411
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>