Colors
Brand ramp, surface palette, status tones, and how to use each. All colors are CSS custom properties mapped to Tailwind utilities via tokens.css.
Brand Ramp
Amber is the sole primary brand color. The ramp covers stops 50–900.
amber-50
#fffbeb
amber-100
#fef3c7
amber-200
#fde68a
amber-300
#fcd34d
amber-400
#fbbf24
amber-500
#f59e0b
--primaryamber-600
#d97706
amber-700
#b45309
amber-800
#92400e
amber-900
#78350f
Semantic Tokens
Use semantic tokens in all component code — never raw hex or amber stop utilities.
Surface
Background
--backgroundBase page canvas
Card
--cardCard surfaces
Muted
--mutedSubdued backgrounds, secondary areas
Secondary
--secondarySecondary action surfaces
Popover
--popoverFloating surfaces (tooltips, dropdowns)
Brand
Primary
--primaryBrand CTA, active states, highlights
Primary Foreground
--primary-foregroundText on primary background
Accent
--accentAccent tints (same as primary)
Text
Foreground
--foregroundPrimary body text
Muted Foreground
--muted-foregroundSupporting / secondary copy
Card Foreground
--card-foregroundText on card surfaces
Border & Control
Border
--borderAll dividers and control outlines
Input
--inputForm field borders
Ring
--ringFocus rings (amber-500)
Status
Destructive
--destructiveDanger / error states
Info Light
--state-information-lightInformational (blue)
Warning
--state-warning-lightCautionary (amber variant)
Dark Mode Model
Charply does not use Tailwind's dark: prefix. A parent class switches the theme:
<html class="charply-theme-dark">
<!-- all children inherit dark tokens automatically -->
</html>
/* Extension content scripts */
<div class="webreply-theme-dark">
<!-- scoped, never bleeds into host page -->
</div>Toggle the theme using the button in the header to preview this page in dark mode.
Usage Rules
Do
- ✓Use semantic tokens:
bg-primary,text-muted-foreground - ✓Reference
--charply-*hex tokens in extension CSS - ✓Keep amber as the single primary brand color
Don't
- ✗Hardcode
#f59e0b— usebg-primary - ✗Use
bg-amber-500in component code - ✗Define
:rootvars in content scripts