Skip to content

Colors

All color tokens are defined in packages/config-tailwind/theme.css as Tailwind v4 @theme variables. They are available as both Tailwind utilities and CSS custom properties.

Brand Palette

TokenCSS VariableHexTailwind Class
Primary Red--color-brand-red#C0392Bbg-brand-red / text-brand-red
Dark Background--color-brand-dark#0A0A0Abg-brand-dark
Charcoal Surface--color-brand-charcoal#1A1A1Abg-brand-charcoal
Gray Border--color-brand-gray#2D2D2Dborder-brand-gray

Semantic Usage

Primary Red — #C0392B

The signature red is used for:

  • Primary CTA buttons (bg-brand-red)
  • Active link states and hover accents
  • Section dividers and decorative bracket motifs [ ]
  • Badge and tag backgrounds

Never use primary red for body copy or large text blocks. It is an accent color, not a base.

Dark Background — #0A0A0A

The near-black page background. Applied to:

  • <html> / <body> background
  • Full-bleed hero sections
  • Dark card surfaces when layered on charcoal

Charcoal Surface — #1A1A1A

A slightly lighter surface for layering depth:

  • Navigation bar
  • Cards and panels
  • Code block backgrounds
  • Modal overlays

Gray Border — #2D2D2D

The default border and divider color:

  • <hr> dividers
  • Card borders
  • Input field outlines
  • Table row separators

Extended Palette (Derived)

These are not Tailwind tokens but are used in component-level CSS as needed:

NameHexUsage
Red Dim#990000Badge backgrounds, hover state on red buttons
Red High#FF3333Focus ring on dark backgrounds
Muted#4A4A4ASecondary text, meta labels
Cream#E8E0D0Rare warm accent on print/PDF exports

Accessibility

All text-on-background combinations used in the UI meet WCAG 2.1 AA contrast requirements:

ForegroundBackgroundRatioPass
#F5F5F5#0A0A0A18.5:1AA + AAA
#F5F5F5#1A1A1A15.0:1AA + AAA
#CC0000#0A0A0A5.2:1AA
#FF3333#0A0A0A7.4:1AA + AAA

Token Source

packages/config-tailwind/theme.css
@theme {
--color-brand-red: #C0392B;
--color-brand-dark: #0A0A0A;
--color-brand-charcoal: #1A1A1A;
--color-brand-gray: #2D2D2D;
}