Back

Vitaforge · Organic · Light/Dark

Public
Healthcare Custom Light Mode
biohacking, bio-red-blue, vitality-green, organic, light, dark, healthcare

Brand Semantic Usage Guide

Vitaforge

44-role semantic color system · WCAG AAA · v2.0.0

Score

100%

Level

WCAG AAA
44 semantic rolesOrganicHealthcareLight mode

Compliance Summary

Score

100%

Excellent

WCAG Level

AAA

Compliance

Passed

12

of 12 rules

Errors

0

All clear

Role Overview Map

All 44 semantic color roles organized by functional category. Click any role to copy its hex value.

🎨

Brand / Interactive

Primary brand colors for interactive elements, CTAs, and brand identity

10 roles
🪟

Surface / Layers

Background and elevation system for layered UI components

10 roles
✍️

Text Hierarchy

Typography colors ensuring readability across all surfaces

4 roles
🔔

Status / Semantic

Feedback colors for success, warning, error, and info states

16 roles

Border / State

Border colors for component boundaries and interactive states

6 roles

Surface Depth Visualization

Layered surface system showing elevation hierarchy from sunken to overlay.

Sunken

Inset areas, inputs

Base

Page background

Raised

Cards, panels

Overlay

Modals, dialogs

Sheet

Bottom sheets

SurfaceSwatchHexOn-ColorContrastUse Case
Sunken
#E5E5E6#00000016.68:1 (AAA)Inset areas, inputs
Base
#FAFAFA#00000020.12:1 (AAA)Page background
Raised
#F5F5F5#00000019.26:1 (AAA)Cards, panels
Overlay
#EDEDED#00000017.94:1 (AAA)Modals, dialogs
Sheet
#F0F0F0#00000018.43:1 (AAA)Bottom sheets

Inverse

Dark/light mode flip

#1B1B1D

Backdrop Light

Light modal scrim

#FFFFFF

Backdrop Dark

Dark modal scrim

#000000

Scrim

Overlay dimming

#000000

Text Hierarchy

Typography color system ensuring readability across all surface levels.

Primary Heading Text

This is primary body text used for the main content. It should have excellent readability with a contrast ratio meeting WCAG AA or AAA standards.

Secondary text is used for supporting information, descriptions, and metadata. It has slightly reduced emphasis while remaining readable.

Disabled text indicates unavailable or inactive content.

Inverse text is used on dark backgrounds or inverse surface layers.

The quick brown fox jumps over the lazy dog

Primary

Headings and body text

AAA
#121212
Contrast: 17.95:1

This text provides additional context and supplementary information.

Secondary

Descriptions and supporting text

AAA
#535356
Contrast: 7.34:1

This action is currently unavailable.

Disabled

Inactive and placeholder text

Fail
#9D9D9F
Contrast: 2.59:1

⚠ Below WCAG AA threshold (4.5:1)

Inverted text for contrast surfaces

Inverse

Text on dark/inverse backgrounds

AAA
#F2F2F2
Contrast: 15.36:1

Interactive Roles

Brand colors for buttons, links, and interactive elements with their container variants.

Primary

Main brand interactive color for primary actions and brand identity

AA

Button Preview

Container Variant

Primary container for subtle emphasis

✓ Use for

  • Primary CTA buttons
  • Active states
  • Brand highlights
  • Key links

✗ Avoid

  • Body text
  • Large backgrounds
  • Decorative elements

Contrast

Primary / OnPrimary: 6.63:1(Pass)

Container / OnContainer: 14.92:1

CSS Tokens

--color-brand-primary: #DA7272;

--color-on-brand-primary: #000000;

--color-brand-primarycontainer: #E5D6D6;

--color-on-brand-primarycontainer: #000000;

Secondary

Supporting brand color for secondary interactive elements

AAA

Button Preview

Container Variant

Secondary container for subtle emphasis

✓ Use for

  • Secondary buttons
  • Supporting actions
  • Alternative CTAs

✗ Avoid

  • Primary actions
  • Critical alerts

Contrast

Secondary / OnSecondary: 7.48:1(Pass)

Container / OnContainer: 15.23:1

CSS Tokens

--color-brand-secondary: #729CDA;

--color-on-brand-secondary: #000000;

--color-brand-secondarycontainer: #D6DCE5;

--color-on-brand-secondarycontainer: #000000;

Accent

Highlight color for emphasis, badges, and special elements

AAA

Button Preview

✓ Use for

  • Badges
  • Tags
  • Notifications
  • Feature highlights

✗ Avoid

  • Large surfaces
  • Body text

Contrast

Accent / OnAccent: 8.07:1(Pass)

CSS Tokens

--color-brand-accent: #30B675;

--color-on-brand-accent: #000000;

Status / Semantic Roles

Feedback colors for alerts, notifications, and status indicators.

SuccessAAA

Indicates successful operations and positive outcomes

Your changes have been saved successfully.

Main

#1DAF1D

Subtle

#E8EEE8

Container

#CBE1CB

On-Color

#141F14

Main / OnColor:7.20:1
WarningAAA

Draws attention to important information requiring review

This action cannot be undone. Please review carefully.

Main

#E59306

Subtle

#EEEBE8

Container

#E2D9CA

On-Color

#1B160E

Main / OnColor:8.51:1
Danger/ErrorAA

Indicates errors, destructive actions, or critical alerts

An error occurred. Please try again.

Main

#D52515

Subtle

#EEE8E8

Container

#E2CCCA

On-Color

#1F1514

Main / OnColor:5.12:1
InfoAA

Provides neutral informational feedback

Your session will expire in 5 minutes.

Main

#1C7FE3

Subtle

#E8EBEE

Container

#CAD6E2

On-Color

#14191F

Main / OnColor:5.19:1

Border & State Roles

Border colors for component boundaries, focus states, and validation indicators.

Default Input

Placeholder text...

Focused State

Active input

Error State

Invalid input

This field is required

Success State

Valid input

✓ Looks good!

Card Border

Card content

With default border

Strong Divider

Item above


Item below

RolePreviewHexContrastUse Case
Default
#9090943.05:1Standard component borders
Strong
#5F5F626.36:1Emphasized dividers and separators
Focus
#DA72726.63:1Keyboard focus indicator
Error
#D525155.12:1Invalid state indicator
Success
#1DAF1D7.20:1Valid state indicator
Inverse
#1B1B1D17.20:1Borders on dark surfaces

Validation Report

12 WCAG-based rules (R01–R12) covering contrast ratios for all semantic roles

Score

100.0%

Excellent

WCAG Level

AAA

Achieved

Total Rules

12

Evaluated

Passed

12

Rules

Rule Reference

R01Primary interactive contrast ≥ 4.5:1
R02Text primary contrast ≥ 7.0:1 (AAA)
R03Text secondary contrast ≥ 4.5:1
R04Success/Warning/Danger contrast
R05Info status contrast ≥ 4.5:1
R06Surface layer distinction
R07Primary/Secondary hue distance
R08Border visibility contrast
R09Focus indicator visibility
R10Disabled state visibility
R11Inverse text on inverse surface
R12Container role contrast

Passed (12)

R01PASS

Brand contrast OK

Measured:6.63
Required:4.5
Role:Brand Primary
R02PASS

Text primary AAA OK

Measured:17.95
Required:7.0
Role:Text Primary
R03PASS

Text secondary AA OK

Measured:7.34
Required:4.5
Role:Text Secondary
R04PASS

Border default OK

Measured:3.05
Required:3.0
Role:Border Default
R05PASS

Border focus OK

Measured:3.03
Required:3.0
Role:Border Focus
R06PASS

Surface elevation order OK

Measured:0.04
Required:0.0
Role:Surface Raised
R07PASS

Semantic hue distance OK

Measured:120.00
Required:30.0
Role:Success
R08PASS

Warning uses dark text OK

Measured:8.51
Required:4.5
Role:Warning
R09PASS

Container saturation OK

Measured:0.22
Required:0.4
Role:Brand Primary Container
R10PASS

Disabled distinction OK

Measured:0.29
Required:0.1
Role:Text Disabled
R11PASS

N/A in light mode

Measured:1.00
Required:0.0
Role:Surface Raised
R12PASS

Primary/surface distinction OK

Measured:0.33
Required:0.1
Role:Brand Primary

Compliance Statement

This color system has been validated against WCAG 2.1 Level AAA guidelines. All primary contrast requirements have been met or exceeded.

Design Token Export

Ready-to-use tokens in multiple formats for developers and design tools

CSS Variables

Standard CSS custom properties. Works in any modern browser. Import directly into your stylesheet.

Tailwind Config

Ready-to-use Tailwind CSS configuration. Extend your existing config with semantic color tokens.

W3C DTCG JSON

Design Token Community Group format. Compatible with Style Dictionary, Figma Tokens, and token pipelines.

Developer Reference

Semantic role to component mapping for consistent implementation

Button Primary

Main call-to-action button

.button-primary {
background:var(--color-brand-primary);/* #DA7272 */
color:var(--color-on-brand-primary);/* #000000 */
border-focus:var(--color-border-focus);/* #DA7272 */
}
background
color
border-focus

Button Secondary

Secondary action button

.button-secondary {
background:var(--color-brand-secondary);/* #729CDA */
color:var(--color-on-brand-secondary);/* #000000 */
}
background
color

Card

Content container with elevation

.card {
background:var(--color-surface-raised);/* #F5F5F5 */
border:var(--color-border-default);/* #909094 */
}
background
border

Modal / Dialog

Overlay dialog window

.modal-/-dialog {
background:var(--color-surface-overlay);/* #EDEDED */
scrim:var(--color-scrim);/* #000000 */
border:var(--color-border-strong);/* #5F5F62 */
}
background
scrim
border

Alert Success

Success feedback message

.alert-success {
background:var(--color-success-container);/* #CBE1CB */
color:var(--color-on-success);/* #141F14 */
border:var(--color-border-success);/* #1DAF1D */
}
background
color
border

Alert Error

Error feedback message

.alert-error {
background:var(--color-danger-container);/* #E2CCCA */
color:var(--color-on-danger);/* #1F1514 */
border:var(--color-border-error);/* #D52515 */
}
background
color
border

Input Field

Text input form field

.input-field {
background:var(--color-surface-sunken);/* #E5E5E6 */
border:var(--color-border-default);/* #909094 */
border-focus:var(--color-border-focus);/* #DA7272 */
color:var(--color-text-primary);/* #121212 */
placeholder:var(--color-text-disabled);/* #9D9D9F */
}
background
border
border-focus
color

Badge / Tag

Label or status indicator

.badge-/-tag {
background:var(--color-brand-accent);/* #30B675 */
color:var(--color-on-brand-accent);/* #000000 */
}
background
color

Usage Guidelines

Do:

  • ✓ Use semantic tokens instead of hex values
  • ✓ Pair interactive colors with their "on" variants
  • ✓ Use container variants for subtle backgrounds
  • ✓ Apply surface tokens for elevation hierarchy

Don't:

  • ✗ Hardcode color values in components
  • ✗ Mix semantic and raw color tokens
  • ✗ Use brand colors for large backgrounds
  • ✗ Ignore contrast requirements for text

Vitaforge Brand System · v2.0.0 · Generated 2026-03-18

Powered by Pixeliro SnapixelAI · WCAG 2.1 Compliant