Configure
Appearance
Colours, theme mode, corner radii, launcher position, fonts, and notification sounds
The Look & feel group controls everything visual. All of it follows the draft-and-Save model.

Colours
The palette is a 15-token set, stored separately for light and dark. To edit:
- Open Look & feel → Colors.
- Use the Light / Dark editing toggle to pick which palette you're editing.
- Click a colour token and enter a hex value. The preview updates live.
- Switch the editing toggle to the other mode and tune it too.
- Save. (A Reset palette action restores defaults after confirmation.)

| Group | Tokens | Drives |
|---|---|---|
| Brand | primary, primaryHover, primaryForeground | Primary buttons/accents, their hover, and text-on-primary |
| Launcher | launcherBackground, launcherForeground | The floating launcher bubble |
| Surface | background, surface, surfaceElevated | Panel background and raised cards |
| Border | border, borderStrong | Dividers and emphasised borders |
| Text | text, textMuted, textSubtle | Primary / secondary / tertiary text |
| Status | success, danger | Success and error states |
Defaults are near-monochrome — brand #121314 on light, #ffffff on dark. Developers can set the same tokens from code: see Theming & CSS variables.
Layout

| Setting | Values | Default |
|---|---|---|
| Theme mode | light, dark, or auto (follow the visitor's OS) | auto |
| Corner radii | Four pixel values — sm / md / lg / xl | 8 / 12 / 20 / 28 |
| Launcher position | Which screen corner the launcher sits in (right-bottom or left-bottom) | right-bottom |
With auto, both palettes are used and the visitor's system decides which renders.
Typography
| Setting | Default |
|---|---|
| Font family | The widget's font stack. Default Geist, system-ui, -apple-system, sans-serif. |
Sounds

| Setting | Detail |
|---|---|
| Enabled + volume | Master toggle and volume (0–1). |
| Inbound sound | A built-in preset, or upload an audio file. Played when a message arrives. |
| Outbound sound | A built-in preset, or upload. Played on send acknowledgement. |
A visitor can mute sounds locally, which overrides the operator's master toggle.