Help center theming

How the help center picks up the workspace's brand.

The help center and the messenger share one design system. Both render from the same brand tokens, so a visitor moving from the messenger to an article sees one product, not two.

The design fields

The customer-facing surfaces read a small set of design fields, the same shape the messenger boot answers in its settings object:

FieldValuesWhat it does
accent6-digit hex, #2f6febThe brand colour, mapped to the design tokens every surface reads.
on_accent6-digit hex or nullThe text colour on the accent, when the default contrast is wrong.
themelight, dark, autoWhich colour scheme to serve; auto follows the visitor's preference.
positionstart, endWhere the launcher sits, which RTL flips naturally.
localeBCP-47, enThe default language the surface renders in.

Phase 1 defaults

There is no settings table for these fields yet. In phase 1 the server fills them with its defaults at boot: accent #2f6feb, on_accent null, theme auto, position end, locale en. The settings spec is what gives a workspace a screen to change them, and until then every workspace renders with the same palette.

The help center serves its own stylesheet that maps those tokens onto the reader: the article list, the article body, code blocks and callouts all resolve var(--color-brand) and the ink and surface roles rather than hard-coded colours, so when per-workspace theming lands the reader picks it up without a stylesheet change.

Note

Per-workspace custom CSS is on the roadmap but not yet a settings field. If you need a custom look today, the tokens are the one supported seam.