Parch

Visual identity & color

The palette

Parch's identity is a teal→blue gradient with a purple secondary accent, defined once in the design tokens. Interfaces use it sparingly: brand moments (logo, heroes, onboarding) may use the gradient; product UI uses the semantic tokens.

Brand teal

--color-brand-teal

Brand blue

--color-brand-blue

Brand purple

--color-brand-purple

Semantic roles

Color communicates role, never decoration:

  • Accent (teal), primary actions, selection, focus rings, active navigation. One accent action per view.
  • Info (blue), neutral information and in-progress states.
  • Success (green), completed operations and healthy states.
  • Warning (amber), attention needed but recoverable.
  • Danger (red), destructive actions and failures only. Red is never decorative.

Dark theme

Dark is a first-class theme, not an inverted one: surfaces get lighter with elevation (background → surface → surface-2), brand colors brighten to keep contrast, and shadows give way to borders and subtle surface shifts.

  • Never hardcode hex values; use semantic tokens so both themes work.
  • Test every screen in both themes before shipping (the design-system demos have a built-in switch for exactly this).
  • Respect the system theme by default; offer an in-app override only when the app is fullscreen for long sessions (video, terminal).

Do

surface card
elevated surface-2 card

Elevation reads through lighter surfaces and hairlines.

Don't

glowing card
brand-blue filler

Glows and saturated brand fills as surfaces, noise in dark mode.