Forest theme
Style sheet path:
node_modules/eunomia-elements/styles/themes/prebuilt-themes/forest/eunomia-forest.theme.scss
Class names:
eunomia-forest-theme
eunomia-forest-theme--dark
Sass import:
@include eunomia-forest-theme();
@include eunomia-forest-dark-theme();
On this site, select "Forest" from the toolbar's theme
picker to preview it live: every swatch below is instead scoped to
this theme directly (via data-brand="forest"), so it
always shows Forest's real colors regardless of what's
active in the toolbar.
Primary & secondary
light
| 50 | 100 | 200 | 300 | 400 | 500 | 600 | 700 | 800 | 900 | 950 | |
|---|---|---|---|---|---|---|---|---|---|---|---|
| Primary | #88baa2 | #6fab8f | #569d7b | #368a62 | #298258 | #1b7a4d | #197348 | #186b44 | #145a39 | #114d31 | #0e3f28 |
| Secondary | #c3ab95 | #b69a7f | #a98869 | #99714c | #926840 | #8b5e34 | #835831 | #7a532e | #674626 | #583b21 | #48311b |
dark
| 50 | 100 | 200 | 300 | 400 | 500 | 600 | 700 | 800 | 900 | 950 | |
|---|---|---|---|---|---|---|---|---|---|---|---|
| Primary | #49735f | #588b74 | #67a487 | #7bc3a1 | #84cfac | #8cddb7 | #93dfbb | #9ae1c0 | #aae6ca | #b6ead2 | #c4edda |
| Secondary | #67523f | #7c644d | #91755b | #ad8b6c | #b99573 | #c49e7b | #c8a382 | #cbaa8b | #d4b89d | #dac1ab | #e1cdba |
Grey scale
Shared shape across every theme; only the primary/secondary hue above actually changes per brand.
light
| 0 | 100 | 200 | 300 | 400 | 500 | 600 | 700 | 800 | 900 |
|---|---|---|---|---|---|---|---|---|---|
grey-0 | grey-100 | grey-200 | grey-300 | grey-400 | grey-500 | grey-600 | grey-700 | grey-800 | grey-900 |
dark
| 0 | 100 | 200 | 300 | 400 | 500 | 600 | 700 | 800 | 900 |
|---|---|---|---|---|---|---|---|---|---|
grey-0 | grey-100 | grey-200 | grey-300 | grey-400 | grey-500 | grey-600 | grey-700 | grey-800 | grey-900 |
Semantic states
Success/warning/critical/info: identical across every theme (they're
brand-independent), but not across modes. -100 is the opaque
anchor (computed separately per mode so it clears WCAG AA against
that mode's surface), and -90/-50/-30 are alpha overlays of the
light-mode anchor, reading correctly on both surfaces from the same
declaration. See
light
| 100 | 90 | 50 | 30 | |
|---|---|---|---|---|
| Success | ||||
| Warning | ||||
| Critical | ||||
| Info |
dark
| 100 | 90 | 50 | 30 | |
|---|---|---|---|---|
| Success | ||||
| Warning | ||||
| Critical | ||||
| Info |
Neutral tokens
Surface, text, and border tokens, also shared across every theme.
light
--eun-surface-color | |
--eun-text-color | |
--eun-text-secondary | |
--eun-border-color | |
--eun-disabled-color |
dark
--eun-surface-color | |
--eun-text-color | |
--eun-text-secondary | |
--eun-border-color | |
--eun-disabled-color |
Surface tint
Unlike the neutral tokens above, these mix a small amount of this
theme's own primary-500 into the surface/border/hover tokens — opt-in
for when a component wants to read as "Forest" rather than
neutral. See
light
--eun-surface-tint | |
--eun-border-tint | |
--eun-content-hover-tint | |
--eun-content-pressed-tint |
dark
--eun-surface-tint | |
--eun-border-tint | |
--eun-content-hover-tint | |
--eun-content-pressed-tint |
Decorative scales
Static accents (tags, charts, illustrations): 7 steps, brand-independent
but not mode-independent, each hue's dark variant inverts the light
scale's lightness curve so 100/700 stay usable as a
background/foreground pair on a dark surface. Full chart on
light
| 100 | 200 | 300 | 400 | 500 | 600 | 700 | |
|---|---|---|---|---|---|---|---|
| Red | |||||||
| Purple | |||||||
| Yellow | |||||||
| Blue | |||||||
| Green | |||||||
| Pink |
dark
| 100 | 200 | 300 | 400 | 500 | 600 | 700 | |
|---|---|---|---|---|---|---|---|
| Red | |||||||
| Purple | |||||||
| Yellow | |||||||
| Blue | |||||||
| Green | |||||||
| Pink |
All decorative/state/grey/neutral tables above render with this
theme's own compiled CSS (via data-brand="forest"),
not the toolbar's current selection. See