Tokens · Token families
Color
Every colour a component may use, named by its job, with its value in light, dark and high contrast side by side.
Files: src/semantic.css
Pick a token by its job, not by its colour. The name stays the same in every mode; the value changes.
- Surfaces for backgrounds, text for words, lines for borders and dividers.
- Brand for links and the main action; the fill tokens behind white text.
- Status for success, warning, danger and information, and nothing else.
- Sidebar, inputs and code syntax for those components only.
- Charts for the series, the empty bar and the grid of a chart, and nothing else.
Each token shows its job, then its value in light, dark and high contrast, side by side. One click on a name selects all of it, ready to copy. In Figma the same names are variables: see Tokens in Figma.
All 63 semantic tokens, in 10 groups
Surfaces (8)
-
--luz-surface-pageThe page background. Light#fbf8f2Dark#1c1712High contrast#fff -
--luz-surfaceCards, dialogs and fields: the same face as the page. Light#fffdf9Dark#241e18High contrast#fff -
--luz-surface-hoverA row or a control under the pointer. Light#f4ede0Dark#2e261fHigh contrast#f9fafc -
--luz-surface-pressedA control while it is pressed. Light#ebe0ccDark#3a3028High contrast#e9eef4 -
--luz-surface-mutedCode blocks and wells, one step from the page. Light#fbf8f2Dark#1c1712High contrast#f9fafc -
--luz-surface-strongTable headers, tags, tooltips and toasts, two steps from the page. Light#efe6d6Dark#3a3028High contrast#e9eef4 -
--luz-scrimDims the page behind a dialog or the drawer. Lightrgba(13, 14, 17, 0.6)Darkrgba(0, 0, 0, 0.7)High contrastrgba(13, 14, 17, 0.6) -
--luz-surface-mediaBehind a video. The same in every mode. Light#000Dark#000High contrast#000
Text (5)
-
--luz-text-primaryBody text, headings and icons. Light#231c16Dark#f3ece1High contrast#000 -
--luz-text-secondaryLabels, hints and captions. Light#6b5a48Dark#b8a690High contrast#0d0e11 -
--luz-text-mutedPlaceholders and separators. Light#7a6a58Dark#a08f7aHigh contrast#434951 -
--luz-text-disabledDisabled controls: 3:1, LUZ's own floor. Light#8f8172Dark#877a69High contrast#646b73 -
--luz-text-on-fillText on a solid fill: primary and danger buttons, badges. Light#fffDark#fffHigh contrast#fff
Lines (3)
-
--luz-dividerDecorative lines between content. No minimum. Light#e3d4b8Dark#43382dHigh contrast#434951 -
--luz-outlineBorders that identify a control: 3:1. Light#807366Dark#7d7062High contrast#000 -
--luz-focus-ringThe focus outline: 3:1 on every surface. Light#2365a6Dark#6fb1ecHigh contrast#000
Brand (7)
-
--luz-brand-primaryLinks, outline and ghost buttons, the current tab. Light#2365a6Dark#6fb1ecHigh contrast#00256c -
--luz-brand-hoverA link under the pointer. Light#1b5089Dark#9ccaf2High contrast#000d4e -
--luz-brand-activeA link while it is pressed. Light#143d69Dark#c8e1f8High contrast#020831 -
--luz-brand-subtleA light brand tint: avatars, a hovered outline button. Light#e3eef9Darkrgba(32, 143, 255, 0.14)High contrast#f6fbff -
--luz-brand-fillThe fill behind white text: primary button, badge, checked box. Light#2365a6Dark#2172c1High contrast#00256c -
--luz-brand-fill-hoverThe primary button under the pointer. Light#1b5089Dark#18548fHigh contrast#000d4e -
--luz-brand-fill-activeThe primary button while it is pressed. Light#143d69Dark#134577High contrast#020831
Sidebar (9)
-
--luz-sidebar-bgThe sidebar panel. Light#2a211aDark#14100cHigh contrast#000 -
--luz-sidebar-textSidebar links. Light#e3d5bfDark#cbbba5High contrast#ced5dd -
--luz-sidebar-text-hoverA sidebar link under the pointer, the brand name, the focus ring. Light#fffDark#fffHigh contrast#fff -
--luz-sidebar-hoverBehind a sidebar link under the pointer. Light#3a2f25Dark#241e18High contrast#16191e -
--luz-sidebar-active-bgBehind the current sidebar link. Light#9cc8eeDark#8cc4f5High contrast#fff -
--luz-sidebar-active-textThe current sidebar link. Light#1a140fDark#14100cHigh contrast#000 -
--luz-sidebar-borderLines between the parts of the sidebar. Decorative. Light#3d3127Dark#2e261fHigh contrast#282d34 -
--luz-sidebar-labelSection labels and the version. Light#b9a78fDark#a8977fHigh contrast#889099 -
--luz-sidebar-logo-bgBehind the logo. Light#9cc8eeDark#8cc4f5High contrast#fff
Status (10)
-
--luz-color-successSuccess text and borders. Light#177734Dark#89edb8High contrast#105224 -
--luz-color-success-bgThe success tint behind alerts and tags. Light#eefff5Darkrgba(82, 207, 146, 0.12)High contrast#eefff5 -
--luz-color-dangerError text and the border of an invalid field. Light#ca1c25Dark#ffc3c1High contrast#8d131a -
--luz-color-danger-bgThe danger tint. Light#fff8f8Darkrgba(239, 79, 81, 0.12)High contrast#fff8f8 -
--luz-color-danger-fillThe danger button and badge, behind white text. Light#ca1c25Dark#c31a26High contrast#8d131a -
--luz-color-warningWarning text. Light#7c4d00Dark#ffcd51High contrast#5a4300 -
--luz-color-warning-accentThe start border of a warning alert. Decorative. Light#ffcd51Dark#ffedb7High contrast#e2a928 -
--luz-color-warning-bgThe warning tint. Light#fffae8Darkrgba(255, 205, 81, 0.12)High contrast#fffae8 -
--luz-color-infoInformation text. Light#004299Dark#b3d9ffHigh contrast#00256c -
--luz-color-info-bgThe information tint. Light#f6fbffDarkrgba(119, 185, 255, 0.12)High contrast#f6fbff
Inputs (2)
-
--luz-input-bgInside a field. Light#fffdf9Dark#241e18High contrast#fff -
--luz-input-borderThe edge of a field: 3:1 on every surface. Light#8b7d6fDark#877a69High contrast#000
Extended (5)
-
--luz-color-tealCategory text (teal tag). Never a status. Light#00736fDark#62c9b5High contrast#00504d -
--luz-color-teal-bgThe teal tint. Light#effefaDarkrgba(98, 201, 181, 0.12)High contrast#effefa -
--luz-color-purpleCategory text (purple tag). Never a status. Light#803ae9Dark#f3e8ffHigh contrast#5828a1 -
--luz-color-purple-bgThe purple tint. Light#fcf9ffDarkrgba(202, 154, 255, 0.12)High contrast#fcf9ff -
--luz-color-codeInline code. Light#803ae9Dark#ca9affHigh contrast#5828a1
Code syntax (6)
The colours of pre.luz-code-block, measured on --luz-surface-muted: 4.5:1 or more, 7:1 or more in high contrast. See the syntax specimen.
-
--luz-code-commentComments, also in italics. Light#646b73Dark#adb5bdHigh contrast#434951 -
--luz-code-keywordKeywords, also in bold. Light#231c16Dark#f3ece1High contrast#000 -
--luz-code-nameTags, selectors, functions and commands. Light#004299Dark#b3d9ffHigh contrast#00256c -
--luz-code-propertyAttributes, properties, flags and variables. Light#853bcaDark#ca9affHigh contrast#610ca0 -
--luz-code-stringStrings. Light#005733Dark#52cf92High contrast#005733 -
--luz-code-literalNumbers, colours and entities. Light#7c4d00Dark#e2a928High contrast#553000
Charts (8)
The series of a chart, in the order a chart uses them, then the empty part of a bar and the grid. Each series is 3:1 or more on every surface (4.5:1 or more in high contrast) and looks different from the others in hue and in lightness, also with protanopia or deuteranopia. None is red, green or yellow, which keep their meaning. Color is never the only sign: a chart keeps its figures as text.
-
--luz-chart-1The first series of a chart: the brand blue. Light#2365a6Dark#6fb1ecHigh contrast#00256c -
--luz-chart-2The second series: teal. Light#00736fDark#62c9b5High contrast#00504d -
--luz-chart-3The third series: purple. Light#5a248aDark#dbbeebHigh contrast#550b9d -
--luz-chart-4The fourth series: berry. Light#7f004eDark#e8709fHigh contrast#9e2e81 -
--luz-chart-5The fifth series: periwinkle. Light#6079c4Dark#6784e5High contrast#4459b8 -
--luz-chart-6The sixth series: stone. Light#867f7aDark#9a8c78High contrast#342516 -
--luz-chart-trackThe empty part of a bar, under its fill. Light#d2c3a9Dark#54483cHigh contrast#adb5bd -
--luz-chart-gridThe grid lines behind a chart. Decorative. Light#dccdb3Dark#4a3e33High contrast#889099