Skip to content

Themes

FFFFinance ships with 20+ built-in themes for the app and 8 themes for the documentation site. All switchable live with zero re-renders.

Dark themes

ThemeAccentVibe
Midnight#00d4aaDefault — teal on near-black. Clean, professional.
Cyberpunk#ff00ffMagenta neon on dark navy. Maximum contrast.
Tokyo Night#7aa2f7Muted blue-purple. Calming focus.
Dracula#bd93f9Soft purple on charcoal. Dev favourite.
Nord#88c0d0Arctic blue-grey. Cool and minimal.
Catppuccin#cba6f7Pastel lavender. Cozy.

Light themes

ThemeAccentVibe
Light#00a889Clean, crisp, minimal.
Sepia#704214Warm parchment. Like reading a book.

Fonts

FontStyle
JetBrains MonoDefault — monospace, crisp numbers
Fira CodeMonospace with ligatures
Cascadia CodeMicrosoft monospace with ligatures
Geist MonoVercel's monospace
IBM Plex MonoClassic technical mono
Space MonoGeometric monospace
InterProportional — more spacious

How themes work

CSS custom properties applied to document.documentElement:

typescript
// store/useThemeStore.ts
for (const [key, value] of Object.entries(theme.tokens)) {
  document.documentElement.style.setProperty(key, value);
}

Every component uses var(--accent), var(--bg), var(--text) — switching is instant, no re-renders.

Design tokens

css
--accent       /* primary accent colour */
--accent-dim   /* accent at ~15% opacity */
--bg           /* page background */
--bg-panel     /* panel background */
--bg-hover     /* hover state */
--border       /* default border */
--text         /* primary text */
--text-muted   /* secondary text */
--danger       /* #ef4444 */
--warning      /* #f59e0b */

Switching themes

In the app: Settings > Appearance tab. Instant.

In the docs: Theme selector dropdown in the top navigation bar. Persists in your browser.