Design
llms.txt digitalcrew.tech

Foundations

Colour

102 colour tokens, one vocabulary across four themes. Neutral shell, colour with a meaning.

Crew OS is monochrome by design — the whole crew, every colour combined. primary is near-black on light grounds and white on dark ones, so the brand reads as ink, not a tint. Neutrals are achromatic. Colour enters only through the agents, the brand accents and what people choose.

Max has one dominant hue: orange, the default for one agent's product. primary is orange-700 #c2410c in max-light (white text on it at 5.2:1) and orange-400 #fb923c in max-dark (near-black text on it at 8.7:1). Neutrals are Tailwind's warm stone ramp so greys lean toward the accent. People can change Max's accent in Settings (Orange by default; Blue, Violet, Emerald, Rose, Neutral or a custom hex): the picker rewrites only primary, ring, sidebar-primary and sidebar-ring, deriving a deep shade for light mode and a light shade for dark mode so text on it stays at 5:1 or better. Build with the tokens, never with a literal orange, and the picker keeps working.

Surfaces. Pages sit on background; raised panels, dialogs and cards on card (one step lighter than the ground in dark themes, so elevation reads without shadow); menus on popover; the app sidebar on sidebar. Quiet fills use muted (code, skeletons, wells), secondary (quiet buttons, chips) and accent (hover and selected rows).

Text. foreground for body copy on background, card and popover (16.9:1 or better in every theme). muted-foreground for descriptions, help, placeholders and timestamps (5.3:1 or better on muted, background, card and sidebar in every theme). Put text on a fill only with that fill's *-foreground partner.

Lines. border is the hairline for cards, tables, dividers and outline buttons (1.3–1.5:1: decorative). input borders text fields and fills the switch track; the source values sit near 1.5:1 against the page, under the 3:1 guideline for control boundaries — keep a visible Label on every control so the border never has to carry identification alone.

Status. destructive is the only error colour in shared components (button fill, invalid border and ring, error text at 4.5:1 or better). Across Max, state is a tinted pill — an outline Badge with border-{c}-500/30 bg-{c}-500/10 text-{c}-700 dark:text-{c}-300 — with one mapping per domain (tasks, priority, meetings, deals, campaigns, 17 pipeline stage colours); the StatusColors card lists them. Violet means suggested by AI, sky to do or open, amber in progress or needs attention, emerald done or won, red failed or lost, muted cancelled. Amber is also the colour of a fixable problem: a missing merge field, an unsupported filter, out of credits. Max also defines a tinted status scale: ds-blue-100/ds-blue-900 (info), ds-amber-100/ds-amber-900 (warning), ds-red-100/ds-red-900 (error), ds-gray-100/ds-gray-1000 (neutral), each 900-on-100 pair at 4.7:1 or better in both modes. Always pair a status colour with an icon or a word.

Brand accents — dc-magenta, dc-ocean, dc-forest, dc-gold, dc-amber — colour stat cards (magenta: spend, ocean: tasks, forest: active), glows and gradients on Crew OS. Use them as fills, marks and tints (stat cards tint at about 9–13% alpha with a 25–31% border of the same hue), not as text on light grounds: only dc-ocean reaches 4.5:1 there.

Agent colours. Each Digital Worker owns one hue, used for its avatar ring, cards and personal gradient: dc-sophie (sky), dc-claire (violet), dc-max (amber), dc-camille (pink), dc-kate (emerald), dc-andre (indigo), dc-jeanne (orange), dc-boss (red). Never reuse an agent's colour for a status or for another agent. Most agent hues are light; put near-black text on them, not white.

AI and NEW. Inside Max, accent-ai (purple) marks AI-generated or AI-active surfaces — the chat drop zone, "drafted by Max" markers — and accent-new (green) marks new items. Both are identical in light and dark. Use them as dots, tints and borders, with a word beside them.

Charts. Series take chart-1 … chart-5 in order. In Max, chart-1 is the brand orange in both modes; in Crew OS it is slate blue.

Gradients are the exception, not the ground. The signature Digital Crew gradient runs indigo → pink → amber (#6366f1, #ec4899, #f59e0b) and belongs to the Digital Worker onboarding and its report: the animated border of the Digital Worker onboarding card (.dc-gradient-border, 5s loop, still under reduced motion), gradient text on a single word of an onboarding heading ("Let's build your Digital Crew"), and a sober static variant at 10% or less behind report panels (.dc-gradient-sober). Agent cards may carry their agent's own three-stop gradient from the agent palette, and Max's marketing surfaces use a soft orange radial mesh (.gradient-mesh). Don't invent new gradients, and never put body text on one.

Themes#

Four themes share every token name. Switch theme in the header: the swatches below read the live values.

Semantic core#

The shell. Every theme defines these; build surfaces, text and structure from them.

backgroundvar(--background)
foregroundvar(--foreground)
cardvar(--card)
card-foregroundvar(--card-foreground)
popovervar(--popover)
popover-foregroundvar(--popover-foreground)
primaryvar(--primary)
primary-foregroundvar(--primary-foreground)
secondaryvar(--secondary)
secondary-foregroundvar(--secondary-foreground)
mutedvar(--muted)
muted-foregroundvar(--muted-foreground)
accentvar(--accent)
accent-foregroundvar(--accent-foreground)
destructivevar(--destructive)
destructive-foregroundvar(--destructive-foreground)
bordervar(--border)
inputvar(--input)
ringvar(--ring)
Tokencrew-lightcrew-darkmax-lightmax-darkUsage
backgroundoklch(0.985 0 0)oklch(0.13 0 0)oklch(1 0 0)oklch(0.13 0.005 60)Page ground. Crew OS: near-white / near-black achromatic. Max: white / warm near-black.
foregroundoklch(0.16 0 0)oklch(0.97 0 0)oklch(0.147 0.004 49.25)oklch(0.98 0.002 80)Body text and icons on background, card and popover (18:1 or better in every theme).
cardoklch(1 0 0)oklch(0.19 0 0)oklch(1 0 0)oklch(0.19 0.005 60)Raised surface: cards, panels, dialogs. One step above background in dark themes so panels read as elevated.
card-foregroundoklch(0.16 0 0)oklch(0.97 0 0)oklch(0.147 0.004 49.25)oklch(0.98 0.002 80)Text on card (16.9:1 or better in every theme).
popoveroklch(1 0 0)oklch(0.19 0 0)oklch(1 0 0)oklch(0.19 0.005 60)Menus, popovers, select lists, tooltips-on-surface.
popover-foregroundoklch(0.16 0 0)oklch(0.97 0 0)oklch(0.147 0.004 49.25)oklch(0.98 0.002 80)Text on popover.
primaryoklch(0.2 0 0)oklch(1 0 0)#c2410c#fb923cThe brand ink. Crew OS: near-black (light) / white (dark) — the brand reads as ink, not a tint. Max: orange-700 #c2410c (light) / orange-400 #fb923c (dark). Default Button fill, links, active nav.
primary-foregroundoklch(1 0 0)oklch(0 0 0)oklch(1 0 0)oklch(0.147 0.004 49.25)Text and icons on primary. Crew OS 18:1 / 21:1; Max 5.2:1 (white on orange-700) / 8.7:1 (near-black on orange-400).
secondaryoklch(0.93 0 0)oklch(0.26 0 0)oklch(0.97 0.001 106.424)oklch(0.26 0.006 60)Quiet filled controls (secondary Button), chips, hero ground gradient end.
secondary-foregroundoklch(0.2 0 0)oklch(0.97 0 0)oklch(0.268 0.007 34.298)oklch(0.98 0.002 80)Text on secondary (13.9:1 or better).
mutedoklch(0.96 0 0)oklch(0.26 0 0)oklch(0.97 0.001 106.424)oklch(0.26 0.006 60)Subdued fills: code blocks, blockquotes, skeletons, disabled wells.
muted-foregroundoklch(0.5 0 0)oklch(0.72 0 0)oklch(0.444 0.011 73.639)oklch(0.709 0.01 56.259)Secondary text: descriptions, help text, placeholders, timestamps. Reads on muted, background, card and sidebar at 5.3:1 or better in every theme.
accentoklch(0.94 0 0)oklch(0.28 0 0)oklch(0.97 0.001 106.424)oklch(0.26 0.006 60)Hover and selected fills for ghost/outline Buttons, menu items, list rows.
accent-foregroundoklch(0.2 0 0)oklch(0.97 0 0)oklch(0.268 0.007 34.298)oklch(0.98 0.002 80)Text on accent (13.3:1 or better).
destructiveoklch(0.577 0.245 27.325)oklch(0.704 0.191 22.216)oklch(0.577 0.245 27.325)oklch(0.704 0.191 22.216)Errors and irreversible actions: destructive Button fill, invalid-field border and ring, error text on background/card (4.5:1 or better).
destructive-foregroundoklch(1 0 0)oklch(0.12 0 0)oklch(1 0 0)oklch(0.12 0 0)Text on destructive. Defined by Crew OS; Max's destructive Button paints literal white text, which these values match in light themes. The destructive Button in dark themes draws destructive at 60% over the ground with white text (6.6:1).
borderoklch(0.9 0 0)oklch(0.3 0 0)oklch(0.923 0.003 48.717)oklch(1 0 0 / 0.12)Default hairline for cards, dividers, tables and outline Buttons (decorative: 1.3–1.5:1 on background). Max dark uses white at 12%.
inputoklch(0.85 0 0)oklch(0.34 0 0)oklch(0.869 0.005 56.366)oklch(1 0 0 / 0.18)Text field and switch-track border/fill. Source values sit at about 1.5:1 on background in every theme — under the 3:1 non-text floor; kept exact, so pair fields with a visible Label.
ringoklch(0.556 0 0)oklch(0.708 0 0)#c2410c#fb923cFocus ring (3px, drawn at 50% by outline-ring/50 defaults and at full strength by focus-visible:ring-ring). Crew OS neutral grey 4.5:1 / 7.8:1 so it shows beside a black button; Max matches primary.

The app sidebar's own set, so a workspace can tint it separately.

sidebarvar(--sidebar)
sidebar-foregroundvar(--sidebar-foreground)
sidebar-primaryvar(--sidebar-primary)
sidebar-primary-foregroundvar(--sidebar-primary-foreground)
sidebar-accentvar(--sidebar-accent)
sidebar-accent-foregroundvar(--sidebar-accent-foreground)
sidebar-bordervar(--sidebar-border)
sidebar-ringvar(--sidebar-ring)
Tokencrew-lightcrew-darkmax-lightmax-darkUsage
sidebaroklch(0.97 0 0)oklch(0.16 0 0)oklch(0.985 0.001 106.423)oklch(0.16 0.005 60)App sidebar ground, one step off background.
sidebar-foregroundoklch(0.16 0 0)oklch(0.97 0 0)oklch(0.147 0.004 49.25)oklch(0.98 0.002 80)Nav text on sidebar (17.8:1 or better).
sidebar-primaryoklch(0.2 0 0)oklch(1 0 0)#c2410c#fb923cActive nav item fill; tracks primary (Max: re-applied at runtime by the primary-colour picker).
sidebar-primary-foregroundoklch(1 0 0)oklch(0 0 0)oklch(1 0 0)oklch(0.147 0.004 49.25)Text on sidebar-primary.
sidebar-accentoklch(0.93 0 0)oklch(0.26 0 0)oklch(0.97 0.001 106.424)oklch(0.23 0.006 60)Hovered nav item fill.
sidebar-accent-foregroundoklch(0.2 0 0)oklch(0.97 0 0)oklch(0.268 0.007 34.298)oklch(0.98 0.002 80)Text on sidebar-accent.
sidebar-borderoklch(0.9 0 0)oklch(0.3 0 0)oklch(0.923 0.003 48.717)oklch(1 0 0 / 0.1)Sidebar edge and section dividers.
sidebar-ringoklch(0.556 0 0)oklch(0.708 0 0)#c2410c#fb923cFocus ring inside the sidebar; tracks ring.

Charts#

Series colours for charts, in order.

chart-1var(--chart-1)
chart-2var(--chart-2)
chart-3var(--chart-3)
chart-4var(--chart-4)
chart-5var(--chart-5)
Tokencrew-lightcrew-darkmax-lightmax-darkUsage
chart-1oklch(0.48 0.08 235)oklch(0.78 0.08 235)oklch(0.646 0.222 41.116)oklch(0.646 0.222 41.116)First data series. Crew OS: slate blue; Max: brand orange (both themes).
chart-2oklch(0.6 0.118 184.704)oklch(0.696 0.17 162.48)oklch(0.6 0.118 184.704)oklch(0.696 0.17 162.48)Second data series (teal / green).
chart-3oklch(0.646 0.222 41.116)oklch(0.769 0.188 70.08)oklch(0.398 0.07 227.392)oklch(0.769 0.188 70.08)Third data series.
chart-4oklch(0.828 0.189 84.429)oklch(0.627 0.265 303.9)oklch(0.828 0.189 84.429)oklch(0.627 0.265 303.9)Fourth data series.
chart-5oklch(0.769 0.188 70.08)oklch(0.645 0.246 16.439)oklch(0.769 0.188 70.08)oklch(0.645 0.246 16.439)Fifth data series.

Agent palettes#

One colour per agent, five steps each: primary, secondary, accent, glass, glass-2.

Sophie
Claire
Max
Camille
Kate
André
Jeanne
Boss
TokenValueUsage
dc-sophie#0ea5e9Agent colour — Sophie, HR Business Partner (screening, interviews). Her avatar ring, cards and gradient; fills take near-black text (7.6:1). Live at sophie.digitalcrew.tech.
dc-sophie-secondary#38bdf8Second stop of Sophie (HR)'s palette: lighter fills, hover tints, the middle of the agent gradient.
dc-sophie-accent#7dd3fcLightest stop of Sophie (HR)'s palette: soft tints and the end of the agent gradient (135°, primary → secondary → accent).
dc-sophie-glass#0284c7Deep shade of Sophie (HR)'s palette for glass surfaces and marks; 4.1:1 on white (not for text on white).
dc-sophie-glass-2#0369a1Deepest shade of Sophie (HR)'s palette for glass borders and pressed states; 5.9:1 on white (text-safe on white).
dc-claire#8b5cf6Agent colour — Claire, Market Mastermind (market and account research). Marks at 4.1:1 on light and 4.8:1 on dark grounds.
dc-claire-secondary#a78bfaSecond stop of Claire (market research)'s palette: lighter fills, hover tints, the middle of the agent gradient.
dc-claire-accent#c4b5fdLightest stop of Claire (market research)'s palette: soft tints and the end of the agent gradient (135°, primary → secondary → accent).
dc-claire-glass#7c3aedDeep shade of Claire (market research)'s palette for glass surfaces and marks; 5.7:1 on white (text-safe on white).
dc-claire-glass-2#6d28d9Deepest shade of Claire (market research)'s palette for glass borders and pressed states; 7.1:1 on white (text-safe on white).
dc-max#f59e0bAgent colour — Max, Outbound Sales Force, on Digital Crew surfaces. Inside the Max product the brand accent is primary (orange) and Max Carter's roster accent is violet.
dc-max-secondary#fbbf24Second stop of Max (outbound sales)'s palette: lighter fills, hover tints, the middle of the agent gradient.
dc-max-accent#fcd34dLightest stop of Max (outbound sales)'s palette: soft tints and the end of the agent gradient (135°, primary → secondary → accent).
dc-max-glass#d97706Deep shade of Max (outbound sales)'s palette for glass surfaces and marks; 3.2:1 on white (not for text on white).
dc-max-glass-2#b45309Deepest shade of Max (outbound sales)'s palette for glass borders and pressed states; 5.0:1 on white (text-safe on white).
dc-camille#ec4899Agent colour — Camille, Customer Support Champion (tier-1 support, churn risk; coming soon). Pink stop of the signature gradient.
dc-camille-secondary#f472b6Second stop of Camille (customer support)'s palette: lighter fills, hover tints, the middle of the agent gradient.
dc-camille-accent#f9a8d4Lightest stop of Camille (customer support)'s palette: soft tints and the end of the agent gradient (135°, primary → secondary → accent).
dc-camille-glass#db2777Deep shade of Camille (customer support)'s palette for glass surfaces and marks; 4.6:1 on white (text-safe on white).
dc-camille-glass-2#be185dDeepest shade of Camille (customer support)'s palette for glass borders and pressed states; 6.0:1 on white (text-safe on white).
dc-kate#10b981Agent colour — Kate, Marketing Maestro (campaigns, copy, content). Fills take near-black text (8.3:1).
dc-kate-secondary#34d399Second stop of Kate (marketing)'s palette: lighter fills, hover tints, the middle of the agent gradient.
dc-kate-accent#6ee7b7Lightest stop of Kate (marketing)'s palette: soft tints and the end of the agent gradient (135°, primary → secondary → accent).
dc-kate-glass#14b8a6Deep shade of Kate (marketing)'s palette for glass surfaces and marks; 2.5:1 on white (not for text on white).
dc-kate-glass-2#0d9488Deepest shade of Kate (marketing)'s palette for glass borders and pressed states; 3.7:1 on white (not for text on white).
dc-andre#6366f1Agent colour — André, Finance & Admin (invoicing, reporting; coming soon). Indigo stop of the signature gradient.
dc-andre-secondary#818cf8Second stop of André (finance & admin)'s palette: lighter fills, hover tints, the middle of the agent gradient.
dc-andre-accent#a5b4fcLightest stop of André (finance & admin)'s palette: soft tints and the end of the agent gradient (135°, primary → secondary → accent).
dc-andre-glass#4f46e5Deep shade of André (finance & admin)'s palette for glass surfaces and marks; 6.3:1 on white (text-safe on white).
dc-andre-glass-2#4338caDeepest shade of André (finance & admin)'s palette for glass borders and pressed states; 7.9:1 on white (text-safe on white).
dc-jeanne#f97316Agent colour — Jeanne, Project Manager. From lib/brand.ts (no CSS variable in the source; not on the public site).
dc-jeanne-secondary#fb923cSecond stop of Jeanne (project delivery)'s palette: lighter fills, hover tints, the middle of the agent gradient.
dc-jeanne-accent#fdba74Lightest stop of Jeanne (project delivery)'s palette: soft tints and the end of the agent gradient (135°, primary → secondary → accent).
dc-jeanne-glass#ea580cDeep shade of Jeanne (project delivery)'s palette for glass surfaces and marks; 3.6:1 on white (not for text on white).
dc-jeanne-glass-2#c2410cDeepest shade of Jeanne (project delivery)'s palette for glass borders and pressed states; 5.2:1 on white (text-safe on white).
dc-boss#dc2626Agent colour — the Boss, Chief Executive Officer of the crew. From lib/brand.ts (no CSS variable; not on the public site). Never used as an error colour.
dc-boss-secondary#ef4444Second stop of the Boss (operations lead)'s palette: lighter fills, hover tints, the middle of the agent gradient.
dc-boss-accent#fca5a5Lightest stop of the Boss (operations lead)'s palette: soft tints and the end of the agent gradient (135°, primary → secondary → accent).
dc-boss-glass#b91c1cDeep shade of the Boss (operations lead)'s palette for glass surfaces and marks; 6.5:1 on white (text-safe on white).
dc-boss-glass-2#991b1bDeepest shade of the Boss (operations lead)'s palette for glass borders and pressed states; 8.3:1 on white (text-safe on white).

Brand accents#

Marketing accents and the AI / new markers.

bento-accentvar(--bento-accent)
dc-magentavar(--dc-magenta)
dc-oceanvar(--dc-ocean)
dc-forestvar(--dc-forest)
dc-goldvar(--dc-gold)
dc-ambervar(--dc-amber)
accent-aivar(--accent-ai)
accent-ai-2var(--accent-ai-2)
accent-newvar(--accent-new)
accent-new-2var(--accent-new-2)
Tokencrew-lightcrew-darkmax-lightmax-darkUsage
bento-accentoklch(0.85 0 0)oklch(0.4 0 0)oklch(0.85 0 0)oklch(0.4 0 0)Crew OS marketing only: the shield and chart strokes in the Bento visuals, calibrated to stay visible without competing. Max columns repeat Crew OS values.
dc-magenta#dd7bbb#dd7bbb#dd7bbb#dd7bbbBrand accent. Default glow for .glass-glow; Spend stat cards. Fill or mark only: 2.6:1 on light grounds, 7.3:1 on dark.
dc-ocean#4c7894#4c7894#4c7894#4c7894Brand accent. Tasks stat cards; the ocean gradient. 4.6:1 on light and 4.2:1 on dark grounds — usable as a mark in both.
dc-forest#5a922c#5a922c#5a922c#5a922cBrand accent. Active stat cards; the forest gradient. Mark only on light grounds (3.6:1).
dc-gold#d79f1e#d79f1e#d79f1e#d79f1eBrand accent. Premium and ember gradients. Fill or mark on dark grounds only (2.3:1 on light).
dc-amber#f59e0b#f59e0b#f59e0b#f59e0bBrand accent; same value as dc-max. Fill with near-black text (9.8:1), never white text (2.2:1).
accent-aioklch(68% 0.20 295)oklch(68% 0.20 295)oklch(68% 0.20 295)oklch(68% 0.20 295)Max's AI accent (purple), identical in both themes: Max chat file-drop zone, AI-generated markers in the onboarding packet. Mark or tint only on light grounds (3.0:1).
accent-ai-2oklch(60% 0.22 295)oklch(60% 0.22 295)oklch(60% 0.22 295)oklch(60% 0.22 295)Deeper AI purple for pressed/hover states of accent-ai fills.
accent-newoklch(74% 0.18 148)oklch(74% 0.18 148)oklch(74% 0.18 148)oklch(74% 0.18 148)Max's NEW accent (green), identical in both themes: new-item dots and badges in the onboarding packet and chat. Fill with near-black text (9.8:1).
accent-new-2oklch(68% 0.18 148)oklch(68% 0.18 148)oklch(68% 0.18 148)oklch(68% 0.18 148)Deeper NEW green for hover/pressed states of accent-new fills.

Max agent surfaces#

The .maxchat surface scale (Max's agent chat and Ask Max).

mx-bgvar(--mx-bg)
mx-surfacevar(--mx-surface)
mx-surface-2var(--mx-surface-2)
mx-surface-hivar(--mx-surface-hi)
mx-inkvar(--mx-ink)
mx-ink-2var(--mx-ink-2)
mx-ink-3var(--mx-ink-3)
mx-ink-4var(--mx-ink-4)
mx-linevar(--mx-line)
mx-line-strongvar(--mx-line-strong)
Tokencrew-lightcrew-darkmax-lightmax-darkUsage
mx-bgoklch(98% 0.002 260)oklch(13% 0.003 260)oklch(98% 0.002 260)oklch(13% 0.003 260)Ground of Max's agent surfaces (chat, Ask Max panel, meetings assistant, onboarding): a cool 260° neutral, deliberately apart from the warm app background. Only inside .maxchat; Crew OS columns repeat Max's values.
mx-surfaceoklch(100% 0 0)oklch(15% 0.003 260)oklch(100% 0 0)oklch(15% 0.003 260)Raised cards on mx-bg: confirm cards, the composer.
mx-surface-2oklch(97% 0.002 260)oklch(18% 0.004 260)oklch(97% 0.002 260)oklch(18% 0.004 260)Quiet fills on agent surfaces: history rows, chips at rest.
mx-surface-hioklch(94% 0.003 260)oklch(22% 0.004 260)oklch(94% 0.003 260)oklch(22% 0.004 260)Hover and pressed fills on agent surfaces; the active header icon.
mx-inkoklch(18% 0.006 260)oklch(98% 0 0)oklch(18% 0.006 260)oklch(98% 0 0)Text on agent surfaces (17.8:1 / 19:1 on mx-bg) and the fill of their primary buttons — send, confirm — which are ink, not orange.
mx-ink-2oklch(32% 0.006 260)oklch(82% 0.003 260)oklch(32% 0.006 260)oklch(82% 0.003 260)Secondary text on agent surfaces; the user's own messages (italic).
mx-ink-3oklch(48% 0.006 260)oklch(62% 0.004 260)oklch(48% 0.006 260)oklch(62% 0.004 260)Meta and help text on agent surfaces (6.2:1 light, 5.5:1 dark on mx-bg).
mx-ink-4oklch(62% 0.005 260)oklch(44% 0.005 260)oklch(62% 0.005 260)oklch(44% 0.005 260)Placeholders, disabled glyphs and decorative marks only: 3.4:1 light and 2.6:1 dark on mx-bg, below the text floor (source values, kept).
mx-lineoklch(18% 0.006 260 / 0.08)oklch(100% 0 0 / 0.08)oklch(18% 0.006 260 / 0.08)oklch(100% 0 0 / 0.08)Hairlines on agent surfaces: ink or white at 8%.
mx-line-strongoklch(18% 0.006 260 / 0.18)oklch(100% 0 0 / 0.16)oklch(18% 0.006 260 / 0.18)oklch(100% 0 0 / 0.16)Composer and card borders on agent surfaces (decorative, about 1.5:1).

Status shades#

Max's status pills and Snippet tones.

ds-blue-100var(--ds-blue-100)
ds-blue-900var(--ds-blue-900)
ds-red-100var(--ds-red-100)
ds-red-900var(--ds-red-900)
ds-amber-100var(--ds-amber-100)
ds-amber-900var(--ds-amber-900)
ds-gray-100var(--ds-gray-100)
ds-gray-1000var(--ds-gray-1000)
ds-gray-alpha-400var(--ds-gray-alpha-400)
ds-background-100var(--ds-background-100)
Tokencrew-lightcrew-darkmax-lightmax-darkUsage
ds-blue-100oklch(97.32% 0.0141 251.56)oklch(22.17% 0.069 259.89)oklch(97.32% 0.0141 251.56)oklch(22.17% 0.069 259.89)Max status scale — info tint ground (callouts, info badges). Crew OS columns repeat Max's values.
ds-blue-900oklch(53.18% 0.2399 256.99)oklch(71.7% 0.1648 250.79)oklch(53.18% 0.2399 256.99)oklch(71.7% 0.1648 250.79)Info text and icons on ds-blue-100 (4.9:1 / 6.8:1) or on background.
ds-red-100oklch(96.5% 0.0223 13.09)oklch(22.1% 0.0657 15.11)oklch(96.5% 0.0223 13.09)oklch(22.1% 0.0657 15.11)Max status scale — error tint ground.
ds-red-900oklch(54.99% 0.232 25.29)oklch(69.96% 0.2136 22.03)oklch(54.99% 0.232 25.29)oklch(69.96% 0.2136 22.03)Error text on ds-red-100 (4.7:1 / 5.7:1). Always pair with an icon or word: red and green are never told apart by hue alone.
ds-amber-100oklch(97.48% 0.0331 85.79)oklch(22.46% 0.0538 76.04)oklch(97.48% 0.0331 85.79)oklch(22.46% 0.0538 76.04)Max status scale — warning tint ground.
ds-amber-900oklch(52.79% 0.1496 54.65)oklch(77.21% 0.1991 64.28)oklch(52.79% 0.1496 54.65)oklch(77.21% 0.1991 64.28)Warning text on ds-amber-100 (5.2:1 / 7.7:1).
ds-gray-100hsla(0, 0%, 95%, 1)hsla(0, 0%, 10%, 1)hsla(0, 0%, 95%, 1)hsla(0, 0%, 10%, 1)Max neutral scale — quiet tint ground (code snippets, keycaps).
ds-gray-1000hsla(0, 0%, 9%, 1)hsla(0, 0%, 93%, 1)hsla(0, 0%, 9%, 1)hsla(0, 0%, 93%, 1)Strongest neutral text on ds-gray-100 (16:1 / 15:1).
ds-gray-alpha-400hsla(0, 0%, 0%, 0.08)hsla(0, 0%, 100%, 0.14)hsla(0, 0%, 0%, 0.08)hsla(0, 0%, 100%, 0.14)Translucent neutral wash and hairlines over any ground.
ds-background-100hsla(0, 0%, 100%, 1)hsla(0, 0%, 4%, 1)hsla(0, 0%, 100%, 1)hsla(0, 0%, 4%, 1)Snippet and panel ground in the Max ds-* scale.