fayzfayz sdk
PTEN

Theme tokens

The quick reference for the token system: the families that make up the Design System and the CSS variables the theme engine writes from the manifest. This is the reference side of the topic — the concept lives in Design System and theming and the hands-on step in 03 · Theme and brand.

Read this page in two layers:

  • (a) Fayz's official Design System — the reference artifact (design/fayz-tokens.css) that defines the full taxonomy of the eight families. This is the target vocabulary.
  • (b) What the runtime applies today — the 3 manifest keys (brand, radius, mode) and the CSS variables the theme engine (@fayz-ai/saas) derives from them. This is the live subset.

(a) The eight families — official Design System

Canonical values from the Fayz Design System, as a reference taxonomy.

1 · Brand + tints

TokenValueRole
ignite#2FDD4BSignature green — the brand hit.
ignite-deep#119A27Dark green — brand fields and blocks.
ignite-soft#DFFBE3Light tint — selection and hover halos.
ignite-bg#F2FDF4Pale tint — surface accents in light mode.

2 · Neutral scale

TokenValueTokenValue
n-0#FFFFFFn-500#8A8A82
n-50#FAFAF8n-600#5C5C57
n-100#F4F4F1n-700#3D3D3A
n-200#EAEAE5n-800#26262B
n-300#D9D9D2n-900#131816
n-400#B8B8AFn-1000#0B0F0E

3 · Secondaries (use sparingly)

TokenValue
yellow#F2DB0F
cyan#17C1EA
coral#FF6B5C
magenta#E81073

4 · Semantics per mode

RoleLightDark
Backgroundpaper #FAFAF8black #0B0F0E
Surfacepaper-2 #F4F4F1n-900 #131816
Borderrgba(11,15,14,0.06)rgba(255,255,255,0.08)
Textnear-blackwhite
Muted textn-600n-400

5 · Typography

TokenFamilyUse
font-displayOutfitHeadings and hero.
font-logoSoraWordmark only.
font-bodyDM SansBody.
font-monoJetBrains MonoCode.

6 · Spacing

A 4px grid: 4 · 8 · 12 · 16 · 24 · 32 … — the mesh everything aligns to.

7 · Radius

TokenValueTokenValue
xs4pxlg22px
sm8pxxl32px
md14pxpill9999px

8 · Elevation + motion

TokenValue
shadow-sm0 1px 3px rgba(11,15,14,.06)…
shadow-md0 4px 12px rgba(11,15,14,.06)…
shadow-lg0 12px 32px rgba(11,15,14,.08)…
shadow-glowgreen halo 0 0 0 4px rgba(47,221,75,.15)…
ease-outcubic-bezier(0.22, 1, 0.36, 1)
dur-base240ms

Ninth piece — glass + aurora. Named recipes, not loose colors: the frosted glass (rgba(255,255,255,0.55) + blur 24px in light mode) and the aurora (the green radial-gradient that bleeds behind the hero). Each one packs background, border, blur and glow into a single token.

(b) What the runtime applies today

In the manifest you declare three keys. The values and the personality of each are detailed in 03 · Theme and brand.

KeyValuesDerives
brandblue violet green orange red pink tealprimary, ring, accent (hue −50°) and the optional sidebar.
radiusnone sm md lg fullbuttons, cards, inputs and modals together.
modelight dark systemthe color strategy.

From there, the theme engine (createTheme / applyTheme, in @fayz-ai/saas) writes every value as a CSS variable on the document:

CSS variableComes from
--primarythe brand (primaryForeground white).
--ringthe brand — focus ring.
--accentthe brand with the hue rotated −50°.
--sidebar, --sidebar-*optional colored rail (border −12% lightness, active item −15%, icons hue 35% 82%).
--button-radius(along with --card-radius, --input-radius, --modal-radius) from the radius key.
--font-familyfrom the curated base preset.
--shadow-sm / --shadow-md / --shadow-lgfrom the curated base preset.

Everything that doesn't come from the brand — neutrals, surfaces, success/warning/destructive semantics, typography and shadows — comes from a curated base preset (the classic admin) that the brand slots into.

The eight families in (a) are the target taxonomy; the manifest exposes the subset in (b) today. Free HSL color, the 11 font families, the shadow levels and whole presets already exist in the engine, behind the platform runtime — exposing them in the manifest is the next step for the theme contract. Context in Beyond the 3 keys.


Next: the versions that coordinate these packages, in Versions and channels.