back to gallery
design language·dew-candy-minimalism

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.

the spec

specification

philosophy
summary
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.
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
accent
#7C5CFF
background
#F8FBFA
border
#DDE9EA
error
#D94A5D
info
#2589D6
muted
#6D7B86
primary
#18C8D8
secondary
#FF6FAE
success
#28A874
surface
#FFFFFF
text
#17212B
warning
#D99A24
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
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.
avoid
  • 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"
      ]
    }
  }
}
```
in the wild

embodiments

the full element showcase
embodiment · dew-candy-minimalism
DESIGN.md

at a glance

Palette

Typography

headline-lgFraunces · 29px · 700

The quick brown fox jumps

headline-mdFraunces · 24px · 600

The quick brown fox jumps

body-mdNunito Sans · 16px · 400

The quick brown fox jumps

label-mdRed Hat 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-880px

Shape

full9999px
lg24px
md16px
none0px
sm16px
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: #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;
}
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 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>
  );
}
theme JSONstored + verified
{
  "$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"
}
component recipescompatibility fallback
# 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."
}
preview shotscompatibility fallback
{
  "artifact": "katagami:shadcn-preview-shots",
  "version": "preview-shots-v1",
  "generator": "katagami-ui-compatibility-projection",
  "generatedBy": "katagami-ui-projection",
  "requiresVisualProfile": true,
  "schema": "katagami:shadcn-preview-shots/renderable-v1",
  "renderable": true,
  "language": {
    "id": "en-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."
    ]
  }
}
related

More like this