Skip to main content
Sundial 2.0 has one accent: Periwinkle (#DBE1FD), the brand lead — it replaced Lavender Blue #CDCCF0 in October 2026. The code keeps the lavender names. The persona system — five palettes recoloring the app per selected persona — was retired with 2.0; AccentPalette, AppTheme.fromPalette, and the palette machinery are gone. Defined in tokens/accent_colors.dart as two instances, AccentColors.lavenderLight and .lavenderDark, installed by the matching theme.

The bright-accent grammar

Lavender is a Radix bright scale: the accent solid is pale and takes dark content — the inverse of 1.0’s dark plum grammar.
accent.button is a surface, not a foreground. Using it for text, icons, borders, or rings on light surfaces yields ~1.2:1 contrast — this was the largest class of bugs found in the 2.0 audit. Text and glyphs take contentAccent; accent line work (outlines, checkboxes, progress) takes accentLine; selection borders take borderSelected.

Migration path

The accent.* fields are the legacy API. During the rename phase they migrate to the semantic tokens directly (accentSolid, contentOnAccent, contentAccent), after which AccentColors is deleted. New code should use the semantic names now.