Semantic roles that map to primitives per mode

Each colour here has a role, like "page background" or "error border", and maps to a different primitive value depending on whether the UI is in light or dark mode. Components only reference these roles, so switching themes is just swapping which primitives each role points to. Toggle the mode above to see the values change. All 80 colour tokens are below, grouped by the role they play.

Primary UI colours

Primary

Primitive--teal--07--
Hex#118AB2
RGB17 / 138 / 178

Secondary

Primitive--teal--09--
Hex#0A4E66
RGB10 / 78 / 102

Accent colours

Coral

Primitive--red--07--
Hex#EF476F
RGB239 / 71 / 111

Amber

Primitive--orange--07--
Hex#EF8247
RGB239 / 130 / 71

Gold

Primitive--yellow--07--
Hex#FFD166
RGB255 / 209 / 102

Violet

Primitive--purple--07--
Hex#9E47EF
RGB158 / 71 / 239

Cobalt

Primitive--blue--07--
Hex#1E47B0
RGB30 / 71 / 176

Mint

Primitive--green--07--
Hex#06D6A0
RGB6 / 214 / 160

Page

Primary

Primitive--neutral--10--
Hex#050505
RGB5 / 5 / 5

Inverse

Primitive--neutral--01--
Hex#F1F1F1
RGB241 / 241 / 241

Container

Primary

Primitive--neutral--09-semi--
Hexrgba(14,14,14,0.8)
RGB14 / 14 / 14

Secondary

Primitive--neutral--07--
Hex#303030
RGB48 / 48 / 48

Tertiary

Primitive--neutral--08--
Hex#232323
RGB35 / 35 / 35

Inverse

Primitive--neutral--01--
Hex#F1F1F1
RGB241 / 241 / 241

Primary Semi

Primitive--neutral--09-semi-transparent--
Hexrgba(14,14,14,0.6)
RGB14 / 14 / 14

Primary Transparent

Primitive--neutral--09-transparent--
Hexrgba(14,14,14,0.01)
RGBTransparent

Border

Primitive--neutral--08--
Hex#232323
RGB35 / 35 / 35

Chat bubbles

Sent bg

Primitive--neutral--07--
Hex#303030
RGB48 / 48 / 48

Sent text

Primitive--neutral--01--
Hex#F1F1F1
RGB241 / 241 / 241

Received bg

Primitive--neutral--07--
Hex#303030
RGB48 / 48 / 48

Received text

Primitive--neutral--01--
Hex#F1F1F1
RGB241 / 241 / 241

Text

Primary

Primitive--neutral--01--
Hex#F1F1F1
RGB241 / 241 / 241

Secondary

Primitive--neutral--03--
Hex#BCBCBC
RGB188 / 188 / 188

Tertiary

Primitive--neutral--04--
Hex#A2A2A2
RGB162 / 162 / 162

Inverse

Primitive--neutral--07--
Hex#303030
RGB48 / 48 / 48

On Inverse

Primitive--neutral--09--
Hex#0E0E0E
RGB14 / 14 / 14

Icon

Primary

Primitive--neutral--02--
Hex#D6D6D6
RGB214 / 214 / 214

Secondary

Primitive--neutral--04--
Hex#A2A2A2
RGB162 / 162 / 162

Action / primary

Background Default

Primitive--teal--07--
Hex#118AB2
RGB17 / 138 / 178

Background Hover

Primitive--teal--08--
Hex#0E6E8F
RGB14 / 110 / 143

Background Active

Primitive--teal--09--
Hex#0A4E66
RGB10 / 78 / 102

Text Primary

Primitive--teal--02--
Hex#CFEAF3
RGB207 / 234 / 243

Text Secondary

Primitive--teal--10--
Hex#052F3E
RGB5 / 47 / 62

Text Tertiary

Primitive--teal--07--
Hex#118AB2
RGB17 / 138 / 178

Text Active

Primitive--neutral--01--
Hex#F1F1F1
RGB241 / 241 / 241

Border Primary

Primitive--teal--09--
Hex#0A4E66
RGB10 / 78 / 102

Border Secondary

Primitive--teal--06--
Hex#2C9AB9
RGB44 / 154 / 185

Border Tertiary

Primitive--teal--04--
Hex#6DBCD6
RGB109 / 188 / 214

Icon Default

Primitive--neutral--01--
Hex#F1F1F1
RGB241 / 241 / 241

Icon Active

Primitive--neutral--01--
Hex#F1F1F1
RGB241 / 241 / 241

Action / passive

Background Default

Primitive--neutral--09-transparent--
Hexrgba(14,14,14,0.01)
RGBTransparent

Background Hover

Primitive--neutral--08-semi--
Hexrgba(35,35,35,0.8)
RGB35 / 35 / 35

Background Active

Primitive--neutral--07-semi--
Hexrgba(48,48,48,0.8)
RGB48 / 48 / 48

Text Primary

Primitive--neutral--01--
Hex#F1F1F1
RGB241 / 241 / 241

Input

Background Default

Primitive--neutral--10--
Hex#050505
RGB5 / 5 / 5

Background Disabled

Primitive--neutral--09--
Hex#0E0E0E
RGB14 / 14 / 14

Border Default

Primitive--neutral--08--
Hex#232323
RGB35 / 35 / 35

Border Hover

Primitive--teal--09--
Hex#0A4E66
RGB10 / 78 / 102

Border Selected

Primitive--teal--06--
Hex#2C9AB9
RGB44 / 154 / 185

Border Disabled

Primitive--neutral--08--
Hex#232323
RGB35 / 35 / 35

Text Primary

Primitive--neutral--01--
Hex#F1F1F1
RGB241 / 241 / 241

Text Placeholder

Primitive--neutral--04--
Hex#A2A2A2
RGB162 / 162 / 162

Text Disabled

Primitive--neutral--07--
Hex#303030
RGB48 / 48 / 48

Text Inverse

Primitive--neutral--07--
Hex#303030
RGB48 / 48 / 48

Overlay & controls

Scrim

Primitive--true-black-strong--
Hexrgba(0,0,0,0.7)
RGB0 / 0 / 0

Control Thumb

Primitive--neutral--01--
Hex#F1F1F1
RGB241 / 241 / 241

Divider

Primitive--neutral--08-semi--
Hexrgba(35,35,35,0.8)
RGB35 / 35 / 35

Status

Positive

Primitive--green--10--
Hex#024336
RGB2 / 67 / 54

Warning

Primitive--orange--10--
Hex#552716
RGB85 / 39 / 22

Error

Primitive--red--10--
Hex#571727
RGB87 / 23 / 39

Info

Primitive--blue--10--
Hex#081633
RGB8 / 22 / 51

Neutral

Primitive--neutral--08--
Hex#232323
RGB35 / 35 / 35

Positive text

Primitive--green--01--
Hex#ECFCF7
RGB236 / 252 / 247

Warning text

Primitive--orange--01--
Hex#FFF3EC
RGB255 / 243 / 236

Error text

Primitive--red--01--
Hex#FDEFF3
RGB253 / 239 / 243

Info text

Primitive--blue--01--
Hex#EEF3FD
RGB238 / 243 / 253

Neutral text

Primitive--neutral--01--
Hex#F1F1F1
RGB241 / 241 / 241

AI gradient

Start

Primitive--red--05--
Hex#F37F9B
RGB243 / 127 / 155

Mid

Primitive--blue--05--
Hex#5475D4
RGB84 / 117 / 212

End

Primitive--teal--05--
Hex#3CA5C6
RGB60 / 165 / 198

Chart / contribution

Level 0

Primitive--neutral--08--
Hex#232323
RGB35 / 35 / 35

Level 1

Primitive--green--10--
Hex#024336
RGB2 / 67 / 54

Level 2

Primitive--green--09--
Hex#03765A
RGB3 / 118 / 90

Level 3

Primitive--green--08--
Hex#05A67C
RGB5 / 166 / 124

Level 4

Primitive--green--07--
Hex#06D6A0
RGB6 / 214 / 160