05
Tier 1

Primitives

The foundation of the entire token system — raw values with no semantic meaning. Never referenced directly by components.

Primitives are the raw material. Every color, spacing value, type scale entry, and radius lives here as a literal value. Semantic and component tokens alias these — they never hold raw values themselves (except component dimension tokens like button-height).
📏
Primitive Rule Primitive tokens are never referenced directly in component CSS. They always go through a Tier 2 semantic token first.

Color Palette

Figma collection: Primitives / Color — Mode: Default

Full color swatches for all hues used in the system. Naming convention: {hue}-{shade} where shade runs 50 → 950. Plus white and black.

TokenValueDescription
purple-50#faf5ffLightest purple tint
purple-100#f3e8ff
purple-200#e9d5ff
purple-500#a855f7Mid purple
purple-600#9333eaBrand primary (light mode)
purple-700#7e22ce
purple-900#581c87Darkest purple
teal-400#2dd4bfBrand-B primary
teal-600#0d9488
blue-500#3b82f6Info family base
green-500#22c55eSuccess family base
amber-500#f59e0bWarning family base
red-500#ef4444Danger family base
gray-100#f3f4f6Neutral light
gray-900#111827Neutral dark
white#ffffffAbsolute white
black#000000Absolute black

Spacing Scale

Figma collection: Primitives / Spacing — Mode: Default

Base unit: 4px. Token name = pixel value. All spacing in the system derives from this scale.

TokenValueUse cases
spacing-11pxHair-thin gaps, borders
spacing-22pxTight insets
spacing-44pxCompact gaps, icon margins
spacing-88pxDefault small gap, button padding-y
spacing-1212pxMedium inset
spacing-1616pxStandard card padding, button padding-x
spacing-2020pxSection gap
spacing-2424pxComponent vertical rhythm
spacing-3232pxLarge gap
spacing-4040pxSection header gap
spacing-4848pxPage section spacing
spacing-6464pxLarge section spacing

Typography Scale

Figma collection: Primitives / Typography — Mode: Default

TokenValueDescription
font-family-baseInterPrimary typeface
font-size-xs12pxCaptions, tiny labels
font-size-sm14pxBody text, helper text
font-size-md16pxDefault body copy
font-size-lg18pxSection subheadings
font-size-xl20pxHeadings
font-size-2xl24pxDisplay headings
font-size-3xl30pxHero headings
font-weight-regular400Body text
font-weight-medium500Emphasis, UI labels
font-weight-semibold600Headings, strong emphasis
font-weight-bold700Heavy headings
line-height-tight1.2Headings
line-height-normal1.5Default
line-height-relaxed1.75Long-form body text

Border Radius

Figma collection: Primitives / Radius — Mode: Default

TokenValueUse cases
radius-none0pxSharp corners
radius-sm2pxSubtle rounding, chips, tags
radius-md4pxButtons, inputs, cards (default)
radius-lg8pxPanels, modals, larger cards
radius-xl12pxLarge cards, sheets
radius-2xl16pxProminent UI elements
radius-full9999pxPills, badges, circular avatars
ℹ️
Primitives are stable. These values rarely change. When they do change, it's because the entire design language is being updated — not because of a brand or theme switch. That's why they have only one mode (Default).