back to gallerydo avoid
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
- 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 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
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
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: #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