Tabotabo Theme
Root of the design system. Builds the TabotaboColors for hueState's hue and darkTheme, and provides colors, typography, dimensions and motion through CompositionLocals. It also installs a restyled MaterialTheme underneath, so stock M3 components pick up the scheme (no tonal elevation tint) and every clickable gets Material's ripple, including its hover, focus and press feedback. Error colors are Material's own.
The library has no notion of a "System" appearance and never reads the OS setting. Consumers resolve the user's choice into darkTheme, e.g. darkTheme = choice.isDark ?: isSystemInDarkTheme().
Parameters
Whether to use the dark variant.
Holds the session hue; defaults to a fresh random hue that survives recomposition and configuration changes but is regenerated on a cold start / page load.
Material Typography; defaults to montserratTypography.
Spacing / shape / stroke tokens.
Animation tokens; pass TabotaboMotion.Reduced to honour OS reduce-motion.
Called whenever the resolved colors change (hue shuffle or darkTheme change). Platform code uses it to tint status/navigation bars.