back to gallerydo avoid
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 a soft product language for youthful tools that need to feel fresh, readable, and quietly delightful: milk-glass layers, dew-green structure, tiny strawberry markers, high-contrast copy, and microinteractions that behave like condensation rather than confetti.
values
Use translucency as an information layer, not as spectacle: frosted panes reveal depth while keeping text crisp and calm.Make youthfulness structural through rounded slots, soft compression, and tiny fruit-like state markers instead of mascots or toy decoration.Keep the palette narrow with dew green as the working accent and strawberry blush as a punctual marker, never a rainbow system.Prioritize hierarchy by contrast, scale, and spacing so the interface remains usable before it becomes cute.Treat motion as soft kinetic feedback: small lifts, liquid focus rings, and pressed candy highlights that clarify state.Let empty air do most of the emotional work; containers should float with generous margins and tight internal groupings.
anti-values
×No rainbow pastel palettes, sticker clutter, toy-store childishness, mascot-led UI, or generic pastel SaaS gradients.×No neon gamer glow, synthetic cyan-magenta contrast, glossy chrome, or loud glassmorphism with unreadable overlays.×No equal three-card marketing rows, anonymous dashboards, dense control catalogs, or decorative blobs that do not carry hierarchy.×No low-contrast mint text on white; softness must never compromise accessibility or clear semantic meaning.
tokens
borders4 items
- accent width
- 2px
- character
- Borders are rgba(24,33,30,0.07) on quiet panes, dew-green at 35% opacity for focus, and strawberry only as 6-8px circular pips.
- default width
- 1px
- style
- solid hairline with inset highlight
colors12 items
accent
#D98A92
background
#F6F8F3
border
#DDE7E0
error
#B95C65
info
#5F8490
muted
#63736C
primary
#7FAF9B
secondary
#D9E8DF
success
#4F846E
surface
#FFFFFF
text
#18211E
warning
#A98245
motion3 items
- duration
- 180ms for controls, 320ms for pane changes
- easing
- cubic-bezier(.2,.9,.24,1)
- philosophy
- Motion should feel like a dew bead settling: short vertical lifts, soft scale compression on press, and opacity changes that clarify selected and complete states.
radii5 items
- full
- 9999px
- lg
- 32px
- md
- 24px
- none
- 0
- sm
- 16px
shadows3 items
- lg
- 0 36px 90px rgba(91,117,105,0.18), inset 0 1px 0 rgba(255,255,255,0.82)
- md
- 0 18px 40px rgba(91,117,105,0.13), inset 0 1px 0 rgba(255,255,255,0.78)
- sm
- 0 1px 2px rgba(24,33,30,0.04), inset 0 1px 0 rgba(255,255,255,0.68)
spacing2 items
- base
- 8px
- scale
- 4, 8, 12, 16, 24, 32, 48, 64, 96
surfaces3 items
- bg pattern
- Background stays nearly plain, with two oversized low-opacity dew circles and a sparse field of tiny strawberry pips limited to navigation markers.
- card style
- Large cards are softly squared 24-32px panes with near-invisible green-gray borders and occasional dew-green rails for active state.
- treatment
- Milk-glass translucent surfaces use rgba(255,255,255,0.62-0.84), backdrop-filter blur(22px), and inset white top highlights over a pale dew background.
typography8 items
- base size
- 16px
- body font
- Hanken Grotesk
- google fonts url
- https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght,SOFT@9..144,600..800,80&family=Hanken+Grotesk:wght@400;500;600;700&family=IBM+Plex+Mono:wght@500;600&display=swap
- heading font
- Fraunces
- letter spacing
- -0.02em
- line height
- 1.55
- mono font
- IBM Plex Mono
- scale ratio
- 1.25
rules
composition
Use one dominant milk-glass workspace occupying roughly seven columns, offset by two smaller utility panes and one full-width soft status strip. Break the grid with circular dew anchors and a vertical rail rather than using repeated equal cards. Keep decorative pips attached to stateful content, never floating as filler. Place dense control clusters inside calm outer air so the page reads youthful but controlled. Align primary actions to the dew rail and secondary actions to quiet text links.
density
Outer whitespace is generous and airy, ranging from 64px to 96px, while related metadata and controls sit in tight 4px to 12px clusters inside panes.
hierarchy
Display headlines use Fraunces at large optical size with -0.04em tracking and dark text. Body copy uses Hanken Grotesk at 16px, -0.02em tracking, and 1.55 line-height. Labels are small uppercase mono with wide spacing only inside chips. Active states combine a dew rail, stronger dark text, and a single strawberry pip; inactive states remain translucent and low-shadow. Never use color alone for status; pair color with text, icon shape, or rail position.
signature patterns
Milk-glass stack: each primary module uses backdrop blur, rgba white fill, an inset white highlight, and a faint lower shadow to create layered translucent depth.Dew rail selection: active rows and tabs are marked by a 2px vertical or horizontal dew-green rail paired with a tiny strawberry circular pip at the label edge.Candy meniscus controls: pills and toggles include a small glossy oval highlight positioned at the upper left, created with pseudo-elements instead of gradients.Air gap hierarchy: unrelated sections are separated by 64-96px gaps, while labels and values cluster at 4-8px so hierarchy comes from rhythm rather than borders.
layout
breakpoints
mobile <= 640px stacks panes in source order with rails becoming top borders; tablet 641px-980px uses 6 columns; desktop >= 981px uses the full asymmetric 12-column grid.
density
Low-to-medium density with one dense planning cluster surrounded by large quiet margins; suitable for youth wellness, learning, or habit tools without becoming childish.
grid
Desktop uses a max-width 1180px 12-column grid with 24px gutters; hero workspace spans 7 columns, companion panes span 5, and the status strip crosses 10 columns offset by 1.
responsive
On small screens keep the dominant planner first, collapse the orbit rail into horizontal chips, and preserve the strawberry markers as accessible status dots with text labels.
whitespace
Use 4-8px for label/value relationships, 16-24px for component internals, 48px between pane groups, and 64-96px outer breathing room to maintain airy minimalism.
guidance
- Use dew green for active navigation, progress, focus outlines, and success-adjacent calm states; keep it desaturated and never neon.
- Use strawberry blush as a tiny marker for attention, unread items, or gentle warnings, never as a broad fill or second brand wash.
- Keep surfaces translucent but readable by placing text on high-opacity inner panels when copy length increases.
- Use one dominant panel and at least one offset pane so the layout has authorship beyond a standard card grid.
- Pair every semantic color with a label, icon, rail, or shape so color is supplementary rather than the only signal.
- Animate controls with small lifts, soft compression, and opacity changes that confirm state without creating spectacle.
- Let empty space remain empty; the absence of decoration is part of the fresh surface identity.
- Do not add rainbow pastel accents, multi-hue gradients, mascot stickers, childish illustrations, or confetti fields.
- Do not use frosted glass so transparent that body text falls below WCAG contrast or competes with background ornament.
- Do not create three equal feature cards, generic SaaS dashboards, CRM analytics, pricing grids, or control catalog pages.
- Do not use neon cyan, gamer purple, synthetic glow shadows, chrome reflections, or high-saturation candy colors.
- Do not make every component rounded to the same radius; preserve the 0/16/24/9999 system for structural rhythm.
- Do not let strawberry become a primary color; it is a punctuation mark, not the room tone.
- Do not fill air gaps with decorative blobs when hierarchy can be solved through type, spacing, and rails.
katagami spec
# Dew Candy Minimalism ## Philosophy Dew Candy Minimalism is a soft product language for youthful tools that need to feel fresh, readable, and quietly delightful: milk-glass layers, dew-green structure, tiny strawberry markers, high-contrast copy, and microinteractions that behave like condensation rather than confetti. ### Values - Use translucency as an information layer, not as spectacle: frosted panes reveal depth while keeping text crisp and calm. - Make youthfulness structural through rounded slots, soft compression, and tiny fruit-like state markers instead of mascots or toy decoration. - Keep the palette narrow with dew green as the working accent and strawberry blush as a punctual marker, never a rainbow system. - Prioritize hierarchy by contrast, scale, and spacing so the interface remains usable before it becomes cute. - Treat motion as soft kinetic feedback: small lifts, liquid focus rings, and pressed candy highlights that clarify state. - Let empty air do most of the emotional work; containers should float with generous margins and tight internal groupings. ### Anti-Values - No rainbow pastel palettes, sticker clutter, toy-store childishness, mascot-led UI, or generic pastel SaaS gradients. - No neon gamer glow, synthetic cyan-magenta contrast, glossy chrome, or loud glassmorphism with unreadable overlays. - No equal three-card marketing rows, anonymous dashboards, dense control catalogs, or decorative blobs that do not carry hierarchy. - No low-contrast mint text on white; softness must never compromise accessibility or clear semantic meaning. ### Visual Character - Layer panes with backdrop-filter blur, semi-opaque milk-white backgrounds, and inset white highlights so every major module reads as stacked translucent glass. - Use a 12-column airy grid with one dominant rounded panel, smaller offset utility tiles, and dew-drop circular anchors that break the grid without clutter. - Apply dew-green accents as slim rails, progress fills, and selected-state outlines while strawberry blush appears only as tiny dots, badges, and alert pips. - Shape components with a strict radius system of 0, 16px, 24px, and 9999px, combining pill inputs with softly squared large cards for a candy wrapper rhythm. - Create hierarchy with high-contrast dark text, condensed label spacing, oversized display type, and close 4-8px metadata clusters separated by 64-96px air. ## Tokens ### Borders - **Accent Width**: 2px - **Character**: Borders are rgba(24,33,30,0.07) on quiet panes, dew-green at 35% opacity for focus, and strawberry only as 6-8px circular pips. - **Default Width**: 1px - **Style**: solid hairline with inset highlight ### Colors | Name | Value | |------|-------| | accent | `#D98A92` | | background | `#F6F8F3` | | border | `#DDE7E0` | | error | `#B95C65` | | info | `#5F8490` | | muted | `#63736C` | | primary | `#7FAF9B` | | secondary | `#D9E8DF` | | success | `#4F846E` | | surface | `#FFFFFF` | | text | `#18211E` | | warning | `#A98245` | ### Motion - **Duration**: 180ms for controls, 320ms for pane changes - **Easing**: cubic-bezier(.2,.9,.24,1) - **Philosophy**: Motion should feel like a dew bead settling: short vertical lifts, soft scale compression on press, and opacity changes that clarify selected and complete states. ### Radii - **Full**: 9999px - **Lg**: 32px - **Md**: 24px - **None**: 0 - **Sm**: 16px ### Shadows - **Lg**: 0 36px 90px rgba(91,117,105,0.18), inset 0 1px 0 rgba(255,255,255,0.82) - **Md**: 0 18px 40px rgba(91,117,105,0.13), inset 0 1px 0 rgba(255,255,255,0.78) - **Sm**: 0 1px 2px rgba(24,33,30,0.04), inset 0 1px 0 rgba(255,255,255,0.68) ### Spacing - **Base**: 8px - **Scale**: [4,8,12,16,24,32,48,64,96] ### Surfaces - **Bg Pattern**: Background stays nearly plain, with two oversized low-opacity dew circles and a sparse field of tiny strawberry pips limited to navigation markers. - **Card Style**: Large cards are softly squared 24-32px panes with near-invisible green-gray borders and occasional dew-green rails for active state. - **Treatment**: Milk-glass translucent surfaces use rgba(255,255,255,0.62-0.84), backdrop-filter blur(22px), and inset white top highlights over a pale dew background. ### Typography - **Base Size**: 16px - **Body Font**: Hanken Grotesk - **Google Fonts Url**: https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght,SOFT@9..144,600..800,80&family=Hanken+Grotesk:wght@400;500;600;700&family=IBM+Plex+Mono:wght@500;600&display=swap - **Heading Font**: Fraunces - **Letter Spacing**: -0.02em - **Line Height**: 1.55 - **Mono Font**: IBM Plex Mono - **Scale Ratio**: 1.25 ## Rules ### Composition Use one dominant milk-glass workspace occupying roughly seven columns, offset by two smaller utility panes and one full-width soft status strip. Break the grid with circular dew anchors and a vertical rail rather than using repeated equal cards. Keep decorative pips attached to stateful content, never floating as filler. Place dense control clusters inside calm outer air so the page reads youthful but controlled. Align primary actions to the dew rail and secondary actions to quiet text links. ### Density Outer whitespace is generous and airy, ranging from 64px to 96px, while related metadata and controls sit in tight 4px to 12px clusters inside panes. ### Hierarchy Display headlines use Fraunces at large optical size with -0.04em tracking and dark text. Body copy uses Hanken Grotesk at 16px, -0.02em tracking, and 1.55 line-height. Labels are small uppercase mono with wide spacing only inside chips. Active states combine a dew rail, stronger dark text, and a single strawberry pip; inactive states remain translucent and low-shadow. Never use color alone for status; pair color with text, icon shape, or rail position. ### Signature Patterns - Milk-glass stack: each primary module uses backdrop blur, rgba white fill, an inset white highlight, and a faint lower shadow to create layered translucent depth. - Dew rail selection: active rows and tabs are marked by a 2px vertical or horizontal dew-green rail paired with a tiny strawberry circular pip at the label edge. - Candy meniscus controls: pills and toggles include a small glossy oval highlight positioned at the upper left, created with pseudo-elements instead of gradients. - Air gap hierarchy: unrelated sections are separated by 64-96px gaps, while labels and values cluster at 4-8px so hierarchy comes from rhythm rather than borders. ## Layout ### Breakpoints mobile <= 640px stacks panes in source order with rails becoming top borders; tablet 641px-980px uses 6 columns; desktop >= 981px uses the full asymmetric 12-column grid. ### Density Low-to-medium density with one dense planning cluster surrounded by large quiet margins; suitable for youth wellness, learning, or habit tools without becoming childish. ### Grid Desktop uses a max-width 1180px 12-column grid with 24px gutters; hero workspace spans 7 columns, companion panes span 5, and the status strip crosses 10 columns offset by 1. ### Responsive On small screens keep the dominant planner first, collapse the orbit rail into horizontal chips, and preserve the strawberry markers as accessible status dots with text labels. ### Whitespace Use 4-8px for label/value relationships, 16-24px for component internals, 48px between pane groups, and 64-96px outer breathing room to maintain airy minimalism. ## Guidance ### Do - Use dew green for active navigation, progress, focus outlines, and success-adjacent calm states; keep it desaturated and never neon. - Use strawberry blush as a tiny marker for attention, unread items, or gentle warnings, never as a broad fill or second brand wash. - Keep surfaces translucent but readable by placing text on high-opacity inner panels when copy length increases. - Use one dominant panel and at least one offset pane so the layout has authorship beyond a standard card grid. - Pair every semantic color with a label, icon, rail, or shape so color is supplementary rather than the only signal. - Animate controls with small lifts, soft compression, and opacity changes that confirm state without creating spectacle. - Let empty space remain empty; the absence of decoration is part of the fresh surface identity. ### Don't - Do not add rainbow pastel accents, multi-hue gradients, mascot stickers, childish illustrations, or confetti fields. - Do not use frosted glass so transparent that body text falls below WCAG contrast or competes with background ornament. - Do not create three equal feature cards, generic SaaS dashboards, CRM analytics, pricing grids, or control catalog pages. - Do not use neon cyan, gamer purple, synthetic glow shadows, chrome reflections, or high-saturation candy colors. - Do not make every component rounded to the same radius; preserve the 0/16/24/9999 system for structural rhythm. - Do not let strawberry become a primary color; it is a punctuation mark, not the room tone. - Do not fill air gaps with decorative blobs when hierarchy can be solved through type, spacing, and rails. ### Accessibility Maintain 4.5:1 contrast for body text, keep focus outlines visible in dew green plus shadow, provide text labels for all status dots, and avoid relying on translucency or color alone. ### Usage Context Best for calm youth productivity, habit coaching, after-school planning, lightweight wellness, journaling, or learning products that need softness without childish clutter.
DESIGN.md
---
version: "alpha"
name: "Dew Candy Minimalism"
description: "Agent-curated design language exported from Katagami as DESIGN.md."
colors:
accent: "#D98A92"
background: "#F6F8F3"
border: "#DDE7E0"
error: "#B95C65"
info: "#5F8490"
muted: "#63736C"
primary: "#7FAF9B"
secondary: "#D9E8DF"
success: "#4F846E"
surface: "#FFFFFF"
text: "#18211E"
warning: "#A98245"
typography:
headline-lg:
fontFamily: "Fraunces"
fontSize: "1.953rem"
fontWeight: 700
lineHeight: 1.1
letterSpacing: "-0.02em"
headline-md:
fontFamily: "Fraunces"
fontSize: "1.563rem"
fontWeight: 600
lineHeight: 1.15
letterSpacing: "-0.02em"
body-md:
fontFamily: "Hanken Grotesk"
fontSize: "16px"
fontWeight: 400
lineHeight: 1.55
letterSpacing: "-0.02em"
label-md:
fontFamily: "IBM Plex Mono"
fontSize: "0.75rem"
fontWeight: 600
lineHeight: 1
letterSpacing: "0.08em"
rounded:
full: "9999px"
lg: "32px"
md: "24px"
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: "96px"
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 a soft product language for youthful tools that need to feel fresh, readable, and quietly delightful: milk-glass layers, dew-green structure, tiny strawberry markers, high-contrast copy, and microinteractions that behave like condensation rather than confetti.
### Values
- Use translucency as an information layer, not as spectacle: frosted panes reveal depth while keeping text crisp and calm.
- Make youthfulness structural through rounded slots, soft compression, and tiny fruit-like state markers instead of mascots or toy decoration.
- Keep the palette narrow with dew green as the working accent and strawberry blush as a punctual marker, never a rainbow system.
- Prioritize hierarchy by contrast, scale, and spacing so the interface remains usable before it becomes cute.
- Treat motion as soft kinetic feedback: small lifts, liquid focus rings, and pressed candy highlights that clarify state.
- Let empty air do most of the emotional work; containers should float with generous margins and tight internal groupings.
### Anti-Values
- No rainbow pastel palettes, sticker clutter, toy-store childishness, mascot-led UI, or generic pastel SaaS gradients.
- No neon gamer glow, synthetic cyan-magenta contrast, glossy chrome, or loud glassmorphism with unreadable overlays.
- No equal three-card marketing rows, anonymous dashboards, dense control catalogs, or decorative blobs that do not carry hierarchy.
- No low-contrast mint text on white; softness must never compromise accessibility or clear semantic meaning.
### Visual Character
- Layer panes with backdrop-filter blur, semi-opaque milk-white backgrounds, and inset white highlights so every major module reads as stacked translucent glass.
- Use a 12-column airy grid with one dominant rounded panel, smaller offset utility tiles, and dew-drop circular anchors that break the grid without clutter.
- Apply dew-green accents as slim rails, progress fills, and selected-state outlines while strawberry blush appears only as tiny dots, badges, and alert pips.
- Shape components with a strict radius system of 0, 16px, 24px, and 9999px, combining pill inputs with softly squared large cards for a candy wrapper rhythm.
- Create hierarchy with high-contrast dark text, condensed label spacing, oversized display type, and close 4-8px metadata clusters separated by 64-96px air.
## 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 | `#D98A92` |
| background | `#F6F8F3` |
| border | `#DDE7E0` |
| error | `#B95C65` |
| info | `#5F8490` |
| muted | `#63736C` |
| primary | `#7FAF9B` |
| secondary | `#D9E8DF` |
| success | `#4F846E` |
| surface | `#FFFFFF` |
| text | `#18211E` |
| warning | `#A98245` |
## Typography
- **Headline-Lg**: Fraunces, 1.953rem, weight 700, line-height 1.1.
- **Headline-Md**: Fraunces, 1.563rem, weight 600, line-height 1.15.
- **Body-Md**: Hanken Grotesk, 16px, weight 400, line-height 1.55.
- **Label-Md**: IBM Plex Mono, 0.75rem, weight 600, line-height 1.
## Layout
### Spacing Tokens
- **Base**: `8px`
- **Xs**: `4px`
- **Sm**: `8px`
- **Md**: `12px`
- **Lg**: `16px`
- **Xl**: `24px`
- **2xl**: `32px`
- **3xl**: `48px`
- **4xl**: `64px`
- **Step-8**: `96px`
### Breakpoints
mobile <= 640px stacks panes in source order with rails becoming top borders; tablet 641px-980px uses 6 columns; desktop >= 981px uses the full asymmetric 12-column grid.
### Density
Low-to-medium density with one dense planning cluster surrounded by large quiet margins; suitable for youth wellness, learning, or habit tools without becoming childish.
### Grid
Desktop uses a max-width 1180px 12-column grid with 24px gutters; hero workspace spans 7 columns, companion panes span 5, and the status strip crosses 10 columns offset by 1.
### Responsive
On small screens keep the dominant planner first, collapse the orbit rail into horizontal chips, and preserve the strawberry markers as accessible status dots with text labels.
### Whitespace
Use 4-8px for label/value relationships, 16-24px for component internals, 48px between pane groups, and 64-96px outer breathing room to maintain airy minimalism.
## Elevation & Depth
### Shadows
- **Lg**: 0 36px 90px rgba(91,117,105,0.18), inset 0 1px 0 rgba(255,255,255,0.82)
- **Md**: 0 18px 40px rgba(91,117,105,0.13), inset 0 1px 0 rgba(255,255,255,0.78)
- **Sm**: 0 1px 2px rgba(24,33,30,0.04), inset 0 1px 0 rgba(255,255,255,0.68)
## Shapes
### Rounded
- **Full**: `9999px`
- **Lg**: `32px`
- **Md**: `24px`
- **None**: `0px`
- **Sm**: `16px`
### Surfaces
- **Bg Pattern**: Background stays nearly plain, with two oversized low-opacity dew circles and a sparse field of tiny strawberry pips limited to navigation markers.
- **Card Style**: Large cards are softly squared 24-32px panes with near-invisible green-gray borders and occasional dew-green rails for active state.
- **Treatment**: Milk-glass translucent surfaces use rgba(255,255,255,0.62-0.84), backdrop-filter blur(22px), and inset white top highlights over a pale dew background.
### Borders
- **Accent Width**: 2px
- **Character**: Borders are rgba(24,33,30,0.07) on quiet panes, dew-green at 35% opacity for focus, and strawberry only as 6-8px circular pips.
- **Default Width**: 1px
- **Style**: solid hairline with inset highlight
## Components
### Composition
Use one dominant milk-glass workspace occupying roughly seven columns, offset by two smaller utility panes and one full-width soft status strip. Break the grid with circular dew anchors and a vertical rail rather than using repeated equal cards. Keep decorative pips attached to stateful content, never floating as filler. Place dense control clusters inside calm outer air so the page reads youthful but controlled. Align primary actions to the dew rail and secondary actions to quiet text links.
### Density
Outer whitespace is generous and airy, ranging from 64px to 96px, while related metadata and controls sit in tight 4px to 12px clusters inside panes.
### Hierarchy
Display headlines use Fraunces at large optical size with -0.04em tracking and dark text. Body copy uses Hanken Grotesk at 16px, -0.02em tracking, and 1.55 line-height. Labels are small uppercase mono with wide spacing only inside chips. Active states combine a dew rail, stronger dark text, and a single strawberry pip; inactive states remain translucent and low-shadow. Never use color alone for status; pair color with text, icon shape, or rail position.
### Signature Patterns
- Milk-glass stack: each primary module uses backdrop blur, rgba white fill, an inset white highlight, and a faint lower shadow to create layered translucent depth.
- Dew rail selection: active rows and tabs are marked by a 2px vertical or horizontal dew-green rail paired with a tiny strawberry circular pip at the label edge.
- Candy meniscus controls: pills and toggles include a small glossy oval highlight positioned at the upper left, created with pseudo-elements instead of gradients.
- Air gap hierarchy: unrelated sections are separated by 64-96px gaps, while labels and values cluster at 4-8px so hierarchy comes from rhythm rather than borders.
## 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-019e0a82-19fb-7523-ab05-2ddae36e489b/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 dew green for active navigation, progress, focus outlines, and success-adjacent calm states; keep it desaturated and never neon.
- Do Use strawberry blush as a tiny marker for attention, unread items, or gentle warnings, never as a broad fill or second brand wash.
- Do Keep surfaces translucent but readable by placing text on high-opacity inner panels when copy length increases.
- Do Use one dominant panel and at least one offset pane so the layout has authorship beyond a standard card grid.
- Do Pair every semantic color with a label, icon, rail, or shape so color is supplementary rather than the only signal.
- Do Animate controls with small lifts, soft compression, and opacity changes that confirm state without creating spectacle.
- Do Let empty space remain empty; the absence of decoration is part of the fresh surface identity.
- Don't Do not add rainbow pastel accents, multi-hue gradients, mascot stickers, childish illustrations, or confetti fields.
- Don't Do not use frosted glass so transparent that body text falls below WCAG contrast or competes with background ornament.
- Don't Do not create three equal feature cards, generic SaaS dashboards, CRM analytics, pricing grids, or control catalog pages.
- Don't Do not use neon cyan, gamer purple, synthetic glow shadows, chrome reflections, or high-saturation candy colors.
- Don't Do not make every component rounded to the same radius; preserve the 0/16/24/9999 system for structural rhythm.
- Don't Do not let strawberry become a primary color; it is a punctuation mark, not the room tone.
- Don't Do not fill air gaps with decorative blobs when hierarchy can be solved through type, spacing, and rails.
### Accessibility
Maintain 4.5:1 contrast for body text, keep focus outlines visible in dew green plus shadow, provide text labels for all status dots, and avoid relying on translucency or color alone.
### Usage Context
Best for calm youth productivity, habit coaching, after-school planning, lightweight wellness, journaling, or learning products that need softness without childish clutter.
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": "#F6F8F3",
"foreground": "#18211E",
"card": "#FFFFFF",
"card-foreground": "#18211E",
"popover": "#FFFFFF",
"popover-foreground": "#18211E",
"primary": "#7FAF9B",
"primary-foreground": "#ffffff",
"secondary": "#D9E8DF",
"secondary-foreground": "#111111",
"muted": "#63736C",
"muted-foreground": "#18211E",
"accent": "#D98A92",
"accent-foreground": "#ffffff",
"destructive": "#B95C65",
"border": "#DDE7E0",
"input": "#DDE7E0",
"ring": "#D98A92",
"chart-1": "#7FAF9B",
"chart-2": "#D9E8DF",
"chart-3": "#D98A92",
"chart-4": "#4F846E",
"chart-5": "#A98245",
"sidebar": "#FFFFFF",
"sidebar-foreground": "#18211E",
"sidebar-primary": "#7FAF9B",
"sidebar-primary-foreground": "#ffffff",
"sidebar-accent": "#5F8490",
"sidebar-accent-foreground": "#ffffff",
"sidebar-border": "#DDE7E0",
"sidebar-ring": "#D98A92",
"radius": "24px"
},
"dark": {
"background": "#0f1115",
"foreground": "#f8fafc",
"card": "#181b22",
"card-foreground": "#f8fafc",
"popover": "#181b22",
"popover-foreground": "#f8fafc",
"primary": "#7FAF9B",
"primary-foreground": "#ffffff",
"secondary": "#252a33",
"secondary-foreground": "#f8fafc",
"muted": "#252a33",
"muted-foreground": "#a1a1aa",
"accent": "#D98A92",
"accent-foreground": "#ffffff",
"destructive": "#B95C65",
"border": "#303642",
"input": "#303642",
"ring": "#D98A92",
"chart-1": "#7FAF9B",
"chart-2": "#D9E8DF",
"chart-3": "#D98A92",
"chart-4": "#4F846E",
"chart-5": "#A98245",
"sidebar": "#181b22",
"sidebar-foreground": "#f8fafc",
"sidebar-primary": "#7FAF9B",
"sidebar-primary-foreground": "#ffffff",
"sidebar-accent": "#D98A92",
"sidebar-accent-foreground": "#ffffff",
"sidebar-border": "#303642",
"sidebar-ring": "#D98A92",
"radius": "24px"
}
},
"meta": {
"source": "katagami",
"languageId": "en-019e0a82-19fb-7523-ab05-2ddae36e489b",
"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
Typography
headline-lgFraunces · 31px · 700
The quick brown fox jumps
headline-mdFraunces · 25px · 600
The quick brown fox jumps
body-mdHanken Grotesk · 16px · 400
The quick brown fox jumps
label-mdIBM Plex Mono · 12px · 600
The quick brown fox jumps
Components
New
Card title
Components rendered with this language’s tokens — colors, type, and rounded corners as specified.
Spacing
- base8px
- xs4px
- sm8px
- md12px
- lg16px
- xl24px
- 2xl32px
- 3xl48px
- 4xl64px
- step-896px
Shape
full9999px
lg32px
md24px
none0px
sm16px
shadcn/ui
implementation kit
recommendedcompatibility fallback
DESIGN.md with shadcn
Copy this when the target app uses shadcn/ui. It packages the Katagami DESIGN.md context with the install list, theme variables, component recipes, preview-shot contract, and starter TSX in one Markdown companion.
advanced implementation filesoptional machine-readable theme, CSS, TSX starter, recipes, and preview contract
shadcn add
npx shadcn@latest add button card input textarea select dialog sheet tabs badge separator checkbox switch slider tooltip dropdown-menu tabletheme css
:root {
--background: #F6F8F3;
--foreground: #18211E;
--card: #FFFFFF;
--card-foreground: #18211E;
--popover: #FFFFFF;
--popover-foreground: #18211E;
--primary: #7FAF9B;
--primary-foreground: #ffffff;
--secondary: #D9E8DF;
--secondary-foreground: #111111;
--muted: #63736C;
--muted-foreground: #18211E;
--accent: #D98A92;
--accent-foreground: #ffffff;
--destructive: #B95C65;
--border: #DDE7E0;
--input: #DDE7E0;
--ring: #D98A92;
--chart-1: #7FAF9B;
--chart-2: #D9E8DF;
--chart-3: #D98A92;
--chart-4: #4F846E;
--chart-5: #A98245;
--sidebar: #FFFFFF;
--sidebar-foreground: #18211E;
--sidebar-primary: #7FAF9B;
--sidebar-primary-foreground: #ffffff;
--sidebar-accent: #5F8490;
--sidebar-accent-foreground: #ffffff;
--sidebar-border: #DDE7E0;
--sidebar-ring: #D98A92;
--radius: 24px;
}
.dark {
--background: #0f1115;
--foreground: #f8fafc;
--card: #181b22;
--card-foreground: #f8fafc;
--popover: #181b22;
--popover-foreground: #f8fafc;
--primary: #7FAF9B;
--primary-foreground: #ffffff;
--secondary: #252a33;
--secondary-foreground: #f8fafc;
--muted: #252a33;
--muted-foreground: #a1a1aa;
--accent: #D98A92;
--accent-foreground: #ffffff;
--destructive: #B95C65;
--border: #303642;
--input: #303642;
--ring: #D98A92;
--chart-1: #7FAF9B;
--chart-2: #D9E8DF;
--chart-3: #D98A92;
--chart-4: #4F846E;
--chart-5: #A98245;
--sidebar: #181b22;
--sidebar-foreground: #f8fafc;
--sidebar-primary: #7FAF9B;
--sidebar-primary-foreground: #ffffff;
--sidebar-accent: #D98A92;
--sidebar-accent-foreground: #ffffff;
--sidebar-border: #303642;
--sidebar-ring: #D98A92;
--radius: 24px;
}
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 JSONcompatibility fallback
{
"$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": "#F6F8F3",
"foreground": "#18211E",
"card": "#FFFFFF",
"card-foreground": "#18211E",
"popover": "#FFFFFF",
"popover-foreground": "#18211E",
"primary": "#7FAF9B",
"primary-foreground": "#ffffff",
"secondary": "#D9E8DF",
"secondary-foreground": "#111111",
"muted": "#63736C",
"muted-foreground": "#18211E",
"accent": "#D98A92",
"accent-foreground": "#ffffff",
"destructive": "#B95C65",
"border": "#DDE7E0",
"input": "#DDE7E0",
"ring": "#D98A92",
"chart-1": "#7FAF9B",
"chart-2": "#D9E8DF",
"chart-3": "#D98A92",
"chart-4": "#4F846E",
"chart-5": "#A98245",
"sidebar": "#FFFFFF",
"sidebar-foreground": "#18211E",
"sidebar-primary": "#7FAF9B",
"sidebar-primary-foreground": "#ffffff",
"sidebar-accent": "#5F8490",
"sidebar-accent-foreground": "#ffffff",
"sidebar-border": "#DDE7E0",
"sidebar-ring": "#D98A92",
"radius": "24px"
},
"dark": {
"background": "#0f1115",
"foreground": "#f8fafc",
"card": "#181b22",
"card-foreground": "#f8fafc",
"popover": "#181b22",
"popover-foreground": "#f8fafc",
"primary": "#7FAF9B",
"primary-foreground": "#ffffff",
"secondary": "#252a33",
"secondary-foreground": "#f8fafc",
"muted": "#252a33",
"muted-foreground": "#a1a1aa",
"accent": "#D98A92",
"accent-foreground": "#ffffff",
"destructive": "#B95C65",
"border": "#303642",
"input": "#303642",
"ring": "#D98A92",
"chart-1": "#7FAF9B",
"chart-2": "#D9E8DF",
"chart-3": "#D98A92",
"chart-4": "#4F846E",
"chart-5": "#A98245",
"sidebar": "#181b22",
"sidebar-foreground": "#f8fafc",
"sidebar-primary": "#7FAF9B",
"sidebar-primary-foreground": "#ffffff",
"sidebar-accent": "#D98A92",
"sidebar-accent-foreground": "#ffffff",
"sidebar-border": "#303642",
"sidebar-ring": "#D98A92",
"radius": "24px"
}
},
"meta": {
"source": "katagami",
"languageId": "en-019e0a82-19fb-7523-ab05-2ddae36e489b",
"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"
]
}
}
}
component recipescompatibility fallback
# Dew Candy Minimalism shadcn/ui Components
Artifact: `component-recipes-v1`
Author: `katagami-ui-projection`
Language ID: `en-019e0a82-19fb-7523-ab05-2ddae36e489b`
Slug: `dew-candy-minimalism`
## Intent
Dew Candy Minimalism is a soft product language for youthful tools that need to feel fresh, readable, and quietly delightful: milk-glass layers, dew-green structure, tiny strawberry markers, high-contrast copy, and microinteractions that behave like condensation rather than confetti.
## 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": "#D98A92",
"background": "#F6F8F3",
"border": "#DDE7E0",
"error": "#B95C65",
"info": "#5F8490",
"muted": "#63736C",
"primary": "#7FAF9B",
"secondary": "#D9E8DF",
"success": "#4F846E",
"surface": "#FFFFFF",
"text": "#18211E",
"warning": "#A98245"
}
Typography:
{
"base_size": "16px",
"body_font": "Hanken Grotesk",
"google_fonts_url": "https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght,SOFT@9..144,600..800,80&family=Hanken+Grotesk:wght@400;500;600;700&family=IBM+Plex+Mono:wght@500;600&display=swap",
"heading_font": "Fraunces",
"letter_spacing": "-0.02em",
"line_height": 1.55,
"mono_font": "IBM Plex Mono",
"scale_ratio": 1.25
}
## Visual character to preserve
- Layer panes with backdrop-filter blur, semi-opaque milk-white backgrounds, and inset white highlights so every major module reads as stacked translucent glass.
- Use a 12-column airy grid with one dominant rounded panel, smaller offset utility tiles, and dew-drop circular anchors that break the grid without clutter.
- Apply dew-green accents as slim rails, progress fills, and selected-state outlines while strawberry blush appears only as tiny dots, badges, and alert pips.
- Shape components with a strict radius system of 0, 16px, 24px, and 9999px, combining pill inputs with softly squared large cards for a candy wrapper rhythm.
- Create hierarchy with high-contrast dark text, condensed label spacing, oversized display type, and close 4-8px metadata clusters separated by 64-96px air.
## ShadSync visual profile
{
"family": "system",
"material": "flat",
"contour": "pebble",
"border": "solid",
"underlay": true,
"grain": false,
"stickerBadges": true,
"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 dew green for active navigation, progress, focus outlines, and success-adjacent calm states; keep it desaturated and never neon.; Use strawberry blush as a tiny marker for attention, unread items, or gentle warnings, never as a broad fill or second brand wash.; Keep surfaces translucent but readable by placing text on high-opacity inner panels when copy length increases.; Use one dominant panel and at least one offset pane so the layout has authorship beyond a standard card grid.; Pair every semantic color with a label, icon, rail, or shape so color is supplementary rather than the only signal.; Animate controls with small lifts, soft compression, and opacity changes that confirm state without creating spectacle.; Let empty space remain empty; the absence of decoration is part of the fresh surface identity.
- Do not: Do not add rainbow pastel accents, multi-hue gradients, mascot stickers, childish illustrations, or confetti fields.; Do not use frosted glass so transparent that body text falls below WCAG contrast or competes with background ornament.; Do not create three equal feature cards, generic SaaS dashboards, CRM analytics, pricing grids, or control catalog pages.; Do not use neon cyan, gamer purple, synthetic glow shadows, chrome reflections, or high-saturation candy colors.; Do not make every component rounded to the same radius; preserve the 0/16/24/9999 system for structural rhythm.; Do not let strawberry become a primary color; it is a punctuation mark, not the room tone.; Do not fill air gaps with decorative blobs when hierarchy can be solved through type, spacing, and rails.
## 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 <= 640px stacks panes in source order with rails becoming top borders; tablet 641px-980px uses 6 columns; desktop >= 981px uses the full asymmetric 12-column grid.",
"density": "Low-to-medium density with one dense planning cluster surrounded by large quiet margins; suitable for youth wellness, learning, or habit tools without becoming childish.",
"grid": "Desktop uses a max-width 1180px 12-column grid with 24px gutters; hero workspace spans 7 columns, companion panes span 5, and the status strip crosses 10 columns offset by 1.",
"responsive": "On small screens keep the dominant planner first, collapse the orbit rail into horizontal chips, and preserve the strawberry markers as accessible status dots with text labels.",
"whitespace": "Use 4-8px for label/value relationships, 16-24px for component internals, 48px between pane groups, and 64-96px outer breathing room to maintain airy minimalism."
}
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-019e0a82-19fb-7523-ab05-2ddae36e489b",
"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": [
"Layer panes with backdrop-filter blur, semi-opaque milk-white backgrounds, and inset white highlights so every major module reads as stacked translucent glass.",
"Use a 12-column airy grid with one dominant rounded panel, smaller offset utility tiles, and dew-drop circular anchors that break the grid without clutter.",
"Apply dew-green accents as slim rails, progress fills, and selected-state outlines while strawberry blush appears only as tiny dots, badges, and alert pips.",
"Shape components with a strict radius system of 0, 16px, 24px, and 9999px, combining pill inputs with softly squared large cards for a candy wrapper rhythm.",
"Create hierarchy with high-contrast dark text, condensed label spacing, oversized display type, and close 4-8px metadata clusters separated by 64-96px air."
],
"visualProfile": {
"family": "system",
"material": "flat",
"contour": "pebble",
"border": "solid",
"underlay": true,
"grain": false,
"stickerBadges": true,
"motion": "still",
"density": "dense",
"accents": [
"primary",
"accent",
"secondary",
"muted"
]
},
"shots": [
{
"id": "application-shell",
"title": "Application shell",
"viewport": "desktop",
"primitives": [
"button",
"card",
"input",
"select",
"tabs",
"badge",
"separator",
"table"
],
"composition": "A real product workspace with navigation, summary cards, filtering controls, and one dense content region.",
"mustShow": [
"primary and secondary actions",
"card hierarchy",
"filterable state",
"table or list density"
],
"avoid": [
"component inventory walls",
"placeholder-only content",
"generic rounded SaaS chrome"
],
"scene": {
"eyebrow": "workspace spread",
"headline": "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 dew green for active navigation, progress, focus outlines, and success-adjacent calm states; keep it desaturated and never neon.",
"Use strawberry blush as a tiny marker for attention, unread items, or gentle warnings, never as a broad fill or second brand wash.",
"Keep surfaces translucent but readable by placing text on high-opacity inner panels when copy length increases.",
"Use one dominant panel and at least one offset pane so the layout has authorship beyond a standard card grid.",
"Pair every semantic color with a label, icon, rail, or shape so color is supplementary rather than the only signal.",
"Animate controls with small lifts, soft compression, and opacity changes that confirm state without creating spectacle.",
"Let empty space remain empty; the absence of decoration is part of the fresh surface identity."
],
"dont": [
"Do not add rainbow pastel accents, multi-hue gradients, mascot stickers, childish illustrations, or confetti fields.",
"Do not use frosted glass so transparent that body text falls below WCAG contrast or competes with background ornament.",
"Do not create three equal feature cards, generic SaaS dashboards, CRM analytics, pricing grids, or control catalog pages.",
"Do not use neon cyan, gamer purple, synthetic glow shadows, chrome reflections, or high-saturation candy colors.",
"Do not make every component rounded to the same radius; preserve the 0/16/24/9999 system for structural rhythm.",
"Do not let strawberry become a primary color; it is a punctuation mark, not the room tone.",
"Do not fill air gaps with decorative blobs when hierarchy can be solved through type, spacing, and rails."
]
}
}
related