Primitives

Raw values — the palette and numeric scale that every semantic token references.

Primitives are the raw materials of the system: the full color palette and the numeric scale. They have no meaning on their own — product code should never reference a primitive directly. Use semantic tokens instead, which point at these.

Source: Foundations 2.0 (Figma). Click any swatch to copy its hex.

Colors

Seven families plus transparent alpha ramps. Each step runs from 25/50 (lightest) to 950 (darkest).

Core

Use pure white and black as fixed anchors for the lightest and darkest points in the system.

colorCore0
#FFFFFF
colorCore1000
#000000

Neutral

Use the gray ramp for neutral text, surfaces, and borders. It gives you the base tones when you want an interface to feel quiet and balanced.

colorNeutral25
#FAFAFB
colorNeutral50
#F3F3F6
colorNeutral100
#E5E5E8
colorNeutral200
#D3D5D8
colorNeutral300
#B6BABF
colorNeutral400
#8E959D
colorNeutral500
#6D747E
colorNeutral600
#5B636E
colorNeutral700
#49525E
colorNeutral800
#353F4C
colorNeutral900
#212C3A
colorNeutral950
#0C1828

Brand

Use Tellus purple for the primary identity color across core brand moments.

colorBrand50
#F5F6FA
colorBrand100
#E7E8F3
colorBrand200
#CDD0E9
colorBrand300
#A3A8DC
colorBrand400
#767ED0
colorBrand500
#4B56C7
colorBrand600
#3540AB
colorBrand700
#2E368A
colorBrand800
#262C69
colorBrand900
#1E224D
colorBrand950
#14162E

Indigo

A secondary purple accent for supporting moments in the interface. Use it when you need a purple that feels softer than the primary accent.

colorIndigo50
#F7F5F9
colorIndigo100
#EDE7F3
colorIndigo200
#DACEE9
colorIndigo300
#BDA4DA
colorIndigo400
#9F78CE
colorIndigo500
#7D44C1
colorIndigo600
#6B38A9
colorIndigo700
#583088
colorIndigo800
#452768
colorIndigo900
#341F4C
colorIndigo950
#20152E

Green

Use green to signal success and positive outcomes — confirmations, gains, and completed states.

colorGreen50
#F4FBF7
colorGreen100
#E4F7ED
colorGreen200
#C5F1DB
colorGreen300
#93ECBE
colorGreen400
#5DEAA1
colorGreen500
#13C66A
colorGreen600
#12B561
colorGreen700
#14A45A
colorGreen800
#127C46
colorGreen900
#105B35
colorGreen950
#0D3621

Amber

Use amber for warnings and cautionary states that need attention without signalling a hard error.

colorAmber50
#FCF8F3
colorAmber100
#F9F0E2
colorAmber200
#F6E2C1
colorAmber300
#F5CD89
colorAmber400
#F9B94E
colorAmber500
#FFB230
colorAmber600
#E08D00
colorAmber700
#B37205
colorAmber800
#885807
colorAmber900
#634108
colorAmber950
#3A2808

Red

Use this style for destructive actions or serious errors that need attention.

colorRed50
#FBF4F5
colorRed100
#F6E4E6
colorRed200
#F1C6CA
colorRed300
#EA949C
colorRed400
#E75F6B
colorRed500
#EB515E
colorRed600
#C91726
colorRed700
#A11722
colorRed800
#7A141D
colorRed900
#5A1118
colorRed950
#350D11

Alpha · Black

Transparent Black ramp — for scrims, overlays, and subtle tints without a solid fill.

colorAlphaBlack50
#0000000A
colorAlphaBlack100
#00000014
colorAlphaBlack125
#0000001F
colorAlphaBlack200
#00000033
colorAlphaBlack300
#0000004D
colorAlphaBlack400
#00000066
colorAlphaBlack500
#00000080
colorAlphaBlack600
#00000099
colorAlphaBlack700
#000000B2
colorAlphaBlack800
#000000CC
colorAlphaBlack900
#000000E5
colorAlphaBlack950
#000000F2

Alpha · White

Transparent White ramp — for scrims, overlays, and subtle tints without a solid fill.

colorAlphaWhite50
#FFFFFF0A
colorAlphaWhite100
#FFFFFF14
colorAlphaWhite200
#FFFFFF33
colorAlphaWhite300
#FFFFFF4D
colorAlphaWhite400
#FFFFFF66
colorAlphaWhite500
#FFFFFF80
colorAlphaWhite600
#FFFFFF99
colorAlphaWhite700
#FFFFFFB2
colorAlphaWhite800
#FFFFFFCC
colorAlphaWhite900
#FFFFFFE5
colorAlphaWhite950
#FFFFFFF2

Alpha · Brand

Transparent Brand ramp — for scrims, overlays, and subtle tints without a solid fill.

colorAlphaBrand50
#4B56C70A
colorAlphaBrand100
#4B56C714
colorAlphaBrand200
#4B56C733
colorAlphaBrand300
#4B56C74D
colorAlphaBrand400
#4B56C766
colorAlphaBrand500
#4B56C780
colorAlphaBrand600
#4B56C799
colorAlphaBrand700
#4B56C7B2
colorAlphaBrand800
#4B56C7CC
colorAlphaBrand900
#4B56C7E5
colorAlphaBrand950
#4B56C7F2

Alpha · Green

Transparent Green ramp — for scrims, overlays, and subtle tints without a solid fill.

colorAlphaGreen50
#13C66A0A
colorAlphaGreen100
#13C66A14
colorAlphaGreen200
#13C66A33
colorAlphaGreen300
#13C66A4D
colorAlphaGreen400
#13C66A66
colorAlphaGreen500
#13C66A80
colorAlphaGreen600
#13C66A99
colorAlphaGreen700
#13C66AB2
colorAlphaGreen800
#13C66ACC
colorAlphaGreen900
#13C66AE5
colorAlphaGreen950
#13C66AF2

Alpha · Amber

Transparent Amber ramp — for scrims, overlays, and subtle tints without a solid fill.

colorAlphaAmber50
#FFB2300A
colorAlphaAmber100
#FFB23014
colorAlphaAmber200
#FFB23033
colorAlphaAmber300
#FFB2304D
colorAlphaAmber400
#FFB23066
colorAlphaAmber500
#FFB23080
colorAlphaAmber600
#FFB23099
colorAlphaAmber700
#FFB230B2
colorAlphaAmber800
#FFB230CC
colorAlphaAmber900
#FFB230E5
colorAlphaAmber950
#FFB230F2

Alpha · Red

Transparent Red ramp — for scrims, overlays, and subtle tints without a solid fill.

colorAlphaRed50
#EB515E0A
colorAlphaRed100
#EB515E14
colorAlphaRed200
#EB515E33
colorAlphaRed300
#EB515E4D
colorAlphaRed400
#EB515E66
colorAlphaRed500
#EB515E80
colorAlphaRed600
#EB515E99
colorAlphaRed700
#EB515EB2
colorAlphaRed800
#EB515ECC
colorAlphaRed900
#EB515EE5
colorAlphaRed950
#EB515EF2

Scale

The numeric ramp (in px) that spacing, radius, stroke, and type sizes all reference.

Scale · Positive

A shared numeric ramp for spacing, radius, stroke, and type sizes. Shown in pt — the value is the same across platforms, only the unit changes.

scalePositive0
0pt
scalePositive11
0.32pt
scalePositive12
0.38pt
scalePositive13
0.41pt
scalePositive14
0.45pt
scalePositive15
0.5pt
scalePositive25
1pt
scalePositive35
1.5pt
scalePositive50
2pt
scalePositive75
3pt
scalePositive100
4pt
scalePositive150
6pt
scalePositive200
8pt
scalePositive250
10pt
scalePositive300
12pt
scalePositive325
13pt
scalePositive350
14pt
scalePositive400
16pt
scalePositive425
17pt
scalePositive450
18pt
scalePositive475
19pt
scalePositive500
20pt
scalePositive550
22pt
scalePositive600
24pt
scalePositive700
28pt
scalePositive800
32pt
scalePositive900
36pt
scalePositive1000
40pt
scalePositive1100
44pt
scalePositive1200
48pt
scalePositive1300
52pt
scalePositive1400
56pt
scalePositive2400
96pt
scalePositive9999
9999pt

Scale · Negative

Use negative values to create overlaps or tighten tracking when elements need to sit closer together.

scaleNegative0
0pt
scaleNegative10
-0.08pt
scaleNegative11
-0.32pt
scaleNegative12
-0.38pt
scaleNegative13
-0.41pt
scaleNegative14
-0.45pt
scaleNegative25
-1pt
scaleNegative50
-2pt
scaleNegative100
-4pt
scaleNegative150
-6pt
scaleNegative200
-8pt
scaleNegative250
-10pt
scaleNegative300
-12pt
scaleNegative350
-14pt
scaleNegative400
-16pt
scaleNegative450
-18pt
scaleNegative500
-20pt
scaleNegative600
-24pt
scaleNegative700
-28pt
scaleNegative800
-32pt
scaleNegative900
-36pt
scaleNegative1000
-40pt
scaleNegative1100
-44pt
scaleNegative1200
-48pt
scaleNegative1300
-52pt
scaleNegative1400
-56pt

Fonts

The source font families and the full weight set. The semantic typography layer references a subset of these.

Font family

Defines the source font families for each platform. Use SF Pro on iOS and Roboto on Android.

Ag
fontFamilySFPro
SF Pro
Ag
fontFamilyRoboto
Roboto

Font weight

Defines the complete font weight range; the semantic typography layer uses only the weights needed for product text. Values are the numeric weights used in code — in Figma these surface as named styles (Regular, Medium, …), so the representation may differ.

Ag
fontWeightRegular
400
Ag
fontWeightMedium
500
Ag
fontWeightSemibold
600
Ag
fontWeightBold
700
Ag
fontWeightExtrabold
800
Ag
fontWeightHeavy
800
Ag
fontWeightBlack
900