Home · Docs · Account + Billing · Themes

Themes

Nine themes plus three color modes. Pick a flavor for the app, decide whether it follows your OS in light or dark, opt the print stylesheet in or out of brand colors.

Sweetdocs ships with nine themes (one accent palette each) and three color modes (System / Light / Dark). The pair you pick applies to the whole app — your docs, the sidebar, the share viewer, every UI surface.

Appearance

Theme
Color mode

The nine themes

The flavor names + accent colors:

Theme IDNameAccent
grapeGrape Soda#7c3aed
berryVery Berry#db2777
cherryCherry Pop#d6253a
mintMint Chip#10b981
peachFuzzy Peach#fb923c
orangeTangerine Twist#ea580c
lemonLemon Drop#eab308
blueBlue Raspberry#0ea5e9
slateSlate#64748b

The theme affects every UI surface that uses the var(--accent) / var(--accent-text) / var(--accent-light) / var(--accent-border) CSS variables:

The accent does not change body text color, doc background, or table grid color — those follow the color mode (light or dark).

Color modes

Three options for whether the theme runs light or dark:

ModeBehavior
System (default)Follows your operating system setting. Switches automatically when your OS toggles light / dark.
LightAlways light, ignoring OS
DarkAlways dark, ignoring OS

The mode is stored in localStorage under sd-mode (so it’s per-device, not per-account). The theme is on your profiles row (per-account).

Setting them

Settings → Appearance section:

  1. Click any of the 9 theme swatches → applies immediately, persists to your account
  2. Click a Color mode radio → applies immediately, persists per-device

The change is live across every tab and device on the same account (theme) or just the current device (color mode).

A separate per-device toggle controls whether brand colors carry into printed output:

SettingWhat gets printed
On (default)Headings, links, and code-block accents use the theme’s accent color
OffPure black-on-white — best for greyscale printers or archival

Stored in localStorage under sweetdocs:print_brand_colors. Useful when your home printer is greyscale and you don’t want the accent rendering as muted gray patches.

Where the themes are defined

Each theme is a [data-theme="..."] selector in packages/ui/src/themes.css, with separate light + dark variants:

[data-theme="grape"] { --accent: …; --accent-light: …; … }
.dark[data-theme="grape"] { --accent: …; … }

The light/dark choice is also a class on <html>. The theme name itself goes on <html data-theme="…">. So <html class="dark" data-theme="berry"> is dark mode with the Very Berry palette.

Per-doc theme override

Themes are per-account, not per-document. There’s no UI to set a different theme for a specific doc — sharing a doc with someone shows it in their theme, not yours.

The marketing site (this website) has its own theme picker (the “flavor” picker on the home hero) — but that’s a separate state from the app’s settings.

What’s not in v1

MissingNotes
Custom user-defined themes (pick your own accent)Not in v1 — pick from the nine
Per-doc theme assignmentThemes are user-level only
Library-default theme (force a theme inside an org library)Not in v1
High-contrast / accessibility-tuned themesThe nine themes meet WCAG AA contrast in both light and dark, but there’s no separate “high contrast” mode
Font / typography customizationNot in v1 — typography is fixed (Inter for UI, the doc body font set by the theme)