- Read Cloudflare CF-IPCountry header into g.user_country (before_request)
- _filter_articles() sorts user's country first, nearby countries second,
then rest — falls back to published_at DESC when header is absent
- map_countries sorted so user's country bubble renders on top (Leaflet z-order)
- Nearby-country mapping covers DACH, Iberia, Nordics, Benelux, UK/IE, Americas
Prerequisite: Nginx must forward CF-IPCountry header to Quart (same as Umami).
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>