Theme identifier (e.g. "light", "dark").
Whether to write the theme to localStorage. Defaults to false:
the boot applies a theme, it does not choose one. Persisting here overwrote the
user's stored preference that resolveInitialTheme() had just read, so no chosen theme
survived a reload (backlog B.18). Same persist=false idiom as the system-preference
and media-query paths in ui/theme.ts, which apply a detected theme without claiming
it as a choice.
Applies the current UI theme via GeoLeaf.UI if available. Silently no-ops if the UI module has not been loaded yet.