If you encounter any problems with this design system, welcome to feedback by raising GitHub issues.

Caution: This design system is currently under development. The specifications are unstable.

Token
Value*
Description
color-ink-primary
hsl(240deg, 15%, 15%)
Primary ink color†
color-ink-secondary
hsl(240deg, 15%, 55%)
Secondary ink color†
color-bg-primary
hsl(240deg, 15%, 100%)
Primary (normal) background
color-bg-secondary
hsl(240deg, 15%, 97%)
Secondary (darker) background
color-line-primary
hsl(240deg, 15%, 95%)
Primary (normal) line color, suitable with primary background
color-line-secondary
hsl(240deg, 15%, 92%)
Secondary (darker) line color, suitable with secondary background
color-accent-primary
hsl( 24deg, 100%, 50%)
Primary accent color
color-accent-secondary
hsl( 48deg, 100%, 50%)
Secondary accent color
color-accent-bg
hsl( 24deg, 100%, 97%)
Background with accent color tint
color-error-primary
hsl(350deg, 100%, 40%)
Primary error color
color-error-bg
hsl(350deg, 100%, 97%)
Background with error color tint

* Text are usually specified with ink colors. Also, ink colors can be widely used as foreground element tints.

† Color values should be set in HSL model, of which the value logic is comprehensible for both designers and engineers.

Elementary token*

Value

Description

font-family-basic
Public Sans + fallback

Universal custom font family

font-family-code
Fira Code + fallback

Custom font family for program languages

em-display
32px

Display font size

em-headline
24px

Headline font size

em-body
16px

Body font size

em-note
14px

Note font size

em-caption
12px

Caption font size

leading-display
48px

Display line height

leading-headline
32px

Headline line height

leading-body
24px

Body line height

leading-note
20px

Note line height

leading-caption
16px

Caption line height

font-weight-rg
400†

Regular weight

font-weight-md
500†

Medium weight

font-weight-sb
600†

Semibold weight

font-weight-eb
800†

Extrabold weight

Compound token‡
Value§
Description
text-display-rg
em-display
leading-display
font-weight-rg

Regular display scale

text-display-sb
em-display
leading-display
font-weight-sb

Semibold display scale

text-display-eb
em-display
leading-display
font-weight-eb

Extrabold display scale

text-headline-rg
em-headline
leading-headline
font-weight-rg

Regular headline scale

text-headline-sb
em-headline
leading-headline
font-weight-sb

Semibold headline scale

text-headline-eb
em-headline
leading-headline
font-weight-eb

Extrabold headline scale

text-body-rg
em-body
leading-body
font-weight-rg

Regular body scale

text-body-sb
em-body
leading-body
font-weight-sb

Semibold body scale

text-body-eb
em-body
leading-body
font-weight-eb

Extrabold body scale

text-note-rg
em-note
leading-note
font-weight-rg

Regular note scale

text-note-sb
em-note
leading-note
font-weight-sb

Semibold note scale

text-note-eb
em-note
leading-note
font-weight-eb

Extrabold note scale

text-caption-rg
em-caption
leading-caption
font-weight-rg

Regular caption scale

text-caption-sb
em-caption
leading-caption
font-weight-sb

Semibold caption scale

text-caption-eb
em-caption
leading-caption
font-weight-eb

Extrabold caption scale

text-body-rg--tnum
text-display-rg
tnum + lnum

Regular body scale with tabular figures

text-body-sb--tnum
text-display-sb
tnum + lnum

Semibod body scale with tabular figures

text-body-eb--tnum
text-display-sb
tnum + lnum

Extrabold body scale with tabular figures

text-caption-sb--caps
text-caption-sb
uppercase

Semibod caption scale with all capitals

* An elementary token is usually defined by a simple attribution with a specific value.

† Font weights set by numeric values are future-proof for variable fonts.

‡ An compound token can be composed of several elementary tokens, or can be generated by extending another token.

§ Tokens of text-* are defaultly based on font-family-basic.

Elementary token

Value

Description

elevation-shadow-color
240deg, 15%, 15%

HSL color value of shadows

elevation-shadow-1
0px 3px 8px hsla(elevation-shadow-color, 6%)
0px 1.5px 4px hsla(elevation-shadow-color, 6%)
0px 1px 2px hsla(elevation-shadow-color, 6%)
0px 0.5px 1px hsla(elevation-shadow-color, 6%)
0px 0px 0.5px hsla(elevation-shadow-color, 8%)

Shadows* for elevation level 1

elevation-shadow-2
0px 8px 16px hsla(elevation-shadow-color, 4%)
0px 4px 12px hsla(elevation-shadow-color, 4%)
0px 2px 8px hsla(elevation-shadow-color, 4%)
0px 1px 4px hsla(elevation-shadow-color, 4%)
0px 0px 0.5px hsla(elevation-shadow-color, 8%)

Shadows* for elevation level 2

elevation-shadow-3
0px 16px 24px hsla(elevation-shadow-color, 2%)
0px 8px 12px hsla(elevation-shadow-color, 2%)
0px 6px 8px hsla(elevation-shadow-color, 2%)
0px 4px 6px hsla(elevation-shadow-color, 3%)
0px 0px 0.5px hsla(elevation-shadow-color, 8%)

Shadows* for elevation level 3

zindex-0
0†

Z-axis level 0

zindex-1
100†

Z-axis level 1

zindex-2
200†

Z-axis level 2

zindex-3
300†

Z-axis level 3

zindex-4
400†

Z-axis level 4

zindex-5
500†

Z-axis level 5

zindex-6
600†

Z-axis level 6

zindex-7
700†

Z-axis level 7

zindex-8
800†

Z-axis level 8

zindex-9
900†

Z-axis level 9

Compound token
Value‡
Description
elevation-1
box-shadow: elevation-shadow-1

Elevation level 1

elevation-2
box-shadow: elevation-shadow-2

Elevation level 2

elevation-3
box-shadow: elevation-shadow-3

Elevation level 3

* Multiple shadow layers are used for generating smoother shadows as a CSS trick.

† The zindex-* tokens are used as a CSS value convention for z-index property.

‡ Currently, elevations mainly depend on CSS box-shadow with appropriate z-index.

Token

Value

Description

border-line-primary
1px solid
color-line-primary

Thin (default) primary border line

border-line-secondary
1px solid
color-line-secondary

Thin (default) secondary border line

border-accent
1px solid
color-accent-primary

Thin (default) accent border line

border-accent--medium
2px solid
color-accent-primary

Medium accent border line

border-accent--thick
4px solid
color-accent-primary

Thick accent border line

border-corner-sm
4px*

Small border corner

border-corner-md
8px*

Medium border corner

border-corner-pill
999em†

Pill-shaped border corner

* The values of border-corner-* tokens are the corner radius sizes.

† A very large radius size, e.g. 999em, can be used to generate pill-shaped border corner according to border radii overlapping.