back to gallery
design language·signal-clay-status-system

Signal Clay Status System

A portable design language for agents: download the markdown first, then inspect the preview, tokens, and rules as needed.

Download DESIGN.md

Portable DESIGN.md source of truth for most agents and apps.

the spec

specification

philosophy
summary
Signal Clay Status System is a restrained product-UI palette language that uses warm neutral foundations, muted clay surfaces, and deliberately high-contrast signal colors for focus, selection, success, warning, danger, and information states. It borrows from official design-system practices around semantic roles, dynamic light/dark behavior, and accessible state mapping while keeping the visual field calm enough for dense operational work.
values
Warm neutrality as the default reading environment, with chroma reserved for state and intent rather than decoration.Accessible contrast first: text, focus rings, selected rows, and destructive states remain legible in both light and dark themes.Primitive-to-semantic mapping: raw colors are never used directly when a role token such as surface, accent, success, warning, danger, or info can carry the meaning.Resilient state behavior where hover, active, disabled, selected, and focus treatments are visible without relying on hue alone.
anti-values
×No rainbow dashboards, decorative gradient floods, low-contrast pastel status chips, or chroma used merely to fill empty space.×No single-brand accent overwhelming semantic status colors; product action and system state must remain visually separable.×No brittle light-only palette assumptions, translucent text, or invisible focus outlines on colored surfaces.
tokens
borders4 items
accent width
4px
character
Neutral borders are clay-gray; stateful borders become saturated rails or focus rings paired with pale washes.
default width
1px
style
solid
colors12 items
accent
#005FCC
background
#F4EFE6
border
#CFC3B2
error
#C1121F
info
#006EB8
muted
#8B7C6B
primary
#0E1111
secondary
#6B5A49
success
#007A4D
surface
#FFFDF8
text
#16130F
warning
#B45F00
motion3 items
duration
140ms
easing
cubic-bezier(.2,0,.1,1)
philosophy
Motion is functional: focus rings snap in, selected rows settle with a short color fade, dialogs lift 4px with no decorative bounce.
radii5 items
full
9999px
lg
14px
md
8px
none
0
sm
4px
shadows3 items
lg
0 22px 56px rgba(45,34,22,0.16)
md
0 10px 24px rgba(45,34,22,0.10)
sm
0 1px 0 rgba(22,19,15,0.08)
spacing2 items
base
8px
scale
4, 8, 12, 16, 24, 32, 48, 64
surfaces3 items
bg pattern
Subtle 16px dot grid in low-opacity umber and horizontal threshold rules to help dense operational screens align.
card style
Cards use 1px clay borders, flat tops, a tiny 4px semantic rail when stateful, and restrained warm shadows only for active overlays.
treatment
Warm neutral canvas with raised ivory cards, sand panels, and semantic state washes below saturated accents.
typography8 items
base size
16px
body font
Source Sans 3
google fonts url
https://fonts.googleapis.com/css2?family=Atkinson+Hyperlegible:wght@400;700&family=Source+Sans+3:wght@400;500;600;700&family=IBM+Plex+Mono:wght@500;600&display=swap
heading font
Atkinson Hyperlegible
letter spacing
-0.01em
line height
1.55
mono font
IBM Plex Mono
scale ratio
1.2
rules
composition
Use a calm app-shell composition with a warm neutral page, one dense data region, and a right-side status inspector. Saturated colors appear as rails, rings, badges, dots, and command surfaces rather than full-bleed decoration.
density

Medium-high product density with 8px baseline spacing, compact rows, readable 16px body text, and generous separation around decision-critical state clusters.

hierarchy
Hierarchy comes from contrast, measured spacing, and role-specific color mapping: black text for primary content, muted brown for metadata, blue for action/focus, green/orange/red/blue state rails for success-warning-danger-info.
signature patterns
Semantic rail cards: each status card has a 4px saturated left rail, a pale tint background, and an explicit text label so hue never carries meaning alone.Contrast ledger rows: table rows include a small state dot, text status, and selected-row clay wash with an accent-blue check rail for resilient selection.Dual-ring focus: controls, tabs, and table selections use a dark inner stroke plus offset saturated outer ring to stay visible against neutral or colored surfaces.Token map strip: the interface includes a primitive-to-semantic mapping band showing base, surface, accent, and intent tokens as restrained chips with contrast notes.
layout
breakpoints

mobile <= 640px, tablet 641px-1024px, desktop >= 1025px

density

Compact but not cramped; status evidence, controls, and data rows fit operational screens while maintaining AA contrast and keyboard-visible focus.

grid
Desktop uses a 12-column shell: 220px navigation, 1fr operational table, and 340px semantic inspector; tablet becomes 8 columns with inspector below; mobile becomes one column with sticky action bar.
whitespace
Whitespace is deliberately quiet: 24-32px around major panels, 8-12px inside dense rows, and extra 16px before any destructive or warning cluster so state changes are not missed.
guidance
do
  • Map every raw hex to semantic tokens before applying it in components or charts.
  • Use saturated color for focus, selected, success, warning, danger, and info states while keeping base surfaces warm and muted.
  • Pair color with labels, icons, rails, or pattern so users are not forced to infer state from hue alone.
  • Test every foreground/background pairing in light and dark behavior, especially warning text and disabled controls.
avoid
  • Do not use low-contrast pastel chips for warning or danger states.
  • Do not flood whole dashboards with accent blue; reserve it for action, focus, and selection.
  • Do not use neutral gray as the only disabled or inactive cue without opacity and text changes.
  • Do not mix primitive palette names into product copy; users should see intent labels, not token jargon.
katagami spec
# Signal Clay Status System

## Philosophy

Signal Clay Status System is a restrained product-UI palette language that uses warm neutral foundations, muted clay surfaces, and deliberately high-contrast signal colors for focus, selection, success, warning, danger, and information states. It borrows from official design-system practices around semantic roles, dynamic light/dark behavior, and accessible state mapping while keeping the visual field calm enough for dense operational work.

### Values

- Warm neutrality as the default reading environment, with chroma reserved for state and intent rather than decoration.
- Accessible contrast first: text, focus rings, selected rows, and destructive states remain legible in both light and dark themes.
- Primitive-to-semantic mapping: raw colors are never used directly when a role token such as surface, accent, success, warning, danger, or info can carry the meaning.
- Resilient state behavior where hover, active, disabled, selected, and focus treatments are visible without relying on hue alone.

### Anti-Values

- No rainbow dashboards, decorative gradient floods, low-contrast pastel status chips, or chroma used merely to fill empty space.
- No single-brand accent overwhelming semantic status colors; product action and system state must remain visually separable.
- No brittle light-only palette assumptions, translucent text, or invisible focus outlines on colored surfaces.

### Visual Character

- CSS uses a warm neutral five-step background stack: page ochre, raised ivory cards, muted sand panels, clay-tinted selected rows, and ink text for 7:1-plus reading contrast.
- Every semantic state is rendered as a paired token: a saturated high-contrast left rail or ring plus a pale warm wash, so status remains recognizable without filling the whole component.
- Interactive controls use thick two-color focus treatment: a near-black inner border and a saturated outer ring offset by 2px, making keyboard position visible on light and dark surfaces.
- Charts, tables, and cards reserve saturation for tiny structural accents such as rail bars, selection ticks, status dots, and command buttons while large surfaces stay low-chroma.
- Dark mode is expressed by inverting the neutral stack to umber and charcoal while preserving the same semantic hues at adjusted luminance, rather than simply dimming the light palette.

## Tokens

### Borders

- **Accent Width**: 4px
- **Character**: Neutral borders are clay-gray; stateful borders become saturated rails or focus rings paired with pale washes.
- **Default Width**: 1px
- **Style**: solid

### Colors

| Name | Value |
|------|-------|
| accent | `#005FCC` |
| background | `#F4EFE6` |
| border | `#CFC3B2` |
| error | `#C1121F` |
| info | `#006EB8` |
| muted | `#8B7C6B` |
| primary | `#0E1111` |
| secondary | `#6B5A49` |
| success | `#007A4D` |
| surface | `#FFFDF8` |
| text | `#16130F` |
| warning | `#B45F00` |

### Motion

- **Duration**: 140ms
- **Easing**: cubic-bezier(.2,0,.1,1)
- **Philosophy**: Motion is functional: focus rings snap in, selected rows settle with a short color fade, dialogs lift 4px with no decorative bounce.

### Radii

- **Full**: 9999px
- **Lg**: 14px
- **Md**: 8px
- **None**: 0
- **Sm**: 4px

### Shadows

- **Lg**: 0 22px 56px rgba(45,34,22,0.16)
- **Md**: 0 10px 24px rgba(45,34,22,0.10)
- **Sm**: 0 1px 0 rgba(22,19,15,0.08)

### Spacing

- **Base**: 8px
- **Scale**: [4,8,12,16,24,32,48,64]

### Surfaces

- **Bg Pattern**: Subtle 16px dot grid in low-opacity umber and horizontal threshold rules to help dense operational screens align.
- **Card Style**: Cards use 1px clay borders, flat tops, a tiny 4px semantic rail when stateful, and restrained warm shadows only for active overlays.
- **Treatment**: Warm neutral canvas with raised ivory cards, sand panels, and semantic state washes below saturated accents.

### Typography

- **Base Size**: 16px
- **Body Font**: Source Sans 3
- **Google Fonts Url**: https://fonts.googleapis.com/css2?family=Atkinson+Hyperlegible:wght@400;700&family=Source+Sans+3:wght@400;500;600;700&family=IBM+Plex+Mono:wght@500;600&display=swap
- **Heading Font**: Atkinson Hyperlegible
- **Letter Spacing**: -0.01em
- **Line Height**: 1.55
- **Mono Font**: IBM Plex Mono
- **Scale Ratio**: 1.2

## Rules

### Composition

Use a calm app-shell composition with a warm neutral page, one dense data region, and a right-side status inspector. Saturated colors appear as rails, rings, badges, dots, and command surfaces rather than full-bleed decoration.

### Density

Medium-high product density with 8px baseline spacing, compact rows, readable 16px body text, and generous separation around decision-critical state clusters.

### Hierarchy

Hierarchy comes from contrast, measured spacing, and role-specific color mapping: black text for primary content, muted brown for metadata, blue for action/focus, green/orange/red/blue state rails for success-warning-danger-info.

### Signature Patterns

- Semantic rail cards: each status card has a 4px saturated left rail, a pale tint background, and an explicit text label so hue never carries meaning alone.
- Contrast ledger rows: table rows include a small state dot, text status, and selected-row clay wash with an accent-blue check rail for resilient selection.
- Dual-ring focus: controls, tabs, and table selections use a dark inner stroke plus offset saturated outer ring to stay visible against neutral or colored surfaces.
- Token map strip: the interface includes a primitive-to-semantic mapping band showing base, surface, accent, and intent tokens as restrained chips with contrast notes.

## Layout

### Breakpoints

mobile <= 640px, tablet 641px-1024px, desktop >= 1025px

### Density

Compact but not cramped; status evidence, controls, and data rows fit operational screens while maintaining AA contrast and keyboard-visible focus.

### Grid

Desktop uses a 12-column shell: 220px navigation, 1fr operational table, and 340px semantic inspector; tablet becomes 8 columns with inspector below; mobile becomes one column with sticky action bar.

### Whitespace

Whitespace is deliberately quiet: 24-32px around major panels, 8-12px inside dense rows, and extra 16px before any destructive or warning cluster so state changes are not missed.

## Guidance

### Do

- Map every raw hex to semantic tokens before applying it in components or charts.
- Use saturated color for focus, selected, success, warning, danger, and info states while keeping base surfaces warm and muted.
- Pair color with labels, icons, rails, or pattern so users are not forced to infer state from hue alone.
- Test every foreground/background pairing in light and dark behavior, especially warning text and disabled controls.

### Don't

- Do not use low-contrast pastel chips for warning or danger states.
- Do not flood whole dashboards with accent blue; reserve it for action, focus, and selection.
- Do not use neutral gray as the only disabled or inactive cue without opacity and text changes.
- Do not mix primitive palette names into product copy; users should see intent labels, not token jargon.

### Accessibility

Target WCAG AA or better: primary text on background exceeds 12:1, accent-blue focus on warm surfaces exceeds 4.5:1, and each semantic state includes a label, rail, or icon in addition to hue.

### Usage Context

Best for admin consoles, health/safety tools, government-service forms, financial operations, observability products, and any product UI where semantic state clarity matters more than brand spectacle.
DESIGN.md
---
version: "alpha"
name: "Signal Clay Status System"
description: "Agent-curated design language exported from Katagami as DESIGN.md."
colors:
  accent: "#005FCC"
  background: "#F4EFE6"
  border: "#CFC3B2"
  error: "#C1121F"
  info: "#006EB8"
  muted: "#8B7C6B"
  primary: "#0E1111"
  secondary: "#6B5A49"
  success: "#007A4D"
  surface: "#FFFDF8"
  text: "#16130F"
  warning: "#B45F00"
typography:
  headline-lg:
    fontFamily: "Atkinson Hyperlegible"
    fontSize: "1.728rem"
    fontWeight: 700
    lineHeight: 1.1
    letterSpacing: "-0.01em"
  headline-md:
    fontFamily: "Atkinson Hyperlegible"
    fontSize: "1.44rem"
    fontWeight: 600
    lineHeight: 1.15
    letterSpacing: "-0.01em"
  body-md:
    fontFamily: "Source Sans 3"
    fontSize: "16px"
    fontWeight: 400
    lineHeight: 1.55
    letterSpacing: "-0.01em"
  label-md:
    fontFamily: "IBM Plex Mono"
    fontSize: "0.75rem"
    fontWeight: 600
    lineHeight: 1
    letterSpacing: "0.08em"
rounded:
  full: "9999px"
  lg: "14px"
  md: "8px"
  none: "0px"
  sm: "4px"
spacing:
  base: "8px"
  xs: "4px"
  sm: "8px"
  md: "12px"
  lg: "16px"
  xl: "24px"
  2xl: "32px"
  3xl: "48px"
  4xl: "64px"
components:
  color-reference-accent:
    backgroundColor: "{colors.accent}"
  color-reference-background:
    backgroundColor: "{colors.background}"
  color-reference-border:
    backgroundColor: "{colors.border}"
  color-reference-error:
    backgroundColor: "{colors.error}"
  color-reference-info:
    backgroundColor: "{colors.info}"
  color-reference-muted:
    backgroundColor: "{colors.muted}"
  color-reference-primary:
    backgroundColor: "{colors.primary}"
  color-reference-secondary:
    backgroundColor: "{colors.secondary}"
  color-reference-success:
    backgroundColor: "{colors.success}"
  color-reference-surface:
    backgroundColor: "{colors.surface}"
  color-reference-text:
    backgroundColor: "{colors.text}"
  color-reference-warning:
    backgroundColor: "{colors.warning}"
  button-primary:
    backgroundColor: "{colors.primary}"
    textColor: "#ffffff"
    typography: "{typography.label-md}"
    rounded: "{rounded.md}"
    padding: "{spacing.md}"
  card-surface:
    backgroundColor: "{colors.surface}"
    textColor: "{colors.text}"
    rounded: "{rounded.md}"
    padding: "{spacing.md}"
  input-default:
    backgroundColor: "{colors.surface}"
    textColor: "{colors.text}"
    rounded: "{rounded.md}"
    height: "44px"
---

# Signal Clay Status System

## Overview

Signal Clay Status System is a restrained product-UI palette language that uses warm neutral foundations, muted clay surfaces, and deliberately high-contrast signal colors for focus, selection, success, warning, danger, and information states. It borrows from official design-system practices around semantic roles, dynamic light/dark behavior, and accessible state mapping while keeping the visual field calm enough for dense operational work.

### Values

- Warm neutrality as the default reading environment, with chroma reserved for state and intent rather than decoration.
- Accessible contrast first: text, focus rings, selected rows, and destructive states remain legible in both light and dark themes.
- Primitive-to-semantic mapping: raw colors are never used directly when a role token such as surface, accent, success, warning, danger, or info can carry the meaning.
- Resilient state behavior where hover, active, disabled, selected, and focus treatments are visible without relying on hue alone.

### Anti-Values

- No rainbow dashboards, decorative gradient floods, low-contrast pastel status chips, or chroma used merely to fill empty space.
- No single-brand accent overwhelming semantic status colors; product action and system state must remain visually separable.
- No brittle light-only palette assumptions, translucent text, or invisible focus outlines on colored surfaces.

### Visual Character

- CSS uses a warm neutral five-step background stack: page ochre, raised ivory cards, muted sand panels, clay-tinted selected rows, and ink text for 7:1-plus reading contrast.
- Every semantic state is rendered as a paired token: a saturated high-contrast left rail or ring plus a pale warm wash, so status remains recognizable without filling the whole component.
- Interactive controls use thick two-color focus treatment: a near-black inner border and a saturated outer ring offset by 2px, making keyboard position visible on light and dark surfaces.
- Charts, tables, and cards reserve saturation for tiny structural accents such as rail bars, selection ticks, status dots, and command buttons while large surfaces stay low-chroma.
- Dark mode is expressed by inverting the neutral stack to umber and charcoal while preserving the same semantic hues at adjusted luminance, rather than simply dimming the light palette.

## Colors

Use the YAML color tokens as the normative palette. The prose below names the roles agents should preserve when generating UI.

| Token | Value |
|-------|-------|
| accent | `#005FCC` |
| background | `#F4EFE6` |
| border | `#CFC3B2` |
| error | `#C1121F` |
| info | `#006EB8` |
| muted | `#8B7C6B` |
| primary | `#0E1111` |
| secondary | `#6B5A49` |
| success | `#007A4D` |
| surface | `#FFFDF8` |
| text | `#16130F` |
| warning | `#B45F00` |

## Typography

- **Headline-Lg**: Atkinson Hyperlegible, 1.728rem, weight 700, line-height 1.1.
- **Headline-Md**: Atkinson Hyperlegible, 1.44rem, weight 600, line-height 1.15.
- **Body-Md**: Source Sans 3, 16px, weight 400, line-height 1.55.
- **Label-Md**: IBM Plex Mono, 0.75rem, weight 600, line-height 1.

## Layout

### Spacing Tokens

- **Base**: `8px`
- **Xs**: `4px`
- **Sm**: `8px`
- **Md**: `12px`
- **Lg**: `16px`
- **Xl**: `24px`
- **2xl**: `32px`
- **3xl**: `48px`
- **4xl**: `64px`

### Breakpoints

mobile <= 640px, tablet 641px-1024px, desktop >= 1025px

### Density

Compact but not cramped; status evidence, controls, and data rows fit operational screens while maintaining AA contrast and keyboard-visible focus.

### Grid

Desktop uses a 12-column shell: 220px navigation, 1fr operational table, and 340px semantic inspector; tablet becomes 8 columns with inspector below; mobile becomes one column with sticky action bar.

### Whitespace

Whitespace is deliberately quiet: 24-32px around major panels, 8-12px inside dense rows, and extra 16px before any destructive or warning cluster so state changes are not missed.

## Elevation & Depth

### Shadows

- **Lg**: 0 22px 56px rgba(45,34,22,0.16)
- **Md**: 0 10px 24px rgba(45,34,22,0.10)
- **Sm**: 0 1px 0 rgba(22,19,15,0.08)

## Shapes

### Rounded

- **Full**: `9999px`
- **Lg**: `14px`
- **Md**: `8px`
- **None**: `0px`
- **Sm**: `4px`

### Surfaces

- **Bg Pattern**: Subtle 16px dot grid in low-opacity umber and horizontal threshold rules to help dense operational screens align.
- **Card Style**: Cards use 1px clay borders, flat tops, a tiny 4px semantic rail when stateful, and restrained warm shadows only for active overlays.
- **Treatment**: Warm neutral canvas with raised ivory cards, sand panels, and semantic state washes below saturated accents.

### Borders

- **Accent Width**: 4px
- **Character**: Neutral borders are clay-gray; stateful borders become saturated rails or focus rings paired with pale washes.
- **Default Width**: 1px
- **Style**: solid

## Components

### Composition

Use a calm app-shell composition with a warm neutral page, one dense data region, and a right-side status inspector. Saturated colors appear as rails, rings, badges, dots, and command surfaces rather than full-bleed decoration.

### Density

Medium-high product density with 8px baseline spacing, compact rows, readable 16px body text, and generous separation around decision-critical state clusters.

### Hierarchy

Hierarchy comes from contrast, measured spacing, and role-specific color mapping: black text for primary content, muted brown for metadata, blue for action/focus, green/orange/red/blue state rails for success-warning-danger-info.

### Signature Patterns

- Semantic rail cards: each status card has a 4px saturated left rail, a pale tint background, and an explicit text label so hue never carries meaning alone.
- Contrast ledger rows: table rows include a small state dot, text status, and selected-row clay wash with an accent-blue check rail for resilient selection.
- Dual-ring focus: controls, tabs, and table selections use a dark inner stroke plus offset saturated outer ring to stay visible against neutral or colored surfaces.
- Token map strip: the interface includes a primitive-to-semantic mapping band showing base, surface, accent, and intent tokens as restrained chips with contrast notes.

## shadcn/ui Usage

When the target app uses shadcn/ui, copy DESIGN.md with shadcn instead of the plain DESIGN.md. It contains the same Katagami design-language source plus the shadcn/ui primitives, imports, theme variables, component recipes, and preview-shot guidance.

DESIGN.md with shadcn: `/language/en-019ea9a1-d843-7ff1-b0c4-ede277c53f14/DESIGN.with-shadcn.md`.

The shadcn page also exposes optional machine-readable files for automation, but the human-facing handoff is DESIGN.md with shadcn.

Install recommended primitives with `npx shadcn@latest add button card input textarea select dialog sheet tabs badge separator checkbox switch slider tooltip dropdown-menu table`.

Use these primitives in shadcn apps:
- button
- card
- input
- textarea
- select
- dialog
- sheet
- tabs
- badge
- separator
- checkbox
- switch
- slider
- tooltip
- dropdown-menu
- table

Implementation rule for agents: import shadcn primitives from `@/components/ui/*`, apply the generated CSS variables first, then compose the language-specific recipes from the companion MD. Katagami remains the source of truth; shadcn names are the implementation surface.

## Do's and Don'ts

- Do Map every raw hex to semantic tokens before applying it in components or charts.
- Do Use saturated color for focus, selected, success, warning, danger, and info states while keeping base surfaces warm and muted.
- Do Pair color with labels, icons, rails, or pattern so users are not forced to infer state from hue alone.
- Do Test every foreground/background pairing in light and dark behavior, especially warning text and disabled controls.
- Don't Do not use low-contrast pastel chips for warning or danger states.
- Don't Do not flood whole dashboards with accent blue; reserve it for action, focus, and selection.
- Don't Do not use neutral gray as the only disabled or inactive cue without opacity and text changes.
- Don't Do not mix primitive palette names into product copy; users should see intent labels, not token jargon.

### Accessibility

Target WCAG AA or better: primary text on background exceeds 12:1, accent-blue focus on warm surfaces exceeds 4.5:1, and each semantic state includes a label, rail, or icon in addition to hue.

### Usage Context

Best for admin consoles, health/safety tools, government-service forms, financial operations, observability products, and any product UI where semantic state clarity matters more than brand spectacle.
shadcn/ui theme
```json
{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "signal-clay-status-system",
  "type": "registry:theme",
  "title": "Signal Clay Status System shadcn Theme",
  "cssVars": {
    "theme": {},
    "light": {
      "background": "#F4EFE6",
      "foreground": "#16130F",
      "card": "#FFFDF8",
      "card-foreground": "#16130F",
      "popover": "#FFFDF8",
      "popover-foreground": "#16130F",
      "primary": "#0E1111",
      "primary-foreground": "#ffffff",
      "secondary": "#6B5A49",
      "secondary-foreground": "#ffffff",
      "muted": "#8B7C6B",
      "muted-foreground": "#16130F",
      "accent": "#005FCC",
      "accent-foreground": "#ffffff",
      "destructive": "#C1121F",
      "border": "#CFC3B2",
      "input": "#CFC3B2",
      "ring": "#005FCC",
      "chart-1": "#0E1111",
      "chart-2": "#6B5A49",
      "chart-3": "#005FCC",
      "chart-4": "#007A4D",
      "chart-5": "#B45F00",
      "sidebar": "#FFFDF8",
      "sidebar-foreground": "#16130F",
      "sidebar-primary": "#0E1111",
      "sidebar-primary-foreground": "#ffffff",
      "sidebar-accent": "#006EB8",
      "sidebar-accent-foreground": "#ffffff",
      "sidebar-border": "#CFC3B2",
      "sidebar-ring": "#005FCC",
      "radius": "8px"
    },
    "dark": {
      "background": "#0f1115",
      "foreground": "#f8fafc",
      "card": "#181b22",
      "card-foreground": "#f8fafc",
      "popover": "#181b22",
      "popover-foreground": "#f8fafc",
      "primary": "#0E1111",
      "primary-foreground": "#ffffff",
      "secondary": "#252a33",
      "secondary-foreground": "#f8fafc",
      "muted": "#252a33",
      "muted-foreground": "#a1a1aa",
      "accent": "#005FCC",
      "accent-foreground": "#ffffff",
      "destructive": "#C1121F",
      "border": "#303642",
      "input": "#303642",
      "ring": "#005FCC",
      "chart-1": "#0E1111",
      "chart-2": "#6B5A49",
      "chart-3": "#005FCC",
      "chart-4": "#007A4D",
      "chart-5": "#B45F00",
      "sidebar": "#181b22",
      "sidebar-foreground": "#f8fafc",
      "sidebar-primary": "#0E1111",
      "sidebar-primary-foreground": "#ffffff",
      "sidebar-accent": "#005FCC",
      "sidebar-accent-foreground": "#ffffff",
      "sidebar-border": "#303642",
      "sidebar-ring": "#005FCC",
      "radius": "8px"
    }
  },
  "meta": {
    "source": "katagami",
    "languageId": "en-019ea9a1-d843-7ff1-b0c4-ede277c53f14",
    "slug": "signal-clay-status-system",
    "componentManifest": [
      "button",
      "card",
      "input",
      "textarea",
      "select",
      "dialog",
      "sheet",
      "tabs",
      "badge",
      "separator",
      "checkbox",
      "switch",
      "slider",
      "tooltip",
      "dropdown-menu",
      "table"
    ],
    "installCommand": "npx shadcn@latest add button card input textarea select dialog sheet tabs badge separator checkbox switch slider tooltip dropdown-menu table",
    "nativeTokenNames": {
      "borders": [
        "accent_width",
        "character",
        "default_width",
        "style"
      ],
      "colors": [
        "accent",
        "background",
        "border",
        "error",
        "info",
        "muted",
        "primary",
        "secondary",
        "success",
        "surface",
        "text",
        "warning"
      ],
      "motion": [
        "duration",
        "easing",
        "philosophy"
      ],
      "radii": [
        "full",
        "lg",
        "md",
        "none",
        "sm"
      ],
      "shadows": [
        "lg",
        "md",
        "sm"
      ],
      "spacing": [
        "base",
        "scale"
      ],
      "surfaces": [
        "bg_pattern",
        "card_style",
        "treatment"
      ],
      "typography": [
        "base_size",
        "body_font",
        "google_fonts_url",
        "heading_font",
        "letter_spacing",
        "line_height",
        "mono_font",
        "scale_ratio"
      ]
    }
  }
}
```
in the wild

embodiments

the full element showcase
embodiment · signal-clay-status-system
DESIGN.md

at a glance

Palette

Typography

headline-lgAtkinson Hyperlegible · 28px · 700

The quick brown fox jumps

headline-mdAtkinson Hyperlegible · 23px · 600

The quick brown fox jumps

body-mdSource Sans 3 · 16px · 400

The quick brown fox jumps

label-mdIBM Plex Mono · 12px · 600

The quick brown fox jumps

Components

New
Card title

Components rendered with this language’s tokens — colors, type, and rounded corners as specified.

Spacing

  • base8px
  • xs4px
  • sm8px
  • md12px
  • lg16px
  • xl24px
  • 2xl32px
  • 3xl48px
  • 4xl64px

Shape

full9999px
lg14px
md8px
none0px
sm4px
shadcn/ui

implementation kit

needs agent-authored kitrecipes compatibility fallbackshots stored + verified
shadcn compatibility only
The generated theme variables are available, but the polished shadcn component recipes and shots have not been authored by the Katagami agent yet.
fallbackprimitives render
Compatibility proof
Local shadcn-style primitives accept the generated theme variables.
primaryaccentsurfacemutedwarningerror
table rhythm
buttonok
cardok
inputok
recommendedcompatibility fallback

DESIGN.md with shadcn

Copy this when the target app uses shadcn/ui. It packages the Katagami DESIGN.md context with the install list, theme variables, component recipes, preview-shot contract, and starter TSX in one Markdown companion.

advanced implementation filesoptional machine-readable theme, CSS, TSX starter, recipes, and preview contract
shadcn add
npx shadcn@latest add button card input textarea select dialog sheet tabs badge separator checkbox switch slider tooltip dropdown-menu table
theme css
:root {
  --background: #F4EFE6;
  --foreground: #16130F;
  --card: #FFFDF8;
  --card-foreground: #16130F;
  --popover: #FFFDF8;
  --popover-foreground: #16130F;
  --primary: #0E1111;
  --primary-foreground: #ffffff;
  --secondary: #6B5A49;
  --secondary-foreground: #ffffff;
  --muted: #8B7C6B;
  --muted-foreground: #16130F;
  --accent: #005FCC;
  --accent-foreground: #ffffff;
  --destructive: #C1121F;
  --border: #CFC3B2;
  --input: #CFC3B2;
  --ring: #005FCC;
  --chart-1: #0E1111;
  --chart-2: #6B5A49;
  --chart-3: #005FCC;
  --chart-4: #007A4D;
  --chart-5: #B45F00;
  --sidebar: #FFFDF8;
  --sidebar-foreground: #16130F;
  --sidebar-primary: #0E1111;
  --sidebar-primary-foreground: #ffffff;
  --sidebar-accent: #006EB8;
  --sidebar-accent-foreground: #ffffff;
  --sidebar-border: #CFC3B2;
  --sidebar-ring: #005FCC;
  --radius: 8px;
}

.dark {
  --background: #0f1115;
  --foreground: #f8fafc;
  --card: #181b22;
  --card-foreground: #f8fafc;
  --popover: #181b22;
  --popover-foreground: #f8fafc;
  --primary: #0E1111;
  --primary-foreground: #ffffff;
  --secondary: #252a33;
  --secondary-foreground: #f8fafc;
  --muted: #252a33;
  --muted-foreground: #a1a1aa;
  --accent: #005FCC;
  --accent-foreground: #ffffff;
  --destructive: #C1121F;
  --border: #303642;
  --input: #303642;
  --ring: #005FCC;
  --chart-1: #0E1111;
  --chart-2: #6B5A49;
  --chart-3: #005FCC;
  --chart-4: #007A4D;
  --chart-5: #B45F00;
  --sidebar: #181b22;
  --sidebar-foreground: #f8fafc;
  --sidebar-primary: #0E1111;
  --sidebar-primary-foreground: #ffffff;
  --sidebar-accent: #005FCC;
  --sidebar-accent-foreground: #ffffff;
  --sidebar-border: #303642;
  --sidebar-ring: #005FCC;
  --radius: 8px;
}
tsx starter
import { Badge } from "@/components/ui/badge";
import { Button } from "@/components/ui/button";
import {
  Card,
  CardContent,
  CardDescription,
  CardFooter,
  CardHeader,
  CardTitle,
} from "@/components/ui/card";
import { Input } from "@/components/ui/input";
import { Tabs, TabsList, TabsTrigger } from "@/components/ui/tabs";

export function SignalClayStatusSystemShadcnKit() {
  return (
    <section className="grid gap-4 rounded-[var(--radius)] border bg-background p-4 text-foreground">
      <div className="flex items-start justify-between gap-4">
        <div>
          <Badge variant="outline">shadcn/ui</Badge>
          <h2 className="mt-3 text-2xl font-semibold tracking-tight">Signal Clay Status System</h2>
          <p className="mt-1 max-w-xl text-sm text-muted-foreground">
            Use the Katagami registry theme, then compose these shadcn primitives
            with the language-specific component recipes.
          </p>
        </div>
        <Button>Apply theme</Button>
      </div>

      <Tabs defaultValue="components">
        <TabsList>
          <TabsTrigger value="components">Components</TabsTrigger>
          <TabsTrigger value="states">States</TabsTrigger>
          <TabsTrigger value="export">Export</TabsTrigger>
        </TabsList>
      </Tabs>

      <Card>
        <CardHeader>
          <CardTitle>Component recipe</CardTitle>
          <CardDescription>
            Replace this starter content with the agent-authored product scene
            from components.md and preview-shots.json.
          </CardDescription>
        </CardHeader>
        <CardContent className="grid gap-3 sm:grid-cols-[1fr_auto]">
          <Input defaultValue="Tokenized shadcn surface" aria-label="Recipe name" />
          <Button variant="secondary">Preview state</Button>
        </CardContent>
        <CardFooter className="justify-between">
          <Badge>Ready</Badge>
          <Button variant="outline">Copy recipe</Button>
        </CardFooter>
      </Card>
    </section>
  );
}
theme JSONcompatibility fallback
{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "signal-clay-status-system",
  "type": "registry:theme",
  "title": "Signal Clay Status System shadcn Theme",
  "cssVars": {
    "theme": {},
    "light": {
      "background": "#F4EFE6",
      "foreground": "#16130F",
      "card": "#FFFDF8",
      "card-foreground": "#16130F",
      "popover": "#FFFDF8",
      "popover-foreground": "#16130F",
      "primary": "#0E1111",
      "primary-foreground": "#ffffff",
      "secondary": "#6B5A49",
      "secondary-foreground": "#ffffff",
      "muted": "#8B7C6B",
      "muted-foreground": "#16130F",
      "accent": "#005FCC",
      "accent-foreground": "#ffffff",
      "destructive": "#C1121F",
      "border": "#CFC3B2",
      "input": "#CFC3B2",
      "ring": "#005FCC",
      "chart-1": "#0E1111",
      "chart-2": "#6B5A49",
      "chart-3": "#005FCC",
      "chart-4": "#007A4D",
      "chart-5": "#B45F00",
      "sidebar": "#FFFDF8",
      "sidebar-foreground": "#16130F",
      "sidebar-primary": "#0E1111",
      "sidebar-primary-foreground": "#ffffff",
      "sidebar-accent": "#006EB8",
      "sidebar-accent-foreground": "#ffffff",
      "sidebar-border": "#CFC3B2",
      "sidebar-ring": "#005FCC",
      "radius": "8px"
    },
    "dark": {
      "background": "#0f1115",
      "foreground": "#f8fafc",
      "card": "#181b22",
      "card-foreground": "#f8fafc",
      "popover": "#181b22",
      "popover-foreground": "#f8fafc",
      "primary": "#0E1111",
      "primary-foreground": "#ffffff",
      "secondary": "#252a33",
      "secondary-foreground": "#f8fafc",
      "muted": "#252a33",
      "muted-foreground": "#a1a1aa",
      "accent": "#005FCC",
      "accent-foreground": "#ffffff",
      "destructive": "#C1121F",
      "border": "#303642",
      "input": "#303642",
      "ring": "#005FCC",
      "chart-1": "#0E1111",
      "chart-2": "#6B5A49",
      "chart-3": "#005FCC",
      "chart-4": "#007A4D",
      "chart-5": "#B45F00",
      "sidebar": "#181b22",
      "sidebar-foreground": "#f8fafc",
      "sidebar-primary": "#0E1111",
      "sidebar-primary-foreground": "#ffffff",
      "sidebar-accent": "#005FCC",
      "sidebar-accent-foreground": "#ffffff",
      "sidebar-border": "#303642",
      "sidebar-ring": "#005FCC",
      "radius": "8px"
    }
  },
  "meta": {
    "source": "katagami",
    "languageId": "en-019ea9a1-d843-7ff1-b0c4-ede277c53f14",
    "slug": "signal-clay-status-system",
    "componentManifest": [
      "button",
      "card",
      "input",
      "textarea",
      "select",
      "dialog",
      "sheet",
      "tabs",
      "badge",
      "separator",
      "checkbox",
      "switch",
      "slider",
      "tooltip",
      "dropdown-menu",
      "table"
    ],
    "installCommand": "npx shadcn@latest add button card input textarea select dialog sheet tabs badge separator checkbox switch slider tooltip dropdown-menu table",
    "nativeTokenNames": {
      "borders": [
        "accent_width",
        "character",
        "default_width",
        "style"
      ],
      "colors": [
        "accent",
        "background",
        "border",
        "error",
        "info",
        "muted",
        "primary",
        "secondary",
        "success",
        "surface",
        "text",
        "warning"
      ],
      "motion": [
        "duration",
        "easing",
        "philosophy"
      ],
      "radii": [
        "full",
        "lg",
        "md",
        "none",
        "sm"
      ],
      "shadows": [
        "lg",
        "md",
        "sm"
      ],
      "spacing": [
        "base",
        "scale"
      ],
      "surfaces": [
        "bg_pattern",
        "card_style",
        "treatment"
      ],
      "typography": [
        "base_size",
        "body_font",
        "google_fonts_url",
        "heading_font",
        "letter_spacing",
        "line_height",
        "mono_font",
        "scale_ratio"
      ]
    }
  }
}
component recipescompatibility fallback
# Signal Clay Status System shadcn/ui Components

Artifact: `component-recipes-v1`
Author: `katagami-ui-projection`
Language ID: `en-019ea9a1-d843-7ff1-b0c4-ede277c53f14`
Slug: `signal-clay-status-system`

## Intent

Signal Clay Status System is a restrained product-UI palette language that uses warm neutral foundations, muted clay surfaces, and deliberately high-contrast signal colors for focus, selection, success, warning, danger, and information states. It borrows from official design-system practices around semantic roles, dynamic light/dark behavior, and accessible state mapping while keeping the visual field calm enough for dense operational work.

## Required primitives

- button
- card
- input
- textarea
- select
- dialog
- sheet
- tabs
- badge
- separator
- checkbox
- switch
- slider
- tooltip
- dropdown-menu
- table

Install with `npx shadcn@latest add button card input textarea select dialog sheet tabs badge separator checkbox switch slider tooltip dropdown-menu table`.

## Token cues

Colors:

{
  "accent": "#005FCC",
  "background": "#F4EFE6",
  "border": "#CFC3B2",
  "error": "#C1121F",
  "info": "#006EB8",
  "muted": "#8B7C6B",
  "primary": "#0E1111",
  "secondary": "#6B5A49",
  "success": "#007A4D",
  "surface": "#FFFDF8",
  "text": "#16130F",
  "warning": "#B45F00"
}

Typography:

{
  "base_size": "16px",
  "body_font": "Source Sans 3",
  "google_fonts_url": "https://fonts.googleapis.com/css2?family=Atkinson+Hyperlegible:wght@400;700&family=Source+Sans+3:wght@400;500;600;700&family=IBM+Plex+Mono:wght@500;600&display=swap",
  "heading_font": "Atkinson Hyperlegible",
  "letter_spacing": "-0.01em",
  "line_height": 1.55,
  "mono_font": "IBM Plex Mono",
  "scale_ratio": 1.2
}

## Visual character to preserve

- CSS uses a warm neutral five-step background stack: page ochre, raised ivory cards, muted sand panels, clay-tinted selected rows, and ink text for 7:1-plus reading contrast.
- Every semantic state is rendered as a paired token: a saturated high-contrast left rail or ring plus a pale warm wash, so status remains recognizable without filling the whole component.
- Interactive controls use thick two-color focus treatment: a near-black inner border and a saturated outer ring offset by 2px, making keyboard position visible on light and dark surfaces.
- Charts, tables, and cards reserve saturation for tiny structural accents such as rail bars, selection ticks, status dots, and command buttons while large surfaces stay low-chroma.
- Dark mode is expressed by inverting the neutral stack to umber and charcoal while preserving the same semantic hues at adjusted luminance, rather than simply dimming the light palette.

## ShadSync visual profile

{
  "family": "system",
  "material": "flat",
  "contour": "default",
  "border": "solid",
  "underlay": true,
  "grain": false,
  "stickerBadges": false,
  "motion": "lift",
  "density": "dense",
  "accents": [
    "primary",
    "accent",
    "secondary",
    "muted"
  ]
}

## Signature component recipes

### Button
Use `Button` for primary, secondary, outline, and ghost actions. Primary actions must expose the language's strongest contrast pair, while secondary and ghost actions should preserve the surface treatment instead of falling back to default neutral SaaS styling.

### Card
Use `Card`, `CardHeader`, `CardContent`, `CardFooter`, and `CardAction` as the main composition frame. Cards should demonstrate the language's surface, border, hierarchy, and density rules rather than appearing as generic rounded rectangles.

### Input and Textarea
Use `Input` and `Textarea` with visible focus rings, field labels, validation states, and the language's rhythm. Forms should show real product content, not placeholder-only controls.

### Select, Tabs, and Table
Use `Select`, `Tabs`, and `Table` to prove navigation, filtering, and dense data states. The table should show row rhythm, separators, hover/focus states, and an empty or status state when the language calls for it.

### Dialog and Sheet
Use `Dialog` for centered decisions and `Sheet` for contextual editing. Both should inherit the language's spacing, border, overlay, and motion rules.

## Preview shots

- `application-shell`: dashboard or workspace shell with navigation, cards, forms, and state badges.
- `detail-editor`: focused editing flow using input, textarea, select, switch/checkbox, dialog or sheet, and action buttons.
- `data-operations`: table-heavy operational view with tabs, dropdown menu affordances, badges, and destructive/empty states.
- Each preview shot must include a renderable `scene` payload with concrete headline, description, actions, and rows/fields/stats for the UI preview.

## Implementation contract

- Start from local `ui/src/components/ui` shadcn-style primitives; do not create a second component system.
- Apply `/katagami/shadcn/signal-clay-status-system/registry-theme.json` variables, then use these recipes for composition and state design.
- Preserve Katagami token names as source metadata; shadcn semantic names are only the export surface.
- Do: Map every raw hex to semantic tokens before applying it in components or charts.; Use saturated color for focus, selected, success, warning, danger, and info states while keeping base surfaces warm and muted.; Pair color with labels, icons, rails, or pattern so users are not forced to infer state from hue alone.; Test every foreground/background pairing in light and dark behavior, especially warning text and disabled controls.
- Do not: Do not use low-contrast pastel chips for warning or danger states.; Do not flood whole dashboards with accent blue; reserve it for action, focus, and selection.; Do not use neutral gray as the only disabled or inactive cue without opacity and text changes.; Do not mix primitive palette names into product copy; users should see intent labels, not token jargon.

## Copy-paste component example

This generated starter proves the import shape. Production Katagami agents should replace it with a language-specific product composition.

```tsx
import { Badge } from "@/components/ui/badge";
import { Button } from "@/components/ui/button";
import {
  Card,
  CardContent,
  CardDescription,
  CardFooter,
  CardHeader,
  CardTitle,
} from "@/components/ui/card";
import { Input } from "@/components/ui/input";
import { Tabs, TabsList, TabsTrigger } from "@/components/ui/tabs";

export function SignalClayStatusSystemShadcnKit() {
  return (
    <section className="grid gap-4 rounded-[var(--radius)] border bg-background p-4 text-foreground">
      <div className="flex items-start justify-between gap-4">
        <div>
          <Badge variant="outline">shadcn/ui</Badge>
          <h2 className="mt-3 text-2xl font-semibold tracking-tight">Signal Clay Status System</h2>
          <p className="mt-1 max-w-xl text-sm text-muted-foreground">
            Use the Katagami registry theme, then compose these shadcn primitives
            with the language-specific component recipes.
          </p>
        </div>
        <Button>Apply theme</Button>
      </div>

      <Tabs defaultValue="components">
        <TabsList>
          <TabsTrigger value="components">Components</TabsTrigger>
          <TabsTrigger value="states">States</TabsTrigger>
          <TabsTrigger value="export">Export</TabsTrigger>
        </TabsList>
      </Tabs>

      <Card>
        <CardHeader>
          <CardTitle>Component recipe</CardTitle>
          <CardDescription>
            Replace this starter content with the agent-authored product scene
            from components.md and preview-shots.json.
          </CardDescription>
        </CardHeader>
        <CardContent className="grid gap-3 sm:grid-cols-[1fr_auto]">
          <Input defaultValue="Tokenized shadcn surface" aria-label="Recipe name" />
          <Button variant="secondary">Preview state</Button>
        </CardContent>
        <CardFooter className="justify-between">
          <Badge>Ready</Badge>
          <Button variant="outline">Copy recipe</Button>
        </CardFooter>
      </Card>
    </section>
  );
}
```

## Layout notes

{
  "breakpoints": "mobile <= 640px, tablet 641px-1024px, desktop >= 1025px",
  "density": "Compact but not cramped; status evidence, controls, and data rows fit operational screens while maintaining AA contrast and keyboard-visible focus.",
  "grid": "Desktop uses a 12-column shell: 220px navigation, 1fr operational table, and 340px semantic inspector; tablet becomes 8 columns with inspector below; mobile becomes one column with sticky action bar.",
  "whitespace": "Whitespace is deliberately quiet: 24-32px around major panels, 8-12px inside dense rows, and extra 16px before any destructive or warning cluster so state changes are not missed."
}
preview shotsstored + verified
{
  "artifact": "katagami:shadcn-preview-shots",
  "author": "katagami-agent",
  "componentRecipes": [
    {
      "primitive": "button",
      "recipe": "Use Signal Clay tokens, warm neutral surfaces, clay borders, visible accent focus ring, compact spacing, and semantic rails/dots/labels when stateful."
    },
    {
      "primitive": "card",
      "recipe": "Use Signal Clay tokens, warm neutral surfaces, clay borders, visible accent focus ring, compact spacing, and semantic rails/dots/labels when stateful."
    },
    {
      "primitive": "input",
      "recipe": "Use Signal Clay tokens, warm neutral surfaces, clay borders, visible accent focus ring, compact spacing, and semantic rails/dots/labels when stateful."
    },
    {
      "primitive": "textarea",
      "recipe": "Use Signal Clay tokens, warm neutral surfaces, clay borders, visible accent focus ring, compact spacing, and semantic rails/dots/labels when stateful."
    },
    {
      "primitive": "select",
      "recipe": "Use Signal Clay tokens, warm neutral surfaces, clay borders, visible accent focus ring, compact spacing, and semantic rails/dots/labels when stateful."
    },
    {
      "primitive": "dialog",
      "recipe": "Use Signal Clay tokens, warm neutral surfaces, clay borders, visible accent focus ring, compact spacing, and semantic rails/dots/labels when stateful."
    },
    {
      "primitive": "sheet",
      "recipe": "Use Signal Clay tokens, warm neutral surfaces, clay borders, visible accent focus ring, compact spacing, and semantic rails/dots/labels when stateful."
    },
    {
      "primitive": "tabs",
      "recipe": "Use Signal Clay tokens, warm neutral surfaces, clay borders, visible accent focus ring, compact spacing, and semantic rails/dots/labels when stateful."
    },
    {
      "primitive": "badge",
      "recipe": "Use Signal Clay tokens, warm neutral surfaces, clay borders, visible accent focus ring, compact spacing, and semantic rails/dots/labels when stateful."
    },
    {
      "primitive": "separator",
      "recipe": "Use Signal Clay tokens, warm neutral surfaces, clay borders, visible accent focus ring, compact spacing, and semantic rails/dots/labels when stateful."
    },
    {
      "primitive": "checkbox",
      "recipe": "Use Signal Clay tokens, warm neutral surfaces, clay borders, visible accent focus ring, compact spacing, and semantic rails/dots/labels when stateful."
    },
    {
      "primitive": "switch",
      "recipe": "Use Signal Clay tokens, warm neutral surfaces, clay borders, visible accent focus ring, compact spacing, and semantic rails/dots/labels when stateful."
    },
    {
      "primitive": "slider",
      "recipe": "Use Signal Clay tokens, warm neutral surfaces, clay borders, visible accent focus ring, compact spacing, and semantic rails/dots/labels when stateful."
    },
    {
      "primitive": "tooltip",
      "recipe": "Use Signal Clay tokens, warm neutral surfaces, clay borders, visible accent focus ring, compact spacing, and semantic rails/dots/labels when stateful."
    },
    {
      "primitive": "dropdown-menu",
      "recipe": "Use Signal Clay tokens, warm neutral surfaces, clay borders, visible accent focus ring, compact spacing, and semantic rails/dots/labels when stateful."
    },
    {
      "primitive": "table",
      "recipe": "Use Signal Clay tokens, warm neutral surfaces, clay borders, visible accent focus ring, compact spacing, and semantic rails/dots/labels when stateful."
    }
  ],
  "generatedBy": "katagami-agent",
  "renderable": true,
  "requiresVisualProfile": true,
  "schema": "katagami:shadcn-preview-shots/renderable-v1",
  "shots": [
    {
      "components": [
        "button",
        "card",
        "input",
        "select",
        "tabs",
        "badge",
        "table",
        "dropdown-menu"
      ],
      "id": "application-shell",
      "scene": {
        "actions": [
          "Review selected",
          "Export ledger"
        ],
        "description": "Dense but calm dashboard showing muted chroma surfaces and high-contrast state accents.",
        "eyebrow": "Command center",
        "headline": "Semantic operations queue",
        "rows": [
          {
            "name": "Gateway audit",
            "owner": "Ops",
            "rail": "warning",
            "status": "Warning"
          },
          {
            "name": "Payment hold",
            "owner": "Risk",
            "rail": "error",
            "status": "Danger"
          },
          {
            "name": "Profile sync",
            "owner": "Platform",
            "rail": "success",
            "status": "Success"
          }
        ],
        "stats": [
          {
            "label": "Open",
            "state": "info",
            "value": "128"
          },
          {
            "label": "At risk",
            "state": "warning",
            "value": "17"
          },
          {
            "label": "Resolved",
            "state": "success",
            "value": "91%"
          }
        ]
      },
      "title": "Operations shell",
      "visualIntent": "Warm neutral desktop console with navigation, data table, selected clay row, semantic rails, and right status inspector."
    },
    {
      "components": [
        "dialog",
        "sheet",
        "textarea",
        "input",
        "checkbox",
        "switch",
        "slider",
        "tooltip",
        "separator",
        "button",
        "badge"
      ],
      "id": "detail-editor",
      "scene": {
        "actions": [
          "Save policy",
          "Escalate warning"
        ],
        "description": "A focused edit view where every semantic color is paired with labels and structural affordances.",
        "eyebrow": "Detail editor",
        "fields": [
          {
            "label": "Policy name",
            "value": "Semantic contrast audit"
          },
          {
            "label": "Owner",
            "value": "Design systems"
          },
          {
            "label": "Warning threshold",
            "value": "AA below target"
          }
        ],
        "headline": "Threshold policy review",
        "stats": [
          {
            "label": "Focus visible",
            "state": "success",
            "value": "Pass"
          },
          {
            "label": "Risk",
            "state": "warning",
            "value": "Medium"
          }
        ]
      },
      "title": "Status detail editor",
      "visualIntent": "Ivory form panel with explicit warning copy, dual focus treatment, and destructive area separated by whitespace."
    },
    {
      "components": [
        "table",
        "card",
        "badge",
        "button",
        "select",
        "separator",
        "tabs",
        "tooltip"
      ],
      "id": "data-operations",
      "scene": {
        "actions": [
          "Apply mapping",
          "View contrast notes"
        ],
        "description": "Operational rows prove the palette supports muted chroma with high-contrast accents.",
        "eyebrow": "Data ledger",
        "headline": "Primitive-to-semantic mapping",
        "rows": [
          {
            "hex": "#005FCC",
            "state": "info",
            "token": "accent",
            "usage": "focus/action"
          },
          {
            "hex": "#B45F00",
            "state": "warning",
            "token": "warning",
            "usage": "threshold rail"
          },
          {
            "hex": "#C1121F",
            "state": "error",
            "token": "error",
            "usage": "destructive label"
          }
        ],
        "stats": [
          {
            "label": "AA pairs",
            "state": "success",
            "value": "12/12"
          }
        ]
      },
      "title": "Data operations ledger",
      "visualIntent": "Compact table rows with status dots, text states, selected wash, accent check rail, and token map strip."
    }
  ],
  "version": "preview-shots-v1",
  "visualProfile": {
    "accents": [
      "accent-blue focus rails",
      "success green status",
      "warning orange thresholds",
      "danger red destructive states",
      "info cyan notices"
    ],
    "border": "one-pixel-clay-plus-four-pixel-state-rail",
    "contour": "measured-radius",
    "density": "compact-operational",
    "family": "warm-semantic-product",
    "grain": "subtle-umber-dot-grid",
    "material": "matte-clay-neutral",
    "motion": "functional-short-fade-slide",
    "stickerBadges": true,
    "underlay": true
  }
}