Color Theming
All colors are defined as OKLCH custom properties in globals.css and mapped to Tailwind utilities via @theme inline. Toggle dark mode to see both palettes live.
Color Tokens
Semantic tokens that flow through every component. HEX and RGB values below are live, they reflect whichever theme is currently active.
OKLCH values shown are the light mode source. Click any value to copy it.
bg-backgroundPage / app background
--background#F8F7F4, text-foregroundDefault body text
--foreground#0C0A09, bg-brandtext-brandborder-brandSapphire accent, active states, highlights, focus rings, decorative emphasis
--brand#72B0AB, bg-primarytext-primaryborder-primaryPrimary CTA button surface
--primary#1D1816, text-primary-foregroundText rendered on top of primary backgrounds
--primary-foreground#FBFAF9, bg-secondarytext-secondarySecondary surfaces and buttons
--secondary#F4F2EF, text-secondary-foregroundText on secondary backgrounds
--secondary-foreground#1D1816, bg-mutedSubdued backgrounds, code blocks, tags, skeletons
--muted#F4F2EF, text-muted-foregroundSubdued text, captions, placeholders
--muted-foreground#544F4D, bg-accenttext-accentHover and interactive highlight backgrounds
--accent#F4F2EF, text-accent-foregroundText on accent backgrounds
--accent-foreground#1D1816, bg-destructivetext-destructiveborder-destructiveError states, delete / irreversible actions
--destructive#DC2626, bg-cardCard and panel surface
--card#FFFEFD, text-card-foregroundText inside card surfaces
--card-foreground#0C0A09, bg-popoverDropdown, tooltip, and popover surface
--popover#FFFEFD, text-popover-foregroundText inside popovers and dropdowns
--popover-foreground#0C0A09, border-borderdivide-borderComponent borders and dividers
--border#E5E3DF, border-inputInput field border color
--input#E5E3DF, ring-ringoutline-ringKeyboard focus ring, matches Sapphire brand, rendered at 50% opacity via outline-ring/50
--ring#72B0AB, Chart Palette
Five tokens scaled across the active theme's palette. Reference them as var(--chart-1) … var(--chart-5) inside a ChartContainer. Swatches below reflect the currently active theme.
Darkest
--chart-1#544F4D, Step 2
--chart-2#676361, Step 3
--chart-3#7B7776, Step 4
--chart-4#938F8D, Lightest
--chart-5#ABA7A6,