Tokens
Every value the theme item ships, rendered from the installed CSS.
The swatches below read registry/styles/tokens.css, the same file @nalarx/theme installs. Values match nalarx-frontend apps/web at 6ece50f98 exactly.
Colour
Use the Tailwind names from base (bg-bg-elev, text-ink-3, border-line) or var(--name) in CSS. Each row shows the light and the dark value.
Surfaces
--bg--bg-content--bg-elev--bg-sunken--bg-hover--line--line-strong
--bg--bg-content--bg-elev--bg-sunken--bg-hover--line--line-strong
Ink
--ink--ink-2--ink-3--ink-4--ink-5
--ink--ink-2--ink-3--ink-4--ink-5
Action and focus
--on-fill--paper--paper-ink-3--accent--accent-soft--accent-cta-bg--accent-cta-ink--accent-cta-hover--accent-ink--danger-bg--danger-ink--danger-hover--accent-calm--focus-ring--focus-ring-soft--select-bg
--on-fill--paper--paper-ink-3--accent--accent-soft--accent-cta-bg--accent-cta-ink--accent-cta-hover--accent-ink--danger-bg--danger-ink--danger-hover--accent-calm--focus-ring--focus-ring-soft--select-bg
Status
--status-active--status-pending--status-error--status-completed--status-inactive--status-active-soft--status-pending-soft--status-error-soft--status-completed-soft--status-inactive-soft--ok--ok-soft--ok-ink--warn--warn-soft--err--err-soft--err-ink--warn-ink--delta-pos--delta-neg--done--done-soft--off--off-soft
--status-active--status-pending--status-error--status-completed--status-inactive--status-active-soft--status-pending-soft--status-error-soft--status-completed-soft--status-inactive-soft--ok--ok-soft--ok-ink--warn--warn-soft--err--err-soft--err-ink--warn-ink--delta-pos--delta-neg--done--done-soft--off--off-soft
Data
--chart-1--chart-2--chart-3--chart-4--chart-5--chart-6--seq-0--seq-1--seq-2--seq-3--seq-4--seq-5--seq-6--seq-strong-ink
--chart-1--chart-2--chart-3--chart-4--chart-5--chart-6--seq-0--seq-1--seq-2--seq-3--seq-4--seq-5--seq-6--seq-strong-ink
Brand (marketing only)
--brand-red--brand-flame--brand-orange--brand-black--brand-parchment--brand-white--brand-purple--brand-blue--brand-mint--brand-gradient-primary--brand-gradient-purple--brand-gradient-teal--brand-gradient-blue--brand-gradient-purple-rev--brand-gradient-teal-rev--brand-gradient-blue-rev--brand-gradient
--brand-red--brand-flame--brand-orange--brand-black--brand-parchment--brand-white--brand-purple--brand-blue--brand-mint--brand-gradient-primary--brand-gradient-purple--brand-gradient-teal--brand-gradient-blue--brand-gradient-purple-rev--brand-gradient-teal-rev--brand-gradient-blue-rev--brand-gradient
Hover
--hover-bg--hover-ink--hover-border--hover-strong-bg--hover-strong-ink
--hover-bg--hover-ink--hover-border--hover-strong-bg--hover-strong-ink
Aliases (migrate away)
--surface--on-accent--link--z-toast--z-tooltip--z-dialog--z-app-dialog--z-popover
--surface--on-accent--link--z-toast--z-tooltip--z-dialog--z-app-dialog--z-popover
Type
text-displayNet sales this month36 / 300 / 1.15, Plex Serif. Empty-chat greeting onlytext-title-1Net sales this month22 / 500 / 1.4. Page titletext-title-2Net sales this month17 / 600 / 1.35. Panel and dialog titletext-title-3Net sales this month14 / 600 / 1.4. Card and row titletext-bodyNet sales this month13 / 400 / 1.55. Default texttext-body-smNet sales this month12 / 400 / 1.5. Secondary text, table cellstext-meta11 / 500 / 1.4. Chips, times, captionstext-labelNet sales this month11 / 600 / 1.4, uppercase, 0.06em. Group labelstext-kpiRp132.4M28 / 600 / 1.1, tabular. Main KPI numbertext-label sets size, weight and tracking; add uppercase yourself. text-kpi needs tnum for tabular digits.
Radius
rounded-nx-sm6px. Small icon controls, xs buttons, keyboard hintsrounded-nx8px. Buttons, inputs, selects, menu itemsrounded-nx-md10px. Cards, rows, popoversrounded-nx-lg14px. Dialogs, chat composer, large panelsrounded-nx-full999px. Pills, status chips, avatars, switchesMotion
| Token | Value | Tailwind |
|---|---|---|
--dur-fast | 120ms: hover, press | duration-nx-fast |
--dur | 220ms: tab indicator, enter | duration-nx |
--dur-slow | 340ms: larger panels | duration-nx-slow |
--ease-out | cubic-bezier(.2, .8, .2, 1) | ease-nx |
Durations become 0ms under prefers-reduced-motion: reduce.
Sizes
| Tailwind | Value | Use |
|---|---|---|
h-control-xs | 24px | Row actions in dense lists |
h-control-sm | 28px | Toolbars, filters, actions inside a card |
h-control-md | 32px | Default: page header, dialogs, forms |
h-control-lg | 40px | Full-screen submit only |
h-row | --d-row: 36px, 30px compact, 42px comfy | Table and list rows |
px-row-pad | --d-pad: 14px, 10px compact, 18px comfy | Row padding |
Spacing otherwise uses Tailwind's default 4px steps (p-1 is 4px, p-3 is 12px).
Why the new names
rounded-nx-*, ease-nx and the type roles are new Tailwind names instead of overrides of rounded-md or ease-out. Apps already use the Tailwind defaults, so redefining them would change screens that nobody touched.