Dew Candy 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.
specification
philosophy
tokens
borders4 items
- accent width
- 2px
- character
- cool translucent borders using rgba(154,190,195,.45) plus occasional glossy accent rims on bead controls
- default width
- 1px
- style
- solid
colors12 items
motion3 items
- duration
- 180ms
- easing
- cubic-bezier(.2,.8,.2,1)
- philosophy
- soft quick lift: controls rise 1-2px and brighten their inset highlight; large panels do not bounce or wobble
radii5 items
- full
- 9999px
- lg
- 24px
- md
- 16px
- none
- 0
- sm
- 16px
shadows3 items
- lg
- 0 30px 90px rgba(23,33,43,.10), 0 10px 30px rgba(24,200,216,.08)
- md
- 0 18px 48px rgba(23,33,43,.08), inset 0 1px 0 rgba(255,255,255,.72)
- sm
- 0 1px 2px rgba(23,33,43,.05), 0 8px 20px rgba(24,200,216,.06)
spacing2 items
- base
- 8px
- scale
- 4, 8, 12, 16, 24, 32, 48, 64, 80
surfaces3 items
- bg pattern
- nearly white base with two oversized low-alpha radial dew blooms and sparse 8px jelly beads aligned to content edges
- card style
- 24px rounded translucent cards with 1px cool border, inset top highlight, and restrained cool shadow
- treatment
- milk-glass rgba(255,255,255,.68-.86) panels over pale dew fields; backdrop-filter blur(22px) saturate(1.18) only on non-critical containers
typography8 items
- base size
- 16px
- body font
- Nunito Sans
- google fonts url
- https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,600;9..144,700;9..144,800&family=Nunito+Sans:opsz,wght@6..12,400;6..12,600;6..12,700&family=Red+Hat+Mono:wght@500;600&display=swap
- heading font
- Fraunces
- letter spacing
- -0.02em
- line height
- 1.55
- mono font
- Red Hat Mono
- scale ratio
- 1.22
rules
Use a centered 12-column desktop grid capped near 1180px, with a calm hero/workspace split rather than a busy dashboard. Major sections occupy large translucent cards, while actions and metadata float as tiny bead capsules. Keep the top navigation sparse, align accent beads to text baselines or card corners, and allow milk-white negative space to separate clusters before adding dividers.
Medium-low density: fewer modules per viewport, but each module contains real product information. Use 32px card padding on desktop, 24px on tablet, and 16px on mobile; keep touch targets pill-shaped and at least 44px tall.
Create hierarchy through scale, whitespace, opacity, and container depth before color. Display headings are dark, tightly tracked, and no more than two lines; body text uses muted blue-gray. Cyan marks primary progress or active choices, guava marks celebratory or new items, and violet appears only as a tertiary info glint when needed.
layout
Mobile 375-767px stacks all panels in one column with 16px gutters; tablet 768-1023px uses a 6-column grid; desktop 1024px and up uses 12 columns.
Airy medium-low density with deliberate empty space around each product decision; the system should feel fresh and navigable, not sparse from missing content.
Desktop uses a centered 12-column grid with 24px gutters and max-width 1180px; cards can span 4, 5, 7, or 12 columns to create asymmetry without clutter.
Use 64-80px between major sections, 32px between cards, 16px between related controls, and 8px only inside compact bead clusters.
guidance
- Use milk-white, cool neutral surfaces as the dominant visual field.
- Reserve cyan and guava jelly accents for status beads, small badges, active toggles, and one primary action.
- Keep all text on blur surfaces backed by enough white opacity for clear contrast.
- Repeat the glossy dew-bead motif at multiple small scales so the signature is recognizable.
- Use generous whitespace and precise alignment to keep youthfulness premium.
- Test mobile first for stacked glass cards and minimum 44px pill controls.
- Do not use rainbow gradients, five-color badges, confetti, or large candy illustrations.
- Do not put long paragraphs directly over busy translucent backgrounds.
- Do not mix arbitrary radii outside 0, 16px, 24px, and 9999px.
- Do not make all cards colorful; color belongs to punctuation, not structure.
- Do not rely on blur alone to establish hierarchy or hide weak contrast.
- Do not add playful wobble, mascot shapes, or toy-like sticker elements.
katagami spec
# Dew Candy Minimalism ## Philosophy Dew Candy Minimalism is an airy youth-brand interface language built from milk-white calm, frosted translucency, and tiny glossy jellybean moments. It borrows the restraint of premium productivity systems and the optical softness of vibrancy: layers are readable first, then dew-fresh. Color appears as punctuation rather than decoration—one cool cyan jellybean and one guava-pink jellybean are reserved for small badges, toggles, handles, and state dots. The language should feel optimistic and fresh without becoming toy-like, rainbow-heavy, or childish. Its personality comes from rounded scale, alpha surfaces, generous whitespace, and candy-gloss micro-objects placed with editorial discipline. ### Values - Air before ornament: spacious milk-white fields and calm hierarchy carry most of the brand expression. - Translucency with responsibility: blur and alpha are used only where contrast remains legible and edges remain intentional. - Candy as punctuation: saturated jelly color is kept small, glossy, and meaningful instead of washing across whole layouts. - Youthful softness without childishness: large radii and pill forms are paired with precise type, alignment, and restrained density. - Readable optimism: every layer, label, metric, and action must meet contrast expectations before surface effects are added. - Single signature repetition: the dew-bead capsule appears at multiple scales as the recognizable motif. ### Anti-Values - Rainbow gradients, confetti fields, or multi-accent palettes that make the interface feel like a toy shelf. - Opaque heavy cards, dark chrome, or dramatic shadows that defeat the dew-fresh milk-glass atmosphere. - Blur used as a gimmick behind essential text, causing low contrast or muddy hierarchy. - Random bubbly illustration, mascot energy, or childish sticker decoration unrelated to information structure. ### Visual Character - Use a milk-white page background with very pale blue radial dew patches and no full-spectrum gradients; all major panels sit on rgba white glass with backdrop-filter blur. - Build the signature accent as small pill or bead shapes with border-radius:9999px, inset white highlight, and one saturated cyan or guava fill, never more than two accent hues. - Set content in broad whitespace lanes using max-width centered grids, 48-80px section gaps, and compact inner clusters so the screen feels airy but not empty. - Apply a strict radius scale of 0, 16px, 24px, and 9999px; cards use 24px, controls use full pills, and tiny status beads use perfect circles. - Keep text on translucent layers high-contrast by placing copy on white-to-alpha panels, adding subtle borders, and reserving blur for background separation rather than text effects. ## Tokens ### Borders - **Accent Width**: 2px - **Character**: cool translucent borders using rgba(154,190,195,.45) plus occasional glossy accent rims on bead controls - **Default Width**: 1px - **Style**: solid ### Colors | Name | Value | |------|-------| | accent | `#7C5CFF` | | background | `#F8FBFA` | | border | `#DDE9EA` | | error | `#D94A5D` | | info | `#2589D6` | | muted | `#6D7B86` | | primary | `#18C8D8` | | secondary | `#FF6FAE` | | success | `#28A874` | | surface | `#FFFFFF` | | text | `#17212B` | | warning | `#D99A24` | ### Motion - **Duration**: 180ms - **Easing**: cubic-bezier(.2,.8,.2,1) - **Philosophy**: soft quick lift: controls rise 1-2px and brighten their inset highlight; large panels do not bounce or wobble ### Radii - **Full**: 9999px - **Lg**: 24px - **Md**: 16px - **None**: 0 - **Sm**: 16px ### Shadows - **Lg**: 0 30px 90px rgba(23,33,43,.10), 0 10px 30px rgba(24,200,216,.08) - **Md**: 0 18px 48px rgba(23,33,43,.08), inset 0 1px 0 rgba(255,255,255,.72) - **Sm**: 0 1px 2px rgba(23,33,43,.05), 0 8px 20px rgba(24,200,216,.06) ### Spacing - **Base**: 8px - **Scale**: [4,8,12,16,24,32,48,64,80] ### Surfaces - **Bg Pattern**: nearly white base with two oversized low-alpha radial dew blooms and sparse 8px jelly beads aligned to content edges - **Card Style**: 24px rounded translucent cards with 1px cool border, inset top highlight, and restrained cool shadow - **Treatment**: milk-glass rgba(255,255,255,.68-.86) panels over pale dew fields; backdrop-filter blur(22px) saturate(1.18) only on non-critical containers ### Typography - **Base Size**: 16px - **Body Font**: Nunito Sans - **Google Fonts Url**: https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,600;9..144,700;9..144,800&family=Nunito+Sans:opsz,wght@6..12,400;6..12,600;6..12,700&family=Red+Hat+Mono:wght@500;600&display=swap - **Heading Font**: Fraunces - **Letter Spacing**: -0.02em - **Line Height**: 1.55 - **Mono Font**: Red Hat Mono - **Scale Ratio**: 1.22 ## Rules ### Composition Use a centered 12-column desktop grid capped near 1180px, with a calm hero/workspace split rather than a busy dashboard. Major sections occupy large translucent cards, while actions and metadata float as tiny bead capsules. Keep the top navigation sparse, align accent beads to text baselines or card corners, and allow milk-white negative space to separate clusters before adding dividers. ### Density Medium-low density: fewer modules per viewport, but each module contains real product information. Use 32px card padding on desktop, 24px on tablet, and 16px on mobile; keep touch targets pill-shaped and at least 44px tall. ### Hierarchy Create hierarchy through scale, whitespace, opacity, and container depth before color. Display headings are dark, tightly tracked, and no more than two lines; body text uses muted blue-gray. Cyan marks primary progress or active choices, guava marks celebratory or new items, and violet appears only as a tertiary info glint when needed. ### Signature Patterns - Dew-bead punctuation: tiny glossy circles or capsules use radial highlights, inset white shine, and one of two saturated jelly colors to mark state without becoming decoration. - Milk-glass hierarchy stack: primary panels use rgba white, backdrop blur, cool borders, and inset top highlights so translucent surfaces remain readable and dimensional. - Air-lane spacing: content is arranged in wide breathing lanes with 48px or larger section gaps, avoiding dense card grids and letting the neutral base become part of the identity. - Rounded scale discipline: only 0, 16px, 24px, and 9999px radii are used, giving youth softness while preserving systematic precision. ## Layout ### Breakpoints Mobile 375-767px stacks all panels in one column with 16px gutters; tablet 768-1023px uses a 6-column grid; desktop 1024px and up uses 12 columns. ### Density Airy medium-low density with deliberate empty space around each product decision; the system should feel fresh and navigable, not sparse from missing content. ### Grid Desktop uses a centered 12-column grid with 24px gutters and max-width 1180px; cards can span 4, 5, 7, or 12 columns to create asymmetry without clutter. ### Whitespace Use 64-80px between major sections, 32px between cards, 16px between related controls, and 8px only inside compact bead clusters. ## Guidance ### Do - Use milk-white, cool neutral surfaces as the dominant visual field. - Reserve cyan and guava jelly accents for status beads, small badges, active toggles, and one primary action. - Keep all text on blur surfaces backed by enough white opacity for clear contrast. - Repeat the glossy dew-bead motif at multiple small scales so the signature is recognizable. - Use generous whitespace and precise alignment to keep youthfulness premium. - Test mobile first for stacked glass cards and minimum 44px pill controls. ### Don't - Do not use rainbow gradients, five-color badges, confetti, or large candy illustrations. - Do not put long paragraphs directly over busy translucent backgrounds. - Do not mix arbitrary radii outside 0, 16px, 24px, and 9999px. - Do not make all cards colorful; color belongs to punctuation, not structure. - Do not rely on blur alone to establish hierarchy or hide weak contrast. - Do not add playful wobble, mascot shapes, or toy-like sticker elements. ### Accessibility Maintain WCAG AA contrast for text, avoid placing essential copy over transparent-only surfaces, provide non-color labels for status, and preserve visible focus rings using cyan outlines plus dark text. ### Usage Context Best for youth finance, wellness, learning, creator tools, and consumer productivity products that need friendliness without sacrificing credibility.
DESIGN.md
---
version: "alpha"
name: "Dew Candy Minimalism"
description: "Agent-curated design language exported from Katagami as DESIGN.md."
colors:
accent: "#7C5CFF"
background: "#F8FBFA"
border: "#DDE9EA"
error: "#D94A5D"
info: "#2589D6"
muted: "#6D7B86"
primary: "#18C8D8"
secondary: "#FF6FAE"
success: "#28A874"
surface: "#FFFFFF"
text: "#17212B"
warning: "#D99A24"
typography:
headline-lg:
fontFamily: "Fraunces"
fontSize: "1.816rem"
fontWeight: 700
lineHeight: 1.1
letterSpacing: "-0.02em"
headline-md:
fontFamily: "Fraunces"
fontSize: "1.488rem"
fontWeight: 600
lineHeight: 1.15
letterSpacing: "-0.02em"
body-md:
fontFamily: "Nunito Sans"
fontSize: "16px"
fontWeight: 400
lineHeight: 1.55
letterSpacing: "-0.02em"
label-md:
fontFamily: "Red Hat Mono"
fontSize: "0.75rem"
fontWeight: 600
lineHeight: 1
letterSpacing: "0.08em"
rounded:
full: "9999px"
lg: "24px"
md: "16px"
none: "0px"
sm: "16px"
spacing:
base: "8px"
xs: "4px"
sm: "8px"
md: "12px"
lg: "16px"
xl: "24px"
2xl: "32px"
3xl: "48px"
4xl: "64px"
step-8: "80px"
components:
color-reference-accent:
backgroundColor: "{colors.accent}"
color-reference-background:
backgroundColor: "{colors.background}"
color-reference-border:
backgroundColor: "{colors.border}"
color-reference-error:
backgroundColor: "{colors.error}"
color-reference-info:
backgroundColor: "{colors.info}"
color-reference-muted:
backgroundColor: "{colors.muted}"
color-reference-primary:
backgroundColor: "{colors.primary}"
color-reference-secondary:
backgroundColor: "{colors.secondary}"
color-reference-success:
backgroundColor: "{colors.success}"
color-reference-surface:
backgroundColor: "{colors.surface}"
color-reference-text:
backgroundColor: "{colors.text}"
color-reference-warning:
backgroundColor: "{colors.warning}"
button-primary:
backgroundColor: "{colors.primary}"
textColor: "#000000"
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"
---
# Dew Candy Minimalism
## Overview
Dew Candy Minimalism is an airy youth-brand interface language built from milk-white calm, frosted translucency, and tiny glossy jellybean moments. It borrows the restraint of premium productivity systems and the optical softness of vibrancy: layers are readable first, then dew-fresh. Color appears as punctuation rather than decoration—one cool cyan jellybean and one guava-pink jellybean are reserved for small badges, toggles, handles, and state dots. The language should feel optimistic and fresh without becoming toy-like, rainbow-heavy, or childish. Its personality comes from rounded scale, alpha surfaces, generous whitespace, and candy-gloss micro-objects placed with editorial discipline.
### Values
- Air before ornament: spacious milk-white fields and calm hierarchy carry most of the brand expression.
- Translucency with responsibility: blur and alpha are used only where contrast remains legible and edges remain intentional.
- Candy as punctuation: saturated jelly color is kept small, glossy, and meaningful instead of washing across whole layouts.
- Youthful softness without childishness: large radii and pill forms are paired with precise type, alignment, and restrained density.
- Readable optimism: every layer, label, metric, and action must meet contrast expectations before surface effects are added.
- Single signature repetition: the dew-bead capsule appears at multiple scales as the recognizable motif.
### Anti-Values
- Rainbow gradients, confetti fields, or multi-accent palettes that make the interface feel like a toy shelf.
- Opaque heavy cards, dark chrome, or dramatic shadows that defeat the dew-fresh milk-glass atmosphere.
- Blur used as a gimmick behind essential text, causing low contrast or muddy hierarchy.
- Random bubbly illustration, mascot energy, or childish sticker decoration unrelated to information structure.
### Visual Character
- Use a milk-white page background with very pale blue radial dew patches and no full-spectrum gradients; all major panels sit on rgba white glass with backdrop-filter blur.
- Build the signature accent as small pill or bead shapes with border-radius:9999px, inset white highlight, and one saturated cyan or guava fill, never more than two accent hues.
- Set content in broad whitespace lanes using max-width centered grids, 48-80px section gaps, and compact inner clusters so the screen feels airy but not empty.
- Apply a strict radius scale of 0, 16px, 24px, and 9999px; cards use 24px, controls use full pills, and tiny status beads use perfect circles.
- Keep text on translucent layers high-contrast by placing copy on white-to-alpha panels, adding subtle borders, and reserving blur for background separation rather than text effects.
## Colors
Use the YAML color tokens as the normative palette. The prose below names the roles agents should preserve when generating UI.
| Token | Value |
|-------|-------|
| accent | `#7C5CFF` |
| background | `#F8FBFA` |
| border | `#DDE9EA` |
| error | `#D94A5D` |
| info | `#2589D6` |
| muted | `#6D7B86` |
| primary | `#18C8D8` |
| secondary | `#FF6FAE` |
| success | `#28A874` |
| surface | `#FFFFFF` |
| text | `#17212B` |
| warning | `#D99A24` |
## Typography
- **Headline-Lg**: Fraunces, 1.816rem, weight 700, line-height 1.1.
- **Headline-Md**: Fraunces, 1.488rem, weight 600, line-height 1.15.
- **Body-Md**: Nunito Sans, 16px, weight 400, line-height 1.55.
- **Label-Md**: Red Hat 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**: `80px`
### Breakpoints
Mobile 375-767px stacks all panels in one column with 16px gutters; tablet 768-1023px uses a 6-column grid; desktop 1024px and up uses 12 columns.
### Density
Airy medium-low density with deliberate empty space around each product decision; the system should feel fresh and navigable, not sparse from missing content.
### Grid
Desktop uses a centered 12-column grid with 24px gutters and max-width 1180px; cards can span 4, 5, 7, or 12 columns to create asymmetry without clutter.
### Whitespace
Use 64-80px between major sections, 32px between cards, 16px between related controls, and 8px only inside compact bead clusters.
## Elevation & Depth
### Shadows
- **Lg**: 0 30px 90px rgba(23,33,43,.10), 0 10px 30px rgba(24,200,216,.08)
- **Md**: 0 18px 48px rgba(23,33,43,.08), inset 0 1px 0 rgba(255,255,255,.72)
- **Sm**: 0 1px 2px rgba(23,33,43,.05), 0 8px 20px rgba(24,200,216,.06)
## Shapes
### Rounded
- **Full**: `9999px`
- **Lg**: `24px`
- **Md**: `16px`
- **None**: `0px`
- **Sm**: `16px`
### Surfaces
- **Bg Pattern**: nearly white base with two oversized low-alpha radial dew blooms and sparse 8px jelly beads aligned to content edges
- **Card Style**: 24px rounded translucent cards with 1px cool border, inset top highlight, and restrained cool shadow
- **Treatment**: milk-glass rgba(255,255,255,.68-.86) panels over pale dew fields; backdrop-filter blur(22px) saturate(1.18) only on non-critical containers
### Borders
- **Accent Width**: 2px
- **Character**: cool translucent borders using rgba(154,190,195,.45) plus occasional glossy accent rims on bead controls
- **Default Width**: 1px
- **Style**: solid
## Components
### Composition
Use a centered 12-column desktop grid capped near 1180px, with a calm hero/workspace split rather than a busy dashboard. Major sections occupy large translucent cards, while actions and metadata float as tiny bead capsules. Keep the top navigation sparse, align accent beads to text baselines or card corners, and allow milk-white negative space to separate clusters before adding dividers.
### Density
Medium-low density: fewer modules per viewport, but each module contains real product information. Use 32px card padding on desktop, 24px on tablet, and 16px on mobile; keep touch targets pill-shaped and at least 44px tall.
### Hierarchy
Create hierarchy through scale, whitespace, opacity, and container depth before color. Display headings are dark, tightly tracked, and no more than two lines; body text uses muted blue-gray. Cyan marks primary progress or active choices, guava marks celebratory or new items, and violet appears only as a tertiary info glint when needed.
### Signature Patterns
- Dew-bead punctuation: tiny glossy circles or capsules use radial highlights, inset white shine, and one of two saturated jelly colors to mark state without becoming decoration.
- Milk-glass hierarchy stack: primary panels use rgba white, backdrop blur, cool borders, and inset top highlights so translucent surfaces remain readable and dimensional.
- Air-lane spacing: content is arranged in wide breathing lanes with 48px or larger section gaps, avoiding dense card grids and letting the neutral base become part of the identity.
- Rounded scale discipline: only 0, 16px, 24px, and 9999px radii are used, giving youth softness while preserving systematic precision.
## shadcn/ui Usage
When the target app uses shadcn/ui, copy DESIGN.md with shadcn instead of the plain DESIGN.md. It contains the same Katagami design-language source plus the shadcn/ui primitives, imports, theme variables, component recipes, and preview-shot guidance.
DESIGN.md with shadcn: `/language/en-019e0a79-2f51-7863-86e1-d2812218196b/DESIGN.with-shadcn.md`.
The shadcn page also exposes optional machine-readable files for automation, but the human-facing handoff is DESIGN.md with shadcn.
Install recommended primitives with `npx shadcn@latest add button card input textarea select dialog sheet tabs badge separator checkbox switch slider tooltip dropdown-menu table`.
Use these primitives in shadcn apps:
- button
- card
- input
- textarea
- select
- dialog
- sheet
- tabs
- badge
- separator
- checkbox
- switch
- slider
- tooltip
- dropdown-menu
- table
Implementation rule for agents: import shadcn primitives from `@/components/ui/*`, apply the generated CSS variables first, then compose the language-specific recipes from the companion MD. Katagami remains the source of truth; shadcn names are the implementation surface.
## Do's and Don'ts
- Do Use milk-white, cool neutral surfaces as the dominant visual field.
- Do Reserve cyan and guava jelly accents for status beads, small badges, active toggles, and one primary action.
- Do Keep all text on blur surfaces backed by enough white opacity for clear contrast.
- Do Repeat the glossy dew-bead motif at multiple small scales so the signature is recognizable.
- Do Use generous whitespace and precise alignment to keep youthfulness premium.
- Do Test mobile first for stacked glass cards and minimum 44px pill controls.
- Don't Do not use rainbow gradients, five-color badges, confetti, or large candy illustrations.
- Don't Do not put long paragraphs directly over busy translucent backgrounds.
- Don't Do not mix arbitrary radii outside 0, 16px, 24px, and 9999px.
- Don't Do not make all cards colorful; color belongs to punctuation, not structure.
- Don't Do not rely on blur alone to establish hierarchy or hide weak contrast.
- Don't Do not add playful wobble, mascot shapes, or toy-like sticker elements.
### Accessibility
Maintain WCAG AA contrast for text, avoid placing essential copy over transparent-only surfaces, provide non-color labels for status, and preserve visible focus rings using cyan outlines plus dark text.
### Usage Context
Best for youth finance, wellness, learning, creator tools, and consumer productivity products that need friendliness without sacrificing credibility.
shadcn/ui theme
```json
{
"$schema": "https://ui.shadcn.com/schema/registry-item.json",
"name": "dew-candy-minimalism",
"type": "registry:theme",
"title": "Dew Candy Minimalism shadcn Theme",
"cssVars": {
"theme": {},
"light": {
"background": "#F8FBFA",
"foreground": "#17212B",
"card": "#FFFFFF",
"card-foreground": "#17212B",
"popover": "#FFFFFF",
"popover-foreground": "#17212B",
"primary": "#18C8D8",
"primary-foreground": "#ffffff",
"secondary": "#FF6FAE",
"secondary-foreground": "#ffffff",
"muted": "#6D7B86",
"muted-foreground": "#17212B",
"accent": "#7C5CFF",
"accent-foreground": "#ffffff",
"destructive": "#D94A5D",
"border": "#DDE9EA",
"input": "#DDE9EA",
"ring": "#7C5CFF",
"chart-1": "#18C8D8",
"chart-2": "#FF6FAE",
"chart-3": "#7C5CFF",
"chart-4": "#28A874",
"chart-5": "#D99A24",
"sidebar": "#FFFFFF",
"sidebar-foreground": "#17212B",
"sidebar-primary": "#18C8D8",
"sidebar-primary-foreground": "#ffffff",
"sidebar-accent": "#2589D6",
"sidebar-accent-foreground": "#ffffff",
"sidebar-border": "#DDE9EA",
"sidebar-ring": "#7C5CFF",
"radius": "16px"
},
"dark": {
"background": "#0f1115",
"foreground": "#f8fafc",
"card": "#181b22",
"card-foreground": "#f8fafc",
"popover": "#181b22",
"popover-foreground": "#f8fafc",
"primary": "#18C8D8",
"primary-foreground": "#ffffff",
"secondary": "#252a33",
"secondary-foreground": "#f8fafc",
"muted": "#252a33",
"muted-foreground": "#a1a1aa",
"accent": "#7C5CFF",
"accent-foreground": "#ffffff",
"destructive": "#D94A5D",
"border": "#303642",
"input": "#303642",
"ring": "#7C5CFF",
"chart-1": "#18C8D8",
"chart-2": "#FF6FAE",
"chart-3": "#7C5CFF",
"chart-4": "#28A874",
"chart-5": "#D99A24",
"sidebar": "#181b22",
"sidebar-foreground": "#f8fafc",
"sidebar-primary": "#18C8D8",
"sidebar-primary-foreground": "#ffffff",
"sidebar-accent": "#7C5CFF",
"sidebar-accent-foreground": "#ffffff",
"sidebar-border": "#303642",
"sidebar-ring": "#7C5CFF",
"radius": "16px"
}
},
"meta": {
"source": "katagami",
"languageId": "en-019e0a79-2f51-7863-86e1-d2812218196b",
"slug": "dew-candy-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": {
"borders": [
"accent_width",
"character",
"default_width",
"style"
],
"colors": [
"accent",
"background",
"border",
"error",
"info",
"muted",
"primary",
"secondary",
"success",
"surface",
"text",
"warning"
],
"motion": [
"duration",
"easing",
"philosophy"
],
"radii": [
"full",
"lg",
"md",
"none",
"sm"
],
"shadows": [
"lg",
"md",
"sm"
],
"spacing": [
"base",
"scale"
],
"surfaces": [
"bg_pattern",
"card_style",
"treatment"
],
"typography": [
"base_size",
"body_font",
"google_fonts_url",
"heading_font",
"letter_spacing",
"line_height",
"mono_font",
"scale_ratio"
]
}
}
}
```embodiments
at a glance
Typography
The quick brown fox jumps
The quick brown fox jumps
The quick brown fox jumps
The quick brown fox jumps
Components
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-880px
Shape
implementation kit
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
npx shadcn@latest add button card input textarea select dialog sheet tabs badge separator checkbox switch slider tooltip dropdown-menu table:root {
--background: #F8FBFA;
--foreground: #17212B;
--card: #FFFFFF;
--card-foreground: #17212B;
--popover: #FFFFFF;
--popover-foreground: #17212B;
--primary: #18C8D8;
--primary-foreground: #ffffff;
--secondary: #FF6FAE;
--secondary-foreground: #ffffff;
--muted: #6D7B86;
--muted-foreground: #17212B;
--accent: #7C5CFF;
--accent-foreground: #ffffff;
--destructive: #D94A5D;
--border: #DDE9EA;
--input: #DDE9EA;
--ring: #7C5CFF;
--chart-1: #18C8D8;
--chart-2: #FF6FAE;
--chart-3: #7C5CFF;
--chart-4: #28A874;
--chart-5: #D99A24;
--sidebar: #FFFFFF;
--sidebar-foreground: #17212B;
--sidebar-primary: #18C8D8;
--sidebar-primary-foreground: #ffffff;
--sidebar-accent: #2589D6;
--sidebar-accent-foreground: #ffffff;
--sidebar-border: #DDE9EA;
--sidebar-ring: #7C5CFF;
--radius: 16px;
}
.dark {
--background: #0f1115;
--foreground: #f8fafc;
--card: #181b22;
--card-foreground: #f8fafc;
--popover: #181b22;
--popover-foreground: #f8fafc;
--primary: #18C8D8;
--primary-foreground: #ffffff;
--secondary: #252a33;
--secondary-foreground: #f8fafc;
--muted: #252a33;
--muted-foreground: #a1a1aa;
--accent: #7C5CFF;
--accent-foreground: #ffffff;
--destructive: #D94A5D;
--border: #303642;
--input: #303642;
--ring: #7C5CFF;
--chart-1: #18C8D8;
--chart-2: #FF6FAE;
--chart-3: #7C5CFF;
--chart-4: #28A874;
--chart-5: #D99A24;
--sidebar: #181b22;
--sidebar-foreground: #f8fafc;
--sidebar-primary: #18C8D8;
--sidebar-primary-foreground: #ffffff;
--sidebar-accent: #7C5CFF;
--sidebar-accent-foreground: #ffffff;
--sidebar-border: #303642;
--sidebar-ring: #7C5CFF;
--radius: 16px;
}
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 DewCandyMinimalismShadcnKit() {
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">Dew Candy 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>
);
}
{
"$schema": "https://ui.shadcn.com/schema/registry-item.json",
"cssVars": {
"dark": {
"accent": "#F1B58D",
"accent-foreground": "#ffffff",
"background": "#0f1115",
"border": "#303642",
"card": "#181b22",
"card-foreground": "#f8fafc",
"chart-1": "#DCEFCB",
"chart-2": "#E9F4EE",
"chart-3": "#F1B58D",
"chart-4": "#6F9A78",
"chart-5": "#C59A52",
"destructive": "#B86B63",
"foreground": "#f8fafc",
"input": "#303642",
"muted": "#252a33",
"muted-foreground": "#a1a1aa",
"popover": "#181b22",
"popover-foreground": "#f8fafc",
"primary": "#DCEFCB",
"primary-foreground": "#111111",
"radius": "24px",
"ring": "#F1B58D",
"secondary": "#252a33",
"secondary-foreground": "#f8fafc",
"sidebar": "#181b22",
"sidebar-accent": "#F1B58D",
"sidebar-accent-foreground": "#ffffff",
"sidebar-border": "#303642",
"sidebar-foreground": "#f8fafc",
"sidebar-primary": "#DCEFCB",
"sidebar-primary-foreground": "#111111",
"sidebar-ring": "#F1B58D"
},
"light": {
"accent": "#F1B58D",
"accent-foreground": "#ffffff",
"background": "#FBFCF8",
"border": "#26312C14",
"card": "#FFFFFF",
"card-foreground": "#26312C",
"chart-1": "#DCEFCB",
"chart-2": "#E9F4EE",
"chart-3": "#F1B58D",
"chart-4": "#6F9A78",
"chart-5": "#C59A52",
"destructive": "#B86B63",
"foreground": "#26312C",
"input": "#26312C14",
"muted": "#708079",
"muted-foreground": "#26312C",
"popover": "#FFFFFF",
"popover-foreground": "#26312C",
"primary": "#DCEFCB",
"primary-foreground": "#111111",
"radius": "24px",
"ring": "#F1B58D",
"secondary": "#E9F4EE",
"secondary-foreground": "#111111",
"sidebar": "#FFFFFF",
"sidebar-accent": "#7FA8A3",
"sidebar-accent-foreground": "#ffffff",
"sidebar-border": "#26312C14",
"sidebar-foreground": "#26312C",
"sidebar-primary": "#DCEFCB",
"sidebar-primary-foreground": "#111111",
"sidebar-ring": "#F1B58D"
},
"theme": {}
},
"meta": {
"componentManifest": [
"button",
"card",
"input",
"textarea",
"select",
"dialog",
"sheet",
"tabs",
"badge",
"separator",
"checkbox",
"switch",
"slider",
"tooltip",
"dropdown-menu",
"table"
],
"installCommand": "npx shadcn@latest add button card input textarea select dialog sheet tabs badge separator checkbox switch slider tooltip dropdown-menu table",
"languageId": "en-019e0a56-bce0-79e2-b52c-6c46f601cebf",
"nativeTokenNames": {
"borders": [
"accent_width",
"character",
"default_width",
"style"
],
"colors": [
"accent",
"background",
"border",
"error",
"info",
"muted",
"primary",
"secondary",
"success",
"surface",
"text",
"warning"
],
"motion": [
"duration",
"easing",
"philosophy"
],
"radii": [
"full",
"lg",
"md",
"none",
"sm"
],
"shadows": [
"lg",
"md",
"sm"
],
"spacing": [
"base",
"scale"
],
"surfaces": [
"bg_pattern",
"card_style",
"treatment"
],
"typography": [
"base_size",
"body_font",
"display_letter_spacing",
"google_fonts_url",
"heading_font",
"letter_spacing",
"line_height",
"mono_font",
"scale_ratio"
]
},
"slug": "dew-candy-minimalism",
"source": "katagami"
},
"name": "dew-candy-minimalism",
"title": "Dew Candy Minimalism shadcn Theme",
"type": "registry:theme"
}
# Dew Candy Minimalism shadcn/ui Components
Artifact: `component-recipes-v1`
Author: `katagami-ui-projection`
Language ID: `en-019e0a79-2f51-7863-86e1-d2812218196b`
Slug: `dew-candy-minimalism`
## Intent
Dew Candy Minimalism is an airy youth-brand interface language built from milk-white calm, frosted translucency, and tiny glossy jellybean moments. It borrows the restraint of premium productivity systems and the optical softness of vibrancy: layers are readable first, then dew-fresh. Color appears as punctuation rather than decoration—one cool cyan jellybean and one guava-pink jellybean are reserved for small badges, toggles, handles, and state dots. The language should feel optimistic and fresh without becoming toy-like, rainbow-heavy, or childish. Its personality comes from rounded scale, alpha surfaces, generous whitespace, and candy-gloss micro-objects placed with editorial discipline.
## Required primitives
- button
- card
- input
- textarea
- select
- dialog
- sheet
- tabs
- badge
- separator
- checkbox
- switch
- slider
- tooltip
- dropdown-menu
- table
Install with `npx shadcn@latest add button card input textarea select dialog sheet tabs badge separator checkbox switch slider tooltip dropdown-menu table`.
## Token cues
Colors:
{
"accent": "#7C5CFF",
"background": "#F8FBFA",
"border": "#DDE9EA",
"error": "#D94A5D",
"info": "#2589D6",
"muted": "#6D7B86",
"primary": "#18C8D8",
"secondary": "#FF6FAE",
"success": "#28A874",
"surface": "#FFFFFF",
"text": "#17212B",
"warning": "#D99A24"
}
Typography:
{
"base_size": "16px",
"body_font": "Nunito Sans",
"google_fonts_url": "https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,600;9..144,700;9..144,800&family=Nunito+Sans:opsz,wght@6..12,400;6..12,600;6..12,700&family=Red+Hat+Mono:wght@500;600&display=swap",
"heading_font": "Fraunces",
"letter_spacing": "-0.02em",
"line_height": 1.55,
"mono_font": "Red Hat Mono",
"scale_ratio": 1.22
}
## Visual character to preserve
- Use a milk-white page background with very pale blue radial dew patches and no full-spectrum gradients; all major panels sit on rgba white glass with backdrop-filter blur.
- Build the signature accent as small pill or bead shapes with border-radius:9999px, inset white highlight, and one saturated cyan or guava fill, never more than two accent hues.
- Set content in broad whitespace lanes using max-width centered grids, 48-80px section gaps, and compact inner clusters so the screen feels airy but not empty.
- Apply a strict radius scale of 0, 16px, 24px, and 9999px; cards use 24px, controls use full pills, and tiny status beads use perfect circles.
- Keep text on translucent layers high-contrast by placing copy on white-to-alpha panels, adding subtle borders, and reserving blur for background separation rather than text effects.
## ShadSync visual profile
{
"family": "system",
"material": "flat",
"contour": "pebble",
"border": "solid",
"underlay": false,
"grain": false,
"stickerBadges": false,
"motion": "lift",
"density": "dense",
"accents": [
"primary",
"accent",
"secondary",
"muted"
]
}
## Signature component recipes
### Button
Use `Button` for primary, secondary, outline, and ghost actions. Primary actions must expose the language's strongest contrast pair, while secondary and ghost actions should preserve the surface treatment instead of falling back to default neutral SaaS styling.
### Card
Use `Card`, `CardHeader`, `CardContent`, `CardFooter`, and `CardAction` as the main composition frame. Cards should demonstrate the language's surface, border, hierarchy, and density rules rather than appearing as generic rounded rectangles.
### Input and Textarea
Use `Input` and `Textarea` with visible focus rings, field labels, validation states, and the language's rhythm. Forms should show real product content, not placeholder-only controls.
### Select, Tabs, and Table
Use `Select`, `Tabs`, and `Table` to prove navigation, filtering, and dense data states. The table should show row rhythm, separators, hover/focus states, and an empty or status state when the language calls for it.
### Dialog and Sheet
Use `Dialog` for centered decisions and `Sheet` for contextual editing. Both should inherit the language's spacing, border, overlay, and motion rules.
## Preview shots
- `application-shell`: dashboard or workspace shell with navigation, cards, forms, and state badges.
- `detail-editor`: focused editing flow using input, textarea, select, switch/checkbox, dialog or sheet, and action buttons.
- `data-operations`: table-heavy operational view with tabs, dropdown menu affordances, badges, and destructive/empty states.
- Each preview shot must include a renderable `scene` payload with concrete headline, description, actions, and rows/fields/stats for the UI preview.
## Implementation contract
- Start from local `ui/src/components/ui` shadcn-style primitives; do not create a second component system.
- Apply `/katagami/shadcn/dew-candy-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: Use milk-white, cool neutral surfaces as the dominant visual field.; Reserve cyan and guava jelly accents for status beads, small badges, active toggles, and one primary action.; Keep all text on blur surfaces backed by enough white opacity for clear contrast.; Repeat the glossy dew-bead motif at multiple small scales so the signature is recognizable.; Use generous whitespace and precise alignment to keep youthfulness premium.; Test mobile first for stacked glass cards and minimum 44px pill controls.
- Do not: Do not use rainbow gradients, five-color badges, confetti, or large candy illustrations.; Do not put long paragraphs directly over busy translucent backgrounds.; Do not mix arbitrary radii outside 0, 16px, 24px, and 9999px.; Do not make all cards colorful; color belongs to punctuation, not structure.; Do not rely on blur alone to establish hierarchy or hide weak contrast.; Do not add playful wobble, mascot shapes, or toy-like sticker elements.
## 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 DewCandyMinimalismShadcnKit() {
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">Dew Candy 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
{
"breakpoints": "Mobile 375-767px stacks all panels in one column with 16px gutters; tablet 768-1023px uses a 6-column grid; desktop 1024px and up uses 12 columns.",
"density": "Airy medium-low density with deliberate empty space around each product decision; the system should feel fresh and navigable, not sparse from missing content.",
"grid": "Desktop uses a centered 12-column grid with 24px gutters and max-width 1180px; cards can span 4, 5, 7, or 12 columns to create asymmetry without clutter.",
"whitespace": "Use 64-80px between major sections, 32px between cards, 16px between related controls, and 8px only inside compact bead clusters."
}
{
"artifact": "katagami:shadcn-preview-shots",
"version": "preview-shots-v1",
"generator": "katagami-ui-compatibility-projection",
"generatedBy": "katagami-ui-projection",
"requiresVisualProfile": true,
"schema": "katagami:shadcn-preview-shots/renderable-v1",
"renderable": true,
"language": {
"id": "en-019e0a79-2f51-7863-86e1-d2812218196b",
"name": "Dew Candy Minimalism",
"slug": "dew-candy-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": [
"Use a milk-white page background with very pale blue radial dew patches and no full-spectrum gradients; all major panels sit on rgba white glass with backdrop-filter blur.",
"Build the signature accent as small pill or bead shapes with border-radius:9999px, inset white highlight, and one saturated cyan or guava fill, never more than two accent hues.",
"Set content in broad whitespace lanes using max-width centered grids, 48-80px section gaps, and compact inner clusters so the screen feels airy but not empty.",
"Apply a strict radius scale of 0, 16px, 24px, and 9999px; cards use 24px, controls use full pills, and tiny status beads use perfect circles.",
"Keep text on translucent layers high-contrast by placing copy on white-to-alpha panels, adding subtle borders, and reserving blur for background separation rather than text effects."
],
"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": "Dew Candy 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": [
"Use milk-white, cool neutral surfaces as the dominant visual field.",
"Reserve cyan and guava jelly accents for status beads, small badges, active toggles, and one primary action.",
"Keep all text on blur surfaces backed by enough white opacity for clear contrast.",
"Repeat the glossy dew-bead motif at multiple small scales so the signature is recognizable.",
"Use generous whitespace and precise alignment to keep youthfulness premium.",
"Test mobile first for stacked glass cards and minimum 44px pill controls."
],
"dont": [
"Do not use rainbow gradients, five-color badges, confetti, or large candy illustrations.",
"Do not put long paragraphs directly over busy translucent backgrounds.",
"Do not mix arbitrary radii outside 0, 16px, 24px, and 9999px.",
"Do not make all cards colorful; color belongs to punctuation, not structure.",
"Do not rely on blur alone to establish hierarchy or hide weak contrast.",
"Do not add playful wobble, mascot shapes, or toy-like sticker elements."
]
}
}