back to gallerydo avoid
design language·chromatic-specimen-console
Chromatic Specimen Console
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
Chromatic Specimen Console is a premium product-interface language that places Apple-clean neutral software surfaces under a disciplined catalog of color-theory swatches, using color as navigation, state, comparison, and data meaning rather than decoration.
values
Neutral product trust first, with bone white planes and slate typography carrying most of the interface load.High-chroma color appears only inside assigned catalog blocks, semantic state chips, focus rails, and measured data surfaces.Color-theory energy is translated into modular rhythm, accessible contrast, and product hierarchy instead of rainbow spectacle.Every panel feels like a usable working console for reviewing palettes, experiments, and approvals.
anti-values
×No childish gradients, arbitrary confetti, or color sprayed across decorative backgrounds.×No textbook exercise-sheet layout, loose collage, generic startup blobs, or neon cyberpunk glow.×No mixed arbitrary radii or default SaaS cards that dilute the catalog discipline.
tokens
borders4 items
- accent width
- 4px
- character
- Warm-gray hairlines define neutral structure. Saturated accents use separate square specimen bars, focus rings, or pseudo-element calibration marks; rounded containers never carry one-sided colored borders.
- default width
- 1px
- style
- solid
colors12 items
accent
#7B4FD9
background
#F8F5EC
border
#D9D2C4
error
#C93D32
info
#65A9E9
muted
#69717A
primary
#2457D6
secondary
#E8652A
success
#2F8A4B
surface
#FFFDF7
text
#15191E
warning
#E5B52E
motion3 items
- duration
- 180ms
- easing
- cubic-bezier(0.2, 0.8, 0.2, 1)
- philosophy
- Motion is quiet and instrumental: color rails slide two pixels, swatches brighten slightly, and panels lift only enough to confirm state.
radii5 items
- full
- 9999px
- lg
- 16px
- md
- 16px
- none
- 0px
- sm
- 0px
shadows3 items
- lg
- 0 28px 70px rgba(21, 25, 30, 0.12)
- md
- 0 12px 30px rgba(21, 25, 30, 0.08)
- sm
- 0 1px 2px rgba(21, 25, 30, 0.05)
spacing2 items
- base
- 8px
- scale
- 4, 8, 12, 16, 24, 32, 48, 64
surfaces3 items
- bg pattern
- Subtle 24px calibration grid drawn with hairline warm-gray rules at very low opacity, interrupted by clean white product panels.
- card style
- Ivory product cards use 1px warm-gray borders, 16px radius, minimal shadow, and catalog-strip swatch headers.
- treatment
- Warm bone canvas with matte ivory cards, no glass, no glow, and color restricted to role-bearing swatches, rails, and cells.
typography8 items
- base size
- 16px
- body font
- Inter
- google fonts url
- https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500;600&family=Instrument+Sans:wght@500;600;700&family=Inter:wght@400;500;600;700&display=swap
- heading font
- Instrument Sans
- letter spacing
- -0.02em
- line height
- 1.55
- mono font
- IBM Plex Mono
- scale ratio
- 1.22
rules
composition
Use a clean product shell: narrow specimen navigation, generous workspace, and right-side review panels. Chroma clusters must align to rows, columns, or component states, never float as decoration.
density
Balanced professional density with compact controls and tables, but preserve broad bone-white gutters around any saturated color blocks so the interface stays premium.
hierarchy
Let blackened slate type, spacing, and borders establish the hierarchy first; introduce saturated hues only to signal section identity, comparison values, selected states, and semantic outcomes.
signature patterns
Specimen rail navigation: each nav item carries a fixed 4px chroma bar and a tiny token code, making section identity scannable without filling the whole tab with color.Catalog-strip card headers: cards begin with an aligned row of labeled swatches before text, turning color theory plates into product metadata rather than textbook pages.Calibration corner marks: selected controls and important panels use small L-shaped colored corners made with pseudo-elements instead of heavy outlines.Chroma-cell tables: data tables remain neutral except for rectangular color cells that encode status, contrast, or ownership in disciplined catalog columns.Inset paint-flash focus: buttons, inputs, and tabs reveal a thin inset color rail on hover or focus while keeping the main surface ivory or slate.
layout
density
Balanced professional density: compact tables and controls inside spacious approval-workflow zones, with tight 8px metadata groups contrasted against 64px section breathing room.
grid
Twelve-column desktop workspace with a 248px specimen rail, 24px gutters, a dominant palette approval workspace, and smaller right-side review stack aligned to an 8px baseline grid.
responsive
At 375px, collapse the specimen rail into horizontal token tabs and stack every panel; at 768px, keep the rail above the workspace with two-column review cards; above 1200px, restore the three-zone console.
whitespace
Use generous perimeter whitespace and at least 16px neutral padding around saturated blocks; color should feel framed like catalog inventory, not sprayed across the canvas.
guidance
- Assign every saturated hue to a product role such as navigation identity, state, priority, metric group, or comparison token.
- Keep large backgrounds bone white or ivory and use color in small modular rectangles, thin rails, badges, and table cells.
- Pair unexpected adjacent hues with strict alignment, labels, and whitespace so collisions feel authored and usable.
- Use square specimen bars as independent elements beside rounded 16px containers instead of coloring one edge of the rounded container.
- Create one dominant approval workspace and smaller supporting panels so the console avoids equal-card repetition.
- Maintain accessible text contrast by placing dark slate text on light surfaces and using saturated colors behind text only when contrast is verified.
- Do not use rainbow gradients, confetti, generic blobs, glowing neon, or decorative color clouds.
- Do not make the page resemble a textbook color theory worksheet with flat labeled exercises and no product workflow.
- Do not tint every card differently; concentrate chroma into repeated system roles and catalog modules.
- Do not mix arbitrary rounded geometry; commit to 16px product containers, square specimen strips, and pill-only utility badges.
- Do not place a one-sided colored border directly on a rounded card; use a separate square pseudo-element or full uniform border.
- Do not build three equal cards in a row; make one section dominant or break the grid with a rail, table, or inset workspace.
katagami spec
# Chromatic Specimen Console ## Philosophy Chromatic Specimen Console is a premium product-interface language that places Apple-clean neutral software surfaces under a disciplined catalog of color-theory swatches, using color as navigation, state, comparison, and data meaning rather than decoration. ### Values - Neutral product trust first, with bone white planes and slate typography carrying most of the interface load. - High-chroma color appears only inside assigned catalog blocks, semantic state chips, focus rails, and measured data surfaces. - Color-theory energy is translated into modular rhythm, accessible contrast, and product hierarchy instead of rainbow spectacle. - Every panel feels like a usable working console for reviewing palettes, experiments, and approvals. ### Anti-Values - No childish gradients, arbitrary confetti, or color sprayed across decorative backgrounds. - No textbook exercise-sheet layout, loose collage, generic startup blobs, or neon cyberpunk glow. - No mixed arbitrary radii or default SaaS cards that dilute the catalog discipline. ### Visual Character - Bone-white app canvas with blackened slate text, one-pixel hairline separators, and large unfilled margins that keep every colored module surrounded by quiet negative space. - A left navigation rail uses stacked rectangular color-specimen tabs with fixed semantic hues, square corners on the color edge, and rounded neutral containers for the clickable area. - Content cards use catalog-strip headers: a two-column grid of small color swatches above restrained typography, with each swatch labeled by role and token name. - Interactive states appear as thin inset color rails, tiny corner calibration marks, and disciplined micro-surfaces rather than broad tinted backgrounds. - Data and workflow sections pair neutral tables with isolated chroma cells, creating color collisions in measured blocks aligned to an eight-pixel grid. ## Tokens ### Borders - **Accent Width**: 4px - **Character**: Warm-gray hairlines define neutral structure. Saturated accents use separate square specimen bars, focus rings, or pseudo-element calibration marks; rounded containers never carry one-sided colored borders. - **Default Width**: 1px - **Style**: solid ### Colors | Name | Value | |------|-------| | accent | `#7B4FD9` | | background | `#F8F5EC` | | border | `#D9D2C4` | | error | `#C93D32` | | info | `#65A9E9` | | muted | `#69717A` | | primary | `#2457D6` | | secondary | `#E8652A` | | success | `#2F8A4B` | | surface | `#FFFDF7` | | text | `#15191E` | | warning | `#E5B52E` | ### Motion - **Duration**: 180ms - **Easing**: cubic-bezier(0.2, 0.8, 0.2, 1) - **Philosophy**: Motion is quiet and instrumental: color rails slide two pixels, swatches brighten slightly, and panels lift only enough to confirm state. ### Radii - **Full**: 9999px - **Lg**: 16px - **Md**: 16px - **None**: 0px - **Sm**: 0px ### Shadows - **Lg**: 0 28px 70px rgba(21, 25, 30, 0.12) - **Md**: 0 12px 30px rgba(21, 25, 30, 0.08) - **Sm**: 0 1px 2px rgba(21, 25, 30, 0.05) ### Spacing - **Base**: 8px - **Scale**: [4,8,12,16,24,32,48,64] ### Surfaces - **Bg Pattern**: Subtle 24px calibration grid drawn with hairline warm-gray rules at very low opacity, interrupted by clean white product panels. - **Card Style**: Ivory product cards use 1px warm-gray borders, 16px radius, minimal shadow, and catalog-strip swatch headers. - **Treatment**: Warm bone canvas with matte ivory cards, no glass, no glow, and color restricted to role-bearing swatches, rails, and cells. ### Typography - **Base Size**: 16px - **Body Font**: Inter - **Google Fonts Url**: https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500;600&family=Instrument+Sans:wght@500;600;700&family=Inter:wght@400;500;600;700&display=swap - **Heading Font**: Instrument Sans - **Letter Spacing**: -0.02em - **Line Height**: 1.55 - **Mono Font**: IBM Plex Mono - **Scale Ratio**: 1.22 ## Rules ### Composition Use a clean product shell: narrow specimen navigation, generous workspace, and right-side review panels. Chroma clusters must align to rows, columns, or component states, never float as decoration. ### Density Balanced professional density with compact controls and tables, but preserve broad bone-white gutters around any saturated color blocks so the interface stays premium. ### Hierarchy Let blackened slate type, spacing, and borders establish the hierarchy first; introduce saturated hues only to signal section identity, comparison values, selected states, and semantic outcomes. ### Signature Patterns - Specimen rail navigation: each nav item carries a fixed 4px chroma bar and a tiny token code, making section identity scannable without filling the whole tab with color. - Catalog-strip card headers: cards begin with an aligned row of labeled swatches before text, turning color theory plates into product metadata rather than textbook pages. - Calibration corner marks: selected controls and important panels use small L-shaped colored corners made with pseudo-elements instead of heavy outlines. - Chroma-cell tables: data tables remain neutral except for rectangular color cells that encode status, contrast, or ownership in disciplined catalog columns. - Inset paint-flash focus: buttons, inputs, and tabs reveal a thin inset color rail on hover or focus while keeping the main surface ivory or slate. ## Layout ### Density Balanced professional density: compact tables and controls inside spacious approval-workflow zones, with tight 8px metadata groups contrasted against 64px section breathing room. ### Grid Twelve-column desktop workspace with a 248px specimen rail, 24px gutters, a dominant palette approval workspace, and smaller right-side review stack aligned to an 8px baseline grid. ### Responsive At 375px, collapse the specimen rail into horizontal token tabs and stack every panel; at 768px, keep the rail above the workspace with two-column review cards; above 1200px, restore the three-zone console. ### Whitespace Use generous perimeter whitespace and at least 16px neutral padding around saturated blocks; color should feel framed like catalog inventory, not sprayed across the canvas. ## Guidance ### Do - Assign every saturated hue to a product role such as navigation identity, state, priority, metric group, or comparison token. - Keep large backgrounds bone white or ivory and use color in small modular rectangles, thin rails, badges, and table cells. - Pair unexpected adjacent hues with strict alignment, labels, and whitespace so collisions feel authored and usable. - Use square specimen bars as independent elements beside rounded 16px containers instead of coloring one edge of the rounded container. - Create one dominant approval workspace and smaller supporting panels so the console avoids equal-card repetition. - Maintain accessible text contrast by placing dark slate text on light surfaces and using saturated colors behind text only when contrast is verified. ### Don't - Do not use rainbow gradients, confetti, generic blobs, glowing neon, or decorative color clouds. - Do not make the page resemble a textbook color theory worksheet with flat labeled exercises and no product workflow. - Do not tint every card differently; concentrate chroma into repeated system roles and catalog modules. - Do not mix arbitrary rounded geometry; commit to 16px product containers, square specimen strips, and pill-only utility badges. - Do not place a one-sided colored border directly on a rounded card; use a separate square pseudo-element or full uniform border. - Do not build three equal cards in a row; make one section dominant or break the grid with a rail, table, or inset workspace. ### Accessibility Keep primary text on ivory or near-black surfaces, reserve saturated backgrounds for large high-contrast labels or non-text swatches, and provide focus rings plus text labels for every color-coded state. ### Usage Context Best for palette governance, brand-system approvals, color QA consoles, and product workflows where saturated paint decisions need Apple-clean trust and measurable hierarchy.
DESIGN.md
---
version: "alpha"
name: "Chromatic Specimen Console"
description: "Agent-curated design language exported from Katagami as DESIGN.md."
colors:
accent: "#7B4FD9"
background: "#F8F5EC"
border: "#D9D2C4"
error: "#C93D32"
info: "#65A9E9"
muted: "#69717A"
primary: "#2457D6"
secondary: "#E8652A"
success: "#2F8A4B"
surface: "#FFFDF7"
text: "#15191E"
warning: "#E5B52E"
typography:
headline-lg:
fontFamily: "Instrument Sans"
fontSize: "1.816rem"
fontWeight: 700
lineHeight: 1.1
letterSpacing: "-0.02em"
headline-md:
fontFamily: "Instrument Sans"
fontSize: "1.488rem"
fontWeight: 600
lineHeight: 1.15
letterSpacing: "-0.02em"
body-md:
fontFamily: "Inter"
fontSize: "16px"
fontWeight: 400
lineHeight: 1.55
letterSpacing: "-0.02em"
label-md:
fontFamily: "IBM Plex Mono"
fontSize: "0.75rem"
fontWeight: 600
lineHeight: 1
letterSpacing: "0.08em"
rounded:
full: "9999px"
lg: "16px"
md: "16px"
none: "0px"
sm: "0px"
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"
---
# Chromatic Specimen Console
## Overview
Chromatic Specimen Console is a premium product-interface language that places Apple-clean neutral software surfaces under a disciplined catalog of color-theory swatches, using color as navigation, state, comparison, and data meaning rather than decoration.
### Values
- Neutral product trust first, with bone white planes and slate typography carrying most of the interface load.
- High-chroma color appears only inside assigned catalog blocks, semantic state chips, focus rails, and measured data surfaces.
- Color-theory energy is translated into modular rhythm, accessible contrast, and product hierarchy instead of rainbow spectacle.
- Every panel feels like a usable working console for reviewing palettes, experiments, and approvals.
### Anti-Values
- No childish gradients, arbitrary confetti, or color sprayed across decorative backgrounds.
- No textbook exercise-sheet layout, loose collage, generic startup blobs, or neon cyberpunk glow.
- No mixed arbitrary radii or default SaaS cards that dilute the catalog discipline.
### Visual Character
- Bone-white app canvas with blackened slate text, one-pixel hairline separators, and large unfilled margins that keep every colored module surrounded by quiet negative space.
- A left navigation rail uses stacked rectangular color-specimen tabs with fixed semantic hues, square corners on the color edge, and rounded neutral containers for the clickable area.
- Content cards use catalog-strip headers: a two-column grid of small color swatches above restrained typography, with each swatch labeled by role and token name.
- Interactive states appear as thin inset color rails, tiny corner calibration marks, and disciplined micro-surfaces rather than broad tinted backgrounds.
- Data and workflow sections pair neutral tables with isolated chroma cells, creating color collisions in measured blocks aligned to an eight-pixel grid.
## 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 | `#7B4FD9` |
| background | `#F8F5EC` |
| border | `#D9D2C4` |
| error | `#C93D32` |
| info | `#65A9E9` |
| muted | `#69717A` |
| primary | `#2457D6` |
| secondary | `#E8652A` |
| success | `#2F8A4B` |
| surface | `#FFFDF7` |
| text | `#15191E` |
| warning | `#E5B52E` |
## Typography
- **Headline-Lg**: Instrument Sans, 1.816rem, weight 700, line-height 1.1.
- **Headline-Md**: Instrument Sans, 1.488rem, weight 600, line-height 1.15.
- **Body-Md**: Inter, 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`
### Density
Balanced professional density: compact tables and controls inside spacious approval-workflow zones, with tight 8px metadata groups contrasted against 64px section breathing room.
### Grid
Twelve-column desktop workspace with a 248px specimen rail, 24px gutters, a dominant palette approval workspace, and smaller right-side review stack aligned to an 8px baseline grid.
### Responsive
At 375px, collapse the specimen rail into horizontal token tabs and stack every panel; at 768px, keep the rail above the workspace with two-column review cards; above 1200px, restore the three-zone console.
### Whitespace
Use generous perimeter whitespace and at least 16px neutral padding around saturated blocks; color should feel framed like catalog inventory, not sprayed across the canvas.
## Elevation & Depth
### Shadows
- **Lg**: 0 28px 70px rgba(21, 25, 30, 0.12)
- **Md**: 0 12px 30px rgba(21, 25, 30, 0.08)
- **Sm**: 0 1px 2px rgba(21, 25, 30, 0.05)
## Shapes
### Rounded
- **Full**: `9999px`
- **Lg**: `16px`
- **Md**: `16px`
- **None**: `0px`
- **Sm**: `0px`
### Surfaces
- **Bg Pattern**: Subtle 24px calibration grid drawn with hairline warm-gray rules at very low opacity, interrupted by clean white product panels.
- **Card Style**: Ivory product cards use 1px warm-gray borders, 16px radius, minimal shadow, and catalog-strip swatch headers.
- **Treatment**: Warm bone canvas with matte ivory cards, no glass, no glow, and color restricted to role-bearing swatches, rails, and cells.
### Borders
- **Accent Width**: 4px
- **Character**: Warm-gray hairlines define neutral structure. Saturated accents use separate square specimen bars, focus rings, or pseudo-element calibration marks; rounded containers never carry one-sided colored borders.
- **Default Width**: 1px
- **Style**: solid
## Components
### Composition
Use a clean product shell: narrow specimen navigation, generous workspace, and right-side review panels. Chroma clusters must align to rows, columns, or component states, never float as decoration.
### Density
Balanced professional density with compact controls and tables, but preserve broad bone-white gutters around any saturated color blocks so the interface stays premium.
### Hierarchy
Let blackened slate type, spacing, and borders establish the hierarchy first; introduce saturated hues only to signal section identity, comparison values, selected states, and semantic outcomes.
### Signature Patterns
- Specimen rail navigation: each nav item carries a fixed 4px chroma bar and a tiny token code, making section identity scannable without filling the whole tab with color.
- Catalog-strip card headers: cards begin with an aligned row of labeled swatches before text, turning color theory plates into product metadata rather than textbook pages.
- Calibration corner marks: selected controls and important panels use small L-shaped colored corners made with pseudo-elements instead of heavy outlines.
- Chroma-cell tables: data tables remain neutral except for rectangular color cells that encode status, contrast, or ownership in disciplined catalog columns.
- Inset paint-flash focus: buttons, inputs, and tabs reveal a thin inset color rail on hover or focus while keeping the main surface ivory or slate.
## 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-019e4592-a86b-7540-9d8e-5436aaac5393/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 Assign every saturated hue to a product role such as navigation identity, state, priority, metric group, or comparison token.
- Do Keep large backgrounds bone white or ivory and use color in small modular rectangles, thin rails, badges, and table cells.
- Do Pair unexpected adjacent hues with strict alignment, labels, and whitespace so collisions feel authored and usable.
- Do Use square specimen bars as independent elements beside rounded 16px containers instead of coloring one edge of the rounded container.
- Do Create one dominant approval workspace and smaller supporting panels so the console avoids equal-card repetition.
- Do Maintain accessible text contrast by placing dark slate text on light surfaces and using saturated colors behind text only when contrast is verified.
- Don't Do not use rainbow gradients, confetti, generic blobs, glowing neon, or decorative color clouds.
- Don't Do not make the page resemble a textbook color theory worksheet with flat labeled exercises and no product workflow.
- Don't Do not tint every card differently; concentrate chroma into repeated system roles and catalog modules.
- Don't Do not mix arbitrary rounded geometry; commit to 16px product containers, square specimen strips, and pill-only utility badges.
- Don't Do not place a one-sided colored border directly on a rounded card; use a separate square pseudo-element or full uniform border.
- Don't Do not build three equal cards in a row; make one section dominant or break the grid with a rail, table, or inset workspace.
### Accessibility
Keep primary text on ivory or near-black surfaces, reserve saturated backgrounds for large high-contrast labels or non-text swatches, and provide focus rings plus text labels for every color-coded state.
### Usage Context
Best for palette governance, brand-system approvals, color QA consoles, and product workflows where saturated paint decisions need Apple-clean trust and measurable hierarchy.
shadcn/ui theme
```json
{
"$schema": "https://ui.shadcn.com/schema/registry-item.json",
"name": "chromatic-specimen-console",
"type": "registry:theme",
"title": "Chromatic Specimen Console shadcn Theme",
"cssVars": {
"theme": {},
"light": {
"background": "#F8F5EC",
"foreground": "#15191E",
"card": "#FFFDF7",
"card-foreground": "#15191E",
"popover": "#FFFDF7",
"popover-foreground": "#15191E",
"primary": "#2457D6",
"primary-foreground": "#ffffff",
"secondary": "#E8652A",
"secondary-foreground": "#ffffff",
"muted": "#69717A",
"muted-foreground": "#15191E",
"accent": "#7B4FD9",
"accent-foreground": "#ffffff",
"destructive": "#C93D32",
"border": "#D9D2C4",
"input": "#D9D2C4",
"ring": "#7B4FD9",
"chart-1": "#2457D6",
"chart-2": "#E8652A",
"chart-3": "#7B4FD9",
"chart-4": "#2F8A4B",
"chart-5": "#E5B52E",
"sidebar": "#FFFDF7",
"sidebar-foreground": "#15191E",
"sidebar-primary": "#2457D6",
"sidebar-primary-foreground": "#ffffff",
"sidebar-accent": "#65A9E9",
"sidebar-accent-foreground": "#ffffff",
"sidebar-border": "#D9D2C4",
"sidebar-ring": "#7B4FD9",
"radius": "16px"
},
"dark": {
"background": "#0f1115",
"foreground": "#f8fafc",
"card": "#181b22",
"card-foreground": "#f8fafc",
"popover": "#181b22",
"popover-foreground": "#f8fafc",
"primary": "#2457D6",
"primary-foreground": "#ffffff",
"secondary": "#252a33",
"secondary-foreground": "#f8fafc",
"muted": "#252a33",
"muted-foreground": "#a1a1aa",
"accent": "#7B4FD9",
"accent-foreground": "#ffffff",
"destructive": "#C93D32",
"border": "#303642",
"input": "#303642",
"ring": "#7B4FD9",
"chart-1": "#2457D6",
"chart-2": "#E8652A",
"chart-3": "#7B4FD9",
"chart-4": "#2F8A4B",
"chart-5": "#E5B52E",
"sidebar": "#181b22",
"sidebar-foreground": "#f8fafc",
"sidebar-primary": "#2457D6",
"sidebar-primary-foreground": "#ffffff",
"sidebar-accent": "#7B4FD9",
"sidebar-accent-foreground": "#ffffff",
"sidebar-border": "#303642",
"sidebar-ring": "#7B4FD9",
"radius": "16px"
}
},
"meta": {
"source": "katagami",
"languageId": "en-019e4592-a86b-7540-9d8e-5436aaac5393",
"slug": "chromatic-specimen-console",
"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 · chromatic-specimen-console
DESIGN.md
at a glance
Typography
headline-lgInstrument Sans · 29px · 700
The quick brown fox jumps
headline-mdInstrument Sans · 24px · 600
The quick brown fox jumps
body-mdInter · 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
lg16px
md16px
none0px
sm0px
shadcn/ui
implementation kit
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 tabletheme css
:root {
--background: #F8F5EC;
--foreground: #15191E;
--card: #FFFDF7;
--card-foreground: #15191E;
--popover: #FFFDF7;
--popover-foreground: #15191E;
--primary: #2457D6;
--primary-foreground: #ffffff;
--secondary: #E8652A;
--secondary-foreground: #ffffff;
--muted: #69717A;
--muted-foreground: #15191E;
--accent: #7B4FD9;
--accent-foreground: #ffffff;
--destructive: #C93D32;
--border: #D9D2C4;
--input: #D9D2C4;
--ring: #7B4FD9;
--chart-1: #2457D6;
--chart-2: #E8652A;
--chart-3: #7B4FD9;
--chart-4: #2F8A4B;
--chart-5: #E5B52E;
--sidebar: #FFFDF7;
--sidebar-foreground: #15191E;
--sidebar-primary: #2457D6;
--sidebar-primary-foreground: #ffffff;
--sidebar-accent: #65A9E9;
--sidebar-accent-foreground: #ffffff;
--sidebar-border: #D9D2C4;
--sidebar-ring: #7B4FD9;
--radius: 16px;
}
.dark {
--background: #0f1115;
--foreground: #f8fafc;
--card: #181b22;
--card-foreground: #f8fafc;
--popover: #181b22;
--popover-foreground: #f8fafc;
--primary: #2457D6;
--primary-foreground: #ffffff;
--secondary: #252a33;
--secondary-foreground: #f8fafc;
--muted: #252a33;
--muted-foreground: #a1a1aa;
--accent: #7B4FD9;
--accent-foreground: #ffffff;
--destructive: #C93D32;
--border: #303642;
--input: #303642;
--ring: #7B4FD9;
--chart-1: #2457D6;
--chart-2: #E8652A;
--chart-3: #7B4FD9;
--chart-4: #2F8A4B;
--chart-5: #E5B52E;
--sidebar: #181b22;
--sidebar-foreground: #f8fafc;
--sidebar-primary: #2457D6;
--sidebar-primary-foreground: #ffffff;
--sidebar-accent: #7B4FD9;
--sidebar-accent-foreground: #ffffff;
--sidebar-border: #303642;
--sidebar-ring: #7B4FD9;
--radius: 16px;
}
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 ChromaticSpecimenConsoleShadcnKit() {
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">Chromatic Specimen Console</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 JSONstored + verified
{
"$schema": "https://ui.shadcn.com/schema/registry-item.json",
"cssVars": {
"dark": {
"accent": "#7B4FD9",
"accent-foreground": "#ffffff",
"background": "#0f1115",
"border": "#303642",
"card": "#181b22",
"card-foreground": "#f8fafc",
"chart-1": "#2457D6",
"chart-2": "#E8652A",
"chart-3": "#7B4FD9",
"chart-4": "#2F8A4B",
"chart-5": "#E5B52E",
"destructive": "#C93D32",
"foreground": "#f8fafc",
"input": "#303642",
"muted": "#252a33",
"muted-foreground": "#a1a1aa",
"popover": "#181b22",
"popover-foreground": "#f8fafc",
"primary": "#2457D6",
"primary-foreground": "#ffffff",
"radius": "16px",
"ring": "#7B4FD9",
"secondary": "#252a33",
"secondary-foreground": "#f8fafc",
"sidebar": "#181b22",
"sidebar-accent": "#7B4FD9",
"sidebar-accent-foreground": "#ffffff",
"sidebar-border": "#303642",
"sidebar-foreground": "#f8fafc",
"sidebar-primary": "#2457D6",
"sidebar-primary-foreground": "#ffffff",
"sidebar-ring": "#7B4FD9"
},
"light": {
"accent": "#7B4FD9",
"accent-foreground": "#ffffff",
"background": "#F8F5EC",
"border": "#D9D2C4",
"card": "#FFFDF7",
"card-foreground": "#15191E",
"chart-1": "#2457D6",
"chart-2": "#E8652A",
"chart-3": "#7B4FD9",
"chart-4": "#2F8A4B",
"chart-5": "#E5B52E",
"destructive": "#C93D32",
"foreground": "#15191E",
"input": "#D9D2C4",
"muted": "#69717A",
"muted-foreground": "#15191E",
"popover": "#FFFDF7",
"popover-foreground": "#15191E",
"primary": "#2457D6",
"primary-foreground": "#ffffff",
"radius": "16px",
"ring": "#7B4FD9",
"secondary": "#E8652A",
"secondary-foreground": "#ffffff",
"sidebar": "#FFFDF7",
"sidebar-accent": "#65A9E9",
"sidebar-accent-foreground": "#ffffff",
"sidebar-border": "#D9D2C4",
"sidebar-foreground": "#15191E",
"sidebar-primary": "#2457D6",
"sidebar-primary-foreground": "#ffffff",
"sidebar-ring": "#7B4FD9"
},
"theme": {}
},
"meta": {
"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",
"languageId": "en-019e4592-a86b-7540-9d8e-5436aaac5393",
"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"
]
},
"slug": "chromatic-specimen-console",
"source": "katagami"
},
"name": "chromatic-specimen-console",
"title": "Chromatic Specimen Console shadcn Theme",
"type": "registry:theme"
}
component recipescompatibility fallback
# Chromatic Specimen Console shadcn/ui Components
Artifact: `component-recipes-v1`
Author: `katagami-ui-projection`
Language ID: `en-019e4592-a86b-7540-9d8e-5436aaac5393`
Slug: `chromatic-specimen-console`
## Intent
Chromatic Specimen Console is a premium product-interface language that places Apple-clean neutral software surfaces under a disciplined catalog of color-theory swatches, using color as navigation, state, comparison, and data meaning rather than decoration.
## 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": "#7B4FD9",
"background": "#F8F5EC",
"border": "#D9D2C4",
"error": "#C93D32",
"info": "#65A9E9",
"muted": "#69717A",
"primary": "#2457D6",
"secondary": "#E8652A",
"success": "#2F8A4B",
"surface": "#FFFDF7",
"text": "#15191E",
"warning": "#E5B52E"
}
Typography:
{
"base_size": "16px",
"body_font": "Inter",
"google_fonts_url": "https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500;600&family=Instrument+Sans:wght@500;600;700&family=Inter:wght@400;500;600;700&display=swap",
"heading_font": "Instrument Sans",
"letter_spacing": "-0.02em",
"line_height": 1.55,
"mono_font": "IBM Plex Mono",
"scale_ratio": 1.22
}
## Visual character to preserve
- Bone-white app canvas with blackened slate text, one-pixel hairline separators, and large unfilled margins that keep every colored module surrounded by quiet negative space.
- A left navigation rail uses stacked rectangular color-specimen tabs with fixed semantic hues, square corners on the color edge, and rounded neutral containers for the clickable area.
- Content cards use catalog-strip headers: a two-column grid of small color swatches above restrained typography, with each swatch labeled by role and token name.
- Interactive states appear as thin inset color rails, tiny corner calibration marks, and disciplined micro-surfaces rather than broad tinted backgrounds.
- Data and workflow sections pair neutral tables with isolated chroma cells, creating color collisions in measured blocks aligned to an eight-pixel grid.
## ShadSync visual profile
{
"family": "system",
"material": "flat",
"contour": "default",
"border": "solid",
"underlay": false,
"grain": false,
"stickerBadges": false,
"motion": "lift",
"density": "balanced",
"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/chromatic-specimen-console/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: Assign every saturated hue to a product role such as navigation identity, state, priority, metric group, or comparison token.; Keep large backgrounds bone white or ivory and use color in small modular rectangles, thin rails, badges, and table cells.; Pair unexpected adjacent hues with strict alignment, labels, and whitespace so collisions feel authored and usable.; Use square specimen bars as independent elements beside rounded 16px containers instead of coloring one edge of the rounded container.; Create one dominant approval workspace and smaller supporting panels so the console avoids equal-card repetition.; Maintain accessible text contrast by placing dark slate text on light surfaces and using saturated colors behind text only when contrast is verified.
- Do not: Do not use rainbow gradients, confetti, generic blobs, glowing neon, or decorative color clouds.; Do not make the page resemble a textbook color theory worksheet with flat labeled exercises and no product workflow.; Do not tint every card differently; concentrate chroma into repeated system roles and catalog modules.; Do not mix arbitrary rounded geometry; commit to 16px product containers, square specimen strips, and pill-only utility badges.; Do not place a one-sided colored border directly on a rounded card; use a separate square pseudo-element or full uniform border.; Do not build three equal cards in a row; make one section dominant or break the grid with a rail, table, or inset workspace.
## 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 ChromaticSpecimenConsoleShadcnKit() {
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">Chromatic Specimen Console</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
{
"density": "Balanced professional density: compact tables and controls inside spacious approval-workflow zones, with tight 8px metadata groups contrasted against 64px section breathing room.",
"grid": "Twelve-column desktop workspace with a 248px specimen rail, 24px gutters, a dominant palette approval workspace, and smaller right-side review stack aligned to an 8px baseline grid.",
"responsive": "At 375px, collapse the specimen rail into horizontal token tabs and stack every panel; at 768px, keep the rail above the workspace with two-column review cards; above 1200px, restore the three-zone console.",
"whitespace": "Use generous perimeter whitespace and at least 16px neutral padding around saturated blocks; color should feel framed like catalog inventory, not sprayed across the canvas."
}
preview shotscompatibility fallback
{
"artifact": "katagami:shadcn-preview-shots",
"version": "preview-shots-v1",
"generator": "katagami-ui-compatibility-projection",
"generatedBy": "katagami-ui-projection",
"requiresVisualProfile": true,
"schema": "katagami:shadcn-preview-shots/renderable-v1",
"renderable": true,
"language": {
"id": "en-019e4592-a86b-7540-9d8e-5436aaac5393",
"name": "Chromatic Specimen Console",
"slug": "chromatic-specimen-console"
},
"installCommand": "npx shadcn@latest add button card input textarea select dialog sheet tabs badge separator checkbox switch slider tooltip dropdown-menu table",
"primitives": [
"button",
"card",
"input",
"textarea",
"select",
"dialog",
"sheet",
"tabs",
"badge",
"separator",
"checkbox",
"switch",
"slider",
"tooltip",
"dropdown-menu",
"table"
],
"identityNotes": [
"Bone-white app canvas with blackened slate text, one-pixel hairline separators, and large unfilled margins that keep every colored module surrounded by quiet negative space.",
"A left navigation rail uses stacked rectangular color-specimen tabs with fixed semantic hues, square corners on the color edge, and rounded neutral containers for the clickable area.",
"Content cards use catalog-strip headers: a two-column grid of small color swatches above restrained typography, with each swatch labeled by role and token name.",
"Interactive states appear as thin inset color rails, tiny corner calibration marks, and disciplined micro-surfaces rather than broad tinted backgrounds.",
"Data and workflow sections pair neutral tables with isolated chroma cells, creating color collisions in measured blocks aligned to an eight-pixel grid."
],
"visualProfile": {
"family": "system",
"material": "flat",
"contour": "default",
"border": "solid",
"underlay": false,
"grain": false,
"stickerBadges": false,
"motion": "still",
"density": "balanced",
"accents": [
"primary",
"accent",
"secondary",
"muted"
]
},
"shots": [
{
"id": "application-shell",
"title": "Application shell",
"viewport": "desktop",
"primitives": [
"button",
"card",
"input",
"select",
"tabs",
"badge",
"separator",
"table"
],
"composition": "A real product workspace with navigation, summary cards, filtering controls, and one dense content region.",
"mustShow": [
"primary and secondary actions",
"card hierarchy",
"filterable state",
"table or list density"
],
"avoid": [
"component inventory walls",
"placeholder-only content",
"generic rounded SaaS chrome"
],
"scene": {
"eyebrow": "workspace spread",
"headline": "Chromatic Specimen Console launch room",
"description": "A product team workspace where navigation, filters, metrics, and dense rows carry the language's visible structure.",
"primaryAction": "Apply theme",
"secondaryAction": "Review states",
"stats": [
{
"label": "components",
"value": "16",
"tone": "accent"
},
{
"label": "states",
"value": "ready"
},
{
"label": "density",
"value": "balanced",
"tone": "warning"
}
],
"rows": [
{
"label": "Primary flow",
"value": "mapped",
"status": "active"
},
{
"label": "Token coverage",
"value": "semantic",
"status": "synced"
},
{
"label": "Responsive proof",
"value": "queued",
"status": "review"
}
],
"statuses": [
"Active",
"Synced",
"Draft"
]
}
},
{
"id": "detail-editor",
"title": "Detail editor",
"viewport": "tablet",
"primitives": [
"button",
"card",
"input",
"textarea",
"select",
"checkbox",
"switch",
"slider",
"dialog",
"sheet"
],
"composition": "A focused editing flow with form fields, validation, confirmation, and a contextual side panel.",
"mustShow": [
"focus ring",
"error or destructive state",
"dialog or sheet treatment",
"written guidance content"
],
"avoid": [
"unstyled browser controls",
"floating cards inside cards",
"missing labels"
],
"scene": {
"eyebrow": "editing flow",
"headline": "Language recipe editor",
"description": "A focused form proving labels, validation, toggles, panel rhythm, and action hierarchy.",
"primaryAction": "Save recipe",
"secondaryAction": "Open sheet",
"fields": [
{
"label": "Component family",
"value": "Narrative cards"
},
{
"label": "State treatment",
"value": "Visible focus + validation"
},
{
"label": "Motion",
"value": "Small lift, no opacity-only fade"
}
],
"statuses": [
"Focus",
"Invalid",
"Confirmed"
]
}
},
{
"id": "data-operations",
"title": "Data operations",
"viewport": "mobile",
"primitives": [
"button",
"tabs",
"badge",
"dropdown-menu",
"table",
"tooltip",
"separator"
],
"composition": "A compact operational view proving row rhythm, stacked actions, menu states, badges, and empty/destructive states.",
"mustShow": [
"responsive reflow",
"dense row styling",
"menu affordance",
"status badge system"
],
"avoid": [
"desktop-only tables",
"text overflow",
"default shadcn spacing without Katagami character"
],
"scene": {
"eyebrow": "operations",
"headline": "Compact review queue",
"description": "A narrow viewport scene with rows, menus, tooltips, badges, and destructive affordances.",
"primaryAction": "Resolve",
"secondaryAction": "Filter",
"rows": [
{
"label": "Button hierarchy",
"value": "approved",
"status": "ok"
},
{
"label": "Table rhythm",
"value": "needs pass",
"status": "watch"
},
{
"label": "Empty state",
"value": "designed",
"status": "done"
}
],
"statuses": [
"Queued",
"Blocked",
"Done"
]
}
}
],
"componentRecipes": [
{
"primitive": "button",
"intent": "Prove action hierarchy, focus, disabled, and destructive states."
},
{
"primitive": "card",
"intent": "Carry the language surface, border, elevation, and density rules."
},
{
"primitive": "input",
"intent": "Show labels, focus rings, validation, and spacing rhythm."
},
{
"primitive": "textarea",
"intent": "Show longer guidance, validation copy, and writing density."
},
{
"primitive": "select",
"intent": "Show filtering, selection contrast, and menu trigger styling."
},
{
"primitive": "dialog",
"intent": "Show centered decision states and overlay treatment."
},
{
"primitive": "sheet",
"intent": "Show contextual side panels and responsive editing."
},
{
"primitive": "tabs",
"intent": "Show navigational structure and active/inactive contrast."
},
{
"primitive": "badge",
"intent": "Show compact status vocabulary and semantic colors."
},
{
"primitive": "separator",
"intent": "Show section rhythm without generic gray dividers."
},
{
"primitive": "checkbox",
"intent": "Show binary selection with visible focus and checked states."
},
{
"primitive": "switch",
"intent": "Show settings toggles and on/off contrast."
},
{
"primitive": "slider",
"intent": "Show numeric adjustment with track/thumb styling."
},
{
"primitive": "tooltip",
"intent": "Show concise explanation styling above compact controls."
},
{
"primitive": "dropdown-menu",
"intent": "Show action menus, destructive items, and grouped choices."
},
{
"primitive": "table",
"intent": "Show dense operational data, separators, row states, and responsive behavior."
}
],
"qualityRules": {
"do": [
"Assign every saturated hue to a product role such as navigation identity, state, priority, metric group, or comparison token.",
"Keep large backgrounds bone white or ivory and use color in small modular rectangles, thin rails, badges, and table cells.",
"Pair unexpected adjacent hues with strict alignment, labels, and whitespace so collisions feel authored and usable.",
"Use square specimen bars as independent elements beside rounded 16px containers instead of coloring one edge of the rounded container.",
"Create one dominant approval workspace and smaller supporting panels so the console avoids equal-card repetition.",
"Maintain accessible text contrast by placing dark slate text on light surfaces and using saturated colors behind text only when contrast is verified."
],
"dont": [
"Do not use rainbow gradients, confetti, generic blobs, glowing neon, or decorative color clouds.",
"Do not make the page resemble a textbook color theory worksheet with flat labeled exercises and no product workflow.",
"Do not tint every card differently; concentrate chroma into repeated system roles and catalog modules.",
"Do not mix arbitrary rounded geometry; commit to 16px product containers, square specimen strips, and pill-only utility badges.",
"Do not place a one-sided colored border directly on a rounded card; use a separate square pseudo-element or full uniform border.",
"Do not build three equal cards in a row; make one section dominant or break the grid with a rail, table, or inset workspace."
]
}
}
related