back to gallery
design language·chromatic-folio-system

Chromatic Folio 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
Chromatic Folio System treats vivid color as a product data layer inside a quiet premium workspace. It is designed for Pigment Atlas Pro, a fictional color-catalog application where curators compare palettes, assign semantic roles, and prepare production-ready swatch sets for premium product interfaces. The language borrows the clarity of Apple-style document tools and the discipline of printed color atlases: bone-white surfaces, graphite text, exact labels, and large meaningful color fields. Color is never garnish; it is the thing being edited, approved, filtered, and compared. The interface should feel calm enough for long expert sessions while giving selected hues enough scale to become memorable structural landmarks.
values
authored color theory as interface structure rather than rainbow decorationbone-white premium restraint with graphite clarity and little surface noisecatalog-like comparison tools embedded in real product workflowslarge semantic swatches that carry labels, values, state, and actionsone committed radius family so softness feels deliberate rather than arbitraryaccessible color use where every vivid block has text, value, or spatial meaning
anti-values
×rainbow garnish, confetti, startup blobs, or neon glow used only to excite×generic SaaS dashboard chrome with equal metric cards and ornamental side rails×square-grid wallpaper, textbook-page styling, or decorative graph paper backgrounds×mixed arbitrary radii that make the system feel plush instead of authored
tokens
borders4 items
accent width
2px
character
warm-gray hairlines and inset graphite focus rings; no decorative side strips
default width
1px
style
solid
colors13 items
accent
#9B7AE8
background
#FFFFFF
border
rgba(38,37,37,0.10)
error
#B83232
info
#0B88A8
muted
#756F66
primary
#2457E6
secondary
#E6542A
success
#4F8A3D
surface
#FFFCF5
surface_warm
#F7F3EA
text
#262525
warning
#D8A21B
motion3 items
duration
180ms
easing
cubic-bezier(0.2, 0.8, 0.2, 1)
philosophy
small lift, color-cell expansion, and focus ring fades that clarify selection without spectacle
opacity3 items
disabled
0.45
subtle
0.72
texture
0.05
radii5 items
full
9999px
lg
18px
md
14px
none
0px
sm
10px
shadows3 items
lg
0 28px 80px rgba(38,37,37,0.14)
md
0 14px 36px rgba(38,37,37,0.10)
sm
0 1px 2px rgba(38,37,37,0.06)
spacing2 items
base
8px
scale
4, 8, 12, 16, 24, 32, 48, 64, 96, 128
surfaces3 items
bg pattern
very quiet dotted point texture in open margins only, non-boxy and below 5% opacity
card style
1px near-invisible warm-gray border, 18px radius, almost no shadow unless selected
treatment
white and warm ivory surfaces with semi-matte painted color fields
typography10 items
base size
16px
body font
Manrope
body letter spacing
-0.02em
body line height
1.56
display letter spacing
-0.035em
display line height
1.12
google fonts url
https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500;600&family=Manrope:wght@400;500;600;700;800&display=swap
heading font
Manrope
mono font
IBM Plex Mono
scale ratio
1.22
rules
composition
Use a restrained app shell with top command bar, a narrow catalog rail, and an asymmetric detail canvas where one color field clearly dominates.Avoid three equal cards; supporting modules vary in width, density, and visual weight around a larger working swatch panel.Let color blocks be controls, data cells, active selections, filters, and relationship maps, never thin ornamental side strips.Create at least one grid break through an oversized color proof panel, inset comparison tray, or full-width approval band.Keep the neutral shell quiet so vivid color appears authored, premium, and useful rather than decorative.Use dotted texture only in open margins as a low-opacity paper registration cue, not as a square grid.
density
Balanced premium density: broad outer margins and a spacious proof area contrast with compact catalog rows, labels, and numeric swatch metadata. Tight internal clusters may use 8px gaps while major zones open to 64px or more.
hierarchy
Graphite type, white space, and scale establish hierarchy before color intensity is introduced.One or two prominent painted fields carry primary attention; smaller chips operate as metadata and navigation.Monospace values are reserved for hex, contrast, delta, and production notes.Selected states use an inset graphite focus ring plus slight lift rather than glow or saturation changes.
signature patterns
Swatch cards are functional modules with color field, relationship label, hex value, contrast score, and action control arranged as a reusable product primitive.Tetrad trays group four vivid color cells into a single semantic object with one shared caption and no decorative perimeter striping.Selected content uses an inset graphite focus ring and subtle surface lift while the relevant color cell expands proportionally inside the layout.Catalog comparison rows use color as a full table cell or status capsule, never as a thin ornamental sidebar or arbitrary dot.
layout
breakpoints
Mobile 375px single column with rail collapsed into segmented filters, tablet 768px stacks rail above canvas, desktop 1200px and up uses two-column catalog workspace.
density
Balanced with a strong 8:1 spacing rhythm: compact 8px label/value clusters sit inside broad 64px to 96px proofing zones so the workspace feels expert, premium, and calm.
grid
12-column desktop grid with a 280px navigation/catalog rail and fluid detail canvas; modules align to 8px spacing without visible square-grid backgrounds. Desktop max width is 1360px with asymmetric 5/7 and 4/8 splits.
whitespace
Open white and bone-white margins frame dense swatch information; color fields receive at least 16px internal padding and 24px exterior breathing room, while hero proof panels get 48px to 64px.
guidance
do
  • Use color blocks as controls, data cells, active selections, filters, and relationship maps.
  • Keep neutral shell, typography, and borders quiet so color appears authored and premium.
  • Pair vivid accents with explicit labels, values, and product actions for accessibility.
  • Use a single committed 18px radius family and hairline border system across controls.
  • Give one swatch or proof panel clear dominance in every composition.
  • Use Manrope for calm editorial UI and IBM Plex Mono only for color values and measurement.
  • Prefer near-invisible warm-gray borders and inset focus rings over heavy outlines.
  • Let major spacing jumps create rhythm rather than filling every area with decoration.
avoid
  • Do not use color as confetti, startup blobs, neon glow, or decorative garnish.
  • Do not add side rail accents to cards, buttons, rows, or panels.
  • Do not use square-grid wallpaper or generic admin dashboard widgets.
  • Do not create childish rainbow sequences without semantic grouping.
  • Do not arrange three equal cards in a row or give every section the same weight.
  • Do not mix arbitrary pill, blob, and large-card radii outside the committed scale.
  • Do not rely on color alone; every semantic color must carry text, shape, or position.
  • Do not use gradients when a flat color field or blurred neutral underlay will do.
katagami spec
# Chromatic Folio System

## Philosophy

Chromatic Folio System treats vivid color as a product data layer inside a quiet premium workspace. It is designed for Pigment Atlas Pro, a fictional color-catalog application where curators compare palettes, assign semantic roles, and prepare production-ready swatch sets for premium product interfaces. The language borrows the clarity of Apple-style document tools and the discipline of printed color atlases: bone-white surfaces, graphite text, exact labels, and large meaningful color fields. Color is never garnish; it is the thing being edited, approved, filtered, and compared. The interface should feel calm enough for long expert sessions while giving selected hues enough scale to become memorable structural landmarks.

### Values

- authored color theory as interface structure rather than rainbow decoration
- bone-white premium restraint with graphite clarity and little surface noise
- catalog-like comparison tools embedded in real product workflows
- large semantic swatches that carry labels, values, state, and actions
- one committed radius family so softness feels deliberate rather than arbitrary
- accessible color use where every vivid block has text, value, or spatial meaning

### Anti-Values

- rainbow garnish, confetti, startup blobs, or neon glow used only to excite
- generic SaaS dashboard chrome with equal metric cards and ornamental side rails
- square-grid wallpaper, textbook-page styling, or decorative graph paper backgrounds
- mixed arbitrary radii that make the system feel plush instead of authored

### Visual Character

- Bone-white application shell with graphite typography, single-pixel warm-gray borders, and almost-flat controls using one committed 18px radius geometry across panels and primary controls.
- Large painted color fields appear as content-bearing panels with embedded labels, numeric values, contrast notes, and approval actions instead of background decoration.
- Functional swatch modules use compact color chips, proportional color bars, and palette rows to encode status, category, ownership, and comparison relationships.
- Complementary and tetradic pairings are shown through paired swatch cells, small relationship marks, and catalog trays that remain aligned to product hierarchy.
- Quiet dotted point texture is limited to empty canvas regions at very low opacity, never forming a square grid or competing with the working catalog content.

## Tokens

### Borders

- **Accent Width**: 2px
- **Character**: warm-gray hairlines and inset graphite focus rings; no decorative side strips
- **Default Width**: 1px
- **Style**: solid

### Colors

| Name | Value |
|------|-------|
| accent | `#9B7AE8` |
| background | `#FFFFFF` |
| border | `rgba(38,37,37,0.10)` |
| error | `#B83232` |
| info | `#0B88A8` |
| muted | `#756F66` |
| primary | `#2457E6` |
| secondary | `#E6542A` |
| success | `#4F8A3D` |
| surface | `#FFFCF5` |
| surface_warm | `#F7F3EA` |
| text | `#262525` |
| warning | `#D8A21B` |

### Motion

- **Duration**: 180ms
- **Easing**: cubic-bezier(0.2, 0.8, 0.2, 1)
- **Philosophy**: small lift, color-cell expansion, and focus ring fades that clarify selection without spectacle

### Opacity

- **Disabled**: 0.45
- **Subtle**: 0.72
- **Texture**: 0.05

### Radii

- **Full**: 9999px
- **Lg**: 18px
- **Md**: 14px
- **None**: 0px
- **Sm**: 10px

### Shadows

- **Lg**: 0 28px 80px rgba(38,37,37,0.14)
- **Md**: 0 14px 36px rgba(38,37,37,0.10)
- **Sm**: 0 1px 2px rgba(38,37,37,0.06)

### Spacing

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

### Surfaces

- **Bg Pattern**: very quiet dotted point texture in open margins only, non-boxy and below 5% opacity
- **Card Style**: 1px near-invisible warm-gray border, 18px radius, almost no shadow unless selected
- **Treatment**: white and warm ivory surfaces with semi-matte painted color fields

### Typography

- **Base Size**: 16px
- **Body Font**: Manrope
- **Body Letter Spacing**: -0.02em
- **Body Line Height**: 1.56
- **Display Letter Spacing**: -0.035em
- **Display Line Height**: 1.12
- **Google Fonts Url**: https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500;600&family=Manrope:wght@400;500;600;700;800&display=swap
- **Heading Font**: Manrope
- **Mono Font**: IBM Plex Mono
- **Scale Ratio**: 1.22

## Rules

### Composition

- Use a restrained app shell with top command bar, a narrow catalog rail, and an asymmetric detail canvas where one color field clearly dominates.
- Avoid three equal cards; supporting modules vary in width, density, and visual weight around a larger working swatch panel.
- Let color blocks be controls, data cells, active selections, filters, and relationship maps, never thin ornamental side strips.
- Create at least one grid break through an oversized color proof panel, inset comparison tray, or full-width approval band.
- Keep the neutral shell quiet so vivid color appears authored, premium, and useful rather than decorative.
- Use dotted texture only in open margins as a low-opacity paper registration cue, not as a square grid.

### Density

Balanced premium density: broad outer margins and a spacious proof area contrast with compact catalog rows, labels, and numeric swatch metadata. Tight internal clusters may use 8px gaps while major zones open to 64px or more.

### Hierarchy

- Graphite type, white space, and scale establish hierarchy before color intensity is introduced.
- One or two prominent painted fields carry primary attention; smaller chips operate as metadata and navigation.
- Monospace values are reserved for hex, contrast, delta, and production notes.
- Selected states use an inset graphite focus ring plus slight lift rather than glow or saturation changes.

### Signature Patterns

- Swatch cards are functional modules with color field, relationship label, hex value, contrast score, and action control arranged as a reusable product primitive.
- Tetrad trays group four vivid color cells into a single semantic object with one shared caption and no decorative perimeter striping.
- Selected content uses an inset graphite focus ring and subtle surface lift while the relevant color cell expands proportionally inside the layout.
- Catalog comparison rows use color as a full table cell or status capsule, never as a thin ornamental sidebar or arbitrary dot.

## Layout

### Breakpoints

Mobile 375px single column with rail collapsed into segmented filters, tablet 768px stacks rail above canvas, desktop 1200px and up uses two-column catalog workspace.

### Density

Balanced with a strong 8:1 spacing rhythm: compact 8px label/value clusters sit inside broad 64px to 96px proofing zones so the workspace feels expert, premium, and calm.

### Grid

12-column desktop grid with a 280px navigation/catalog rail and fluid detail canvas; modules align to 8px spacing without visible square-grid backgrounds. Desktop max width is 1360px with asymmetric 5/7 and 4/8 splits.

### Whitespace

Open white and bone-white margins frame dense swatch information; color fields receive at least 16px internal padding and 24px exterior breathing room, while hero proof panels get 48px to 64px.

## Guidance

### Do

- Use color blocks as controls, data cells, active selections, filters, and relationship maps.
- Keep neutral shell, typography, and borders quiet so color appears authored and premium.
- Pair vivid accents with explicit labels, values, and product actions for accessibility.
- Use a single committed 18px radius family and hairline border system across controls.
- Give one swatch or proof panel clear dominance in every composition.
- Use Manrope for calm editorial UI and IBM Plex Mono only for color values and measurement.
- Prefer near-invisible warm-gray borders and inset focus rings over heavy outlines.
- Let major spacing jumps create rhythm rather than filling every area with decoration.

### Don't

- Do not use color as confetti, startup blobs, neon glow, or decorative garnish.
- Do not add side rail accents to cards, buttons, rows, or panels.
- Do not use square-grid wallpaper or generic admin dashboard widgets.
- Do not create childish rainbow sequences without semantic grouping.
- Do not arrange three equal cards in a row or give every section the same weight.
- Do not mix arbitrary pill, blob, and large-card radii outside the committed scale.
- Do not rely on color alone; every semantic color must carry text, shape, or position.
- Do not use gradients when a flat color field or blurred neutral underlay will do.

### Accessibility

All large swatches require labels and values; interactive color cells must include focus rings, keyboard states, and text alternatives. Body text remains 15-16px with -0.02em tracking, contrast is checked on every painted field, and status is never communicated by hue alone.

### Usage Context

Best for premium color catalog tools, palette approval systems, brand-kit editors, design-token workbenches, and product interfaces where color itself is the managed object.
DESIGN.md
---
version: "alpha"
name: "Chromatic Folio System"
description: "Agent-curated design language exported from Katagami as DESIGN.md."
colors:
  accent: "#9B7AE8"
  background: "#FFFFFF"
  error: "#B83232"
  info: "#0B88A8"
  muted: "#756F66"
  primary: "#2457E6"
  secondary: "#E6542A"
  success: "#4F8A3D"
  surface: "#FFFCF5"
  surface_warm: "#F7F3EA"
  text: "#262525"
  warning: "#D8A21B"
typography:
  headline-lg:
    fontFamily: "Manrope"
    fontSize: "1.816rem"
    fontWeight: 700
    lineHeight: 1.1
    letterSpacing: "-0.02em"
  headline-md:
    fontFamily: "Manrope"
    fontSize: "1.488rem"
    fontWeight: 600
    lineHeight: 1.15
    letterSpacing: "-0.02em"
  body-md:
    fontFamily: "Manrope"
    fontSize: "16px"
    fontWeight: 400
    lineHeight: 1.5
    letterSpacing: "-0.02em"
  label-md:
    fontFamily: "IBM Plex Mono"
    fontSize: "0.75rem"
    fontWeight: 600
    lineHeight: 1
    letterSpacing: "0.08em"
rounded:
  full: "9999px"
  lg: "18px"
  md: "14px"
  none: "0px"
  sm: "10px"
spacing:
  base: "8px"
  xs: "4px"
  sm: "8px"
  md: "12px"
  lg: "16px"
  xl: "24px"
  2xl: "32px"
  3xl: "48px"
  4xl: "64px"
  step-8: "96px"
  step-9: "128px"
components:
  color-reference-accent:
    backgroundColor: "{colors.accent}"
  color-reference-background:
    backgroundColor: "{colors.background}"
  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-surface_warm:
    backgroundColor: "{colors.surface_warm}"
  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 Folio System

## Overview

Chromatic Folio System treats vivid color as a product data layer inside a quiet premium workspace. It is designed for Pigment Atlas Pro, a fictional color-catalog application where curators compare palettes, assign semantic roles, and prepare production-ready swatch sets for premium product interfaces. The language borrows the clarity of Apple-style document tools and the discipline of printed color atlases: bone-white surfaces, graphite text, exact labels, and large meaningful color fields. Color is never garnish; it is the thing being edited, approved, filtered, and compared. The interface should feel calm enough for long expert sessions while giving selected hues enough scale to become memorable structural landmarks.

### Values

- authored color theory as interface structure rather than rainbow decoration
- bone-white premium restraint with graphite clarity and little surface noise
- catalog-like comparison tools embedded in real product workflows
- large semantic swatches that carry labels, values, state, and actions
- one committed radius family so softness feels deliberate rather than arbitrary
- accessible color use where every vivid block has text, value, or spatial meaning

### Anti-Values

- rainbow garnish, confetti, startup blobs, or neon glow used only to excite
- generic SaaS dashboard chrome with equal metric cards and ornamental side rails
- square-grid wallpaper, textbook-page styling, or decorative graph paper backgrounds
- mixed arbitrary radii that make the system feel plush instead of authored

### Visual Character

- Bone-white application shell with graphite typography, single-pixel warm-gray borders, and almost-flat controls using one committed 18px radius geometry across panels and primary controls.
- Large painted color fields appear as content-bearing panels with embedded labels, numeric values, contrast notes, and approval actions instead of background decoration.
- Functional swatch modules use compact color chips, proportional color bars, and palette rows to encode status, category, ownership, and comparison relationships.
- Complementary and tetradic pairings are shown through paired swatch cells, small relationship marks, and catalog trays that remain aligned to product hierarchy.
- Quiet dotted point texture is limited to empty canvas regions at very low opacity, never forming a square grid or competing with the working catalog content.

## 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 | `#9B7AE8` |
| background | `#FFFFFF` |
| error | `#B83232` |
| info | `#0B88A8` |
| muted | `#756F66` |
| primary | `#2457E6` |
| secondary | `#E6542A` |
| success | `#4F8A3D` |
| surface | `#FFFCF5` |
| surface_warm | `#F7F3EA` |
| text | `#262525` |
| warning | `#D8A21B` |

## Typography

- **Headline-Lg**: Manrope, 1.816rem, weight 700, line-height 1.1.
- **Headline-Md**: Manrope, 1.488rem, weight 600, line-height 1.15.
- **Body-Md**: Manrope, 16px, weight 400, line-height 1.5.
- **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`
- **Step-8**: `96px`
- **Step-9**: `128px`

### Breakpoints

Mobile 375px single column with rail collapsed into segmented filters, tablet 768px stacks rail above canvas, desktop 1200px and up uses two-column catalog workspace.

### Density

Balanced with a strong 8:1 spacing rhythm: compact 8px label/value clusters sit inside broad 64px to 96px proofing zones so the workspace feels expert, premium, and calm.

### Grid

12-column desktop grid with a 280px navigation/catalog rail and fluid detail canvas; modules align to 8px spacing without visible square-grid backgrounds. Desktop max width is 1360px with asymmetric 5/7 and 4/8 splits.

### Whitespace

Open white and bone-white margins frame dense swatch information; color fields receive at least 16px internal padding and 24px exterior breathing room, while hero proof panels get 48px to 64px.

## Elevation & Depth

### Shadows

- **Lg**: 0 28px 80px rgba(38,37,37,0.14)
- **Md**: 0 14px 36px rgba(38,37,37,0.10)
- **Sm**: 0 1px 2px rgba(38,37,37,0.06)

## Shapes

### Rounded

- **Full**: `9999px`
- **Lg**: `18px`
- **Md**: `14px`
- **None**: `0px`
- **Sm**: `10px`

### Surfaces

- **Bg Pattern**: very quiet dotted point texture in open margins only, non-boxy and below 5% opacity
- **Card Style**: 1px near-invisible warm-gray border, 18px radius, almost no shadow unless selected
- **Treatment**: white and warm ivory surfaces with semi-matte painted color fields

### Borders

- **Accent Width**: 2px
- **Character**: warm-gray hairlines and inset graphite focus rings; no decorative side strips
- **Default Width**: 1px
- **Style**: solid

## Components

### Composition

- Use a restrained app shell with top command bar, a narrow catalog rail, and an asymmetric detail canvas where one color field clearly dominates.
- Avoid three equal cards; supporting modules vary in width, density, and visual weight around a larger working swatch panel.
- Let color blocks be controls, data cells, active selections, filters, and relationship maps, never thin ornamental side strips.
- Create at least one grid break through an oversized color proof panel, inset comparison tray, or full-width approval band.
- Keep the neutral shell quiet so vivid color appears authored, premium, and useful rather than decorative.
- Use dotted texture only in open margins as a low-opacity paper registration cue, not as a square grid.

### Density

Balanced premium density: broad outer margins and a spacious proof area contrast with compact catalog rows, labels, and numeric swatch metadata. Tight internal clusters may use 8px gaps while major zones open to 64px or more.

### Hierarchy

- Graphite type, white space, and scale establish hierarchy before color intensity is introduced.
- One or two prominent painted fields carry primary attention; smaller chips operate as metadata and navigation.
- Monospace values are reserved for hex, contrast, delta, and production notes.
- Selected states use an inset graphite focus ring plus slight lift rather than glow or saturation changes.

### Signature Patterns

- Swatch cards are functional modules with color field, relationship label, hex value, contrast score, and action control arranged as a reusable product primitive.
- Tetrad trays group four vivid color cells into a single semantic object with one shared caption and no decorative perimeter striping.
- Selected content uses an inset graphite focus ring and subtle surface lift while the relevant color cell expands proportionally inside the layout.
- Catalog comparison rows use color as a full table cell or status capsule, never as a thin ornamental sidebar or arbitrary dot.

## 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-019e45e5-c2fc-7452-9c65-74dc41cd96f2/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 Use color blocks as controls, data cells, active selections, filters, and relationship maps.
- Do Keep neutral shell, typography, and borders quiet so color appears authored and premium.
- Do Pair vivid accents with explicit labels, values, and product actions for accessibility.
- Do Use a single committed 18px radius family and hairline border system across controls.
- Do Give one swatch or proof panel clear dominance in every composition.
- Do Use Manrope for calm editorial UI and IBM Plex Mono only for color values and measurement.
- Do Prefer near-invisible warm-gray borders and inset focus rings over heavy outlines.
- Do Let major spacing jumps create rhythm rather than filling every area with decoration.
- Don't Do not use color as confetti, startup blobs, neon glow, or decorative garnish.
- Don't Do not add side rail accents to cards, buttons, rows, or panels.
- Don't Do not use square-grid wallpaper or generic admin dashboard widgets.
- Don't Do not create childish rainbow sequences without semantic grouping.
- Don't Do not arrange three equal cards in a row or give every section the same weight.
- Don't Do not mix arbitrary pill, blob, and large-card radii outside the committed scale.
- Don't Do not rely on color alone; every semantic color must carry text, shape, or position.
- Don't Do not use gradients when a flat color field or blurred neutral underlay will do.

### Accessibility

All large swatches require labels and values; interactive color cells must include focus rings, keyboard states, and text alternatives. Body text remains 15-16px with -0.02em tracking, contrast is checked on every painted field, and status is never communicated by hue alone.

### Usage Context

Best for premium color catalog tools, palette approval systems, brand-kit editors, design-token workbenches, and product interfaces where color itself is the managed object.
shadcn/ui theme
```json
{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "chromatic-folio-system",
  "type": "registry:theme",
  "title": "Chromatic Folio System shadcn Theme",
  "cssVars": {
    "theme": {},
    "light": {
      "background": "#FFFFFF",
      "foreground": "#262525",
      "card": "#FFFCF5",
      "card-foreground": "#262525",
      "popover": "#FFFCF5",
      "popover-foreground": "#262525",
      "primary": "#2457E6",
      "primary-foreground": "#ffffff",
      "secondary": "#E6542A",
      "secondary-foreground": "#ffffff",
      "muted": "#756F66",
      "muted-foreground": "#262525",
      "accent": "#9B7AE8",
      "accent-foreground": "#ffffff",
      "destructive": "#B83232",
      "border": "rgba(38,37,37,0.10)",
      "input": "rgba(38,37,37,0.10)",
      "ring": "#9B7AE8",
      "chart-1": "#2457E6",
      "chart-2": "#E6542A",
      "chart-3": "#9B7AE8",
      "chart-4": "#4F8A3D",
      "chart-5": "#D8A21B",
      "sidebar": "#FFFCF5",
      "sidebar-foreground": "#262525",
      "sidebar-primary": "#2457E6",
      "sidebar-primary-foreground": "#ffffff",
      "sidebar-accent": "#0B88A8",
      "sidebar-accent-foreground": "#ffffff",
      "sidebar-border": "rgba(38,37,37,0.10)",
      "sidebar-ring": "#9B7AE8",
      "radius": "14px"
    },
    "dark": {
      "background": "#0f1115",
      "foreground": "#f8fafc",
      "card": "#181b22",
      "card-foreground": "#f8fafc",
      "popover": "#181b22",
      "popover-foreground": "#f8fafc",
      "primary": "#2457E6",
      "primary-foreground": "#ffffff",
      "secondary": "#252a33",
      "secondary-foreground": "#f8fafc",
      "muted": "#252a33",
      "muted-foreground": "#a1a1aa",
      "accent": "#9B7AE8",
      "accent-foreground": "#ffffff",
      "destructive": "#B83232",
      "border": "#303642",
      "input": "#303642",
      "ring": "#9B7AE8",
      "chart-1": "#2457E6",
      "chart-2": "#E6542A",
      "chart-3": "#9B7AE8",
      "chart-4": "#4F8A3D",
      "chart-5": "#D8A21B",
      "sidebar": "#181b22",
      "sidebar-foreground": "#f8fafc",
      "sidebar-primary": "#2457E6",
      "sidebar-primary-foreground": "#ffffff",
      "sidebar-accent": "#9B7AE8",
      "sidebar-accent-foreground": "#ffffff",
      "sidebar-border": "#303642",
      "sidebar-ring": "#9B7AE8",
      "radius": "14px"
    }
  },
  "meta": {
    "source": "katagami",
    "languageId": "en-019e45e5-c2fc-7452-9c65-74dc41cd96f2",
    "slug": "chromatic-folio-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",
        "surface_warm",
        "text",
        "warning"
      ],
      "motion": [
        "duration",
        "easing",
        "philosophy"
      ],
      "opacity": [
        "disabled",
        "subtle",
        "texture"
      ],
      "radii": [
        "full",
        "lg",
        "md",
        "none",
        "sm"
      ],
      "shadows": [
        "lg",
        "md",
        "sm"
      ],
      "spacing": [
        "base",
        "scale"
      ],
      "surfaces": [
        "bg_pattern",
        "card_style",
        "treatment"
      ],
      "typography": [
        "base_size",
        "body_font",
        "body_letter_spacing",
        "body_line_height",
        "display_letter_spacing",
        "display_line_height",
        "google_fonts_url",
        "heading_font",
        "mono_font",
        "scale_ratio"
      ]
    }
  }
}
```
in the wild

embodiments

the full element showcase
embodiment · chromatic-folio-system
DESIGN.md

at a glance

Palette

Typography

headline-lgManrope · 29px · 700

The quick brown fox jumps

headline-mdManrope · 24px · 600

The quick brown fox jumps

body-mdManrope · 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
  • step-896px
  • step-9128px

Shape

full9999px
lg18px
md14px
none0px
sm10px
shadcn/ui

implementation kit

needs agent-authored kitcompatibility fallback
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: #FFFFFF;
  --foreground: #262525;
  --card: #FFFCF5;
  --card-foreground: #262525;
  --popover: #FFFCF5;
  --popover-foreground: #262525;
  --primary: #2457E6;
  --primary-foreground: #ffffff;
  --secondary: #E6542A;
  --secondary-foreground: #ffffff;
  --muted: #756F66;
  --muted-foreground: #262525;
  --accent: #9B7AE8;
  --accent-foreground: #ffffff;
  --destructive: #B83232;
  --border: rgba(38,37,37,0.10);
  --input: rgba(38,37,37,0.10);
  --ring: #9B7AE8;
  --chart-1: #2457E6;
  --chart-2: #E6542A;
  --chart-3: #9B7AE8;
  --chart-4: #4F8A3D;
  --chart-5: #D8A21B;
  --sidebar: #FFFCF5;
  --sidebar-foreground: #262525;
  --sidebar-primary: #2457E6;
  --sidebar-primary-foreground: #ffffff;
  --sidebar-accent: #0B88A8;
  --sidebar-accent-foreground: #ffffff;
  --sidebar-border: rgba(38,37,37,0.10);
  --sidebar-ring: #9B7AE8;
  --radius: 14px;
}

.dark {
  --background: #0f1115;
  --foreground: #f8fafc;
  --card: #181b22;
  --card-foreground: #f8fafc;
  --popover: #181b22;
  --popover-foreground: #f8fafc;
  --primary: #2457E6;
  --primary-foreground: #ffffff;
  --secondary: #252a33;
  --secondary-foreground: #f8fafc;
  --muted: #252a33;
  --muted-foreground: #a1a1aa;
  --accent: #9B7AE8;
  --accent-foreground: #ffffff;
  --destructive: #B83232;
  --border: #303642;
  --input: #303642;
  --ring: #9B7AE8;
  --chart-1: #2457E6;
  --chart-2: #E6542A;
  --chart-3: #9B7AE8;
  --chart-4: #4F8A3D;
  --chart-5: #D8A21B;
  --sidebar: #181b22;
  --sidebar-foreground: #f8fafc;
  --sidebar-primary: #2457E6;
  --sidebar-primary-foreground: #ffffff;
  --sidebar-accent: #9B7AE8;
  --sidebar-accent-foreground: #ffffff;
  --sidebar-border: #303642;
  --sidebar-ring: #9B7AE8;
  --radius: 14px;
}
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 ChromaticFolioSystemShadcnKit() {
  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 Folio 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 JSONstored + verified
{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "cssVars": {
    "dark": {
      "accent": "#9B7AE8",
      "accent-foreground": "#ffffff",
      "background": "#0f1115",
      "border": "#303642",
      "card": "#181b22",
      "card-foreground": "#f8fafc",
      "chart-1": "#2457E6",
      "chart-2": "#E6542A",
      "chart-3": "#9B7AE8",
      "chart-4": "#4F8A3D",
      "chart-5": "#D8A21B",
      "destructive": "#B83232",
      "foreground": "#f8fafc",
      "input": "#303642",
      "muted": "#252a33",
      "muted-foreground": "#a1a1aa",
      "popover": "#181b22",
      "popover-foreground": "#f8fafc",
      "primary": "#2457E6",
      "primary-foreground": "#ffffff",
      "radius": "14px",
      "ring": "#9B7AE8",
      "secondary": "#252a33",
      "secondary-foreground": "#f8fafc",
      "sidebar": "#181b22",
      "sidebar-accent": "#9B7AE8",
      "sidebar-accent-foreground": "#ffffff",
      "sidebar-border": "#303642",
      "sidebar-foreground": "#f8fafc",
      "sidebar-primary": "#2457E6",
      "sidebar-primary-foreground": "#ffffff",
      "sidebar-ring": "#9B7AE8"
    },
    "light": {
      "accent": "#9B7AE8",
      "accent-foreground": "#ffffff",
      "background": "#FFFFFF",
      "border": "rgba(38,37,37,0.10)",
      "card": "#FFFCF5",
      "card-foreground": "#262525",
      "chart-1": "#2457E6",
      "chart-2": "#E6542A",
      "chart-3": "#9B7AE8",
      "chart-4": "#4F8A3D",
      "chart-5": "#D8A21B",
      "destructive": "#B83232",
      "foreground": "#262525",
      "input": "rgba(38,37,37,0.10)",
      "muted": "#756F66",
      "muted-foreground": "#262525",
      "popover": "#FFFCF5",
      "popover-foreground": "#262525",
      "primary": "#2457E6",
      "primary-foreground": "#ffffff",
      "radius": "14px",
      "ring": "#9B7AE8",
      "secondary": "#E6542A",
      "secondary-foreground": "#ffffff",
      "sidebar": "#FFFCF5",
      "sidebar-accent": "#0B88A8",
      "sidebar-accent-foreground": "#ffffff",
      "sidebar-border": "rgba(38,37,37,0.10)",
      "sidebar-foreground": "#262525",
      "sidebar-primary": "#2457E6",
      "sidebar-primary-foreground": "#ffffff",
      "sidebar-ring": "#9B7AE8"
    },
    "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-019e45e5-c2fc-7452-9c65-74dc41cd96f2",
    "nativeTokenNames": {
      "borders": [
        "accent_width",
        "character",
        "default_width",
        "style"
      ],
      "colors": [
        "accent",
        "background",
        "border",
        "error",
        "info",
        "muted",
        "primary",
        "secondary",
        "success",
        "surface",
        "surface_warm",
        "text",
        "warning"
      ],
      "motion": [
        "duration",
        "easing",
        "philosophy"
      ],
      "opacity": [
        "disabled",
        "subtle",
        "texture"
      ],
      "radii": [
        "full",
        "lg",
        "md",
        "none",
        "sm"
      ],
      "shadows": [
        "lg",
        "md",
        "sm"
      ],
      "spacing": [
        "base",
        "scale"
      ],
      "surfaces": [
        "bg_pattern",
        "card_style",
        "treatment"
      ],
      "typography": [
        "base_size",
        "body_font",
        "body_letter_spacing",
        "body_line_height",
        "display_letter_spacing",
        "display_line_height",
        "google_fonts_url",
        "heading_font",
        "mono_font",
        "scale_ratio"
      ]
    },
    "slug": "chromatic-folio-system",
    "source": "katagami"
  },
  "name": "chromatic-folio-system",
  "title": "Chromatic Folio System shadcn Theme",
  "type": "registry:theme"
}
component recipescompatibility fallback
# Chromatic Folio System shadcn/ui Components

Artifact: `component-recipes-v1`
Author: `katagami-ui-projection`
Language ID: `en-019e45e5-c2fc-7452-9c65-74dc41cd96f2`
Slug: `chromatic-folio-system`

## Intent

Chromatic Folio System treats vivid color as a product data layer inside a quiet premium workspace. It is designed for Pigment Atlas Pro, a fictional color-catalog application where curators compare palettes, assign semantic roles, and prepare production-ready swatch sets for premium product interfaces. The language borrows the clarity of Apple-style document tools and the discipline of printed color atlases: bone-white surfaces, graphite text, exact labels, and large meaningful color fields. Color is never garnish; it is the thing being edited, approved, filtered, and compared. The interface should feel calm enough for long expert sessions while giving selected hues enough scale to become memorable structural landmarks.

## 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": "#9B7AE8",
  "background": "#FFFFFF",
  "border": "rgba(38,37,37,0.10)",
  "error": "#B83232",
  "info": "#0B88A8",
  "muted": "#756F66",
  "primary": "#2457E6",
  "secondary": "#E6542A",
  "success": "#4F8A3D",
  "surface": "#FFFCF5",
  "surface_warm": "#F7F3EA",
  "text": "#262525",
  "warning": "#D8A21B"
}

Typography:

{
  "base_size": "16px",
  "body_font": "Manrope",
  "body_letter_spacing": "-0.02em",
  "body_line_height": 1.56,
  "display_letter_spacing": "-0.035em",
  "display_line_height": 1.12,
  "google_fonts_url": "https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500;600&family=Manrope:wght@400;500;600;700;800&display=swap",
  "heading_font": "Manrope",
  "mono_font": "IBM Plex Mono",
  "scale_ratio": 1.22
}

## Visual character to preserve

- Bone-white application shell with graphite typography, single-pixel warm-gray borders, and almost-flat controls using one committed 18px radius geometry across panels and primary controls.
- Large painted color fields appear as content-bearing panels with embedded labels, numeric values, contrast notes, and approval actions instead of background decoration.
- Functional swatch modules use compact color chips, proportional color bars, and palette rows to encode status, category, ownership, and comparison relationships.
- Complementary and tetradic pairings are shown through paired swatch cells, small relationship marks, and catalog trays that remain aligned to product hierarchy.
- Quiet dotted point texture is limited to empty canvas regions at very low opacity, never forming a square grid or competing with the working catalog content.

## ShadSync visual profile

{
  "family": "system",
  "material": "flat",
  "contour": "default",
  "border": "solid",
  "underlay": false,
  "grain": true,
  "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/chromatic-folio-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: Use color blocks as controls, data cells, active selections, filters, and relationship maps.; Keep neutral shell, typography, and borders quiet so color appears authored and premium.; Pair vivid accents with explicit labels, values, and product actions for accessibility.; Use a single committed 18px radius family and hairline border system across controls.; Give one swatch or proof panel clear dominance in every composition.; Use Manrope for calm editorial UI and IBM Plex Mono only for color values and measurement.; Prefer near-invisible warm-gray borders and inset focus rings over heavy outlines.; Let major spacing jumps create rhythm rather than filling every area with decoration.
- Do not: Do not use color as confetti, startup blobs, neon glow, or decorative garnish.; Do not add side rail accents to cards, buttons, rows, or panels.; Do not use square-grid wallpaper or generic admin dashboard widgets.; Do not create childish rainbow sequences without semantic grouping.; Do not arrange three equal cards in a row or give every section the same weight.; Do not mix arbitrary pill, blob, and large-card radii outside the committed scale.; Do not rely on color alone; every semantic color must carry text, shape, or position.; Do not use gradients when a flat color field or blurred neutral underlay will do.

## 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 ChromaticFolioSystemShadcnKit() {
  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 Folio 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 375px single column with rail collapsed into segmented filters, tablet 768px stacks rail above canvas, desktop 1200px and up uses two-column catalog workspace.",
  "density": "Balanced with a strong 8:1 spacing rhythm: compact 8px label/value clusters sit inside broad 64px to 96px proofing zones so the workspace feels expert, premium, and calm.",
  "grid": "12-column desktop grid with a 280px navigation/catalog rail and fluid detail canvas; modules align to 8px spacing without visible square-grid backgrounds. Desktop max width is 1360px with asymmetric 5/7 and 4/8 splits.",
  "whitespace": "Open white and bone-white margins frame dense swatch information; color fields receive at least 16px internal padding and 24px exterior breathing room, while hero proof panels get 48px to 64px."
}
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-019e45e5-c2fc-7452-9c65-74dc41cd96f2",
    "name": "Chromatic Folio System",
    "slug": "chromatic-folio-system"
  },
  "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 application shell with graphite typography, single-pixel warm-gray borders, and almost-flat controls using one committed 18px radius geometry across panels and primary controls.",
    "Large painted color fields appear as content-bearing panels with embedded labels, numeric values, contrast notes, and approval actions instead of background decoration.",
    "Functional swatch modules use compact color chips, proportional color bars, and palette rows to encode status, category, ownership, and comparison relationships.",
    "Complementary and tetradic pairings are shown through paired swatch cells, small relationship marks, and catalog trays that remain aligned to product hierarchy.",
    "Quiet dotted point texture is limited to empty canvas regions at very low opacity, never forming a square grid or competing with the working catalog content."
  ],
  "visualProfile": {
    "family": "system",
    "material": "flat",
    "contour": "default",
    "border": "solid",
    "underlay": false,
    "grain": true,
    "stickerBadges": false,
    "motion": "lift",
    "density": "dense",
    "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 Folio System 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": [
      "Use color blocks as controls, data cells, active selections, filters, and relationship maps.",
      "Keep neutral shell, typography, and borders quiet so color appears authored and premium.",
      "Pair vivid accents with explicit labels, values, and product actions for accessibility.",
      "Use a single committed 18px radius family and hairline border system across controls.",
      "Give one swatch or proof panel clear dominance in every composition.",
      "Use Manrope for calm editorial UI and IBM Plex Mono only for color values and measurement.",
      "Prefer near-invisible warm-gray borders and inset focus rings over heavy outlines.",
      "Let major spacing jumps create rhythm rather than filling every area with decoration."
    ],
    "dont": [
      "Do not use color as confetti, startup blobs, neon glow, or decorative garnish.",
      "Do not add side rail accents to cards, buttons, rows, or panels.",
      "Do not use square-grid wallpaper or generic admin dashboard widgets.",
      "Do not create childish rainbow sequences without semantic grouping.",
      "Do not arrange three equal cards in a row or give every section the same weight.",
      "Do not mix arbitrary pill, blob, and large-card radii outside the committed scale.",
      "Do not rely on color alone; every semantic color must carry text, shape, or position.",
      "Do not use gradients when a flat color field or blurred neutral underlay will do."
    ]
  }
}
related

More like this