back to gallerydo avoid
design language·quiet-measure-minimalism
Quiet Measure Minimalism
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
Quiet Measure Minimalism is a visual language for interfaces that must feel exact, calm, and materially honest. It treats design as editing: remove decoration until hierarchy, alignment, and content carry the experience. The system uses a pure white field, disciplined black typography, faint measurement rules, and a single blue accent only where the interface must ask for attention. Its character comes from proportion and omission rather than effects.
values
Reduction with evidenceNegative space as structureMeasured alignmentTypographic restraintMaterial honestySparse emphasis
anti-values
×Decorative abundance×Ambiguous hierarchy×Color dependency×Soft template aesthetics
tokens
colors16 items
primary
#000000
secondary
#121212
accent
#0057FF
background
#FFFFFF
surface
#FFFFFF
text
#000000
muted
#6A6A6A
border
#D8D8D8
error
#B00020
success
#0B6B2E
warning
#8A5A00
info
#0057FF
rule_dark
#000000
rule_light
#E8E8E8
disabled
#A8A8A8
selection
#F2F6FF
typography10 items
- heading font
- Instrument Sans
- body font
- Instrument Sans
- mono font
- IBM Plex Mono
- base size
- 16px
- scale ratio
- 1.2
- line height
- 1.45
- letter spacing
- -0.02em
- google fonts url
- https://fonts.googleapis.com/css2?family=Instrument+Sans:wght@400;500;600;700&family=IBM+Plex+Mono:wght@400;500;600&display=swap
- sizes
- xs 12px·sm 14px·base 16px·md 18px·lg 24px·xl 36px·display 56px
- weights
- regular 400·medium 500·semibold 600·bold 700
spacing2 items
- base
- 8px
- scale
- 4px, 8px, 12px, 16px, 24px, 32px, 48px, 64px, 96px, 128px
radii5 items
- none
- 0px
- sm
- 0px
- md
- 0px
- lg
- 0px
- full
- 9999px
shadows3 items
- sm
- none
- md
- 0 1px 0 rgba(0,0,0,0.08)
- lg
- 0 0 0 1px rgba(0,0,0,0.12)
surfaces3 items
- treatment
- flat
- card style
- Flat white cards separated by exact 1px hairline borders and generous internal whitespace; no elevation is implied.
- bg pattern
- lines
borders4 items
- default width
- 1px
- accent width
- 2px
- style
- solid
- character
- Precise hairline borders act as measurement marks and structural dividers rather than decorative frames.
motion3 items
- duration
- 160ms
- easing
- cubic-bezier(0.2, 0, 0, 1)
- philosophy
- snappy
responsive2 items
- breakpoints
- 1200px, 1024px, 768px, 480px
- column progression
- 12 columns desktop, 8 columns tablet, 4 columns small tablet, 1 column phone
rules
composition
Use a 12-column desktop grid with generous outer margins; every panel, toolbar, metric, and table edge must align to shared column lines.Prefer horizontal bands and vertical rule divisions over floating cards; sections should feel typeset into a measured sheet.Let empty space do separation before adding borders; use borders only when adjacency needs a precise boundary.Keep all geometry orthogonal with square corners; avoid diagonals, overlapping circles, decorative blobs, or arbitrary offsets.Place primary actions at the end of a reading line or top-right of a work area, never centered as promotional calls to action.Use monochrome first; add cobalt only after hierarchy works in black, white, and gray.
hierarchy
Page titles may be large but remain plain, left-aligned, and tight-tracked rather than decorative.Section labels use uppercase mono or small sans text with a preceding measure line to establish location.Interactive priority is shown through border weight, active underlines, and restrained fill rather than shadows.Data-heavy elements use tabular mono numerals and thin row rules so comparison is effortless.Warnings and success states combine a text label, icon-like mark, and restrained semantic color; never rely on color alone.
density
Medium-low density: content is edited down and surrounded by deliberate whitespace, but tables and metadata remain compact through typographic discipline.
signature patterns
Section headers use a thin horizontal measure line generated with ::before, followed by uppercase mono labels.Cards and modals use square corners, flat white fills, and exact 1px hairline borders with no box-shadow elevation.Active tabs and selected controls are marked by a 2px cobalt bottom or left rule instead of filled decorative pills.Tables use tabular IBM Plex Mono numerals, generous row height, and 1px horizontal dividers without zebra striping.Focus and progress states use the single cobalt accent as a precise outline or linear fill while surrounding UI remains monochrome.
layout
density
The default density is quiet and editorial: high-value controls and summaries receive large whitespace, while operational tables use compact type and ruled rows. This balance keeps the interface calm without wasting the user’s scanning path.
grid
Desktop uses a 12-column grid with 32px gutters, max content width of 1320px, and 48px page margins. Tablet reduces to 8 columns with 24px gutters. Mobile collapses to one column with 20px margins and full-width controls.
breakpoints
- desktop
- 1200px and up
- tablet landscape
- 1024px
- tablet portrait
- 768px
- phone
- 480px
whitespace
Whitespace is the primary separator. Use 64px and 96px gaps for major editorial transitions, 24px and 32px inside panels, and avoid filling empty regions with background color or illustrations.
responsive
At 1024px, sidebars compress and summary panels become two columns. At 768px, work areas stack and the table gains horizontal overflow. At 480px, all buttons become full-width, navigation becomes a compact row, and modals fit within a 20px inset.
guidance
- Start every screen in black, white, and gray before adding the single cobalt accent.
- Use -0.02em letter spacing globally on headings, labels, paragraphs, buttons, and data.
- Align every major edge to the grid and repeat the same 1px rule treatment for all boundaries.
- Use square 0px corners for panels, inputs, tables, dialogs, and cards; reserve 9999px only for tiny badges or avatars.
- Write concise interface copy so whitespace feels intentional rather than empty.
- Use tabular mono numerals for metrics, timestamps, counts, and pagination.
- Show interaction through precise border, underline, focus outline, and content changes.
- Provide semantic labels alongside color changes for alerts, validation, and state.
- Do not use gradients, pastel backgrounds, glassmorphism, neumorphism, or decorative texture.
- Do not round cards or inputs with arbitrary radii; avoid 8px, 12px, 20px, 32px, or pill cards.
- Do not add drop shadows to imply hierarchy; use spacing, type scale, and hairline rules instead.
- Do not use more than one accent color or spread accent across large decorative areas.
- Do not center large blocks of UI or create hero-marketing compositions inside product screens.
- Do not create component catalog pages; components should appear inside a real operational scene.
- Do not rely on icons without text labels in critical actions.
- Do not compress mobile layouts into tiny multi-column grids.
katagami spec
# Quiet Measure Minimalism
## Philosophy
Quiet Measure Minimalism is a visual language for interfaces that must feel exact, calm, and materially honest. It treats design as editing: remove decoration until hierarchy, alignment, and content carry the experience. The system uses a pure white field, disciplined black typography, faint measurement rules, and a single blue accent only where the interface must ask for attention. Its character comes from proportion and omission rather than effects.
### Values
- {"name":"Reduction with evidence","explanation":"Every visible element must explain its presence through navigation, hierarchy, input, or feedback; ornament without a job is removed."}
- {"name":"Negative space as structure","explanation":"Large empty areas are not leftovers but active containers that separate decisions, slow the eye, and make content feel deliberate."}
- {"name":"Measured alignment","explanation":"All elements snap to a strict column grid and share edge relationships so the screen reads as composed rather than assembled."}
- {"name":"Typographic restraint","explanation":"Hierarchy is built from size, weight, case, and spacing; the system avoids expressive type changes and keeps tight -0.02em tracking everywhere."}
- {"name":"Material honesty","explanation":"Surfaces are flat white or black with 1px rules; there are no fake materials, glass, heavy shadows, or decorative gradients."}
- {"name":"Sparse emphasis","explanation":"The single accent color appears in small quantities for active state, progress, and primary action, never as ambience or decoration."}
### Anti-Values
- {"name":"Decorative abundance","explanation":"No layered cards, floating panels, unnecessary illustrations, or decorative icon fields."}
- {"name":"Ambiguous hierarchy","explanation":"Avoid similar-looking headings, controls, and body text; hierarchy must be quiet but unmistakable."}
- {"name":"Color dependency","explanation":"The interface must work in monochrome; accent color only reinforces meaning already carried by structure or text."}
- {"name":"Soft template aesthetics","explanation":"No pastel backgrounds, gradient buttons, rounded novelty shapes, or excessive shadow polish."}
### Visual Character
- Pure #FFFFFF canvas with large unfilled margins and no tinted page panels, making negative space the dominant surface.
- Hairline 1px rules in black or neutral gray define cards, table rows, dividers, and modal edges instead of shadows.
- Strict orthogonal grid with aligned left edges, narrow measure markers, and no floating or overlapping decorative layers.
- Typography uses Instrument Sans with -0.02em letter spacing, few weights, compact labels, and tabular mono data blocks.
- A single cobalt accent appears only as a thin active rule, progress fill, focus outline, or primary action background.
## Tokens
### Colors
| Name | Value |
|------|-------|
| primary | `#000000` |
| secondary | `#121212` |
| accent | `#0057FF` |
| background | `#FFFFFF` |
| surface | `#FFFFFF` |
| text | `#000000` |
| muted | `#6A6A6A` |
| border | `#D8D8D8` |
| error | `#B00020` |
| success | `#0B6B2E` |
| warning | `#8A5A00` |
| info | `#0057FF` |
| rule_dark | `#000000` |
| rule_light | `#E8E8E8` |
| disabled | `#A8A8A8` |
| selection | `#F2F6FF` |
### Typography
- **Heading Font**: Instrument Sans
- **Body Font**: Instrument Sans
- **Mono Font**: IBM Plex Mono
- **Base Size**: 16px
- **Scale Ratio**: 1.2
- **Line Height**: 1.45
- **Letter Spacing**: -0.02em
- **Google Fonts Url**: https://fonts.googleapis.com/css2?family=Instrument+Sans:wght@400;500;600;700&family=IBM+Plex+Mono:wght@400;500;600&display=swap
- **Sizes**: {"xs":"12px","sm":"14px","base":"16px","md":"18px","lg":"24px","xl":"36px","display":"56px"}
- **Weights**: {"regular":400,"medium":500,"semibold":600,"bold":700}
### Spacing
- **Base**: 8px
- **Scale**: ["4px","8px","12px","16px","24px","32px","48px","64px","96px","128px"]
### Radii
- **None**: 0px
- **Sm**: 0px
- **Md**: 0px
- **Lg**: 0px
- **Full**: 9999px
### Shadows
- **Sm**: none
- **Md**: 0 1px 0 rgba(0,0,0,0.08)
- **Lg**: 0 0 0 1px rgba(0,0,0,0.12)
### Surfaces
- **Treatment**: flat
- **Card Style**: Flat white cards separated by exact 1px hairline borders and generous internal whitespace; no elevation is implied.
- **Bg Pattern**: lines
### Borders
- **Default Width**: 1px
- **Accent Width**: 2px
- **Style**: solid
- **Character**: Precise hairline borders act as measurement marks and structural dividers rather than decorative frames.
### Motion
- **Duration**: 160ms
- **Easing**: cubic-bezier(0.2, 0, 0, 1)
- **Philosophy**: snappy
### Responsive
- **Breakpoints**: ["1200px","1024px","768px","480px"]
- **Column Progression**: 12 columns desktop, 8 columns tablet, 4 columns small tablet, 1 column phone
## Rules
### Composition
- Use a 12-column desktop grid with generous outer margins; every panel, toolbar, metric, and table edge must align to shared column lines.
- Prefer horizontal bands and vertical rule divisions over floating cards; sections should feel typeset into a measured sheet.
- Let empty space do separation before adding borders; use borders only when adjacency needs a precise boundary.
- Keep all geometry orthogonal with square corners; avoid diagonals, overlapping circles, decorative blobs, or arbitrary offsets.
- Place primary actions at the end of a reading line or top-right of a work area, never centered as promotional calls to action.
- Use monochrome first; add cobalt only after hierarchy works in black, white, and gray.
### Hierarchy
- Page titles may be large but remain plain, left-aligned, and tight-tracked rather than decorative.
- Section labels use uppercase mono or small sans text with a preceding measure line to establish location.
- Interactive priority is shown through border weight, active underlines, and restrained fill rather than shadows.
- Data-heavy elements use tabular mono numerals and thin row rules so comparison is effortless.
- Warnings and success states combine a text label, icon-like mark, and restrained semantic color; never rely on color alone.
### Density
Medium-low density: content is edited down and surrounded by deliberate whitespace, but tables and metadata remain compact through typographic discipline.
### Signature Patterns
- Section headers use a thin horizontal measure line generated with ::before, followed by uppercase mono labels.
- Cards and modals use square corners, flat white fills, and exact 1px hairline borders with no box-shadow elevation.
- Active tabs and selected controls are marked by a 2px cobalt bottom or left rule instead of filled decorative pills.
- Tables use tabular IBM Plex Mono numerals, generous row height, and 1px horizontal dividers without zebra striping.
- Focus and progress states use the single cobalt accent as a precise outline or linear fill while surrounding UI remains monochrome.
## Layout
### Density
The default density is quiet and editorial: high-value controls and summaries receive large whitespace, while operational tables use compact type and ruled rows. This balance keeps the interface calm without wasting the user’s scanning path.
### Grid
Desktop uses a 12-column grid with 32px gutters, max content width of 1320px, and 48px page margins. Tablet reduces to 8 columns with 24px gutters. Mobile collapses to one column with 20px margins and full-width controls.
### Breakpoints
- **Desktop**: 1200px and up
- **Tablet Landscape**: 1024px
- **Tablet Portrait**: 768px
- **Phone**: 480px
### Whitespace
Whitespace is the primary separator. Use 64px and 96px gaps for major editorial transitions, 24px and 32px inside panels, and avoid filling empty regions with background color or illustrations.
### Responsive
At 1024px, sidebars compress and summary panels become two columns. At 768px, work areas stack and the table gains horizontal overflow. At 480px, all buttons become full-width, navigation becomes a compact row, and modals fit within a 20px inset.
## Guidance
### Do
- Start every screen in black, white, and gray before adding the single cobalt accent.
- Use -0.02em letter spacing globally on headings, labels, paragraphs, buttons, and data.
- Align every major edge to the grid and repeat the same 1px rule treatment for all boundaries.
- Use square 0px corners for panels, inputs, tables, dialogs, and cards; reserve 9999px only for tiny badges or avatars.
- Write concise interface copy so whitespace feels intentional rather than empty.
- Use tabular mono numerals for metrics, timestamps, counts, and pagination.
- Show interaction through precise border, underline, focus outline, and content changes.
- Provide semantic labels alongside color changes for alerts, validation, and state.
### Don't
- Do not use gradients, pastel backgrounds, glassmorphism, neumorphism, or decorative texture.
- Do not round cards or inputs with arbitrary radii; avoid 8px, 12px, 20px, 32px, or pill cards.
- Do not add drop shadows to imply hierarchy; use spacing, type scale, and hairline rules instead.
- Do not use more than one accent color or spread accent across large decorative areas.
- Do not center large blocks of UI or create hero-marketing compositions inside product screens.
- Do not create component catalog pages; components should appear inside a real operational scene.
- Do not rely on icons without text labels in critical actions.
- Do not compress mobile layouts into tiny multi-column grids.
### Usage Context
Best for editorial tools, research dashboards, publishing queues, finance review workspaces, documentation systems, and any product where authority comes from clarity and restraint rather than brand decoration.
### Accessibility
Maintain 4.5:1 contrast or better for text, make focus outlines visible with the cobalt accent and black fallback, keep touch targets at least 44px, label every form control, and never communicate status with color alone.
DESIGN.md
---
version: "alpha"
name: "Quiet Measure Minimalism"
description: "Agent-curated design language exported from Katagami as DESIGN.md."
colors:
primary: "#000000"
secondary: "#121212"
accent: "#0057FF"
background: "#FFFFFF"
surface: "#FFFFFF"
text: "#000000"
muted: "#6A6A6A"
border: "#D8D8D8"
error: "#B00020"
success: "#0B6B2E"
warning: "#8A5A00"
info: "#0057FF"
rule_dark: "#000000"
rule_light: "#E8E8E8"
disabled: "#A8A8A8"
selection: "#F2F6FF"
typography:
headline-lg:
fontFamily: "Instrument Sans"
fontSize: "1.728rem"
fontWeight: 700
lineHeight: 1.1
letterSpacing: "-0.02em"
headline-md:
fontFamily: "Instrument Sans"
fontSize: "1.44rem"
fontWeight: 600
lineHeight: 1.15
letterSpacing: "-0.02em"
body-md:
fontFamily: "Instrument Sans"
fontSize: "16px"
fontWeight: 400
lineHeight: 1.45
letterSpacing: "-0.02em"
label-md:
fontFamily: "IBM Plex Mono"
fontSize: "0.75rem"
fontWeight: 600
lineHeight: 1
letterSpacing: "0.08em"
rounded:
none: "0px"
sm: "0px"
md: "0px"
lg: "0px"
full: "9999px"
spacing:
base: "8px"
xs: "4px"
sm: "8px"
md: "12px"
lg: "16px"
xl: "24px"
2xl: "32px"
3xl: "48px"
4xl: "64px"
step-8: "96px"
step-9: "128px"
components:
color-reference-primary:
backgroundColor: "{colors.primary}"
color-reference-secondary:
backgroundColor: "{colors.secondary}"
color-reference-accent:
backgroundColor: "{colors.accent}"
color-reference-background:
backgroundColor: "{colors.background}"
color-reference-surface:
backgroundColor: "{colors.surface}"
color-reference-text:
backgroundColor: "{colors.text}"
color-reference-muted:
backgroundColor: "{colors.muted}"
color-reference-border:
backgroundColor: "{colors.border}"
color-reference-error:
backgroundColor: "{colors.error}"
color-reference-success:
backgroundColor: "{colors.success}"
color-reference-warning:
backgroundColor: "{colors.warning}"
color-reference-info:
backgroundColor: "{colors.info}"
color-reference-rule_dark:
backgroundColor: "{colors.rule_dark}"
color-reference-rule_light:
backgroundColor: "{colors.rule_light}"
color-reference-disabled:
backgroundColor: "{colors.disabled}"
color-reference-selection:
backgroundColor: "{colors.selection}"
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"
---
# Quiet Measure Minimalism
## Overview
Quiet Measure Minimalism is a visual language for interfaces that must feel exact, calm, and materially honest. It treats design as editing: remove decoration until hierarchy, alignment, and content carry the experience. The system uses a pure white field, disciplined black typography, faint measurement rules, and a single blue accent only where the interface must ask for attention. Its character comes from proportion and omission rather than effects.
### Values
- {"name":"Reduction with evidence","explanation":"Every visible element must explain its presence through navigation, hierarchy, input, or feedback; ornament without a job is removed."}
- {"name":"Negative space as structure","explanation":"Large empty areas are not leftovers but active containers that separate decisions, slow the eye, and make content feel deliberate."}
- {"name":"Measured alignment","explanation":"All elements snap to a strict column grid and share edge relationships so the screen reads as composed rather than assembled."}
- {"name":"Typographic restraint","explanation":"Hierarchy is built from size, weight, case, and spacing; the system avoids expressive type changes and keeps tight -0.02em tracking everywhere."}
- {"name":"Material honesty","explanation":"Surfaces are flat white or black with 1px rules; there are no fake materials, glass, heavy shadows, or decorative gradients."}
- {"name":"Sparse emphasis","explanation":"The single accent color appears in small quantities for active state, progress, and primary action, never as ambience or decoration."}
### Anti-Values
- {"name":"Decorative abundance","explanation":"No layered cards, floating panels, unnecessary illustrations, or decorative icon fields."}
- {"name":"Ambiguous hierarchy","explanation":"Avoid similar-looking headings, controls, and body text; hierarchy must be quiet but unmistakable."}
- {"name":"Color dependency","explanation":"The interface must work in monochrome; accent color only reinforces meaning already carried by structure or text."}
- {"name":"Soft template aesthetics","explanation":"No pastel backgrounds, gradient buttons, rounded novelty shapes, or excessive shadow polish."}
### Visual Character
- Pure #FFFFFF canvas with large unfilled margins and no tinted page panels, making negative space the dominant surface.
- Hairline 1px rules in black or neutral gray define cards, table rows, dividers, and modal edges instead of shadows.
- Strict orthogonal grid with aligned left edges, narrow measure markers, and no floating or overlapping decorative layers.
- Typography uses Instrument Sans with -0.02em letter spacing, few weights, compact labels, and tabular mono data blocks.
- A single cobalt accent appears only as a thin active rule, progress fill, focus outline, or primary action background.
## Colors
Use the YAML color tokens as the normative palette. The prose below names the roles agents should preserve when generating UI.
| Token | Value |
|-------|-------|
| primary | `#000000` |
| secondary | `#121212` |
| accent | `#0057FF` |
| background | `#FFFFFF` |
| surface | `#FFFFFF` |
| text | `#000000` |
| muted | `#6A6A6A` |
| border | `#D8D8D8` |
| error | `#B00020` |
| success | `#0B6B2E` |
| warning | `#8A5A00` |
| info | `#0057FF` |
| rule_dark | `#000000` |
| rule_light | `#E8E8E8` |
| disabled | `#A8A8A8` |
| selection | `#F2F6FF` |
## Typography
- **Headline-Lg**: Instrument Sans, 1.728rem, weight 700, line-height 1.1.
- **Headline-Md**: Instrument Sans, 1.44rem, weight 600, line-height 1.15.
- **Body-Md**: Instrument Sans, 16px, weight 400, line-height 1.45.
- **Label-Md**: IBM Plex Mono, 0.75rem, weight 600, line-height 1.
## Layout
### Spacing Tokens
- **Base**: `8px`
- **Xs**: `4px`
- **Sm**: `8px`
- **Md**: `12px`
- **Lg**: `16px`
- **Xl**: `24px`
- **2xl**: `32px`
- **3xl**: `48px`
- **4xl**: `64px`
- **Step-8**: `96px`
- **Step-9**: `128px`
### Density
The default density is quiet and editorial: high-value controls and summaries receive large whitespace, while operational tables use compact type and ruled rows. This balance keeps the interface calm without wasting the user’s scanning path.
### Grid
Desktop uses a 12-column grid with 32px gutters, max content width of 1320px, and 48px page margins. Tablet reduces to 8 columns with 24px gutters. Mobile collapses to one column with 20px margins and full-width controls.
### Breakpoints
- **Desktop**: 1200px and up
- **Tablet Landscape**: 1024px
- **Tablet Portrait**: 768px
- **Phone**: 480px
### Whitespace
Whitespace is the primary separator. Use 64px and 96px gaps for major editorial transitions, 24px and 32px inside panels, and avoid filling empty regions with background color or illustrations.
### Responsive
At 1024px, sidebars compress and summary panels become two columns. At 768px, work areas stack and the table gains horizontal overflow. At 480px, all buttons become full-width, navigation becomes a compact row, and modals fit within a 20px inset.
## Elevation & Depth
### Shadows
- **Sm**: none
- **Md**: 0 1px 0 rgba(0,0,0,0.08)
- **Lg**: 0 0 0 1px rgba(0,0,0,0.12)
## Shapes
### Rounded
- **None**: `0px`
- **Sm**: `0px`
- **Md**: `0px`
- **Lg**: `0px`
- **Full**: `9999px`
### Surfaces
- **Treatment**: flat
- **Card Style**: Flat white cards separated by exact 1px hairline borders and generous internal whitespace; no elevation is implied.
- **Bg Pattern**: lines
### Borders
- **Default Width**: 1px
- **Accent Width**: 2px
- **Style**: solid
- **Character**: Precise hairline borders act as measurement marks and structural dividers rather than decorative frames.
## Components
### Composition
- Use a 12-column desktop grid with generous outer margins; every panel, toolbar, metric, and table edge must align to shared column lines.
- Prefer horizontal bands and vertical rule divisions over floating cards; sections should feel typeset into a measured sheet.
- Let empty space do separation before adding borders; use borders only when adjacency needs a precise boundary.
- Keep all geometry orthogonal with square corners; avoid diagonals, overlapping circles, decorative blobs, or arbitrary offsets.
- Place primary actions at the end of a reading line or top-right of a work area, never centered as promotional calls to action.
- Use monochrome first; add cobalt only after hierarchy works in black, white, and gray.
### Hierarchy
- Page titles may be large but remain plain, left-aligned, and tight-tracked rather than decorative.
- Section labels use uppercase mono or small sans text with a preceding measure line to establish location.
- Interactive priority is shown through border weight, active underlines, and restrained fill rather than shadows.
- Data-heavy elements use tabular mono numerals and thin row rules so comparison is effortless.
- Warnings and success states combine a text label, icon-like mark, and restrained semantic color; never rely on color alone.
### Density
Medium-low density: content is edited down and surrounded by deliberate whitespace, but tables and metadata remain compact through typographic discipline.
### Signature Patterns
- Section headers use a thin horizontal measure line generated with ::before, followed by uppercase mono labels.
- Cards and modals use square corners, flat white fills, and exact 1px hairline borders with no box-shadow elevation.
- Active tabs and selected controls are marked by a 2px cobalt bottom or left rule instead of filled decorative pills.
- Tables use tabular IBM Plex Mono numerals, generous row height, and 1px horizontal dividers without zebra striping.
- Focus and progress states use the single cobalt accent as a precise outline or linear fill while surrounding UI remains monochrome.
## 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/quiet-measure-minimalism/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 Start every screen in black, white, and gray before adding the single cobalt accent.
- Do Use -0.02em letter spacing globally on headings, labels, paragraphs, buttons, and data.
- Do Align every major edge to the grid and repeat the same 1px rule treatment for all boundaries.
- Do Use square 0px corners for panels, inputs, tables, dialogs, and cards; reserve 9999px only for tiny badges or avatars.
- Do Write concise interface copy so whitespace feels intentional rather than empty.
- Do Use tabular mono numerals for metrics, timestamps, counts, and pagination.
- Do Show interaction through precise border, underline, focus outline, and content changes.
- Do Provide semantic labels alongside color changes for alerts, validation, and state.
- Don't Do not use gradients, pastel backgrounds, glassmorphism, neumorphism, or decorative texture.
- Don't Do not round cards or inputs with arbitrary radii; avoid 8px, 12px, 20px, 32px, or pill cards.
- Don't Do not add drop shadows to imply hierarchy; use spacing, type scale, and hairline rules instead.
- Don't Do not use more than one accent color or spread accent across large decorative areas.
- Don't Do not center large blocks of UI or create hero-marketing compositions inside product screens.
- Don't Do not create component catalog pages; components should appear inside a real operational scene.
- Don't Do not rely on icons without text labels in critical actions.
- Don't Do not compress mobile layouts into tiny multi-column grids.
### Usage Context
Best for editorial tools, research dashboards, publishing queues, finance review workspaces, documentation systems, and any product where authority comes from clarity and restraint rather than brand decoration.
### Accessibility
Maintain 4.5:1 contrast or better for text, make focus outlines visible with the cobalt accent and black fallback, keep touch targets at least 44px, label every form control, and never communicate status with color alone.
shadcn/ui theme
```json
{
"$schema": "https://ui.shadcn.com/schema/registry-item.json",
"name": "quiet-measure-minimalism",
"type": "registry:theme",
"title": "Quiet Measure Minimalism shadcn Theme",
"cssVars": {
"theme": {},
"light": {
"background": "#FFFFFF",
"foreground": "#000000",
"card": "#FFFFFF",
"card-foreground": "#000000",
"popover": "#FFFFFF",
"popover-foreground": "#000000",
"primary": "#000000",
"primary-foreground": "#ffffff",
"secondary": "#121212",
"secondary-foreground": "#ffffff",
"muted": "#6A6A6A",
"muted-foreground": "#000000",
"accent": "#0057FF",
"accent-foreground": "#ffffff",
"destructive": "#B00020",
"border": "#D8D8D8",
"input": "#D8D8D8",
"ring": "#0057FF",
"chart-1": "#000000",
"chart-2": "#121212",
"chart-3": "#0057FF",
"chart-4": "#0B6B2E",
"chart-5": "#8A5A00",
"sidebar": "#FFFFFF",
"sidebar-foreground": "#000000",
"sidebar-primary": "#000000",
"sidebar-primary-foreground": "#ffffff",
"sidebar-accent": "#0057FF",
"sidebar-accent-foreground": "#ffffff",
"sidebar-border": "#D8D8D8",
"sidebar-ring": "#0057FF",
"radius": "0px"
},
"dark": {
"background": "#0f1115",
"foreground": "#f8fafc",
"card": "#181b22",
"card-foreground": "#f8fafc",
"popover": "#181b22",
"popover-foreground": "#f8fafc",
"primary": "#000000",
"primary-foreground": "#ffffff",
"secondary": "#252a33",
"secondary-foreground": "#f8fafc",
"muted": "#252a33",
"muted-foreground": "#a1a1aa",
"accent": "#0057FF",
"accent-foreground": "#ffffff",
"destructive": "#B00020",
"border": "#303642",
"input": "#303642",
"ring": "#0057FF",
"chart-1": "#000000",
"chart-2": "#121212",
"chart-3": "#0057FF",
"chart-4": "#0B6B2E",
"chart-5": "#8A5A00",
"sidebar": "#181b22",
"sidebar-foreground": "#f8fafc",
"sidebar-primary": "#000000",
"sidebar-primary-foreground": "#ffffff",
"sidebar-accent": "#0057FF",
"sidebar-accent-foreground": "#ffffff",
"sidebar-border": "#303642",
"sidebar-ring": "#0057FF",
"radius": "0px"
}
},
"meta": {
"source": "katagami",
"languageId": "quiet-measure-minimalism",
"slug": "quiet-measure-minimalism",
"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": {
"colors": [
"accent",
"background",
"border",
"disabled",
"error",
"info",
"muted",
"primary",
"rule_dark",
"rule_light",
"secondary",
"selection",
"success",
"surface",
"text",
"warning"
],
"typography": [
"base_size",
"body_font",
"google_fonts_url",
"heading_font",
"letter_spacing",
"line_height",
"mono_font",
"scale_ratio",
"sizes",
"weights"
],
"spacing": [
"base",
"scale"
],
"radii": [
"full",
"lg",
"md",
"none",
"sm"
],
"shadows": [
"lg",
"md",
"sm"
],
"surfaces": [
"bg_pattern",
"card_style",
"treatment"
],
"borders": [
"accent_width",
"character",
"default_width",
"style"
],
"motion": [
"duration",
"easing",
"philosophy"
],
"responsive": [
"breakpoints",
"column_progression"
]
}
}
}
```in the wild
embodiments
the full element showcase
embodiment · quiet-measure-minimalism
DESIGN.md
at a glance
Typography
headline-lgInstrument Sans · 28px · 700
The quick brown fox jumps
headline-mdInstrument Sans · 23px · 600
The quick brown fox jumps
body-mdInstrument Sans · 16px · 400
The quick brown fox jumps
label-mdIBM Plex Mono · 12px · 600
The quick brown fox jumps
Components
New
Card title
Components rendered with this language’s tokens — colors, type, and rounded corners as specified.
Spacing
- base8px
- xs4px
- sm8px
- md12px
- lg16px
- xl24px
- 2xl32px
- 3xl48px
- 4xl64px
- step-896px
- step-9128px
Shape
none0px
sm0px
md0px
lg0px
full9999px
shadcn/ui
implementation kit
recommendedcompatibility fallback
DESIGN.md with shadcn
Copy this when the target app uses shadcn/ui. It packages the Katagami DESIGN.md context with the install list, theme variables, component recipes, preview-shot contract, and starter TSX in one Markdown companion.
advanced implementation filesoptional machine-readable theme, CSS, TSX starter, recipes, and preview contract
shadcn add
npx shadcn@latest add button card input textarea select dialog sheet tabs badge separator checkbox switch slider tooltip dropdown-menu tabletheme css
:root {
--background: #FFFFFF;
--foreground: #000000;
--card: #FFFFFF;
--card-foreground: #000000;
--popover: #FFFFFF;
--popover-foreground: #000000;
--primary: #000000;
--primary-foreground: #ffffff;
--secondary: #121212;
--secondary-foreground: #ffffff;
--muted: #6A6A6A;
--muted-foreground: #000000;
--accent: #0057FF;
--accent-foreground: #ffffff;
--destructive: #B00020;
--border: #D8D8D8;
--input: #D8D8D8;
--ring: #0057FF;
--chart-1: #000000;
--chart-2: #121212;
--chart-3: #0057FF;
--chart-4: #0B6B2E;
--chart-5: #8A5A00;
--sidebar: #FFFFFF;
--sidebar-foreground: #000000;
--sidebar-primary: #000000;
--sidebar-primary-foreground: #ffffff;
--sidebar-accent: #0057FF;
--sidebar-accent-foreground: #ffffff;
--sidebar-border: #D8D8D8;
--sidebar-ring: #0057FF;
--radius: 0px;
}
.dark {
--background: #0f1115;
--foreground: #f8fafc;
--card: #181b22;
--card-foreground: #f8fafc;
--popover: #181b22;
--popover-foreground: #f8fafc;
--primary: #000000;
--primary-foreground: #ffffff;
--secondary: #252a33;
--secondary-foreground: #f8fafc;
--muted: #252a33;
--muted-foreground: #a1a1aa;
--accent: #0057FF;
--accent-foreground: #ffffff;
--destructive: #B00020;
--border: #303642;
--input: #303642;
--ring: #0057FF;
--chart-1: #000000;
--chart-2: #121212;
--chart-3: #0057FF;
--chart-4: #0B6B2E;
--chart-5: #8A5A00;
--sidebar: #181b22;
--sidebar-foreground: #f8fafc;
--sidebar-primary: #000000;
--sidebar-primary-foreground: #ffffff;
--sidebar-accent: #0057FF;
--sidebar-accent-foreground: #ffffff;
--sidebar-border: #303642;
--sidebar-ring: #0057FF;
--radius: 0px;
}
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 QuietMeasureMinimalismShadcnKit() {
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">Quiet Measure Minimalism</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": "quiet-measure-minimalism",
"type": "registry:theme",
"title": "Quiet Measure Minimalism shadcn Theme",
"cssVars": {
"theme": {},
"light": {
"background": "#FFFFFF",
"foreground": "#000000",
"card": "#FFFFFF",
"card-foreground": "#000000",
"popover": "#FFFFFF",
"popover-foreground": "#000000",
"primary": "#000000",
"primary-foreground": "#ffffff",
"secondary": "#121212",
"secondary-foreground": "#ffffff",
"muted": "#6A6A6A",
"muted-foreground": "#000000",
"accent": "#0057FF",
"accent-foreground": "#ffffff",
"destructive": "#B00020",
"border": "#D8D8D8",
"input": "#D8D8D8",
"ring": "#0057FF",
"chart-1": "#000000",
"chart-2": "#121212",
"chart-3": "#0057FF",
"chart-4": "#0B6B2E",
"chart-5": "#8A5A00",
"sidebar": "#FFFFFF",
"sidebar-foreground": "#000000",
"sidebar-primary": "#000000",
"sidebar-primary-foreground": "#ffffff",
"sidebar-accent": "#0057FF",
"sidebar-accent-foreground": "#ffffff",
"sidebar-border": "#D8D8D8",
"sidebar-ring": "#0057FF",
"radius": "0px"
},
"dark": {
"background": "#0f1115",
"foreground": "#f8fafc",
"card": "#181b22",
"card-foreground": "#f8fafc",
"popover": "#181b22",
"popover-foreground": "#f8fafc",
"primary": "#000000",
"primary-foreground": "#ffffff",
"secondary": "#252a33",
"secondary-foreground": "#f8fafc",
"muted": "#252a33",
"muted-foreground": "#a1a1aa",
"accent": "#0057FF",
"accent-foreground": "#ffffff",
"destructive": "#B00020",
"border": "#303642",
"input": "#303642",
"ring": "#0057FF",
"chart-1": "#000000",
"chart-2": "#121212",
"chart-3": "#0057FF",
"chart-4": "#0B6B2E",
"chart-5": "#8A5A00",
"sidebar": "#181b22",
"sidebar-foreground": "#f8fafc",
"sidebar-primary": "#000000",
"sidebar-primary-foreground": "#ffffff",
"sidebar-accent": "#0057FF",
"sidebar-accent-foreground": "#ffffff",
"sidebar-border": "#303642",
"sidebar-ring": "#0057FF",
"radius": "0px"
}
},
"meta": {
"source": "katagami",
"languageId": "quiet-measure-minimalism",
"slug": "quiet-measure-minimalism",
"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": {
"colors": [
"accent",
"background",
"border",
"disabled",
"error",
"info",
"muted",
"primary",
"rule_dark",
"rule_light",
"secondary",
"selection",
"success",
"surface",
"text",
"warning"
],
"typography": [
"base_size",
"body_font",
"google_fonts_url",
"heading_font",
"letter_spacing",
"line_height",
"mono_font",
"scale_ratio",
"sizes",
"weights"
],
"spacing": [
"base",
"scale"
],
"radii": [
"full",
"lg",
"md",
"none",
"sm"
],
"shadows": [
"lg",
"md",
"sm"
],
"surfaces": [
"bg_pattern",
"card_style",
"treatment"
],
"borders": [
"accent_width",
"character",
"default_width",
"style"
],
"motion": [
"duration",
"easing",
"philosophy"
],
"responsive": [
"breakpoints",
"column_progression"
]
}
}
}
component recipescompatibility fallback
# Quiet Measure Minimalism shadcn/ui Components
Artifact: `component-recipes-v1`
Author: `katagami-ui-projection`
Language ID: `quiet-measure-minimalism`
Slug: `quiet-measure-minimalism`
## Intent
Quiet Measure Minimalism is a visual language for interfaces that must feel exact, calm, and materially honest. It treats design as editing: remove decoration until hierarchy, alignment, and content carry the experience. The system uses a pure white field, disciplined black typography, faint measurement rules, and a single blue accent only where the interface must ask for attention. Its character comes from proportion and omission rather than effects.
## 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:
{
"primary": "#000000",
"secondary": "#121212",
"accent": "#0057FF",
"background": "#FFFFFF",
"surface": "#FFFFFF",
"text": "#000000",
"muted": "#6A6A6A",
"border": "#D8D8D8",
"error": "#B00020",
"success": "#0B6B2E",
"warning": "#8A5A00",
"info": "#0057FF",
"rule_dark": "#000000",
"rule_light": "#E8E8E8",
"disabled": "#A8A8A8",
"selection": "#F2F6FF"
}
Typography:
{
"heading_font": "Instrument Sans",
"body_font": "Instrument Sans",
"mono_font": "IBM Plex Mono",
"base_size": "16px",
"scale_ratio": 1.2,
"line_height": 1.45,
"letter_spacing": "-0.02em",
"google_fonts_url": "https://fonts.googleapis.com/css2?family=Instrument+Sans:wght@400;500;600;700&family=IBM+Plex+Mono:wght@400;500;600&display=swap",
"sizes": {
"xs": "12px",
"sm": "14px",
"base": "16px",
"md": "18px",
"lg": "24px",
"xl": "36px",
"display": "56px"
},
"weights": {
"regular": 400,
"medium": 500,
"semibold": 600,
"bold": 700
}
}
## Visual character to preserve
- Pure #FFFFFF canvas with large unfilled margins and no tinted page panels, making negative space the dominant surface.
- Hairline 1px rules in black or neutral gray define cards, table rows, dividers, and modal edges instead of shadows.
- Strict orthogonal grid with aligned left edges, narrow measure markers, and no floating or overlapping decorative layers.
- Typography uses Instrument Sans with -0.02em letter spacing, few weights, compact labels, and tabular mono data blocks.
- A single cobalt accent appears only as a thin active rule, progress fill, focus outline, or primary action background.
## ShadSync visual profile
{
"family": "system",
"material": "flat",
"contour": "pebble",
"border": "solid",
"underlay": false,
"grain": false,
"stickerBadges": false,
"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/quiet-measure-minimalism/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: Start every screen in black, white, and gray before adding the single cobalt accent.; Use -0.02em letter spacing globally on headings, labels, paragraphs, buttons, and data.; Align every major edge to the grid and repeat the same 1px rule treatment for all boundaries.; Use square 0px corners for panels, inputs, tables, dialogs, and cards; reserve 9999px only for tiny badges or avatars.; Write concise interface copy so whitespace feels intentional rather than empty.; Use tabular mono numerals for metrics, timestamps, counts, and pagination.; Show interaction through precise border, underline, focus outline, and content changes.; Provide semantic labels alongside color changes for alerts, validation, and state.
- Do not: Do not use gradients, pastel backgrounds, glassmorphism, neumorphism, or decorative texture.; Do not round cards or inputs with arbitrary radii; avoid 8px, 12px, 20px, 32px, or pill cards.; Do not add drop shadows to imply hierarchy; use spacing, type scale, and hairline rules instead.; Do not use more than one accent color or spread accent across large decorative areas.; Do not center large blocks of UI or create hero-marketing compositions inside product screens.; Do not create component catalog pages; components should appear inside a real operational scene.; Do not rely on icons without text labels in critical actions.; Do not compress mobile layouts into tiny multi-column grids.
## 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 QuietMeasureMinimalismShadcnKit() {
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">Quiet Measure Minimalism</h2>
<p className="mt-1 max-w-xl text-sm text-muted-foreground">
Use the Katagami registry theme, then compose these shadcn primitives
with the language-specific component recipes.
</p>
</div>
<Button>Apply theme</Button>
</div>
<Tabs defaultValue="components">
<TabsList>
<TabsTrigger value="components">Components</TabsTrigger>
<TabsTrigger value="states">States</TabsTrigger>
<TabsTrigger value="export">Export</TabsTrigger>
</TabsList>
</Tabs>
<Card>
<CardHeader>
<CardTitle>Component recipe</CardTitle>
<CardDescription>
Replace this starter content with the agent-authored product scene
from components.md and preview-shots.json.
</CardDescription>
</CardHeader>
<CardContent className="grid gap-3 sm:grid-cols-[1fr_auto]">
<Input defaultValue="Tokenized shadcn surface" aria-label="Recipe name" />
<Button variant="secondary">Preview state</Button>
</CardContent>
<CardFooter className="justify-between">
<Badge>Ready</Badge>
<Button variant="outline">Copy recipe</Button>
</CardFooter>
</Card>
</section>
);
}
```
## Layout notes
{
"density": "The default density is quiet and editorial: high-value controls and summaries receive large whitespace, while operational tables use compact type and ruled rows. This balance keeps the interface calm without wasting the user’s scanning path.",
"grid": "Desktop uses a 12-column grid with 32px gutters, max content width of 1320px, and 48px page margins. Tablet reduces to 8 columns with 24px gutters. Mobile collapses to one column with 20px margins and full-width controls.",
"breakpoints": {
"desktop": "1200px and up",
"tablet_landscape": "1024px",
"tablet_portrait": "768px",
"phone": "480px"
},
"whitespace": "Whitespace is the primary separator. Use 64px and 96px gaps for major editorial transitions, 24px and 32px inside panels, and avoid filling empty regions with background color or illustrations.",
"responsive": "At 1024px, sidebars compress and summary panels become two columns. At 768px, work areas stack and the table gains horizontal overflow. At 480px, all buttons become full-width, navigation becomes a compact row, and modals fit within a 20px inset."
}
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": "quiet-measure-minimalism",
"name": "Quiet Measure Minimalism",
"slug": "quiet-measure-minimalism"
},
"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": [
"Pure #FFFFFF canvas with large unfilled margins and no tinted page panels, making negative space the dominant surface.",
"Hairline 1px rules in black or neutral gray define cards, table rows, dividers, and modal edges instead of shadows.",
"Strict orthogonal grid with aligned left edges, narrow measure markers, and no floating or overlapping decorative layers.",
"Typography uses Instrument Sans with -0.02em letter spacing, few weights, compact labels, and tabular mono data blocks.",
"A single cobalt accent appears only as a thin active rule, progress fill, focus outline, or primary action background."
],
"visualProfile": {
"family": "system",
"material": "flat",
"contour": "pebble",
"border": "solid",
"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": "Quiet Measure Minimalism 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": [
"Start every screen in black, white, and gray before adding the single cobalt accent.",
"Use -0.02em letter spacing globally on headings, labels, paragraphs, buttons, and data.",
"Align every major edge to the grid and repeat the same 1px rule treatment for all boundaries.",
"Use square 0px corners for panels, inputs, tables, dialogs, and cards; reserve 9999px only for tiny badges or avatars.",
"Write concise interface copy so whitespace feels intentional rather than empty.",
"Use tabular mono numerals for metrics, timestamps, counts, and pagination.",
"Show interaction through precise border, underline, focus outline, and content changes.",
"Provide semantic labels alongside color changes for alerts, validation, and state."
],
"dont": [
"Do not use gradients, pastel backgrounds, glassmorphism, neumorphism, or decorative texture.",
"Do not round cards or inputs with arbitrary radii; avoid 8px, 12px, 20px, 32px, or pill cards.",
"Do not add drop shadows to imply hierarchy; use spacing, type scale, and hairline rules instead.",
"Do not use more than one accent color or spread accent across large decorative areas.",
"Do not center large blocks of UI or create hero-marketing compositions inside product screens.",
"Do not create component catalog pages; components should appear inside a real operational scene.",
"Do not rely on icons without text labels in critical actions.",
"Do not compress mobile layouts into tiny multi-column grids."
]
}
}
related
More like this
Ma Wabi-Sabi Spatial Minimalismshares square-corners · hairline-bordersCitrus Blackline Commerceshares hairline-bordersExistential Station Interfaceshares hairline-bordersKatagami Cut Paper Systemsshares square-cornersNull Koma Terminal Noirshares negative-spacePrism Ledger Minimalshares single-accent