back to gallerydo avoid
design language·aya-katagami-precision-system
AYA Katagami Precision 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
A quiet, text-first product design language that translates katagami stencil craft into precise application grammar: clean apertures, thin cut-lines, repeatable modules, meaningful voids, and intelligence revealed only where the interface is pierced. It is built for dashboards, evidence review, research tools, editorial data products, and AI workspaces that need high trust and controlled density without generic SaaS softness. The system treats negative space as an affordance, uses porcelain whites and sumi ink hierarchy as the primary visual field, and reserves indigo or cinnabar for small registration-like moments: active routes, selected evidence, destructive actions, urgent insight, or a single featured data point.
values
katagami precision expressed as apertures, clipped previews, strict edges, and repeatable modules rather than decorationJapanese editorial clarity: generous ma, disciplined vertical rhythm, compact labels, and confident document headingsquiet woven intelligence through aligned threads, column rules, timeline ticks, annotations, and contextual seamslong-session legibility with porcelain neutral surfaces, sumi text, and low-noise bordersrestraint in accent color: indigo for selection and active routes, cinnabar for danger or one featured insight onlyprogressive disclosure through masks, drawers, panels, and clipped excerpts instead of popover clutterdata density controlled by grid, rules, and tabular type rather than heavy zebra striping or chrome
anti-values
×ornamental Japanese pattern backgrounds that turn craft references into wallpaper×rounded bubbly SaaS cards, large tinted panels, gradient buttons, or confetti feedback×drop-shadow depth language used as the primary separator×busy Kanban/dashboard chrome with too many badges, pills, and icon-only controls×ambiguous controls that rely on icons alone instead of precise labels×full-row color washes, rainbow charts, or decorative accent fields×fake handmade irregularity that compromises alignment or product trust
tokens
borders4 items
- active
- 2px solid #275E76
- hairline
- 1px solid #DCDAD2
- puncture
- 2px solid #A7472B
- soft
- 1px solid #ECEAE2
colors12 items
accent
#A7472B
background
#FCFCFA
border
#DCDAD2
border_soft
#ECEAE2
primary
#275E76
primary_soft
#D9E8EE
success
#4F6F54
surface
#FFFFFF
surface_cut
#F6F6F2
surface_tint
#E8F1F4
text
#1F1F1C
text_muted
#737067
motion5 items
- disclosure
- short paper-mask reveal without bounce
- duration
- 120ms
- easing
- cubic-bezier(0.2, 0, 0, 1)
- hover
- sharpen border and lift no more than 1px
- reduced motion
- instant opacity and border state changes
opacity3 items
- disabled
- 0.45
- muted
- 0.72
- underlay
- 0.18
radii5 items
- lg
- 4px
- md
- 2px
- none
- 0px
- pill
- 9999px
- sm
- 0px
shadows3 items
- lg
- none
- md
- none
- sm
- none
spacing2 items
- base
- 4px
- scale
- 4, 8, 12, 16, 20, 24, 32, 40, 48, 64, 96
surfaces4 items
- canvas
- porcelain #FCFCFA
- inset
- #F6F6F2 clipped evidence aperture
- plate
- flat #FFFFFF with one #DCDAD2 cut-line border
- selection
- #E8F1F4 active thread wash used sparingly
typography5 items
- body font
- Inter
- google fonts url
- https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=IBM+Plex+Mono:wght@400;500&display=swap
- heading font
- Inter
- mono font
- IBM Plex Mono
- scale
- body 16px/1.65·caption 12px/1.45·display 40px/1.08·h1 32px/1.15·h2 24px/1.22
rules
composition
Build screens as a stencil of panels: navigation, document body, data plate, and inspector are separated by thin cut-lines. Use segmented tabs, disclosure panels, clipped preview blocks, and evidence drawers for progressive reveal. Avoid floating popovers unless they are brief confirmations.
density
Support analytical workflows with compact rows, column rules, timeline ticks, and annotation seams. Keep chrome quiet: one primary action cluster per view, clear text labels, and no badge overload.
hierarchy
Typography and rules create hierarchy before color. Headings are confident and document-like; labels are compact with restrained letterspacing; IDs, timestamps, row numbers, and metrics use tabular mono. Accent marks must align to grid intersections or component edges.
signature patterns
Indigo registration marks: 2px left rules, small corner ticks, or underlines for active routes and selected records.Cinnabar puncture: a single dot, rule, or small filled chip for destructive actions, urgent exceptions, or one highlighted insight.Clipped evidence apertures: excerpts sit inside rectangular masks with hard edges and a visible cut-line header.Sashiko annotation seams: dotted or dashed thread lines connect comments, timeline events, and provenance without becoming decoration.Column-rule tables: thin vertical dividers, tabular numbers, compact headers, and text-first status labels before color.Stencil empty states: one precise void or outline, one aligned accent mark, and a short instruction.
layout
breakpoints
Mobile <= 640px stacks navigation, content, and inspector; tablet 641-1024px uses content plus collapsible inspector; desktop >= 1025px preserves the full modular shell with aligned cut-lines.
density
Controlled high clarity: compact labels and data rows are permitted, but each module needs a visible rule structure and enough ma around headings and decisions. Prefer fewer, better aligned modules over dashboard sprawl.
grid
Strict modular grid with 4px base and 8px visual rhythm. Desktop uses a measured shell: 220-248px navigation, central text/evidence column, 320-360px inspector, and optional full-bleed evidence panel. Components snap to four widths: text, inspector, data plate, and full-bleed evidence.
responsive
On narrow screens, tables become ruled record plates with visible labels, drawers become inline disclosure panels, and active states retain the same small indigo registration marks.
whitespace
Whitespace is meaningful void. Use larger top and left margins around document headings, tight internal row rhythm for data, and empty apertures that imply what is hidden or filtered.
guidance
- Use porcelain neutrals, sumi ink text, 1px cut-line borders, and flat surfaces before introducing accent.
- Keep accent area below roughly 5 percent of the screen; make every accent aligned and functional.
- Use indigo for active navigation, selected rows, focus, and informational links.
- Use cinnabar only for destructive or urgent states, or for one featured insight on a screen.
- Reveal detail through clipped excerpts, drawers, disclosure panels, and masks.
- Style tables with column rules, tabular values, and explicit text labels.
- Make Japanese craft references structural: apertures, voids, seams, rhythm, and restraint.
- Do not use ornamental katagami patterns as backgrounds or decorative wallpaper.
- Do not use rounded bubbly SaaS cards, heavy shadows, glassmorphism, or large tinted panels.
- Do not create busy dashboard chrome, confetti, rainbow charts, or arbitrary category colors.
- Do not rely on ambiguous icon-only controls.
- Do not make irregular handmade effects that break the grid or reduce trust.
- Do not fill selected states with saturated color; use marks, rules, or pale selection only.
katagami spec
# AYA Katagami Precision System
## Philosophy
A quiet, text-first product design language that translates katagami stencil craft into precise application grammar: clean apertures, thin cut-lines, repeatable modules, meaningful voids, and intelligence revealed only where the interface is pierced. It is built for dashboards, evidence review, research tools, editorial data products, and AI workspaces that need high trust and controlled density without generic SaaS softness. The system treats negative space as an affordance, uses porcelain whites and sumi ink hierarchy as the primary visual field, and reserves indigo or cinnabar for small registration-like moments: active routes, selected evidence, destructive actions, urgent insight, or a single featured data point.
### Values
- katagami precision expressed as apertures, clipped previews, strict edges, and repeatable modules rather than decoration
- Japanese editorial clarity: generous ma, disciplined vertical rhythm, compact labels, and confident document headings
- quiet woven intelligence through aligned threads, column rules, timeline ticks, annotations, and contextual seams
- long-session legibility with porcelain neutral surfaces, sumi text, and low-noise borders
- restraint in accent color: indigo for selection and active routes, cinnabar for danger or one featured insight only
- progressive disclosure through masks, drawers, panels, and clipped excerpts instead of popover clutter
- data density controlled by grid, rules, and tabular type rather than heavy zebra striping or chrome
### Anti-Values
- ornamental Japanese pattern backgrounds that turn craft references into wallpaper
- rounded bubbly SaaS cards, large tinted panels, gradient buttons, or confetti feedback
- drop-shadow depth language used as the primary separator
- busy Kanban/dashboard chrome with too many badges, pills, and icon-only controls
- ambiguous controls that rely on icons alone instead of precise labels
- full-row color washes, rainbow charts, or decorative accent fields
- fake handmade irregularity that compromises alignment or product trust
### Visual Character
- White and porcelain panels are divided by 1px cut-line gray rules, with occasional clipped corners or rectangular apertures.
- Selected items show a small indigo registration mark, left rule, underline, or pale selection fill instead of saturated panels.
- Cinnabar appears as a pinpoint: destructive confirmation, urgent marker, or one editorially featured insight per screen.
- Tables use vertical column rules, compact headers, tabular values, and stitched annotation lines instead of heavy zebra striping.
- Empty states are stencil-like: a precise void, a single aligned mark, and a short explanatory line, never illustration-heavy.
## Tokens
### Borders
- **Active**: 2px solid #275E76
- **Hairline**: 1px solid #DCDAD2
- **Puncture**: 2px solid #A7472B
- **Soft**: 1px solid #ECEAE2
### Colors
| Name | Value |
|------|-------|
| accent | `#A7472B` |
| background | `#FCFCFA` |
| border | `#DCDAD2` |
| border_soft | `#ECEAE2` |
| primary | `#275E76` |
| primary_soft | `#D9E8EE` |
| success | `#4F6F54` |
| surface | `#FFFFFF` |
| surface_cut | `#F6F6F2` |
| surface_tint | `#E8F1F4` |
| text | `#1F1F1C` |
| text_muted | `#737067` |
### Motion
- **Disclosure**: short paper-mask reveal without bounce
- **Duration**: 120ms
- **Easing**: cubic-bezier(0.2, 0, 0, 1)
- **Hover**: sharpen border and lift no more than 1px
- **Reduced Motion**: instant opacity and border state changes
### Opacity
- **Disabled**: 0.45
- **Muted**: 0.72
- **Underlay**: 0.18
### Radii
- **Lg**: 4px
- **Md**: 2px
- **None**: 0px
- **Pill**: 9999px
- **Sm**: 0px
### Shadows
- **Lg**: none
- **Md**: none
- **Sm**: none
### Spacing
- **Base**: 4px
- **Scale**: [4,8,12,16,20,24,32,40,48,64,96]
### Surfaces
- **Canvas**: porcelain #FCFCFA
- **Inset**: #F6F6F2 clipped evidence aperture
- **Plate**: flat #FFFFFF with one #DCDAD2 cut-line border
- **Selection**: #E8F1F4 active thread wash used sparingly
### Typography
- **Body Font**: Inter
- **Google Fonts Url**: https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=IBM+Plex+Mono:wght@400;500&display=swap
- **Heading Font**: Inter
- **Mono Font**: IBM Plex Mono
- **Scale**: {"body":"16px/1.65","caption":"12px/1.45","display":"40px/1.08","h1":"32px/1.15","h2":"24px/1.22"}
## Rules
### Composition
Build screens as a stencil of panels: navigation, document body, data plate, and inspector are separated by thin cut-lines. Use segmented tabs, disclosure panels, clipped preview blocks, and evidence drawers for progressive reveal. Avoid floating popovers unless they are brief confirmations.
### Density
Support analytical workflows with compact rows, column rules, timeline ticks, and annotation seams. Keep chrome quiet: one primary action cluster per view, clear text labels, and no badge overload.
### Hierarchy
Typography and rules create hierarchy before color. Headings are confident and document-like; labels are compact with restrained letterspacing; IDs, timestamps, row numbers, and metrics use tabular mono. Accent marks must align to grid intersections or component edges.
### Signature Patterns
- Indigo registration marks: 2px left rules, small corner ticks, or underlines for active routes and selected records.
- Cinnabar puncture: a single dot, rule, or small filled chip for destructive actions, urgent exceptions, or one highlighted insight.
- Clipped evidence apertures: excerpts sit inside rectangular masks with hard edges and a visible cut-line header.
- Sashiko annotation seams: dotted or dashed thread lines connect comments, timeline events, and provenance without becoming decoration.
- Column-rule tables: thin vertical dividers, tabular numbers, compact headers, and text-first status labels before color.
- Stencil empty states: one precise void or outline, one aligned accent mark, and a short instruction.
## Layout
### Breakpoints
Mobile <= 640px stacks navigation, content, and inspector; tablet 641-1024px uses content plus collapsible inspector; desktop >= 1025px preserves the full modular shell with aligned cut-lines.
### Density
Controlled high clarity: compact labels and data rows are permitted, but each module needs a visible rule structure and enough ma around headings and decisions. Prefer fewer, better aligned modules over dashboard sprawl.
### Grid
Strict modular grid with 4px base and 8px visual rhythm. Desktop uses a measured shell: 220-248px navigation, central text/evidence column, 320-360px inspector, and optional full-bleed evidence panel. Components snap to four widths: text, inspector, data plate, and full-bleed evidence.
### Responsive
On narrow screens, tables become ruled record plates with visible labels, drawers become inline disclosure panels, and active states retain the same small indigo registration marks.
### Whitespace
Whitespace is meaningful void. Use larger top and left margins around document headings, tight internal row rhythm for data, and empty apertures that imply what is hidden or filtered.
## Guidance
### Do
- Use porcelain neutrals, sumi ink text, 1px cut-line borders, and flat surfaces before introducing accent.
- Keep accent area below roughly 5 percent of the screen; make every accent aligned and functional.
- Use indigo for active navigation, selected rows, focus, and informational links.
- Use cinnabar only for destructive or urgent states, or for one featured insight on a screen.
- Reveal detail through clipped excerpts, drawers, disclosure panels, and masks.
- Style tables with column rules, tabular values, and explicit text labels.
- Make Japanese craft references structural: apertures, voids, seams, rhythm, and restraint.
### Don't
- Do not use ornamental katagami patterns as backgrounds or decorative wallpaper.
- Do not use rounded bubbly SaaS cards, heavy shadows, glassmorphism, or large tinted panels.
- Do not create busy dashboard chrome, confetti, rainbow charts, or arbitrary category colors.
- Do not rely on ambiguous icon-only controls.
- Do not make irregular handmade effects that break the grid or reduce trust.
- Do not fill selected states with saturated color; use marks, rules, or pale selection only.
### Accessibility
Maintain WCAG AA contrast for all text and controls. Do not use indigo or cinnabar as the only state cue; pair with labels, rule position, ticks, or icons with text. Focus states use a visible 2px indigo outline or underline with offset. Keep disabled text above legibility thresholds and avoid pale gray body copy.
### Usage Context
Best for AI research tools, document intelligence, editorial dashboards, evidence review, operations consoles, compliance workflows, and data-heavy products that need calm precision and cultural nuance without ornament.
DESIGN.md
---
version: "alpha"
name: "AYA Katagami Precision System"
description: "Agent-curated design language exported from Katagami as DESIGN.md."
colors:
accent: "#A7472B"
background: "#FCFCFA"
border: "#DCDAD2"
border_soft: "#ECEAE2"
primary: "#275E76"
primary_soft: "#D9E8EE"
success: "#4F6F54"
surface: "#FFFFFF"
surface_cut: "#F6F6F2"
surface_tint: "#E8F1F4"
text: "#1F1F1C"
text_muted: "#737067"
typography:
headline-lg:
fontFamily: "Inter"
fontSize: "1.953rem"
fontWeight: 700
lineHeight: 1.1
letterSpacing: "-0.02em"
headline-md:
fontFamily: "Inter"
fontSize: "1.563rem"
fontWeight: 600
lineHeight: 1.15
letterSpacing: "-0.02em"
body-md:
fontFamily: "Inter"
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:
lg: "4px"
md: "2px"
none: "0px"
pill: "9999px"
sm: "0px"
spacing:
base: "4px"
xs: "4px"
sm: "8px"
md: "12px"
lg: "16px"
xl: "20px"
2xl: "24px"
3xl: "32px"
4xl: "40px"
step-8: "48px"
step-9: "64px"
step-10: "96px"
components:
color-reference-accent:
backgroundColor: "{colors.accent}"
color-reference-background:
backgroundColor: "{colors.background}"
color-reference-border:
backgroundColor: "{colors.border}"
color-reference-border_soft:
backgroundColor: "{colors.border_soft}"
color-reference-primary:
backgroundColor: "{colors.primary}"
color-reference-primary_soft:
backgroundColor: "{colors.primary_soft}"
color-reference-success:
backgroundColor: "{colors.success}"
color-reference-surface:
backgroundColor: "{colors.surface}"
color-reference-surface_cut:
backgroundColor: "{colors.surface_cut}"
color-reference-surface_tint:
backgroundColor: "{colors.surface_tint}"
color-reference-text:
backgroundColor: "{colors.text}"
color-reference-text_muted:
backgroundColor: "{colors.text_muted}"
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"
---
# AYA Katagami Precision System
## Overview
A quiet, text-first product design language that translates katagami stencil craft into precise application grammar: clean apertures, thin cut-lines, repeatable modules, meaningful voids, and intelligence revealed only where the interface is pierced. It is built for dashboards, evidence review, research tools, editorial data products, and AI workspaces that need high trust and controlled density without generic SaaS softness. The system treats negative space as an affordance, uses porcelain whites and sumi ink hierarchy as the primary visual field, and reserves indigo or cinnabar for small registration-like moments: active routes, selected evidence, destructive actions, urgent insight, or a single featured data point.
### Values
- katagami precision expressed as apertures, clipped previews, strict edges, and repeatable modules rather than decoration
- Japanese editorial clarity: generous ma, disciplined vertical rhythm, compact labels, and confident document headings
- quiet woven intelligence through aligned threads, column rules, timeline ticks, annotations, and contextual seams
- long-session legibility with porcelain neutral surfaces, sumi text, and low-noise borders
- restraint in accent color: indigo for selection and active routes, cinnabar for danger or one featured insight only
- progressive disclosure through masks, drawers, panels, and clipped excerpts instead of popover clutter
- data density controlled by grid, rules, and tabular type rather than heavy zebra striping or chrome
### Anti-Values
- ornamental Japanese pattern backgrounds that turn craft references into wallpaper
- rounded bubbly SaaS cards, large tinted panels, gradient buttons, or confetti feedback
- drop-shadow depth language used as the primary separator
- busy Kanban/dashboard chrome with too many badges, pills, and icon-only controls
- ambiguous controls that rely on icons alone instead of precise labels
- full-row color washes, rainbow charts, or decorative accent fields
- fake handmade irregularity that compromises alignment or product trust
### Visual Character
- White and porcelain panels are divided by 1px cut-line gray rules, with occasional clipped corners or rectangular apertures.
- Selected items show a small indigo registration mark, left rule, underline, or pale selection fill instead of saturated panels.
- Cinnabar appears as a pinpoint: destructive confirmation, urgent marker, or one editorially featured insight per screen.
- Tables use vertical column rules, compact headers, tabular values, and stitched annotation lines instead of heavy zebra striping.
- Empty states are stencil-like: a precise void, a single aligned mark, and a short explanatory line, never illustration-heavy.
## 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 | `#A7472B` |
| background | `#FCFCFA` |
| border | `#DCDAD2` |
| border_soft | `#ECEAE2` |
| primary | `#275E76` |
| primary_soft | `#D9E8EE` |
| success | `#4F6F54` |
| surface | `#FFFFFF` |
| surface_cut | `#F6F6F2` |
| surface_tint | `#E8F1F4` |
| text | `#1F1F1C` |
| text_muted | `#737067` |
## Typography
- **Headline-Lg**: Inter, 1.953rem, weight 700, line-height 1.1.
- **Headline-Md**: Inter, 1.563rem, weight 600, line-height 1.15.
- **Body-Md**: Inter, 16px, weight 400, line-height 1.5.
- **Label-Md**: IBM Plex Mono, 0.75rem, weight 600, line-height 1.
## Layout
### Spacing Tokens
- **Base**: `4px`
- **Xs**: `4px`
- **Sm**: `8px`
- **Md**: `12px`
- **Lg**: `16px`
- **Xl**: `20px`
- **2xl**: `24px`
- **3xl**: `32px`
- **4xl**: `40px`
- **Step-8**: `48px`
- **Step-9**: `64px`
- **Step-10**: `96px`
### Breakpoints
Mobile <= 640px stacks navigation, content, and inspector; tablet 641-1024px uses content plus collapsible inspector; desktop >= 1025px preserves the full modular shell with aligned cut-lines.
### Density
Controlled high clarity: compact labels and data rows are permitted, but each module needs a visible rule structure and enough ma around headings and decisions. Prefer fewer, better aligned modules over dashboard sprawl.
### Grid
Strict modular grid with 4px base and 8px visual rhythm. Desktop uses a measured shell: 220-248px navigation, central text/evidence column, 320-360px inspector, and optional full-bleed evidence panel. Components snap to four widths: text, inspector, data plate, and full-bleed evidence.
### Responsive
On narrow screens, tables become ruled record plates with visible labels, drawers become inline disclosure panels, and active states retain the same small indigo registration marks.
### Whitespace
Whitespace is meaningful void. Use larger top and left margins around document headings, tight internal row rhythm for data, and empty apertures that imply what is hidden or filtered.
## Elevation & Depth
### Shadows
- **Lg**: none
- **Md**: none
- **Sm**: none
## Shapes
### Rounded
- **Lg**: `4px`
- **Md**: `2px`
- **None**: `0px`
- **Pill**: `9999px`
- **Sm**: `0px`
### Surfaces
- **Canvas**: porcelain #FCFCFA
- **Inset**: #F6F6F2 clipped evidence aperture
- **Plate**: flat #FFFFFF with one #DCDAD2 cut-line border
- **Selection**: #E8F1F4 active thread wash used sparingly
### Borders
- **Active**: 2px solid #275E76
- **Hairline**: 1px solid #DCDAD2
- **Puncture**: 2px solid #A7472B
- **Soft**: 1px solid #ECEAE2
## Components
### Composition
Build screens as a stencil of panels: navigation, document body, data plate, and inspector are separated by thin cut-lines. Use segmented tabs, disclosure panels, clipped preview blocks, and evidence drawers for progressive reveal. Avoid floating popovers unless they are brief confirmations.
### Density
Support analytical workflows with compact rows, column rules, timeline ticks, and annotation seams. Keep chrome quiet: one primary action cluster per view, clear text labels, and no badge overload.
### Hierarchy
Typography and rules create hierarchy before color. Headings are confident and document-like; labels are compact with restrained letterspacing; IDs, timestamps, row numbers, and metrics use tabular mono. Accent marks must align to grid intersections or component edges.
### Signature Patterns
- Indigo registration marks: 2px left rules, small corner ticks, or underlines for active routes and selected records.
- Cinnabar puncture: a single dot, rule, or small filled chip for destructive actions, urgent exceptions, or one highlighted insight.
- Clipped evidence apertures: excerpts sit inside rectangular masks with hard edges and a visible cut-line header.
- Sashiko annotation seams: dotted or dashed thread lines connect comments, timeline events, and provenance without becoming decoration.
- Column-rule tables: thin vertical dividers, tabular numbers, compact headers, and text-first status labels before color.
- Stencil empty states: one precise void or outline, one aligned accent mark, and a short instruction.
## 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-019ee03a-6b36-7da0-a139-2933a6d52e19/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 porcelain neutrals, sumi ink text, 1px cut-line borders, and flat surfaces before introducing accent.
- Do Keep accent area below roughly 5 percent of the screen; make every accent aligned and functional.
- Do Use indigo for active navigation, selected rows, focus, and informational links.
- Do Use cinnabar only for destructive or urgent states, or for one featured insight on a screen.
- Do Reveal detail through clipped excerpts, drawers, disclosure panels, and masks.
- Do Style tables with column rules, tabular values, and explicit text labels.
- Do Make Japanese craft references structural: apertures, voids, seams, rhythm, and restraint.
- Don't Do not use ornamental katagami patterns as backgrounds or decorative wallpaper.
- Don't Do not use rounded bubbly SaaS cards, heavy shadows, glassmorphism, or large tinted panels.
- Don't Do not create busy dashboard chrome, confetti, rainbow charts, or arbitrary category colors.
- Don't Do not rely on ambiguous icon-only controls.
- Don't Do not make irregular handmade effects that break the grid or reduce trust.
- Don't Do not fill selected states with saturated color; use marks, rules, or pale selection only.
### Accessibility
Maintain WCAG AA contrast for all text and controls. Do not use indigo or cinnabar as the only state cue; pair with labels, rule position, ticks, or icons with text. Focus states use a visible 2px indigo outline or underline with offset. Keep disabled text above legibility thresholds and avoid pale gray body copy.
### Usage Context
Best for AI research tools, document intelligence, editorial dashboards, evidence review, operations consoles, compliance workflows, and data-heavy products that need calm precision and cultural nuance without ornament.
shadcn/ui theme
```json
{
"$schema": "https://ui.shadcn.com/schema/registry-item.json",
"name": "aya-katagami-precision-system",
"type": "registry:theme",
"title": "AYA Katagami Precision System shadcn Theme",
"cssVars": {
"theme": {},
"light": {
"background": "#FCFCFA",
"foreground": "#1F1F1C",
"card": "#FFFFFF",
"card-foreground": "#1F1F1C",
"popover": "#FFFFFF",
"popover-foreground": "#1F1F1C",
"primary": "#275E76",
"primary-foreground": "#ffffff",
"secondary": "#f4f4f5",
"secondary-foreground": "#111111",
"muted": "#f4f4f5",
"muted-foreground": "#1F1F1C",
"accent": "#A7472B",
"accent-foreground": "#ffffff",
"destructive": "#dc2626",
"border": "#DCDAD2",
"input": "#DCDAD2",
"ring": "#A7472B",
"chart-1": "#275E76",
"chart-2": "#f4f4f5",
"chart-3": "#A7472B",
"chart-4": "#4F6F54",
"chart-5": "#d97706",
"sidebar": "#FFFFFF",
"sidebar-foreground": "#1F1F1C",
"sidebar-primary": "#275E76",
"sidebar-primary-foreground": "#ffffff",
"sidebar-accent": "#A7472B",
"sidebar-accent-foreground": "#ffffff",
"sidebar-border": "#DCDAD2",
"sidebar-ring": "#A7472B",
"radius": "2px"
},
"dark": {
"background": "#0f1115",
"foreground": "#f8fafc",
"card": "#181b22",
"card-foreground": "#f8fafc",
"popover": "#181b22",
"popover-foreground": "#f8fafc",
"primary": "#275E76",
"primary-foreground": "#ffffff",
"secondary": "#252a33",
"secondary-foreground": "#f8fafc",
"muted": "#252a33",
"muted-foreground": "#a1a1aa",
"accent": "#A7472B",
"accent-foreground": "#ffffff",
"destructive": "#dc2626",
"border": "#303642",
"input": "#303642",
"ring": "#A7472B",
"chart-1": "#275E76",
"chart-2": "#f4f4f5",
"chart-3": "#A7472B",
"chart-4": "#4F6F54",
"chart-5": "#d97706",
"sidebar": "#181b22",
"sidebar-foreground": "#f8fafc",
"sidebar-primary": "#275E76",
"sidebar-primary-foreground": "#ffffff",
"sidebar-accent": "#A7472B",
"sidebar-accent-foreground": "#ffffff",
"sidebar-border": "#303642",
"sidebar-ring": "#A7472B",
"radius": "2px"
}
},
"meta": {
"source": "katagami",
"languageId": "en-019ee03a-6b36-7da0-a139-2933a6d52e19",
"slug": "aya-katagami-precision-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": [
"active",
"hairline",
"puncture",
"soft"
],
"colors": [
"accent",
"background",
"border",
"border_soft",
"primary",
"primary_soft",
"success",
"surface",
"surface_cut",
"surface_tint",
"text",
"text_muted"
],
"motion": [
"disclosure",
"duration",
"easing",
"hover",
"reduced_motion"
],
"opacity": [
"disabled",
"muted",
"underlay"
],
"radii": [
"lg",
"md",
"none",
"pill",
"sm"
],
"shadows": [
"lg",
"md",
"sm"
],
"spacing": [
"base",
"scale"
],
"surfaces": [
"canvas",
"inset",
"plate",
"selection"
],
"typography": [
"body_font",
"google_fonts_url",
"heading_font",
"mono_font",
"scale"
]
}
}
}
```in the wild
embodiments
the full element showcase
embodiment · aya-katagami-precision-system
DESIGN.md
at a glance
Typography
headline-lgInter · 31px · 700
The quick brown fox jumps
headline-mdInter · 25px · 600
The quick brown fox jumps
body-mdInter · 16px · 400
The quick brown fox jumps
label-mdIBM Plex Mono · 12px · 600
The quick brown fox jumps
Components
New
Card title
Components rendered with this language’s tokens — colors, type, and rounded corners as specified.
Spacing
- base4px
- xs4px
- sm8px
- md12px
- lg16px
- xl20px
- 2xl24px
- 3xl32px
- 4xl40px
- step-848px
- step-964px
- step-1096px
Shape
lg4px
md2px
none0px
pill9999px
sm0px
shadcn/ui
implementation kit
recommendedcompatibility fallback
DESIGN.md with shadcn
Copy this when the target app uses shadcn/ui. It packages the Katagami DESIGN.md context with the install list, theme variables, component recipes, preview-shot contract, and starter TSX in one Markdown companion.
advanced implementation filesoptional machine-readable theme, CSS, TSX starter, recipes, and preview contract
shadcn add
npx shadcn@latest add button card input textarea select dialog sheet tabs badge separator checkbox switch slider tooltip dropdown-menu tabletheme css
:root {
--background: #FCFCFA;
--foreground: #1F1F1C;
--card: #FFFFFF;
--card-foreground: #1F1F1C;
--popover: #FFFFFF;
--popover-foreground: #1F1F1C;
--primary: #275E76;
--primary-foreground: #ffffff;
--secondary: #f4f4f5;
--secondary-foreground: #111111;
--muted: #f4f4f5;
--muted-foreground: #1F1F1C;
--accent: #A7472B;
--accent-foreground: #ffffff;
--destructive: #dc2626;
--border: #DCDAD2;
--input: #DCDAD2;
--ring: #A7472B;
--chart-1: #275E76;
--chart-2: #f4f4f5;
--chart-3: #A7472B;
--chart-4: #4F6F54;
--chart-5: #d97706;
--sidebar: #FFFFFF;
--sidebar-foreground: #1F1F1C;
--sidebar-primary: #275E76;
--sidebar-primary-foreground: #ffffff;
--sidebar-accent: #A7472B;
--sidebar-accent-foreground: #ffffff;
--sidebar-border: #DCDAD2;
--sidebar-ring: #A7472B;
--radius: 2px;
}
.dark {
--background: #0f1115;
--foreground: #f8fafc;
--card: #181b22;
--card-foreground: #f8fafc;
--popover: #181b22;
--popover-foreground: #f8fafc;
--primary: #275E76;
--primary-foreground: #ffffff;
--secondary: #252a33;
--secondary-foreground: #f8fafc;
--muted: #252a33;
--muted-foreground: #a1a1aa;
--accent: #A7472B;
--accent-foreground: #ffffff;
--destructive: #dc2626;
--border: #303642;
--input: #303642;
--ring: #A7472B;
--chart-1: #275E76;
--chart-2: #f4f4f5;
--chart-3: #A7472B;
--chart-4: #4F6F54;
--chart-5: #d97706;
--sidebar: #181b22;
--sidebar-foreground: #f8fafc;
--sidebar-primary: #275E76;
--sidebar-primary-foreground: #ffffff;
--sidebar-accent: #A7472B;
--sidebar-accent-foreground: #ffffff;
--sidebar-border: #303642;
--sidebar-ring: #A7472B;
--radius: 2px;
}
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 AyaKatagamiPrecisionSystemShadcnKit() {
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">AYA Katagami Precision System</h2>
<p className="mt-1 max-w-xl text-sm text-muted-foreground">
Use the Katagami registry theme, then compose these shadcn primitives
with the language-specific component recipes.
</p>
</div>
<Button>Apply theme</Button>
</div>
<Tabs defaultValue="components">
<TabsList>
<TabsTrigger value="components">Components</TabsTrigger>
<TabsTrigger value="states">States</TabsTrigger>
<TabsTrigger value="export">Export</TabsTrigger>
</TabsList>
</Tabs>
<Card>
<CardHeader>
<CardTitle>Component recipe</CardTitle>
<CardDescription>
Replace this starter content with the agent-authored product scene
from components.md and preview-shots.json.
</CardDescription>
</CardHeader>
<CardContent className="grid gap-3 sm:grid-cols-[1fr_auto]">
<Input defaultValue="Tokenized shadcn surface" aria-label="Recipe name" />
<Button variant="secondary">Preview state</Button>
</CardContent>
<CardFooter className="justify-between">
<Badge>Ready</Badge>
<Button variant="outline">Copy recipe</Button>
</CardFooter>
</Card>
</section>
);
}
theme JSONcompatibility fallback
{
"$schema": "https://ui.shadcn.com/schema/registry-item.json",
"name": "aya-katagami-precision-system",
"type": "registry:theme",
"title": "AYA Katagami Precision System shadcn Theme",
"cssVars": {
"theme": {},
"light": {
"background": "#FCFCFA",
"foreground": "#1F1F1C",
"card": "#FFFFFF",
"card-foreground": "#1F1F1C",
"popover": "#FFFFFF",
"popover-foreground": "#1F1F1C",
"primary": "#275E76",
"primary-foreground": "#ffffff",
"secondary": "#f4f4f5",
"secondary-foreground": "#111111",
"muted": "#f4f4f5",
"muted-foreground": "#1F1F1C",
"accent": "#A7472B",
"accent-foreground": "#ffffff",
"destructive": "#dc2626",
"border": "#DCDAD2",
"input": "#DCDAD2",
"ring": "#A7472B",
"chart-1": "#275E76",
"chart-2": "#f4f4f5",
"chart-3": "#A7472B",
"chart-4": "#4F6F54",
"chart-5": "#d97706",
"sidebar": "#FFFFFF",
"sidebar-foreground": "#1F1F1C",
"sidebar-primary": "#275E76",
"sidebar-primary-foreground": "#ffffff",
"sidebar-accent": "#A7472B",
"sidebar-accent-foreground": "#ffffff",
"sidebar-border": "#DCDAD2",
"sidebar-ring": "#A7472B",
"radius": "2px"
},
"dark": {
"background": "#0f1115",
"foreground": "#f8fafc",
"card": "#181b22",
"card-foreground": "#f8fafc",
"popover": "#181b22",
"popover-foreground": "#f8fafc",
"primary": "#275E76",
"primary-foreground": "#ffffff",
"secondary": "#252a33",
"secondary-foreground": "#f8fafc",
"muted": "#252a33",
"muted-foreground": "#a1a1aa",
"accent": "#A7472B",
"accent-foreground": "#ffffff",
"destructive": "#dc2626",
"border": "#303642",
"input": "#303642",
"ring": "#A7472B",
"chart-1": "#275E76",
"chart-2": "#f4f4f5",
"chart-3": "#A7472B",
"chart-4": "#4F6F54",
"chart-5": "#d97706",
"sidebar": "#181b22",
"sidebar-foreground": "#f8fafc",
"sidebar-primary": "#275E76",
"sidebar-primary-foreground": "#ffffff",
"sidebar-accent": "#A7472B",
"sidebar-accent-foreground": "#ffffff",
"sidebar-border": "#303642",
"sidebar-ring": "#A7472B",
"radius": "2px"
}
},
"meta": {
"source": "katagami",
"languageId": "en-019ee03a-6b36-7da0-a139-2933a6d52e19",
"slug": "aya-katagami-precision-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": [
"active",
"hairline",
"puncture",
"soft"
],
"colors": [
"accent",
"background",
"border",
"border_soft",
"primary",
"primary_soft",
"success",
"surface",
"surface_cut",
"surface_tint",
"text",
"text_muted"
],
"motion": [
"disclosure",
"duration",
"easing",
"hover",
"reduced_motion"
],
"opacity": [
"disabled",
"muted",
"underlay"
],
"radii": [
"lg",
"md",
"none",
"pill",
"sm"
],
"shadows": [
"lg",
"md",
"sm"
],
"spacing": [
"base",
"scale"
],
"surfaces": [
"canvas",
"inset",
"plate",
"selection"
],
"typography": [
"body_font",
"google_fonts_url",
"heading_font",
"mono_font",
"scale"
]
}
}
}
component recipescompatibility fallback
# AYA Katagami Precision System shadcn/ui Components
Artifact: `component-recipes-v1`
Author: `katagami-ui-projection`
Language ID: `en-019ee03a-6b36-7da0-a139-2933a6d52e19`
Slug: `aya-katagami-precision-system`
## Intent
A quiet, text-first product design language that translates katagami stencil craft into precise application grammar: clean apertures, thin cut-lines, repeatable modules, meaningful voids, and intelligence revealed only where the interface is pierced. It is built for dashboards, evidence review, research tools, editorial data products, and AI workspaces that need high trust and controlled density without generic SaaS softness. The system treats negative space as an affordance, uses porcelain whites and sumi ink hierarchy as the primary visual field, and reserves indigo or cinnabar for small registration-like moments: active routes, selected evidence, destructive actions, urgent insight, or a single featured data point.
## 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": "#A7472B",
"background": "#FCFCFA",
"border": "#DCDAD2",
"border_soft": "#ECEAE2",
"primary": "#275E76",
"primary_soft": "#D9E8EE",
"success": "#4F6F54",
"surface": "#FFFFFF",
"surface_cut": "#F6F6F2",
"surface_tint": "#E8F1F4",
"text": "#1F1F1C",
"text_muted": "#737067"
}
Typography:
{
"body_font": "Inter",
"google_fonts_url": "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=IBM+Plex+Mono:wght@400;500&display=swap",
"heading_font": "Inter",
"mono_font": "IBM Plex Mono",
"scale": {
"body": "16px/1.65",
"caption": "12px/1.45",
"display": "40px/1.08",
"h1": "32px/1.15",
"h2": "24px/1.22"
}
}
## Visual character to preserve
- White and porcelain panels are divided by 1px cut-line gray rules, with occasional clipped corners or rectangular apertures.
- Selected items show a small indigo registration mark, left rule, underline, or pale selection fill instead of saturated panels.
- Cinnabar appears as a pinpoint: destructive confirmation, urgent marker, or one editorially featured insight per screen.
- Tables use vertical column rules, compact headers, tabular values, and stitched annotation lines instead of heavy zebra striping.
- Empty states are stencil-like: a precise void, a single aligned mark, and a short explanatory line, never illustration-heavy.
## ShadSync visual profile
{
"family": "paper-collage",
"material": "paper",
"contour": "default",
"border": "dashed",
"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/aya-katagami-precision-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 porcelain neutrals, sumi ink text, 1px cut-line borders, and flat surfaces before introducing accent.; Keep accent area below roughly 5 percent of the screen; make every accent aligned and functional.; Use indigo for active navigation, selected rows, focus, and informational links.; Use cinnabar only for destructive or urgent states, or for one featured insight on a screen.; Reveal detail through clipped excerpts, drawers, disclosure panels, and masks.; Style tables with column rules, tabular values, and explicit text labels.; Make Japanese craft references structural: apertures, voids, seams, rhythm, and restraint.
- Do not: Do not use ornamental katagami patterns as backgrounds or decorative wallpaper.; Do not use rounded bubbly SaaS cards, heavy shadows, glassmorphism, or large tinted panels.; Do not create busy dashboard chrome, confetti, rainbow charts, or arbitrary category colors.; Do not rely on ambiguous icon-only controls.; Do not make irregular handmade effects that break the grid or reduce trust.; Do not fill selected states with saturated color; use marks, rules, or pale selection only.
## 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 AyaKatagamiPrecisionSystemShadcnKit() {
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">AYA Katagami Precision System</h2>
<p className="mt-1 max-w-xl text-sm text-muted-foreground">
Use the Katagami registry theme, then compose these shadcn primitives
with the language-specific component recipes.
</p>
</div>
<Button>Apply theme</Button>
</div>
<Tabs defaultValue="components">
<TabsList>
<TabsTrigger value="components">Components</TabsTrigger>
<TabsTrigger value="states">States</TabsTrigger>
<TabsTrigger value="export">Export</TabsTrigger>
</TabsList>
</Tabs>
<Card>
<CardHeader>
<CardTitle>Component recipe</CardTitle>
<CardDescription>
Replace this starter content with the agent-authored product scene
from components.md and preview-shots.json.
</CardDescription>
</CardHeader>
<CardContent className="grid gap-3 sm:grid-cols-[1fr_auto]">
<Input defaultValue="Tokenized shadcn surface" aria-label="Recipe name" />
<Button variant="secondary">Preview state</Button>
</CardContent>
<CardFooter className="justify-between">
<Badge>Ready</Badge>
<Button variant="outline">Copy recipe</Button>
</CardFooter>
</Card>
</section>
);
}
```
## Layout notes
{
"breakpoints": "Mobile <= 640px stacks navigation, content, and inspector; tablet 641-1024px uses content plus collapsible inspector; desktop >= 1025px preserves the full modular shell with aligned cut-lines.",
"density": "Controlled high clarity: compact labels and data rows are permitted, but each module needs a visible rule structure and enough ma around headings and decisions. Prefer fewer, better aligned modules over dashboard sprawl.",
"grid": "Strict modular grid with 4px base and 8px visual rhythm. Desktop uses a measured shell: 220-248px navigation, central text/evidence column, 320-360px inspector, and optional full-bleed evidence panel. Components snap to four widths: text, inspector, data plate, and full-bleed evidence.",
"responsive": "On narrow screens, tables become ruled record plates with visible labels, drawers become inline disclosure panels, and active states retain the same small indigo registration marks.",
"whitespace": "Whitespace is meaningful void. Use larger top and left margins around document headings, tight internal row rhythm for data, and empty apertures that imply what is hidden or filtered."
}
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-019ee03a-6b36-7da0-a139-2933a6d52e19",
"name": "AYA Katagami Precision System",
"slug": "aya-katagami-precision-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": [
"White and porcelain panels are divided by 1px cut-line gray rules, with occasional clipped corners or rectangular apertures.",
"Selected items show a small indigo registration mark, left rule, underline, or pale selection fill instead of saturated panels.",
"Cinnabar appears as a pinpoint: destructive confirmation, urgent marker, or one editorially featured insight per screen.",
"Tables use vertical column rules, compact headers, tabular values, and stitched annotation lines instead of heavy zebra striping.",
"Empty states are stencil-like: a precise void, a single aligned mark, and a short explanatory line, never illustration-heavy."
],
"visualProfile": {
"family": "editorial",
"material": "flat",
"contour": "default",
"border": "dashed",
"underlay": false,
"grain": false,
"stickerBadges": false,
"motion": "still",
"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": "AYA Katagami Precision 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 porcelain neutrals, sumi ink text, 1px cut-line borders, and flat surfaces before introducing accent.",
"Keep accent area below roughly 5 percent of the screen; make every accent aligned and functional.",
"Use indigo for active navigation, selected rows, focus, and informational links.",
"Use cinnabar only for destructive or urgent states, or for one featured insight on a screen.",
"Reveal detail through clipped excerpts, drawers, disclosure panels, and masks.",
"Style tables with column rules, tabular values, and explicit text labels.",
"Make Japanese craft references structural: apertures, voids, seams, rhythm, and restraint."
],
"dont": [
"Do not use ornamental katagami patterns as backgrounds or decorative wallpaper.",
"Do not use rounded bubbly SaaS cards, heavy shadows, glassmorphism, or large tinted panels.",
"Do not create busy dashboard chrome, confetti, rainbow charts, or arbitrary category colors.",
"Do not rely on ambiguous icon-only controls.",
"Do not make irregular handmade effects that break the grid or reduce trust.",
"Do not fill selected states with saturated color; use marks, rules, or pale selection only."
]
}
}
related