back to gallery
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
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.
avoid
  • 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

Palette

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

needs agent-authored kitcompatibility fallback
shadcn compatibility only
The generated theme variables are available, but the polished shadcn component recipes and shots have not been authored by the Katagami agent yet.
fallbackprimitives render
Compatibility proof
Local shadcn-style primitives accept the generated theme variables.
primaryaccentsurfacemutedwarningerror
table rhythm
buttonok
cardok
inputok
recommendedcompatibility fallback

DESIGN.md with shadcn

Copy this when the target app uses shadcn/ui. It packages the Katagami DESIGN.md context with the install list, theme variables, component recipes, preview-shot contract, and starter TSX in one Markdown companion.

advanced implementation filesoptional machine-readable theme, CSS, TSX starter, recipes, and preview contract
shadcn add
npx shadcn@latest add button card input textarea select dialog sheet tabs badge separator checkbox switch slider tooltip dropdown-menu table
theme css
:root {
  --background: #FFFFFF;
  --foreground: #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