One light theme: the shadcn globals.css mapping. Generated from phase-2/kit/tokens.css (kit v3); the full page is docs › Foundations.
The globals.css block, generated from tokens.css, and the Tailwind 3.4 colour key for every role.
:root {
--background: 0 0% 100%;
--foreground: 222 43% 10%;
--card: 0 0% 100%;
--card-foreground: 222 43% 10%;
--popover: 0 0% 100%;
--popover-foreground: 222 43% 10%;
--primary: 220 49% 11%;
--primary-foreground: 60 17% 98%;
--primary-hover: 223 42% 18%;
--secondary: 0 0% 100%;
--secondary-foreground: 220 49% 11%;
--muted: 225 22% 96%;
--muted-foreground: 221 17% 38%;
--accent: 224 38% 94%;
--accent-foreground: 220 49% 11%;
--destructive: 353 53% 42%;
--destructive-foreground: 0 0% 100%;
--border: 220 20% 91%;
--input: 219 14% 59%;
--input-hover: 223 17% 45%;
--secondary-border: 219 14% 79%;
--secondary-border-hover: 220 10% 70%;
--ring: 221 45% 45%;
--radius: 0.375rem;
--success: 158 51% 26%;
--success-foreground: 0 0% 100%;
--warning: 36 79% 29%;
--warning-foreground: 0 0% 100%;
--info: 218 49% 39%;
--info-foreground: 0 0% 100%;
--neutral: 222 13% 39%;
--neutral-foreground: 0 0% 100%;
--draft: var(--info);
--available: var(--success);
--retired: var(--neutral);
--locked: var(--neutral);
--not-wired: var(--warning);
--sidebar: 220 49% 11%;
--sidebar-background: var(--sidebar);
--sidebar-foreground: 222 19% 82%;
--sidebar-primary: 221 54% 75%;
--sidebar-primary-foreground: 220 49% 11%;
--sidebar-accent: 222 43% 19%;
--sidebar-accent-foreground: 60 17% 98%;
--sidebar-border: 222 33% 22%;
--sidebar-ring: 221 54% 75%;
--chart-1: 219 61% 47%;
--chart-2: 166 76% 36%;
--chart-3: 20 70% 53%;
--chart-4: 229 62% 68%;
--chart-5: 334 58% 58%;
--chart-muted: 221 25% 58%;
}| Token | Utility | tailwind.config.ts theme.extend.colors | Kind |
|---|---|---|---|
--background | bg-background | 'background': 'hsl(var(--background) / <alpha-value>)', | shadcn standard |
--foreground | text-foreground | 'foreground': 'hsl(var(--foreground) / <alpha-value>)', | shadcn standard |
--card | bg-card | 'card': 'hsl(var(--card) / <alpha-value>)', | shadcn standard |
--card-foreground | text-card-foreground | 'card-foreground': 'hsl(var(--card-foreground) / <alpha-value>)', | shadcn standard |
--popover | bg-popover | 'popover': 'hsl(var(--popover) / <alpha-value>)', | shadcn standard |
--popover-foreground | text-popover-foreground | 'popover-foreground': 'hsl(var(--popover-foreground) / <alpha-value>)', | shadcn standard |
--primary | bg-primary | 'primary': 'hsl(var(--primary) / <alpha-value>)', | shadcn standard |
--primary-foreground | text-primary-foreground | 'primary-foreground': 'hsl(var(--primary-foreground) / <alpha-value>)', | shadcn standard |
--primary-hover | bg-primary-hover | 'primary-hover': 'hsl(var(--primary-hover) / <alpha-value>)', | RJ extension |
--secondary | bg-secondary | 'secondary': 'hsl(var(--secondary) / <alpha-value>)', | shadcn standard |
--secondary-foreground | text-secondary-foreground | 'secondary-foreground': 'hsl(var(--secondary-foreground) / <alpha-value>)', | shadcn standard |
--muted | bg-muted | 'muted': 'hsl(var(--muted) / <alpha-value>)', | shadcn standard |
--muted-foreground | text-muted-foreground | 'muted-foreground': 'hsl(var(--muted-foreground) / <alpha-value>)', | shadcn standard |
--accent | bg-accent | 'accent': 'hsl(var(--accent) / <alpha-value>)', | shadcn standard |
--accent-foreground | text-accent-foreground | 'accent-foreground': 'hsl(var(--accent-foreground) / <alpha-value>)', | shadcn standard |
--destructive | bg-destructive | 'destructive': 'hsl(var(--destructive) / <alpha-value>)', | shadcn standard |
--destructive-foreground | text-destructive-foreground | 'destructive-foreground': 'hsl(var(--destructive-foreground) / <alpha-value>)', | shadcn standard |
--border | border-border | 'border': 'hsl(var(--border) / <alpha-value>)', | shadcn standard |
--input | border-input | 'input': 'hsl(var(--input) / <alpha-value>)', | shadcn standard |
--input-hover | border-input-hover | 'input-hover': 'hsl(var(--input-hover) / <alpha-value>)', | RJ extension |
--secondary-border | border-secondary-border | 'secondary-border': 'hsl(var(--secondary-border) / <alpha-value>)', | RJ extension |
--secondary-border-hover | border-secondary-border-hover | 'secondary-border-hover': 'hsl(var(--secondary-border-hover) / <alpha-value>)', | RJ extension |
--ring | ring-ring | 'ring': 'hsl(var(--ring) / <alpha-value>)', | shadcn standard |
--success | bg-success | 'success': 'hsl(var(--success) / <alpha-value>)', | RJ extension |
--success-foreground | text-success-foreground | 'success-foreground': 'hsl(var(--success-foreground) / <alpha-value>)', | RJ extension |
--warning | bg-warning | 'warning': 'hsl(var(--warning) / <alpha-value>)', | RJ extension |
--warning-foreground | text-warning-foreground | 'warning-foreground': 'hsl(var(--warning-foreground) / <alpha-value>)', | RJ extension |
--info | bg-info | 'info': 'hsl(var(--info) / <alpha-value>)', | RJ extension |
--info-foreground | text-info-foreground | 'info-foreground': 'hsl(var(--info-foreground) / <alpha-value>)', | RJ extension |
--neutral | bg-neutral | 'neutral': 'hsl(var(--neutral) / <alpha-value>)', | RJ extension |
--neutral-foreground | text-neutral-foreground | 'neutral-foreground': 'hsl(var(--neutral-foreground) / <alpha-value>)', | RJ extension |
--draft | bg-draft | 'draft': 'hsl(var(--draft) / <alpha-value>)', | RJ extension |
--available | bg-available | 'available': 'hsl(var(--available) / <alpha-value>)', | RJ extension |
--retired | bg-retired | 'retired': 'hsl(var(--retired) / <alpha-value>)', | RJ extension |
--locked | bg-locked | 'locked': 'hsl(var(--locked) / <alpha-value>)', | RJ extension |
--not-wired | bg-not-wired | 'not-wired': 'hsl(var(--not-wired) / <alpha-value>)', | RJ extension |
--sidebar | bg-sidebar | 'sidebar': 'hsl(var(--sidebar) / <alpha-value>)', | shadcn standard |
--sidebar-background | bg-sidebar-background | 'sidebar-background': 'hsl(var(--sidebar-background) / <alpha-value>)', | shadcn standard |
--sidebar-foreground | text-sidebar-foreground | 'sidebar-foreground': 'hsl(var(--sidebar-foreground) / <alpha-value>)', | shadcn standard |
--sidebar-primary | bg-sidebar-primary | 'sidebar-primary': 'hsl(var(--sidebar-primary) / <alpha-value>)', | shadcn standard |
--sidebar-primary-foreground | text-sidebar-primary-foreground | 'sidebar-primary-foreground': 'hsl(var(--sidebar-primary-foreground) / <alpha-value>)', | shadcn standard |
--sidebar-accent | bg-sidebar-accent | 'sidebar-accent': 'hsl(var(--sidebar-accent) / <alpha-value>)', | shadcn standard |
--sidebar-accent-foreground | text-sidebar-accent-foreground | 'sidebar-accent-foreground': 'hsl(var(--sidebar-accent-foreground) / <alpha-value>)', | shadcn standard |
--sidebar-border | border-sidebar-border | 'sidebar-border': 'hsl(var(--sidebar-border) / <alpha-value>)', | shadcn standard |
--sidebar-ring | ring-sidebar-ring | 'sidebar-ring': 'hsl(var(--sidebar-ring) / <alpha-value>)', | shadcn standard |
--chart-1 | bg-chart-1 | 'chart-1': 'hsl(var(--chart-1) / <alpha-value>)', | shadcn standard |
--chart-2 | bg-chart-2 | 'chart-2': 'hsl(var(--chart-2) / <alpha-value>)', | shadcn standard |
--chart-3 | bg-chart-3 | 'chart-3': 'hsl(var(--chart-3) / <alpha-value>)', | shadcn standard |
--chart-4 | bg-chart-4 | 'chart-4': 'hsl(var(--chart-4) / <alpha-value>)', | shadcn standard |
--chart-5 | bg-chart-5 | 'chart-5': 'hsl(var(--chart-5) / <alpha-value>)', | shadcn standard |
--chart-muted | bg-chart-muted | 'chart-muted': 'hsl(var(--chart-muted) / <alpha-value>)', | RJ extension |
Kit and docs pages only. Never in product UI.
| Token | Value (HSL triple) | Renders as | Authored hex | Role | Direct refs | |
|---|---|---|---|---|---|---|
--canvas | 214 24% 94% | #ECEFF3 | #EDF0F4 | page behind specimen cards | 1 | |
--studio | radial-gradient(120% 90% at 50% 18%, #f7f8fa 0%, #e3e7ee 80%) | — | — | garment photo ground | 15 |