Olyx uses an OKLCH color system inspired by Material color roles. The color file exposes only the role tokens listed here, and component styles should depend only on these tokens.

Seed Variables

:root {
  --base-lightness: 0.5;
  --base-chroma: 0.18;
  --base-hue: 200;
}

Harmony modes change secondary and tertiary hue offsets when applied to the root theme:

<html data-harmony="triadic">
  ...
</html>

Supported values are complementary, triadic, analogous, and monochromatic.

Accent Roles

Use each fill token with its matching on-* token.

State Roles

State roles follow the same role pairing.

Surface Roles

Surface roles are the neutral system used for component backgrounds, borders, dividers, disabled states, and lower-emphasis text.

Component Rules

Source

The token generation lives in the shared color files:

style/_base/colors.css

Further Reading