Add a TimeFormatPref (Auto/12h/24h) preference. Auto follows the device's 24-hour system setting; the others force a clock app-wide. The resolved convention is provided once at the app root via LocalUse24HourFormat, so every in-app time label reads it without per-screen plumbing. A shared, pure TimeFormat helper (formatTimeOfDay / formatMinuteOfDay / formatHourLabel / timeOfDayFormatter) is now the single source for all time-of-day rendering. Routing every site through it also fixes a pre-existing inconsistency: the week/day timeline gutters and the agenda screen + widget hard-coded 24h, while event detail/edit/search/reminders followed the locale — so a 12h-locale user previously saw mixed formats. Covered: week & day timelines (gutter + event blocks), agenda screen and widget, event detail/edit, search, and reminder notifications. Closes #6 (Codeberg) Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>