Colors
Simplified color system using CSS variables for theming. All colors adapt between light and dark modes and use the production blue accent scale.
Accent
Primary accent family — 6 tokens cover everything from primary buttons to subtle background tints and strong glows.
--accentPrimary accent color
--accent-hoverLighter on hover
--accent-deepDeeper decorative tone for gradients
--accent-subtleSoft background tint (~10%)
--accent-softMid borders, hover wash (~20%)
--accent-strongStrong borders, glows, shadows (~40%)
Backgrounds
Page background plus the SectionFrame blend color.
--backgroundPage background
--section-surfaceSectionFrame blend (carousel fades, filter fades)
Surfaces
Elevated surfaces for cards, inputs, popovers, and the always-dark ink surface used by the CTA button.
--surfaceCards, inputs, placeholders
--surface-elevatedElevated cards, buttons, popovers
--surface-hoverHover states
--surface-inkDark CTA background (stays dark in both themes)
--surface-ink-hoverCTA hover state
Text
Text hierarchy from primary to muted.
--foregroundPrimary text
--foreground-secondarySecondary text (50%)
--text-tertiaryTertiary text (40%)
--text-mutedMuted/placeholder text (30%)
Borders
Border colors for dividers and container outlines.
--borderDefault borders
--border-subtleSubtle borders
Decorative
Status colors for success (green), errors (red), and ratings (gold).
--greenSuccess/available
--goldStars/ratings
--redErrors/danger
--orangeAttention/availability
Foreground opacity
Theme-adaptive foreground overlays (white in dark mode, black in light mode) for faint tints, section-frame lines, and hover highlights.
--foreground-subtleFaint overlays, section-frame lines (~5%)
--foreground-overlayHover highlights, carousel arrows (~10%)
Usage
Tailwind Classes
bg-surface, bg-surface-elevated, bg-accent, bg-accent-hovertext-foreground, text-text-tertiary, text-accentborder-border, border-border-subtle, border-accentCSS Variables
color: var(--foreground);background: var(--accent-subtle);box-shadow: 0 0 30px var(--accent-strong);