Skip to content

Tokens

Generated from the DTCG source in @acme/tokens. Every declared pair is checked at build time; the build fails if any pair drops below its minimum.

Semantic colors and contrast

Light

Contrast pairs in Light mode
SampleTokenAgainstRatioMinimum
backgroundforeground15.07:14.5:1 (passes)
cardcard-foreground15.07:14.5:1 (passes)
popoverpopover-foreground15.07:14.5:1 (passes)
primaryprimary-foreground5.90:14.5:1 (passes)
primary-hoverprimary-foreground7.06:14.5:1 (passes)
secondarysecondary-foreground8.75:14.5:1 (passes)
mutedmuted-foreground4.81:14.5:1 (passes)
muted-foregroundbackground5.17:14.5:1 (passes)
accentaccent-foreground7.54:14.5:1 (passes)
destructivedestructive-foreground5.61:14.5:1 (passes)
destructive-hoverdestructive-foreground6.79:14.5:1 (passes)
successsuccess-foreground4.67:14.5:1 (passes)
warningwarning-foreground5.27:14.5:1 (passes)
infoinfo-foreground5.03:14.5:1 (passes)
inputbackground3.60:13:1 (passes)
ringbackground5.90:13:1 (passes)

Dark

Contrast pairs in Dark mode
SampleTokenAgainstRatioMinimum
backgroundforeground18.19:14.5:1 (passes)
cardcard-foreground16.31:14.5:1 (passes)
popoverpopover-foreground16.31:14.5:1 (passes)
primaryprimary-foreground7.05:14.5:1 (passes)
primary-hoverprimary-foreground10.38:14.5:1 (passes)
secondarysecondary-foreground14.03:14.5:1 (passes)
mutedmuted-foreground6.30:14.5:1 (passes)
muted-foregroundbackground8.16:14.5:1 (passes)
accentaccent-foreground8.43:14.5:1 (passes)
destructivedestructive-foreground6.61:14.5:1 (passes)
destructive-hoverdestructive-foreground9.79:14.5:1 (passes)
successsuccess-foreground7.98:14.5:1 (passes)
warningwarning-foreground7.31:14.5:1 (passes)
infoinfo-foreground7.45:14.5:1 (passes)
inputbackground3.70:13:1 (passes)
ringbackground7.05:13:1 (passes)

High contrast light

Contrast pairs in High contrast light mode
SampleTokenAgainstRatioMinimum
backgroundforeground21.00:17:1 (passes)
cardcard-foreground21.00:17:1 (passes)
popoverpopover-foreground21.00:17:1 (passes)
primaryprimary-foreground9.16:17:1 (passes)
primary-hoverprimary-foreground11.20:17:1 (passes)
secondarysecondary-foreground17.61:17:1 (passes)
mutedmuted-foreground8.75:17:1 (passes)
muted-foregroundbackground10.43:17:1 (passes)
accentaccent-foreground17.30:17:1 (passes)
destructivedestructive-foreground8.85:17:1 (passes)
destructive-hoverdestructive-foreground11.19:17:1 (passes)
successsuccess-foreground7.64:17:1 (passes)
warningwarning-foreground8.44:17:1 (passes)
infoinfo-foreground8.12:17:1 (passes)
inputbackground8.32:13:1 (passes)
ringbackground9.16:13:1 (passes)

High contrast dark

Contrast pairs in High contrast dark mode
SampleTokenAgainstRatioMinimum
backgroundforeground21.00:17:1 (passes)
cardcard-foreground17.54:17:1 (passes)
popoverpopover-foreground17.54:17:1 (passes)
primaryprimary-foreground11.15:17:1 (passes)
primary-hoverprimary-foreground14.53:17:1 (passes)
secondarysecondary-foreground15.09:17:1 (passes)
mutedmuted-foreground10.68:17:1 (passes)
muted-foregroundbackground14.86:17:1 (passes)
accentaccent-foreground9.16:17:1 (passes)
destructivedestructive-foreground10.51:17:1 (passes)
destructive-hoverdestructive-foreground13.92:17:1 (passes)
successsuccess-foreground12.07:17:1 (passes)
warningwarning-foreground11.33:17:1 (passes)
infoinfo-foreground11.39:17:1 (passes)
inputbackground11.55:13:1 (passes)
ringbackground11.15:13:1 (passes)

Primitive ramps

OKLCH ramps with fixed lightness per step. Components never use these directly; they are shown for reference.

gray

  1. 50
  2. 100
  3. 200
  4. 300
  5. 400
  6. 500
  7. 600
  8. 700
  9. 800
  10. 900
  11. 950

brand

  1. 50
  2. 100
  3. 200
  4. 300
  5. 400
  6. 500
  7. 600
  8. 700
  9. 800
  10. 900
  11. 950

red

  1. 50
  2. 100
  3. 200
  4. 300
  5. 400
  6. 500
  7. 600
  8. 700
  9. 800
  10. 900
  11. 950

amber

  1. 50
  2. 100
  3. 200
  4. 300
  5. 400
  6. 500
  7. 600
  8. 700
  9. 800
  10. 900
  11. 950

green

  1. 50
  2. 100
  3. 200
  4. 300
  5. 400
  6. 500
  7. 600
  8. 700
  9. 800
  10. 900
  11. 950

blue

  1. 50
  2. 100
  3. 200
  4. 300
  5. 400
  6. 500
  7. 600
  8. 700
  9. 800
  10. 900
  11. 950

ink

  1. 50
  2. 300
  3. 500
  4. 700
  5. 800
  6. 900
  7. 950