Skip to content

Typography

Heading levels, text sizes, and font families — all driven by Automatic.css variables. Sizes are fluid and responsive out of the box.

Headings

H1–h1

The quick brown fox

H2–h2

The quick brown fox

H3–h3

The quick brown fox

H4–h4

The quick brown fox

H5–h5
The quick brown fox
H6–h6
The quick brown fox

Text Sizes

XXL–text-xxl

The quick brown fox jumps over the lazy dog.

XL–text-xl

The quick brown fox jumps over the lazy dog.

L–text-l

The quick brown fox jumps over the lazy dog.

M (Base)–text-m

The quick brown fox jumps over the lazy dog.

S–text-s

The quick brown fox jumps over the lazy dog.

XS–text-xs

The quick brown fox jumps over the lazy dog.

Font Families

Heading FontAa Bb Cc Dd Ee Ff Gg Hh Ii Jj Kk Ll Mm Nn Oo Pp Qq Rr Ss Tt Uu Vv Ww Xx Yy Zz0123456789 !@#$%&var(–heading-font-family)
Body / Text FontAa Bb Cc Dd Ee Ff Gg Hh Ii Jj Kk Ll Mm Nn Oo Pp Qq Rr Ss Tt Uu Vv Ww Xx Yy Zz0123456789 !@#$%&var(–text-font-family)

Body Text

This is a standard body text paragraph rendered at the default text size with your configured line-height and max-width.

A second paragraph demonstrates content spacing. ACSS Smart Content Spacing handles the vertical rhythm between paragraphs, headings, lists, and other elements automatically.

Colors

The six ACSS color families with auto-generated shades (OKLCH in v4). Each swatch uses the corresponding CSS variable — change your ACSS dashboard and this guide updates instantly. Use color-mix() for transparencies.

Primary

Your action color — buttons, links, CTAs.

Shades

–primary-ultra-light
–primary-light
–primary-semi-light
–primary
–primary-semi-dark
–primary-dark
–primary-ultra-dark
–primary-hover

Secondary

Your secondary brand color.

Shades

–secondary-ultra-light
–secondary-light
–secondary-semi-light
–secondary
–secondary-semi-dark
–secondary-dark
–secondary-ultra-dark
–secondary-hover

Tertiary

Your third brand color.

Shades

–tertiary-ultra-light
–tertiary-light
–tertiary-semi-light
–tertiary
–tertiary-semi-dark
–tertiary-dark
–tertiary-ultra-dark
–tertiary-hover

Accent

Your least-used brand color — sparingly for emphasis.

Shades

–accent-ultra-light
–accent-light
–accent-semi-light
–accent
–accent-semi-dark
–accent-dark
–accent-ultra-dark
–accent-hover

Base

Your preferred neutral color — backgrounds, text, borders.

Shades

–base-ultra-light
–base-light
–base-semi-light
–base
–base-semi-dark
–base-dark
–base-ultra-dark
–base-hover

Neutral

Black, white, and shades of grey.

Shades

–neutral-ultra-light
–neutral-light
–neutral-semi-light
–neutral
–neutral-semi-dark
–neutral-dark
–neutral-ultra-dark
–neutral-hover

Contextual Text Colors

–text-darkThe quick brown fox jumps over the lazy dog.
–text-dark-mutedThe quick brown fox jumps over the lazy dog.
–text-lightThe quick brown fox jumps over the lazy dog.
–text-light-mutedThe quick brown fox jumps over the lazy dog.

Color Scheme (Light / Dark)

.scheme–light

Heading sample

ACSS uses light-dark() for all palette variables. Shades auto-invert: –ultra-light becomes dark, –white and –black swap. Force a scheme on any element with .scheme–light or .scheme–dark.

Standard linkPrimary Button
.scheme–dark

Heading sample

ACSS uses light-dark() for all palette variables. Shades auto-invert: –ultra-light becomes dark, –white and –black swap. Force a scheme on any element with .scheme–light or .scheme–dark.

Standard linkPrimary Button

Spacing

Content spacing and contextual gaps. All values are fluid and responsive via ACSS clamp() functions. Nested containers show how each spacing level relates to the others — padding is applied to all sides so you can see both block and inline simultaneously.

Content Spacing (padding — all sides)

XXL –space-xxl
XL –space-xl
L –space-l
M –space-m
S –space-s
XS –space-xs
inner content

Contextual Gaps

–content-gap
Heading
Paragraph
Paragraph
List
–grid-gap
–container-gap
Container 1
Container 2
Container 3
–gutter
Content area — gutter is the colored space on left and right

Section Spacing

Vertical rhythm between sections. Each ring shows its actual padding-block value — the visible vertical space is the real section padding applied by ACSS.

Section Spacing (padding-block)

XXL –section-space-xxl
XL –section-space-xl
L –section-space-l
M –section-space-m
S –section-space-s
section content

Links & Buttons

Default link styles, link color variations on light and dark surfaces, and the ACSS button system. All buttons inherit global variables from the ACSS dashboard.

Links — On Light Background

Buttons — Solid

Primary.btn–primary
Secondary.btn–secondary
Tertiary.btn–tertiary
Accent.btn–accent
Base.btn–base
Neutral.btn–neutral

Buttons — Outline

Primary Outline.btn–primary .btn–outline
Secondary Outline.btn–secondary .btn–outline
Tertiary Outline.btn–tertiary .btn–outline
Accent Outline.btn–accent .btn–outline
Base Outline.btn–base .btn–outline
Neutral Outline.btn–neutral .btn–outline

Link Variables Reference

–link-color
Default link color
–link-color-hover
Link hover color
–link-decoration
Text decoration
–link-decoration-hover
Hover text decoration
–link-decoration-color
Decoration color
–link-decoration-thickness
Decoration thickness
–link-underline-offset
Underline offset
–link-transition-duration
Transition speed

Button Variables Reference

–btn-font-size
Font size
–btn-font-weight
Font weight
–btn-line-height
Line height
–btn-letter-spacing
Letter spacing
–btn-text-transform
Text transform
–btn-text-decoration
Text decoration
–btn-font-style
Font style
–btn-padding-block
Vertical padding
–btn-padding-inline
Horizontal padding
–btn-min-width
Minimum width
–btn-radius
Border radius
–btn-border-width
Border width
–btn-border-style
Border style
–btn-border-color
Border color
–btn-border-color-hover
Border color (hover)
–btn-background
Background color
–btn-background-hover
Background (hover)
–btn-text-color
Text color
–btn-text-color-hover
Text color (hover)
–btn-transition-duration
Transition speed
–btn-outline-border-width
Outline border width
–btn-outline-text-color
Outline text color
–btn-outline-text-color-hover
Outline text (hover)
–focus-color
Focus ring color
Primary
ultra-light
–primary-ultra-light: light-dark(oklch(1 0.06 130), oklch(0.4 0.1 130))
light
–primary-light: light-dark(oklch(0.85 0.146 130), oklch(0.44 0.15 130))
semi-light
–primary-semi-light: light-dark(oklch(0.65 0.146 130), oklch(0.35 0.11 130.0018352373))
core
–primary: light-dark(oklch(0.65 0.1455698242 130), oklch(0.65 0.1455698242 130))
hover
–primary-hover: light-dark(oklch(0.748 0.146 130), oklch(0.748 0.146 130))
semi-dark
–primary-semi-dark: light-dark(oklch(0.35 0.11 130.0018352373), oklch(0.65 0.146 130))
dark
–primary-dark: light-dark(oklch(0.44 0.15 130), oklch(0.85 0.146 130))
ultra-dark
–primary-ultra-dark: light-dark(oklch(0.4 0.1 130), oklch(1 0.06 130))
Secondary
ultra-light
–secondary-ultra-light: light-dark(oklch(0.95 0.054 78.0424297329), oklch(0.1 0.024 77.9942642312))
light
–secondary-light: light-dark(oklch(0.85 0.056 78.0399718692), oklch(0.25 0.056 78.0399718692))
semi-light
–secondary-semi-light: light-dark(oklch(0.65 0.056 78.0399718692), oklch(0.35 0.056 78.0399718692))
core
–secondary: light-dark(oklch(0.65 0.056 78.0399718692), oklch(0.65 0.056 78.0399718692))
hover
–secondary-hover: light-dark(oklch(0.748 0.056 78.0399718692), oklch(0.748 0.056 78.0399718692))
semi-dark
–secondary-semi-dark: light-dark(oklch(0.35 0.056 78.0399718692), oklch(0.65 0.056 78.0399718692))
dark
–secondary-dark: light-dark(oklch(0.25 0.056 78.0399718692), oklch(0.85 0.056 78.0399718692))
ultra-dark
–secondary-ultra-dark: light-dark(oklch(0.1 0.024 77.9942642312), oklch(0.95 0.054 78.0424297329))
Tertiary
ultra-light
–tertiary-ultra-light: light-dark(oklch(0.95 0.055 329.9807904088), oklch(0.1 0.05 329.9981607507))
light
–tertiary-light: light-dark(oklch(0.85 0.07 330), oklch(0.32 0.13 330))
semi-light
–tertiary-semi-light: light-dark(oklch(0.65 0.07 330), oklch(0.35 0.07 330))
core
–tertiary: light-dark(oklch(0.65 0.07 330), oklch(0.65 0.07 330))
hover
–tertiary-hover: light-dark(oklch(0.747 0.07 330), oklch(0.747 0.07 330))
semi-dark
–tertiary-semi-dark: light-dark(oklch(0.35 0.07 330), oklch(0.65 0.07 330))
dark
–tertiary-dark: light-dark(oklch(0.32 0.13 330), oklch(0.85 0.07 330))
ultra-dark
–tertiary-ultra-dark: light-dark(oklch(0.1 0.05 329.9981607507), oklch(0.95 0.055 329.9807904088))
Accent
ultra-light
–accent-ultra-light: light-dark(oklch(1 0.06 130), oklch(0.1 0.032 130.028817182))
light
–accent-light: light-dark(oklch(0.85 0.151 130), oklch(0.44 0.1 130))
semi-light
–accent-semi-light: light-dark(oklch(0.65 0.151 130), oklch(0.35 0.11 130))
core
–accent: light-dark(oklch(0.65 0.1513930664 130), oklch(0.65 0.1513930664 130))
hover
–accent-hover: light-dark(oklch(0.747 0.151 130), oklch(0.747 0.151 130))
semi-dark
–accent-semi-dark: light-dark(oklch(0.35 0.11 130), oklch(0.65 0.151 130))
dark
–accent-dark: light-dark(oklch(0.44 0.1 130), oklch(0.85 0.151 130))
ultra-dark
–accent-ultra-dark: light-dark(oklch(0.1 0.032 130.028817182), oklch(1 0.06 130))
Base
ultra-light
–base-ultra-light: light-dark(oklch(0.98 0.023 248.9317864589), oklch(0.1 0.036 249))
light
–base-light: light-dark(oklch(0.85 0.085 249), oklch(0.25 0.089 249.012007213))
semi-light
–base-semi-light: light-dark(oklch(0.65 0.159 249), oklch(0.35 0.125 249))
core
–base: light-dark(oklch(0.65 0.159 249), oklch(0.65 0.159 249))
hover
–base-hover: light-dark(oklch(0.748 0.147 249), oklch(0.748 0.147 249))
semi-dark
–base-semi-dark: light-dark(oklch(0.35 0.125 249), oklch(0.65 0.159 249))
dark
–base-dark: light-dark(oklch(0.25 0.089 249.012007213), oklch(0.85 0.085 249))
ultra-dark
–base-ultra-dark: light-dark(oklch(0.1 0.036 249), oklch(0.98 0.023 248.9317864589))
Neutral
ultra-light
–neutral-ultra-light: light-dark(oklch(0.95 0 0), oklch(0.1 0 0))
light
–neutral-light: light-dark(oklch(0.85 0 0), oklch(0.25 0 0))
semi-light
–neutral-semi-light: light-dark(oklch(0.65 0 0), oklch(0.35 0 0))
core
–neutral: light-dark(oklch(0 0 0), oklch(0 0 0))
hover
–neutral-hover: light-dark(oklch(0 0 0), oklch(0 0 0))
semi-dark
–neutral-semi-dark: light-dark(oklch(0.35 0 0), oklch(0.65 0 0))
dark
–neutral-dark: light-dark(oklch(0.25 0 0), oklch(0.85 0 0))
ultra-dark
–neutral-ultra-dark: light-dark(oklch(0.1 0 0), oklch(0.95 0 0))
Danger
ultra-light
–danger-ultra-light: light-dark(oklch(0.95 0.032 21), oklch(0.1 0.045 21))
light
–danger-light: light-dark(oklch(0.85 0.068 21), oklch(0.15 0.068 21))
semi-light
–danger-semi-light: light-dark(oklch(0.65 0.068 21), oklch(0.35 0.068 21))
core
–danger: light-dark(oklch(0.65 0.0675266166 21), oklch(0.65 0.0675266166 21))
hover
–danger-hover: light-dark(oklch(0.748 0.068 21), oklch(0.748 0.068 21))
semi-dark
–danger-semi-dark: light-dark(oklch(0.35 0.068 21), oklch(0.65 0.068 21))
dark
–danger-dark: light-dark(oklch(0.15 0.068 21), oklch(0.85 0.068 21))
ultra-dark
–danger-ultra-dark: light-dark(oklch(0.1 0.045 21), oklch(0.95 0.032 21))
Warning
ultra-light
–warning-ultra-light: light-dark(oklch(0.95 0.065 85), oklch(0.1 0.024 85))
light
–warning-light: light-dark(oklch(0.85 0.118 85), oklch(0.15 0.035 84.9851363454))
semi-light
–warning-semi-light: light-dark(oklch(0.65 0.118 85), oklch(0.35 0.083 84.9851363454))
core
–warning: light-dark(oklch(0.65 0.1180815168 85), oklch(0.65 0.1180815168 85))
hover
–warning-hover: light-dark(oklch(0.747 0.118 85), oklch(0.747 0.118 85))
semi-dark
–warning-semi-dark: light-dark(oklch(0.35 0.083 84.9851363454), oklch(0.65 0.118 85))
dark
–warning-dark: light-dark(oklch(0.15 0.035 84.9851363454), oklch(0.85 0.118 85))
ultra-dark
–warning-ultra-dark: light-dark(oklch(0.1 0.024 85), oklch(0.95 0.065 85))
Info
ultra-light
–info-ultra-light: light-dark(oklch(0.95 0.046 211.9796321637), oklch(0.1 0.023 212))
light
–info-light: light-dark(oklch(0.85 0.092 212), oklch(0.15 0.035 212.047392966))
semi-light
–info-semi-light: light-dark(oklch(0.65 0.092 212), oklch(0.35 0.081 212.0063851237))
core
–info: light-dark(oklch(0.65 0.0923291016 212), oklch(0.65 0.0923291016 212))
hover
–info-hover: light-dark(oklch(0.748 0.092 212), oklch(0.748 0.092 212))
semi-dark
–info-semi-dark: light-dark(oklch(0.35 0.081 212.0063851237), oklch(0.65 0.092 212))
dark
–info-dark: light-dark(oklch(0.15 0.035 212.047392966), oklch(0.85 0.092 212))
ultra-dark
–info-ultra-dark: light-dark(oklch(0.1 0.023 212), oklch(0.95 0.046 211.9796321637))
Success
ultra-light
–success-ultra-light: light-dark(oklch(0.95 0.096 147), oklch(0.1 0.042 147))
light
–success-light: light-dark(oklch(0.85 0.175 147), oklch(0.15 0.062 147))
semi-light
–success-semi-light: light-dark(oklch(0.65 0.175 147), oklch(0.35 0.146 147))
core
–success: light-dark(oklch(0.65 0.175 147), oklch(0.65 0.175 147))
hover
–success-hover: light-dark(oklch(0.748 0.175 147), oklch(0.748 0.175 147))
semi-dark
–success-semi-dark: light-dark(oklch(0.35 0.146 147), oklch(0.65 0.175 147))
dark
–success-dark: light-dark(oklch(0.15 0.062 147), oklch(0.85 0.175 147))
ultra-dark
–success-ultra-dark: light-dark(oklch(0.1 0.042 147), oklch(0.95 0.096 147))
Mono
white
–white: light-dark(#fff, #000)
black
–black: light-dark(#000, #fff)

ACSS Color Palette Accessibility Checker

Review WCAG contrast ratings for ACSS global colors, including optional semantic colors and shade comparisons.

Color Combination Matrix

Color Opacity Matrix

Understanding Contrast & Accessibility

Contrast Ratios

  • 7.00 + Enhanced contrast suitable for all text sizes
  • 4.50 - 6.99 Good contrast suitable for standard text
  • 3.00 - 4.49 Minimum contrast, suitable ONLY for large scale text
  • < 3.00 Insufficient contrast

WCAG Ratings

  • AAA Enhanced accessibility (ratio 7.00+)
  • AA Good accessibility (ratio 4.50+)
  • ! Only suitable for large scale text (ratio 3.00+)
  • Fail Insufficient contrast (ratio < 3.00)
*Large text is defined as bold and 14 point (typically 18.66px/1.167em) or larger, OR not bold and 18 point (typically 24px/1.5em) or larger.