back to gallerydo avoid
design language·katagami-context-map-system
Katagami Context Map 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 calm, light, text-first workspace language for AYA where navigation behaves like a context map rather than a dashboard. The system translates katagami craft, washi restraint, weaving, negative space, and rhythm into product-grade structure: fine hairline dividers, deliberate apertures for reading, woven trails between threads and documents, and quiet marginal signals that show state without taking over the canvas. Japanese inspiration stays abstract and operational: precision cuts, layered context, proportion, material restraint, and attentive whitespace. The result is a crisp gray-white reading environment with charcoal sumi typography, blue-black indigo selection logic, low-chroma semantic status, and tiny persimmon attention marks used only for change or urgency.
values
text remains the primary surface; data and status live inline or in margins rather than as dashboard blocksnavigation is a context map of threads, documents, references, metrics, and tracesJapanese influence appears through craft principles, rhythm, restraint, layering, and negative space, never literal motifsprecision density: compact wayfinding and metadata with generous reading measure and calm line heightstate is visible through rails, hairlines, indentation, notches, and marginalia instead of saturated fillslightness is earned through hierarchy, contrast, and spacing, not pale inaccessible textevery accent has a job: indigo for location and selection, low-chroma tints for state, persimmon for micro-attention
anti-values
×literal Japanese waves, cranes, sakura, torii, brush-stroke logos, tourist patterns, or stencil ornament×dashboard-first layouts that reduce the workspace to KPI cards before text and documents×decorative background patterns pretending to be katagami×large saturated color fields, neon accents, or multi-color module branding×low-contrast gray minimalism that compromises reading or accessibility×generic SaaS card walls with heavy shadows and no context continuity
tokens
borders4 items
- accent width
- 2px
- character
- Fine hairline dividers and indigo state rails; borders act like precise cut edges rather than decoration.
- default width
- 1px
- style
- solid
colors16 items
accent
#C75B2A
background
#F6F7F5
border
#DADDD8
border_faint
#ECEEEA
error
#A44A43
info
#456B8D
muted
#6B716D
primary
#162B45
primary_soft
#E8EEF5
selection
#203D63
subtle
#8D948F
success
#4F7661
surface
#FFFFFF
surface_washi
#FAFAF7
text
#202421
warning
#9B6A2F
motion3 items
- duration
- 140ms
- easing
- cubic-bezier(0.2, 0, 0, 1)
- philosophy
- Motion is quiet and confirmatory: rails draw in, marginal notes fade, nested context expands by one level, and focus outlines sharpen without bounce.
radii6 items
- full
- 9999px
- lg
- 10px
- md
- 6px
- none
- 0
- sm
- 2px
- xl
- 14px
shadows3 items
- lg
- 0 24px 56px rgba(32,36,33,0.10)
- md
- 0 10px 24px rgba(32,36,33,0.07)
- sm
- 0 1px 2px rgba(32,36,33,0.04)
spacing2 items
- base
- 4px
- scale
- 2, 4, 6, 8, 12, 16, 20, 24, 32, 40, 48, 64, 80
surfaces3 items
- bg pattern
- None by default; if needed, only a nearly invisible 4px baseline/grid guide inside engineering views, never a motif.
- card style
- White or washi-white rectangles with 1px hairline borders, 6-10px radii, restrained padding, and no decorative patterning.
- treatment
- Crisp light gray-white app shell with flat sheets, faint tonal gutters, and document-first panels.
typography9 items
- base size
- 16px
- body font
- Source Serif 4
- google fonts url
- https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Source+Serif+4:wght@400;500;600&family=IBM+Plex+Mono:wght@400;500;600&display=swap
- heading font
- Inter
- letter spacing
- -0.01em
- line height
- 1.58
- mono font
- IBM Plex Mono
- scale ratio
- 1.18
- ui font
- Inter
rules
composition
Use a minimal app shell with a compact left context map, a dominant central reading/work pane, and an optional right marginalia rail. Avoid dashboard-first composition: metrics belong inline with documents, beside section headings, or in quiet side summaries. Arrange context as nested routes, thread traces, document clusters, and reference links with indentation and connecting hairlines.
density
Precision density: navigation, breadcrumbs, references, and compact summaries can be tight, but the reading column must keep 65-78 character measures, 1.55-1.65 line height, and generous paragraph rhythm. Tables are secondary and should feel like annotated text lists, not enterprise grids.
hierarchy
Start with readable body text, strong section titles, and calm metadata. Use sumi charcoal for primary content, muted gray for supporting labels, and indigo only for navigational state, selection, focus, and active trace lines. Reserve persimmon for small badges that signal change, review needed, or attention.
signature patterns
Context map navigation: nested thread/document/reference rows with a 2px indigo active rail, fine continuation lines, and small counters aligned on the margin.Document marginalia: status, references, metrics, and AI traces sit in a narrow margin as quiet text chips or hairline-linked notes.Layer apertures: summaries open as small in-context cutouts under headings, preserving the reading flow instead of launching dashboard cards.Stateful traces: recently changed or referenced items receive a faint indigo wash plus a tiny persimmon dot or badge, never a large alert block.Rhythmic grid: align nav rows, document baselines, and marginal notes on a 4px/8px rhythm so dense context feels woven rather than cluttered.
layout
breakpoints
Mobile <= 640px collapses the context map into a top breadcrumb stack and hides marginalia behind inline disclosure. Tablet 641-1024px keeps document plus collapsible context drawer. Desktop >= 1025px shows context map, reading pane, and optional marginalia rail.
density
Compact in navigation and metadata, relaxed in prose. Use 28-36px nav rows, 12-16px chip height/padding rhythm, 20-24px document section spacing, and 40-64px breathing room at major transitions.
grid
Desktop uses a 12-column shell: 232-280px context map, flexible 680-820px reading/work pane, and 220-300px marginalia rail. All modules align to a 4px base with 8px row rhythm and 24-32px page gutters.
responsive
Preserve reading order first. Navigation becomes a context trail above the document; marginal metrics become inline summary rows below relevant headings; secondary references collapse into labeled disclosure groups.
whitespace
Whitespace is active negative space: it separates layers, gives documents room, and prevents context from feeling like dashboard clutter. Prefer empty margins with a few signals over filled sidebars.
guidance
- Make reading the center of gravity; place analytics as marginal or inline context.
- Use indigo consistently for location, active route, selected object, focus, and thread continuation.
- Express katagami through precise cut edges, apertures, layering, and craft restraint rather than patterns.
- Use whitespace as structure: generous document gutters, disciplined indentation, and clear negative space around active text.
- Keep status low-chroma and text-labeled; let semantic color support hierarchy, not dominate it.
- Design hover/selected/active states with rails, outlines, slight tonal fills, and marginal markers.
- Style all controls deliberately with custom borders, focus rings, and readable labels.
- Do not use literal Japanese motifs, tourist cliches, stencil flowers, waves, cranes, torii, seals, or faux calligraphy.
- Do not lead with KPI cards, chart grids, or a dashboard homepage when the product task is reading and synthesis.
- Do not turn katagami into a decorative background pattern or lace overlay.
- Do not use indigo as a large brand wash; keep it as a navigation and state instrument.
- Do not make persimmon a second primary color; use it only as micro-attention.
- Do not rely on shadows to separate core surfaces when hairlines and spacing are enough.
- Do not compress the reading column for the sake of showing every metric at once.
katagami spec
# Katagami Context Map System ## Philosophy A calm, light, text-first workspace language for AYA where navigation behaves like a context map rather than a dashboard. The system translates katagami craft, washi restraint, weaving, negative space, and rhythm into product-grade structure: fine hairline dividers, deliberate apertures for reading, woven trails between threads and documents, and quiet marginal signals that show state without taking over the canvas. Japanese inspiration stays abstract and operational: precision cuts, layered context, proportion, material restraint, and attentive whitespace. The result is a crisp gray-white reading environment with charcoal sumi typography, blue-black indigo selection logic, low-chroma semantic status, and tiny persimmon attention marks used only for change or urgency. ### Values - text remains the primary surface; data and status live inline or in margins rather than as dashboard blocks - navigation is a context map of threads, documents, references, metrics, and traces - Japanese influence appears through craft principles, rhythm, restraint, layering, and negative space, never literal motifs - precision density: compact wayfinding and metadata with generous reading measure and calm line height - state is visible through rails, hairlines, indentation, notches, and marginalia instead of saturated fills - lightness is earned through hierarchy, contrast, and spacing, not pale inaccessible text - every accent has a job: indigo for location and selection, low-chroma tints for state, persimmon for micro-attention ### Anti-Values - literal Japanese waves, cranes, sakura, torii, brush-stroke logos, tourist patterns, or stencil ornament - dashboard-first layouts that reduce the workspace to KPI cards before text and documents - decorative background patterns pretending to be katagami - large saturated color fields, neon accents, or multi-color module branding - low-contrast gray minimalism that compromises reading or accessibility - generic SaaS card walls with heavy shadows and no context continuity ### Visual Character - A gray-white canvas supports long reading with charcoal text, disciplined measures, and faint paper-like tonal shifts that never become texture decoration. - Context relationships are shown by indentation, vertical thread lines, soft rails, breadcrumbs, reference chips, and marginal annotations. - Cards are mostly flat white or warm-white sheets separated by 1px hairlines; shadows are almost absent and used only for active overlays. - Compact metrics appear beside documents as small text rows, counters, deltas, or marginal capsules instead of a dashboard grid. - Interaction states feel cut and placed: indigo edge marks, inset outlines, thin selected rails, and tiny persimmon change badges. ## Tokens ### Borders - **Accent Width**: 2px - **Character**: Fine hairline dividers and indigo state rails; borders act like precise cut edges rather than decoration. - **Default Width**: 1px - **Style**: solid ### Colors | Name | Value | |------|-------| | accent | `#C75B2A` | | background | `#F6F7F5` | | border | `#DADDD8` | | border_faint | `#ECEEEA` | | error | `#A44A43` | | info | `#456B8D` | | muted | `#6B716D` | | primary | `#162B45` | | primary_soft | `#E8EEF5` | | selection | `#203D63` | | subtle | `#8D948F` | | success | `#4F7661` | | surface | `#FFFFFF` | | surface_washi | `#FAFAF7` | | text | `#202421` | | warning | `#9B6A2F` | ### Motion - **Duration**: 140ms - **Easing**: cubic-bezier(0.2, 0, 0, 1) - **Philosophy**: Motion is quiet and confirmatory: rails draw in, marginal notes fade, nested context expands by one level, and focus outlines sharpen without bounce. ### Radii - **Full**: 9999px - **Lg**: 10px - **Md**: 6px - **None**: 0 - **Sm**: 2px - **Xl**: 14px ### Shadows - **Lg**: 0 24px 56px rgba(32,36,33,0.10) - **Md**: 0 10px 24px rgba(32,36,33,0.07) - **Sm**: 0 1px 2px rgba(32,36,33,0.04) ### Spacing - **Base**: 4px - **Scale**: [2,4,6,8,12,16,20,24,32,40,48,64,80] ### Surfaces - **Bg Pattern**: None by default; if needed, only a nearly invisible 4px baseline/grid guide inside engineering views, never a motif. - **Card Style**: White or washi-white rectangles with 1px hairline borders, 6-10px radii, restrained padding, and no decorative patterning. - **Treatment**: Crisp light gray-white app shell with flat sheets, faint tonal gutters, and document-first panels. ### Typography - **Base Size**: 16px - **Body Font**: Source Serif 4 - **Google Fonts Url**: https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Source+Serif+4:wght@400;500;600&family=IBM+Plex+Mono:wght@400;500;600&display=swap - **Heading Font**: Inter - **Letter Spacing**: -0.01em - **Line Height**: 1.58 - **Mono Font**: IBM Plex Mono - **Scale Ratio**: 1.18 - **Ui Font**: Inter ## Rules ### Composition Use a minimal app shell with a compact left context map, a dominant central reading/work pane, and an optional right marginalia rail. Avoid dashboard-first composition: metrics belong inline with documents, beside section headings, or in quiet side summaries. Arrange context as nested routes, thread traces, document clusters, and reference links with indentation and connecting hairlines. ### Density Precision density: navigation, breadcrumbs, references, and compact summaries can be tight, but the reading column must keep 65-78 character measures, 1.55-1.65 line height, and generous paragraph rhythm. Tables are secondary and should feel like annotated text lists, not enterprise grids. ### Hierarchy Start with readable body text, strong section titles, and calm metadata. Use sumi charcoal for primary content, muted gray for supporting labels, and indigo only for navigational state, selection, focus, and active trace lines. Reserve persimmon for small badges that signal change, review needed, or attention. ### Signature Patterns - Context map navigation: nested thread/document/reference rows with a 2px indigo active rail, fine continuation lines, and small counters aligned on the margin. - Document marginalia: status, references, metrics, and AI traces sit in a narrow margin as quiet text chips or hairline-linked notes. - Layer apertures: summaries open as small in-context cutouts under headings, preserving the reading flow instead of launching dashboard cards. - Stateful traces: recently changed or referenced items receive a faint indigo wash plus a tiny persimmon dot or badge, never a large alert block. - Rhythmic grid: align nav rows, document baselines, and marginal notes on a 4px/8px rhythm so dense context feels woven rather than cluttered. ## Layout ### Breakpoints Mobile <= 640px collapses the context map into a top breadcrumb stack and hides marginalia behind inline disclosure. Tablet 641-1024px keeps document plus collapsible context drawer. Desktop >= 1025px shows context map, reading pane, and optional marginalia rail. ### Density Compact in navigation and metadata, relaxed in prose. Use 28-36px nav rows, 12-16px chip height/padding rhythm, 20-24px document section spacing, and 40-64px breathing room at major transitions. ### Grid Desktop uses a 12-column shell: 232-280px context map, flexible 680-820px reading/work pane, and 220-300px marginalia rail. All modules align to a 4px base with 8px row rhythm and 24-32px page gutters. ### Responsive Preserve reading order first. Navigation becomes a context trail above the document; marginal metrics become inline summary rows below relevant headings; secondary references collapse into labeled disclosure groups. ### Whitespace Whitespace is active negative space: it separates layers, gives documents room, and prevents context from feeling like dashboard clutter. Prefer empty margins with a few signals over filled sidebars. ## Guidance ### Do - Make reading the center of gravity; place analytics as marginal or inline context. - Use indigo consistently for location, active route, selected object, focus, and thread continuation. - Express katagami through precise cut edges, apertures, layering, and craft restraint rather than patterns. - Use whitespace as structure: generous document gutters, disciplined indentation, and clear negative space around active text. - Keep status low-chroma and text-labeled; let semantic color support hierarchy, not dominate it. - Design hover/selected/active states with rails, outlines, slight tonal fills, and marginal markers. - Style all controls deliberately with custom borders, focus rings, and readable labels. ### Don't - Do not use literal Japanese motifs, tourist cliches, stencil flowers, waves, cranes, torii, seals, or faux calligraphy. - Do not lead with KPI cards, chart grids, or a dashboard homepage when the product task is reading and synthesis. - Do not turn katagami into a decorative background pattern or lace overlay. - Do not use indigo as a large brand wash; keep it as a navigation and state instrument. - Do not make persimmon a second primary color; use it only as micro-attention. - Do not rely on shadows to separate core surfaces when hairlines and spacing are enough. - Do not compress the reading column for the sake of showing every metric at once. ### Accessibility Maintain WCAG AA contrast for body and controls; charcoal text should remain near #202421 on light surfaces. Indigo focus states use a visible 2px ring or rail with text labels. Status chips include labels, not color alone. Avoid text below 12px except decorative-free mono timestamps or counters. ### Usage Context Best for AYA-like knowledge workspaces, research editors, AI copilots, document operations, reference management, and product surfaces that must weave context around long-form reading.
DESIGN.md
---
version: "alpha"
name: "Katagami Context Map System"
description: "Agent-curated design language exported from Katagami as DESIGN.md."
colors:
accent: "#C75B2A"
background: "#F6F7F5"
border: "#DADDD8"
border_faint: "#ECEEEA"
error: "#A44A43"
info: "#456B8D"
muted: "#6B716D"
primary: "#162B45"
primary_soft: "#E8EEF5"
selection: "#203D63"
subtle: "#8D948F"
success: "#4F7661"
surface: "#FFFFFF"
surface_washi: "#FAFAF7"
text: "#202421"
warning: "#9B6A2F"
typography:
headline-lg:
fontFamily: "Inter"
fontSize: "1.643rem"
fontWeight: 700
lineHeight: 1.1
letterSpacing: "-0.01em"
headline-md:
fontFamily: "Inter"
fontSize: "1.392rem"
fontWeight: 600
lineHeight: 1.15
letterSpacing: "-0.01em"
body-md:
fontFamily: "Source Serif 4"
fontSize: "16px"
fontWeight: 400
lineHeight: 1.58
letterSpacing: "-0.01em"
label-md:
fontFamily: "IBM Plex Mono"
fontSize: "0.75rem"
fontWeight: 600
lineHeight: 1
letterSpacing: "0.08em"
rounded:
full: "9999px"
lg: "10px"
md: "6px"
none: "0px"
sm: "2px"
xl: "14px"
spacing:
base: "4px"
xs: "2px"
sm: "4px"
md: "6px"
lg: "8px"
xl: "12px"
2xl: "16px"
3xl: "20px"
4xl: "24px"
step-8: "32px"
step-9: "40px"
step-10: "48px"
step-11: "64px"
step-12: "80px"
components:
color-reference-accent:
backgroundColor: "{colors.accent}"
color-reference-background:
backgroundColor: "{colors.background}"
color-reference-border:
backgroundColor: "{colors.border}"
color-reference-border_faint:
backgroundColor: "{colors.border_faint}"
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-primary_soft:
backgroundColor: "{colors.primary_soft}"
color-reference-selection:
backgroundColor: "{colors.selection}"
color-reference-subtle:
backgroundColor: "{colors.subtle}"
color-reference-success:
backgroundColor: "{colors.success}"
color-reference-surface:
backgroundColor: "{colors.surface}"
color-reference-surface_washi:
backgroundColor: "{colors.surface_washi}"
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"
---
# Katagami Context Map System
## Overview
A calm, light, text-first workspace language for AYA where navigation behaves like a context map rather than a dashboard. The system translates katagami craft, washi restraint, weaving, negative space, and rhythm into product-grade structure: fine hairline dividers, deliberate apertures for reading, woven trails between threads and documents, and quiet marginal signals that show state without taking over the canvas. Japanese inspiration stays abstract and operational: precision cuts, layered context, proportion, material restraint, and attentive whitespace. The result is a crisp gray-white reading environment with charcoal sumi typography, blue-black indigo selection logic, low-chroma semantic status, and tiny persimmon attention marks used only for change or urgency.
### Values
- text remains the primary surface; data and status live inline or in margins rather than as dashboard blocks
- navigation is a context map of threads, documents, references, metrics, and traces
- Japanese influence appears through craft principles, rhythm, restraint, layering, and negative space, never literal motifs
- precision density: compact wayfinding and metadata with generous reading measure and calm line height
- state is visible through rails, hairlines, indentation, notches, and marginalia instead of saturated fills
- lightness is earned through hierarchy, contrast, and spacing, not pale inaccessible text
- every accent has a job: indigo for location and selection, low-chroma tints for state, persimmon for micro-attention
### Anti-Values
- literal Japanese waves, cranes, sakura, torii, brush-stroke logos, tourist patterns, or stencil ornament
- dashboard-first layouts that reduce the workspace to KPI cards before text and documents
- decorative background patterns pretending to be katagami
- large saturated color fields, neon accents, or multi-color module branding
- low-contrast gray minimalism that compromises reading or accessibility
- generic SaaS card walls with heavy shadows and no context continuity
### Visual Character
- A gray-white canvas supports long reading with charcoal text, disciplined measures, and faint paper-like tonal shifts that never become texture decoration.
- Context relationships are shown by indentation, vertical thread lines, soft rails, breadcrumbs, reference chips, and marginal annotations.
- Cards are mostly flat white or warm-white sheets separated by 1px hairlines; shadows are almost absent and used only for active overlays.
- Compact metrics appear beside documents as small text rows, counters, deltas, or marginal capsules instead of a dashboard grid.
- Interaction states feel cut and placed: indigo edge marks, inset outlines, thin selected rails, and tiny persimmon change badges.
## 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 | `#C75B2A` |
| background | `#F6F7F5` |
| border | `#DADDD8` |
| border_faint | `#ECEEEA` |
| error | `#A44A43` |
| info | `#456B8D` |
| muted | `#6B716D` |
| primary | `#162B45` |
| primary_soft | `#E8EEF5` |
| selection | `#203D63` |
| subtle | `#8D948F` |
| success | `#4F7661` |
| surface | `#FFFFFF` |
| surface_washi | `#FAFAF7` |
| text | `#202421` |
| warning | `#9B6A2F` |
## Typography
- **Headline-Lg**: Inter, 1.643rem, weight 700, line-height 1.1.
- **Headline-Md**: Inter, 1.392rem, weight 600, line-height 1.15.
- **Body-Md**: Source Serif 4, 16px, weight 400, line-height 1.58.
- **Label-Md**: IBM Plex Mono, 0.75rem, weight 600, line-height 1.
## Layout
### Spacing Tokens
- **Base**: `4px`
- **Xs**: `2px`
- **Sm**: `4px`
- **Md**: `6px`
- **Lg**: `8px`
- **Xl**: `12px`
- **2xl**: `16px`
- **3xl**: `20px`
- **4xl**: `24px`
- **Step-8**: `32px`
- **Step-9**: `40px`
- **Step-10**: `48px`
- **Step-11**: `64px`
- **Step-12**: `80px`
### Breakpoints
Mobile <= 640px collapses the context map into a top breadcrumb stack and hides marginalia behind inline disclosure. Tablet 641-1024px keeps document plus collapsible context drawer. Desktop >= 1025px shows context map, reading pane, and optional marginalia rail.
### Density
Compact in navigation and metadata, relaxed in prose. Use 28-36px nav rows, 12-16px chip height/padding rhythm, 20-24px document section spacing, and 40-64px breathing room at major transitions.
### Grid
Desktop uses a 12-column shell: 232-280px context map, flexible 680-820px reading/work pane, and 220-300px marginalia rail. All modules align to a 4px base with 8px row rhythm and 24-32px page gutters.
### Responsive
Preserve reading order first. Navigation becomes a context trail above the document; marginal metrics become inline summary rows below relevant headings; secondary references collapse into labeled disclosure groups.
### Whitespace
Whitespace is active negative space: it separates layers, gives documents room, and prevents context from feeling like dashboard clutter. Prefer empty margins with a few signals over filled sidebars.
## Elevation & Depth
### Shadows
- **Lg**: 0 24px 56px rgba(32,36,33,0.10)
- **Md**: 0 10px 24px rgba(32,36,33,0.07)
- **Sm**: 0 1px 2px rgba(32,36,33,0.04)
## Shapes
### Rounded
- **Full**: `9999px`
- **Lg**: `10px`
- **Md**: `6px`
- **None**: `0px`
- **Sm**: `2px`
- **Xl**: `14px`
### Surfaces
- **Bg Pattern**: None by default; if needed, only a nearly invisible 4px baseline/grid guide inside engineering views, never a motif.
- **Card Style**: White or washi-white rectangles with 1px hairline borders, 6-10px radii, restrained padding, and no decorative patterning.
- **Treatment**: Crisp light gray-white app shell with flat sheets, faint tonal gutters, and document-first panels.
### Borders
- **Accent Width**: 2px
- **Character**: Fine hairline dividers and indigo state rails; borders act like precise cut edges rather than decoration.
- **Default Width**: 1px
- **Style**: solid
## Components
### Composition
Use a minimal app shell with a compact left context map, a dominant central reading/work pane, and an optional right marginalia rail. Avoid dashboard-first composition: metrics belong inline with documents, beside section headings, or in quiet side summaries. Arrange context as nested routes, thread traces, document clusters, and reference links with indentation and connecting hairlines.
### Density
Precision density: navigation, breadcrumbs, references, and compact summaries can be tight, but the reading column must keep 65-78 character measures, 1.55-1.65 line height, and generous paragraph rhythm. Tables are secondary and should feel like annotated text lists, not enterprise grids.
### Hierarchy
Start with readable body text, strong section titles, and calm metadata. Use sumi charcoal for primary content, muted gray for supporting labels, and indigo only for navigational state, selection, focus, and active trace lines. Reserve persimmon for small badges that signal change, review needed, or attention.
### Signature Patterns
- Context map navigation: nested thread/document/reference rows with a 2px indigo active rail, fine continuation lines, and small counters aligned on the margin.
- Document marginalia: status, references, metrics, and AI traces sit in a narrow margin as quiet text chips or hairline-linked notes.
- Layer apertures: summaries open as small in-context cutouts under headings, preserving the reading flow instead of launching dashboard cards.
- Stateful traces: recently changed or referenced items receive a faint indigo wash plus a tiny persimmon dot or badge, never a large alert block.
- Rhythmic grid: align nav rows, document baselines, and marginal notes on a 4px/8px rhythm so dense context feels woven rather than cluttered.
## 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/katagami-context-map-system/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 Make reading the center of gravity; place analytics as marginal or inline context.
- Do Use indigo consistently for location, active route, selected object, focus, and thread continuation.
- Do Express katagami through precise cut edges, apertures, layering, and craft restraint rather than patterns.
- Do Use whitespace as structure: generous document gutters, disciplined indentation, and clear negative space around active text.
- Do Keep status low-chroma and text-labeled; let semantic color support hierarchy, not dominate it.
- Do Design hover/selected/active states with rails, outlines, slight tonal fills, and marginal markers.
- Do Style all controls deliberately with custom borders, focus rings, and readable labels.
- Don't Do not use literal Japanese motifs, tourist cliches, stencil flowers, waves, cranes, torii, seals, or faux calligraphy.
- Don't Do not lead with KPI cards, chart grids, or a dashboard homepage when the product task is reading and synthesis.
- Don't Do not turn katagami into a decorative background pattern or lace overlay.
- Don't Do not use indigo as a large brand wash; keep it as a navigation and state instrument.
- Don't Do not make persimmon a second primary color; use it only as micro-attention.
- Don't Do not rely on shadows to separate core surfaces when hairlines and spacing are enough.
- Don't Do not compress the reading column for the sake of showing every metric at once.
### Accessibility
Maintain WCAG AA contrast for body and controls; charcoal text should remain near #202421 on light surfaces. Indigo focus states use a visible 2px ring or rail with text labels. Status chips include labels, not color alone. Avoid text below 12px except decorative-free mono timestamps or counters.
### Usage Context
Best for AYA-like knowledge workspaces, research editors, AI copilots, document operations, reference management, and product surfaces that must weave context around long-form reading.
shadcn/ui theme
```json
{
"$schema": "https://ui.shadcn.com/schema/registry-item.json",
"name": "katagami-context-map-system",
"type": "registry:theme",
"title": "Katagami Context Map System shadcn Theme",
"cssVars": {
"theme": {},
"light": {
"background": "#F6F7F5",
"foreground": "#202421",
"card": "#FFFFFF",
"card-foreground": "#202421",
"popover": "#FFFFFF",
"popover-foreground": "#202421",
"primary": "#162B45",
"primary-foreground": "#ffffff",
"secondary": "#f4f4f5",
"secondary-foreground": "#111111",
"muted": "#6B716D",
"muted-foreground": "#202421",
"accent": "#C75B2A",
"accent-foreground": "#ffffff",
"destructive": "#A44A43",
"border": "#DADDD8",
"input": "#DADDD8",
"ring": "#C75B2A",
"chart-1": "#162B45",
"chart-2": "#f4f4f5",
"chart-3": "#C75B2A",
"chart-4": "#4F7661",
"chart-5": "#9B6A2F",
"sidebar": "#FFFFFF",
"sidebar-foreground": "#202421",
"sidebar-primary": "#162B45",
"sidebar-primary-foreground": "#ffffff",
"sidebar-accent": "#456B8D",
"sidebar-accent-foreground": "#ffffff",
"sidebar-border": "#DADDD8",
"sidebar-ring": "#C75B2A",
"radius": "6px"
},
"dark": {
"background": "#0f1115",
"foreground": "#f8fafc",
"card": "#181b22",
"card-foreground": "#f8fafc",
"popover": "#181b22",
"popover-foreground": "#f8fafc",
"primary": "#162B45",
"primary-foreground": "#ffffff",
"secondary": "#252a33",
"secondary-foreground": "#f8fafc",
"muted": "#252a33",
"muted-foreground": "#a1a1aa",
"accent": "#C75B2A",
"accent-foreground": "#ffffff",
"destructive": "#A44A43",
"border": "#303642",
"input": "#303642",
"ring": "#C75B2A",
"chart-1": "#162B45",
"chart-2": "#f4f4f5",
"chart-3": "#C75B2A",
"chart-4": "#4F7661",
"chart-5": "#9B6A2F",
"sidebar": "#181b22",
"sidebar-foreground": "#f8fafc",
"sidebar-primary": "#162B45",
"sidebar-primary-foreground": "#ffffff",
"sidebar-accent": "#C75B2A",
"sidebar-accent-foreground": "#ffffff",
"sidebar-border": "#303642",
"sidebar-ring": "#C75B2A",
"radius": "6px"
}
},
"meta": {
"source": "katagami",
"languageId": "katagami-context-map-system",
"slug": "katagami-context-map-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",
"border_faint",
"error",
"info",
"muted",
"primary",
"primary_soft",
"selection",
"subtle",
"success",
"surface",
"surface_washi",
"text",
"warning"
],
"motion": [
"duration",
"easing",
"philosophy"
],
"radii": [
"full",
"lg",
"md",
"none",
"sm",
"xl"
],
"shadows": [
"lg",
"md",
"sm"
],
"spacing": [
"base",
"scale"
],
"surfaces": [
"bg_pattern",
"card_style",
"treatment"
],
"typography": [
"base_size",
"body_font",
"google_fonts_url",
"heading_font",
"letter_spacing",
"line_height",
"mono_font",
"scale_ratio",
"ui_font"
]
}
}
}
```in the wild
embodiments
DESIGN.md
at a glance
Typography
headline-lgInter · 26px · 700
The quick brown fox jumps
headline-mdInter · 22px · 600
The quick brown fox jumps
body-mdSource Serif 4 · 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
- xs2px
- sm4px
- md6px
- lg8px
- xl12px
- 2xl16px
- 3xl20px
- 4xl24px
- step-832px
- step-940px
- step-1048px
- step-1164px
- step-1280px
Shape
full9999px
lg10px
md6px
none0px
sm2px
xl14px
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: #F6F7F5;
--foreground: #202421;
--card: #FFFFFF;
--card-foreground: #202421;
--popover: #FFFFFF;
--popover-foreground: #202421;
--primary: #162B45;
--primary-foreground: #ffffff;
--secondary: #f4f4f5;
--secondary-foreground: #111111;
--muted: #6B716D;
--muted-foreground: #202421;
--accent: #C75B2A;
--accent-foreground: #ffffff;
--destructive: #A44A43;
--border: #DADDD8;
--input: #DADDD8;
--ring: #C75B2A;
--chart-1: #162B45;
--chart-2: #f4f4f5;
--chart-3: #C75B2A;
--chart-4: #4F7661;
--chart-5: #9B6A2F;
--sidebar: #FFFFFF;
--sidebar-foreground: #202421;
--sidebar-primary: #162B45;
--sidebar-primary-foreground: #ffffff;
--sidebar-accent: #456B8D;
--sidebar-accent-foreground: #ffffff;
--sidebar-border: #DADDD8;
--sidebar-ring: #C75B2A;
--radius: 6px;
}
.dark {
--background: #0f1115;
--foreground: #f8fafc;
--card: #181b22;
--card-foreground: #f8fafc;
--popover: #181b22;
--popover-foreground: #f8fafc;
--primary: #162B45;
--primary-foreground: #ffffff;
--secondary: #252a33;
--secondary-foreground: #f8fafc;
--muted: #252a33;
--muted-foreground: #a1a1aa;
--accent: #C75B2A;
--accent-foreground: #ffffff;
--destructive: #A44A43;
--border: #303642;
--input: #303642;
--ring: #C75B2A;
--chart-1: #162B45;
--chart-2: #f4f4f5;
--chart-3: #C75B2A;
--chart-4: #4F7661;
--chart-5: #9B6A2F;
--sidebar: #181b22;
--sidebar-foreground: #f8fafc;
--sidebar-primary: #162B45;
--sidebar-primary-foreground: #ffffff;
--sidebar-accent: #C75B2A;
--sidebar-accent-foreground: #ffffff;
--sidebar-border: #303642;
--sidebar-ring: #C75B2A;
--radius: 6px;
}
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 KatagamiContextMapSystemShadcnKit() {
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">Katagami Context Map 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": "katagami-context-map-system",
"type": "registry:theme",
"title": "Katagami Context Map System shadcn Theme",
"cssVars": {
"theme": {},
"light": {
"background": "#F6F7F5",
"foreground": "#202421",
"card": "#FFFFFF",
"card-foreground": "#202421",
"popover": "#FFFFFF",
"popover-foreground": "#202421",
"primary": "#162B45",
"primary-foreground": "#ffffff",
"secondary": "#f4f4f5",
"secondary-foreground": "#111111",
"muted": "#6B716D",
"muted-foreground": "#202421",
"accent": "#C75B2A",
"accent-foreground": "#ffffff",
"destructive": "#A44A43",
"border": "#DADDD8",
"input": "#DADDD8",
"ring": "#C75B2A",
"chart-1": "#162B45",
"chart-2": "#f4f4f5",
"chart-3": "#C75B2A",
"chart-4": "#4F7661",
"chart-5": "#9B6A2F",
"sidebar": "#FFFFFF",
"sidebar-foreground": "#202421",
"sidebar-primary": "#162B45",
"sidebar-primary-foreground": "#ffffff",
"sidebar-accent": "#456B8D",
"sidebar-accent-foreground": "#ffffff",
"sidebar-border": "#DADDD8",
"sidebar-ring": "#C75B2A",
"radius": "6px"
},
"dark": {
"background": "#0f1115",
"foreground": "#f8fafc",
"card": "#181b22",
"card-foreground": "#f8fafc",
"popover": "#181b22",
"popover-foreground": "#f8fafc",
"primary": "#162B45",
"primary-foreground": "#ffffff",
"secondary": "#252a33",
"secondary-foreground": "#f8fafc",
"muted": "#252a33",
"muted-foreground": "#a1a1aa",
"accent": "#C75B2A",
"accent-foreground": "#ffffff",
"destructive": "#A44A43",
"border": "#303642",
"input": "#303642",
"ring": "#C75B2A",
"chart-1": "#162B45",
"chart-2": "#f4f4f5",
"chart-3": "#C75B2A",
"chart-4": "#4F7661",
"chart-5": "#9B6A2F",
"sidebar": "#181b22",
"sidebar-foreground": "#f8fafc",
"sidebar-primary": "#162B45",
"sidebar-primary-foreground": "#ffffff",
"sidebar-accent": "#C75B2A",
"sidebar-accent-foreground": "#ffffff",
"sidebar-border": "#303642",
"sidebar-ring": "#C75B2A",
"radius": "6px"
}
},
"meta": {
"source": "katagami",
"languageId": "katagami-context-map-system",
"slug": "katagami-context-map-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",
"border_faint",
"error",
"info",
"muted",
"primary",
"primary_soft",
"selection",
"subtle",
"success",
"surface",
"surface_washi",
"text",
"warning"
],
"motion": [
"duration",
"easing",
"philosophy"
],
"radii": [
"full",
"lg",
"md",
"none",
"sm",
"xl"
],
"shadows": [
"lg",
"md",
"sm"
],
"spacing": [
"base",
"scale"
],
"surfaces": [
"bg_pattern",
"card_style",
"treatment"
],
"typography": [
"base_size",
"body_font",
"google_fonts_url",
"heading_font",
"letter_spacing",
"line_height",
"mono_font",
"scale_ratio",
"ui_font"
]
}
}
}
component recipescompatibility fallback
# Katagami Context Map System shadcn/ui Components
Artifact: `component-recipes-v1`
Author: `katagami-ui-projection`
Language ID: `katagami-context-map-system`
Slug: `katagami-context-map-system`
## Intent
A calm, light, text-first workspace language for AYA where navigation behaves like a context map rather than a dashboard. The system translates katagami craft, washi restraint, weaving, negative space, and rhythm into product-grade structure: fine hairline dividers, deliberate apertures for reading, woven trails between threads and documents, and quiet marginal signals that show state without taking over the canvas. Japanese inspiration stays abstract and operational: precision cuts, layered context, proportion, material restraint, and attentive whitespace. The result is a crisp gray-white reading environment with charcoal sumi typography, blue-black indigo selection logic, low-chroma semantic status, and tiny persimmon attention marks used only for change or urgency.
## 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": "#C75B2A",
"background": "#F6F7F5",
"border": "#DADDD8",
"border_faint": "#ECEEEA",
"error": "#A44A43",
"info": "#456B8D",
"muted": "#6B716D",
"primary": "#162B45",
"primary_soft": "#E8EEF5",
"selection": "#203D63",
"subtle": "#8D948F",
"success": "#4F7661",
"surface": "#FFFFFF",
"surface_washi": "#FAFAF7",
"text": "#202421",
"warning": "#9B6A2F"
}
Typography:
{
"base_size": "16px",
"body_font": "Source Serif 4",
"google_fonts_url": "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Source+Serif+4:wght@400;500;600&family=IBM+Plex+Mono:wght@400;500;600&display=swap",
"heading_font": "Inter",
"letter_spacing": "-0.01em",
"line_height": 1.58,
"mono_font": "IBM Plex Mono",
"scale_ratio": 1.18,
"ui_font": "Inter"
}
## Visual character to preserve
- A gray-white canvas supports long reading with charcoal text, disciplined measures, and faint paper-like tonal shifts that never become texture decoration.
- Context relationships are shown by indentation, vertical thread lines, soft rails, breadcrumbs, reference chips, and marginal annotations.
- Cards are mostly flat white or warm-white sheets separated by 1px hairlines; shadows are almost absent and used only for active overlays.
- Compact metrics appear beside documents as small text rows, counters, deltas, or marginal capsules instead of a dashboard grid.
- Interaction states feel cut and placed: indigo edge marks, inset outlines, thin selected rails, and tiny persimmon change badges.
## ShadSync visual profile
{
"family": "paper-collage",
"material": "paper",
"contour": "default",
"border": "solid",
"underlay": false,
"grain": true,
"stickerBadges": true,
"motion": "still",
"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/katagami-context-map-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: Make reading the center of gravity; place analytics as marginal or inline context.; Use indigo consistently for location, active route, selected object, focus, and thread continuation.; Express katagami through precise cut edges, apertures, layering, and craft restraint rather than patterns.; Use whitespace as structure: generous document gutters, disciplined indentation, and clear negative space around active text.; Keep status low-chroma and text-labeled; let semantic color support hierarchy, not dominate it.; Design hover/selected/active states with rails, outlines, slight tonal fills, and marginal markers.; Style all controls deliberately with custom borders, focus rings, and readable labels.
- Do not: Do not use literal Japanese motifs, tourist cliches, stencil flowers, waves, cranes, torii, seals, or faux calligraphy.; Do not lead with KPI cards, chart grids, or a dashboard homepage when the product task is reading and synthesis.; Do not turn katagami into a decorative background pattern or lace overlay.; Do not use indigo as a large brand wash; keep it as a navigation and state instrument.; Do not make persimmon a second primary color; use it only as micro-attention.; Do not rely on shadows to separate core surfaces when hairlines and spacing are enough.; Do not compress the reading column for the sake of showing every metric at once.
## 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 KatagamiContextMapSystemShadcnKit() {
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">Katagami Context Map 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 collapses the context map into a top breadcrumb stack and hides marginalia behind inline disclosure. Tablet 641-1024px keeps document plus collapsible context drawer. Desktop >= 1025px shows context map, reading pane, and optional marginalia rail.",
"density": "Compact in navigation and metadata, relaxed in prose. Use 28-36px nav rows, 12-16px chip height/padding rhythm, 20-24px document section spacing, and 40-64px breathing room at major transitions.",
"grid": "Desktop uses a 12-column shell: 232-280px context map, flexible 680-820px reading/work pane, and 220-300px marginalia rail. All modules align to a 4px base with 8px row rhythm and 24-32px page gutters.",
"responsive": "Preserve reading order first. Navigation becomes a context trail above the document; marginal metrics become inline summary rows below relevant headings; secondary references collapse into labeled disclosure groups.",
"whitespace": "Whitespace is active negative space: it separates layers, gives documents room, and prevents context from feeling like dashboard clutter. Prefer empty margins with a few signals over filled sidebars."
}
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": "katagami-context-map-system",
"name": "Katagami Context Map System",
"slug": "katagami-context-map-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": [
"A gray-white canvas supports long reading with charcoal text, disciplined measures, and faint paper-like tonal shifts that never become texture decoration.",
"Context relationships are shown by indentation, vertical thread lines, soft rails, breadcrumbs, reference chips, and marginal annotations.",
"Cards are mostly flat white or warm-white sheets separated by 1px hairlines; shadows are almost absent and used only for active overlays.",
"Compact metrics appear beside documents as small text rows, counters, deltas, or marginal capsules instead of a dashboard grid.",
"Interaction states feel cut and placed: indigo edge marks, inset outlines, thin selected rails, and tiny persimmon change badges."
],
"visualProfile": {
"family": "paper-collage",
"material": "paper",
"contour": "default",
"border": "solid",
"underlay": false,
"grain": true,
"stickerBadges": true,
"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": "Katagami Context Map 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": [
"Make reading the center of gravity; place analytics as marginal or inline context.",
"Use indigo consistently for location, active route, selected object, focus, and thread continuation.",
"Express katagami through precise cut edges, apertures, layering, and craft restraint rather than patterns.",
"Use whitespace as structure: generous document gutters, disciplined indentation, and clear negative space around active text.",
"Keep status low-chroma and text-labeled; let semantic color support hierarchy, not dominate it.",
"Design hover/selected/active states with rails, outlines, slight tonal fills, and marginal markers.",
"Style all controls deliberately with custom borders, focus rings, and readable labels."
],
"dont": [
"Do not use literal Japanese motifs, tourist cliches, stencil flowers, waves, cranes, torii, seals, or faux calligraphy.",
"Do not lead with KPI cards, chart grids, or a dashboard homepage when the product task is reading and synthesis.",
"Do not turn katagami into a decorative background pattern or lace overlay.",
"Do not use indigo as a large brand wash; keep it as a navigation and state instrument.",
"Do not make persimmon a second primary color; use it only as micro-attention.",
"Do not rely on shadows to separate core surfaces when hairlines and spacing are enough.",
"Do not compress the reading column for the sake of showing every metric at once."
]
}
}
related