back to gallerydo avoid
design language·dew-candy-minimalism-soft-glass
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 readable soft-glass interface language for products that need youthful freshness without becoming toy-like. It treats glass as a calm material system rather than a spectacle: mostly white space, tone-based surface containers, thin translucent rims, and one or two candy accents that behave like dew drops on a quiet morning counter. The language is optimistic, tactile, and clear, using softness to invite care while preserving strong text contrast and disciplined hierarchy.
values
Legibility before translucency: every blur, tint, and highlight must support readable foreground content instead of obscuring it.Dew-fresh restraint: surfaces feel newly rinsed and luminous, but the canvas remains mostly white and uncluttered.Candy as accent, not palette: raspberry and pearled tangerine appear in small focused moments rather than as a rainbow system.Youthful softness with adult composure: rounded forms and gentle glow are balanced by precise grids, high contrast text, and measured spacing.Tone-based hierarchy: container elevation comes from white, milk, shell, and mist roles before color is introduced.Material honesty: translucent layering is paired with fallback opacity, clear borders, and accessible contrast rather than decorative blur for its own sake.
anti-values
×Rainbow candy palettes, evenly spaced hue-wheel accents, or loud gradient backdrops that make the interface feel synthetic.×Toy-like childishness such as bubbly mascots, sticker chaos, oversized novelty type, or plastic primary colors.×Generic pastel SaaS cards with uniform three-column layouts, flat grey borders, and indistinct hierarchy.×Neon gamer energy, blacklight glow, or saturated cyber color that fights the dew-fresh premise.
tokens
borders4 items
- accent width
- 2px
- character
- Near-invisible plum at rgba(42,31,45,.08), with occasional full-perimeter candy rim highlights limited to active states.
- default width
- 1px
- style
- solid
colors12 items
accent
#B8D8C8
background
#FFFDF9
border
#2A1F2D14
error
#B84A5B
info
#537C96
muted
#756B73
primary
#D85C7A
secondary
#E8A75A
success
#4F8A68
surface
#FBFAF7
text
#2A1F2D
warning
#B98236
motion3 items
- duration
- 180ms
- easing
- cubic-bezier(.2,.8,.2,1)
- philosophy
- Tiny dew-settling shifts only: hover translates by -2px, opacity softens in 180ms, and no looping shimmer or spectacle is used.
radii5 items
- full
- 9999px
- lg
- 24px
- md
- 24px
- none
- 0
- sm
- 16px
shadows3 items
- lg
- 0 28px 70px rgba(42, 31, 45, 0.10)
- md
- 0 18px 44px rgba(42, 31, 45, 0.075)
- sm
- 0 8px 18px rgba(42, 31, 45, 0.045)
spacing2 items
- base
- 8px
- scale
- 4, 8, 12, 16, 24, 32, 48, 64, 96, 128
surfaces3 items
- bg pattern
- Almost invisible radial dew washes anchored off-canvas, plus two oversized blurred circular lenses that overlap but do not carry text.
- card style
- Dominant cards use #FFFFFFCC over #FBFAF7, 1px low-alpha plum borders, inset 0 1px white, and restrained shadows from the token scale.
- treatment
- Tone-based white, milk, and mist containers with rgba white translucency, blur(22px), inset highlights, and opaque fallbacks for readability.
typography10 items
- base size
- 16px
- body font
- Atkinson Hyperlegible
- display letter spacing
- -0.04em
- display line height
- 1.1
- google fonts url
- https://fonts.googleapis.com/css2?family=Atkinson+Hyperlegible:wght@400;700&family=Fraunces:opsz,wght,SOFT,WONK@9..144,500..750,80,0&family=IBM+Plex+Mono:wght@500&display=swap
- heading font
- Fraunces
- letter spacing
- -0.02em
- line height
- 1.56
- mono font
- IBM Plex Mono
- scale ratio
- 1.24
rules
composition
Use a wide calm canvas with one dominant task panel occupying roughly seven columns and a lighter companion rail occupying four columns. Avoid equal card rows; one surface must clearly lead. Place oversized dew lenses partially outside containers to create a grid break without clutter. Keep navigation compact, text blocks short, and use white space as the main separator before borders or color.
density
Density is airy but not empty: related controls sit within 8-12px clusters, content groups separate at 48-96px, and dominant panels have deeper 32-48px padding than small chips. Mobile collapses to stacked glass sheets with the dew lens cropped rather than removed.
hierarchy
Start hierarchy with scale and weight: a Fraunces display headline, then body copy, then mono micro-labels. Use tone depth for secondary hierarchy, with milk panels behind quiet content and clear white glass behind active content. Candy color appears only on the primary action, active bead, selected pill, or a single chart stroke per view.
signature patterns
Dew-lens overlap: a large blurred translucent circle with an inset highlight crosses one card edge and is masked behind text-safe content zones.Candy rim pills: active tabs use a full two-pixel rounded rim in muted raspberry-to-apricot while the pill fill stays nearly white.Tone ladder surfaces: page, milk tray, white glass sheet, and bead layers step in opacity instead of relying on saturated background color.Readable blur guard: every translucent content surface uses a semi-opaque white fill and a text-safe inner panel whenever copy sits above decoration.
layout
breakpoints
Desktop >= 1100px uses asymmetric two-column composition; tablet 700-1099px stacks the rail under the main panel in two-column subgrids; mobile < 700px becomes a single column with reduced 24px panel padding.
density
Airy, with dramatic spacing contrast: 4px micro alignments for beads, 12px control clusters, 48px card separations, and 96px section rests.
grid
Desktop uses a 12-column grid with 24px gutters and a 1180px max-width; the main hero spans seven columns, the side rail spans four, and one column remains breathing space.
responsive
At smaller widths, preserve the dominant panel first, collapse pill groups into wrapping rows, crop the dew lens, and keep primary actions visible without introducing hamburger clutter.
whitespace
Whitespace is the primary separator: large blank gutters surround the core workspace, internal groups use close proximity, and decorative lenses are cropped so empty space remains readable.
guidance
- Use one dominant glass surface per view and let smaller tone panels support it instead of competing equally.
- Keep body text on opaque or semi-opaque white fills that maintain WCAG AA contrast against #2A1F2D.
- Limit candy accents to muted raspberry and apricot interaction states, tiny beads, or one chart stroke.
- Pair Fraunces display moments with concise Atkinson Hyperlegible body copy and mandatory negative tracking.
- Use near-invisible borders, inset highlights, and small shadows to suggest dew-fresh material depth.
- Create hierarchy through spacing jumps from 8px clusters to 64px or 96px rests.
- Do not use rainbow palettes, multi-stop loud gradients, or hue-wheel triads to communicate candy.
- Do not place text directly on busy blur, transparent color, or decorative lenses without a readable guard surface.
- Do not build three equal cards in a row or a generic analytics dashboard scene.
- Do not use mascots, stickers, toy packaging cues, bubbly novelty icons, or childish plastic colors.
- Do not rely on generic pastel SaaS borders, uniform 24px spacing, or interchangeable rounded cards.
- Do not introduce neon glow, dark gamer backgrounds, or animated shimmer loops.
katagami spec
# Dew Candy Minimalism ## Philosophy Dew Candy Minimalism is a readable soft-glass interface language for products that need youthful freshness without becoming toy-like. It treats glass as a calm material system rather than a spectacle: mostly white space, tone-based surface containers, thin translucent rims, and one or two candy accents that behave like dew drops on a quiet morning counter. The language is optimistic, tactile, and clear, using softness to invite care while preserving strong text contrast and disciplined hierarchy. ### Values - Legibility before translucency: every blur, tint, and highlight must support readable foreground content instead of obscuring it. - Dew-fresh restraint: surfaces feel newly rinsed and luminous, but the canvas remains mostly white and uncluttered. - Candy as accent, not palette: raspberry and pearled tangerine appear in small focused moments rather than as a rainbow system. - Youthful softness with adult composure: rounded forms and gentle glow are balanced by precise grids, high contrast text, and measured spacing. - Tone-based hierarchy: container elevation comes from white, milk, shell, and mist roles before color is introduced. - Material honesty: translucent layering is paired with fallback opacity, clear borders, and accessible contrast rather than decorative blur for its own sake. ### Anti-Values - Rainbow candy palettes, evenly spaced hue-wheel accents, or loud gradient backdrops that make the interface feel synthetic. - Toy-like childishness such as bubbly mascots, sticker chaos, oversized novelty type, or plastic primary colors. - Generic pastel SaaS cards with uniform three-column layouts, flat grey borders, and indistinct hierarchy. - Neon gamer energy, blacklight glow, or saturated cyber color that fights the dew-fresh premise. ### Visual Character - Use a near-white page with nested tone containers: #FFFFFF page, #FBFAF7 milk panels, and rgba(255,255,255,.66) glass sheets over subtle radial dew tints. - Define glass cards with backdrop-filter blur(22px), 1px rgba(42,31,45,.08) borders, inset white hairlines, and soft downward shadows under 18px blur. - Create candy accents as small pill tabs, status beads, and full perimeter rim highlights using muted raspberry #D85C7A and apricot #E8A75A, never broad color fields. - Set large Fraunces display headlines with tight -0.04em tracking beside highly readable Atkinson Hyperlegible body text at -0.02em tracking. - Break the grid with one oversized translucent dew lens that overlaps a dominant panel, while smaller panels align to a calm twelve-column rhythm. ## Tokens ### Borders - **Accent Width**: 2px - **Character**: Near-invisible plum at rgba(42,31,45,.08), with occasional full-perimeter candy rim highlights limited to active states. - **Default Width**: 1px - **Style**: solid ### Colors | Name | Value | |------|-------| | accent | `#B8D8C8` | | background | `#FFFDF9` | | border | `#2A1F2D14` | | error | `#B84A5B` | | info | `#537C96` | | muted | `#756B73` | | primary | `#D85C7A` | | secondary | `#E8A75A` | | success | `#4F8A68` | | surface | `#FBFAF7` | | text | `#2A1F2D` | | warning | `#B98236` | ### Motion - **Duration**: 180ms - **Easing**: cubic-bezier(.2,.8,.2,1) - **Philosophy**: Tiny dew-settling shifts only: hover translates by -2px, opacity softens in 180ms, and no looping shimmer or spectacle is used. ### Radii - **Full**: 9999px - **Lg**: 24px - **Md**: 24px - **None**: 0 - **Sm**: 16px ### Shadows - **Lg**: 0 28px 70px rgba(42, 31, 45, 0.10) - **Md**: 0 18px 44px rgba(42, 31, 45, 0.075) - **Sm**: 0 8px 18px rgba(42, 31, 45, 0.045) ### Spacing - **Base**: 8px - **Scale**: [4,8,12,16,24,32,48,64,96,128] ### Surfaces - **Bg Pattern**: Almost invisible radial dew washes anchored off-canvas, plus two oversized blurred circular lenses that overlap but do not carry text. - **Card Style**: Dominant cards use #FFFFFFCC over #FBFAF7, 1px low-alpha plum borders, inset 0 1px white, and restrained shadows from the token scale. - **Treatment**: Tone-based white, milk, and mist containers with rgba white translucency, blur(22px), inset highlights, and opaque fallbacks for readability. ### Typography - **Base Size**: 16px - **Body Font**: Atkinson Hyperlegible - **Display Letter Spacing**: -0.04em - **Display Line Height**: 1.1 - **Google Fonts Url**: https://fonts.googleapis.com/css2?family=Atkinson+Hyperlegible:wght@400;700&family=Fraunces:opsz,wght,SOFT,WONK@9..144,500..750,80,0&family=IBM+Plex+Mono:wght@500&display=swap - **Heading Font**: Fraunces - **Letter Spacing**: -0.02em - **Line Height**: 1.56 - **Mono Font**: IBM Plex Mono - **Scale Ratio**: 1.24 ## Rules ### Composition Use a wide calm canvas with one dominant task panel occupying roughly seven columns and a lighter companion rail occupying four columns. Avoid equal card rows; one surface must clearly lead. Place oversized dew lenses partially outside containers to create a grid break without clutter. Keep navigation compact, text blocks short, and use white space as the main separator before borders or color. ### Density Density is airy but not empty: related controls sit within 8-12px clusters, content groups separate at 48-96px, and dominant panels have deeper 32-48px padding than small chips. Mobile collapses to stacked glass sheets with the dew lens cropped rather than removed. ### Hierarchy Start hierarchy with scale and weight: a Fraunces display headline, then body copy, then mono micro-labels. Use tone depth for secondary hierarchy, with milk panels behind quiet content and clear white glass behind active content. Candy color appears only on the primary action, active bead, selected pill, or a single chart stroke per view. ### Signature Patterns - Dew-lens overlap: a large blurred translucent circle with an inset highlight crosses one card edge and is masked behind text-safe content zones. - Candy rim pills: active tabs use a full two-pixel rounded rim in muted raspberry-to-apricot while the pill fill stays nearly white. - Tone ladder surfaces: page, milk tray, white glass sheet, and bead layers step in opacity instead of relying on saturated background color. - Readable blur guard: every translucent content surface uses a semi-opaque white fill and a text-safe inner panel whenever copy sits above decoration. ## Layout ### Breakpoints Desktop >= 1100px uses asymmetric two-column composition; tablet 700-1099px stacks the rail under the main panel in two-column subgrids; mobile < 700px becomes a single column with reduced 24px panel padding. ### Density Airy, with dramatic spacing contrast: 4px micro alignments for beads, 12px control clusters, 48px card separations, and 96px section rests. ### Grid Desktop uses a 12-column grid with 24px gutters and a 1180px max-width; the main hero spans seven columns, the side rail spans four, and one column remains breathing space. ### Responsive At smaller widths, preserve the dominant panel first, collapse pill groups into wrapping rows, crop the dew lens, and keep primary actions visible without introducing hamburger clutter. ### Whitespace Whitespace is the primary separator: large blank gutters surround the core workspace, internal groups use close proximity, and decorative lenses are cropped so empty space remains readable. ## Guidance ### Do - Use one dominant glass surface per view and let smaller tone panels support it instead of competing equally. - Keep body text on opaque or semi-opaque white fills that maintain WCAG AA contrast against #2A1F2D. - Limit candy accents to muted raspberry and apricot interaction states, tiny beads, or one chart stroke. - Pair Fraunces display moments with concise Atkinson Hyperlegible body copy and mandatory negative tracking. - Use near-invisible borders, inset highlights, and small shadows to suggest dew-fresh material depth. - Create hierarchy through spacing jumps from 8px clusters to 64px or 96px rests. ### Don't - Do not use rainbow palettes, multi-stop loud gradients, or hue-wheel triads to communicate candy. - Do not place text directly on busy blur, transparent color, or decorative lenses without a readable guard surface. - Do not build three equal cards in a row or a generic analytics dashboard scene. - Do not use mascots, stickers, toy packaging cues, bubbly novelty icons, or childish plastic colors. - Do not rely on generic pastel SaaS borders, uniform 24px spacing, or interchangeable rounded cards. - Do not introduce neon glow, dark gamer backgrounds, or animated shimmer loops. ### Accessibility Body text must meet 4.5:1 contrast, large display 3:1 or better, focus rings use #D85C7A at 2px, and translucent surfaces require semi-opaque fills behind copy. ### Usage Context Best for wellness, food craft, personal rituals, gentle productivity, and editorial commerce tools that need freshness and trust without feeling clinical.
DESIGN.md
---
version: "alpha"
name: "Dew Candy Minimalism"
description: "Agent-curated design language exported from Katagami as DESIGN.md."
colors:
accent: "#B8D8C8"
background: "#FFFDF9"
error: "#B84A5B"
info: "#537C96"
muted: "#756B73"
primary: "#D85C7A"
secondary: "#E8A75A"
success: "#4F8A68"
surface: "#FBFAF7"
text: "#2A1F2D"
warning: "#B98236"
typography:
headline-lg:
fontFamily: "Fraunces"
fontSize: "1.907rem"
fontWeight: 700
lineHeight: 1.1
letterSpacing: "-0.02em"
headline-md:
fontFamily: "Fraunces"
fontSize: "1.538rem"
fontWeight: 600
lineHeight: 1.15
letterSpacing: "-0.02em"
body-md:
fontFamily: "Atkinson Hyperlegible"
fontSize: "16px"
fontWeight: 400
lineHeight: 1.56
letterSpacing: "-0.02em"
label-md:
fontFamily: "IBM Plex Mono"
fontSize: "0.75rem"
fontWeight: 600
lineHeight: 1
letterSpacing: "0.08em"
rounded:
full: "9999px"
lg: "24px"
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"
step-9: "128px"
components:
color-reference-accent:
backgroundColor: "{colors.accent}"
color-reference-background:
backgroundColor: "{colors.background}"
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 readable soft-glass interface language for products that need youthful freshness without becoming toy-like. It treats glass as a calm material system rather than a spectacle: mostly white space, tone-based surface containers, thin translucent rims, and one or two candy accents that behave like dew drops on a quiet morning counter. The language is optimistic, tactile, and clear, using softness to invite care while preserving strong text contrast and disciplined hierarchy.
### Values
- Legibility before translucency: every blur, tint, and highlight must support readable foreground content instead of obscuring it.
- Dew-fresh restraint: surfaces feel newly rinsed and luminous, but the canvas remains mostly white and uncluttered.
- Candy as accent, not palette: raspberry and pearled tangerine appear in small focused moments rather than as a rainbow system.
- Youthful softness with adult composure: rounded forms and gentle glow are balanced by precise grids, high contrast text, and measured spacing.
- Tone-based hierarchy: container elevation comes from white, milk, shell, and mist roles before color is introduced.
- Material honesty: translucent layering is paired with fallback opacity, clear borders, and accessible contrast rather than decorative blur for its own sake.
### Anti-Values
- Rainbow candy palettes, evenly spaced hue-wheel accents, or loud gradient backdrops that make the interface feel synthetic.
- Toy-like childishness such as bubbly mascots, sticker chaos, oversized novelty type, or plastic primary colors.
- Generic pastel SaaS cards with uniform three-column layouts, flat grey borders, and indistinct hierarchy.
- Neon gamer energy, blacklight glow, or saturated cyber color that fights the dew-fresh premise.
### Visual Character
- Use a near-white page with nested tone containers: #FFFFFF page, #FBFAF7 milk panels, and rgba(255,255,255,.66) glass sheets over subtle radial dew tints.
- Define glass cards with backdrop-filter blur(22px), 1px rgba(42,31,45,.08) borders, inset white hairlines, and soft downward shadows under 18px blur.
- Create candy accents as small pill tabs, status beads, and full perimeter rim highlights using muted raspberry #D85C7A and apricot #E8A75A, never broad color fields.
- Set large Fraunces display headlines with tight -0.04em tracking beside highly readable Atkinson Hyperlegible body text at -0.02em tracking.
- Break the grid with one oversized translucent dew lens that overlaps a dominant panel, while smaller panels align to a calm twelve-column rhythm.
## 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 | `#B8D8C8` |
| background | `#FFFDF9` |
| error | `#B84A5B` |
| info | `#537C96` |
| muted | `#756B73` |
| primary | `#D85C7A` |
| secondary | `#E8A75A` |
| success | `#4F8A68` |
| surface | `#FBFAF7` |
| text | `#2A1F2D` |
| warning | `#B98236` |
## Typography
- **Headline-Lg**: Fraunces, 1.907rem, weight 700, line-height 1.1.
- **Headline-Md**: Fraunces, 1.538rem, weight 600, line-height 1.15.
- **Body-Md**: Atkinson Hyperlegible, 16px, weight 400, line-height 1.56.
- **Label-Md**: IBM Plex Mono, 0.75rem, weight 600, line-height 1.
## Layout
### Spacing Tokens
- **Base**: `8px`
- **Xs**: `4px`
- **Sm**: `8px`
- **Md**: `12px`
- **Lg**: `16px`
- **Xl**: `24px`
- **2xl**: `32px`
- **3xl**: `48px`
- **4xl**: `64px`
- **Step-8**: `96px`
- **Step-9**: `128px`
### Breakpoints
Desktop >= 1100px uses asymmetric two-column composition; tablet 700-1099px stacks the rail under the main panel in two-column subgrids; mobile < 700px becomes a single column with reduced 24px panel padding.
### Density
Airy, with dramatic spacing contrast: 4px micro alignments for beads, 12px control clusters, 48px card separations, and 96px section rests.
### Grid
Desktop uses a 12-column grid with 24px gutters and a 1180px max-width; the main hero spans seven columns, the side rail spans four, and one column remains breathing space.
### Responsive
At smaller widths, preserve the dominant panel first, collapse pill groups into wrapping rows, crop the dew lens, and keep primary actions visible without introducing hamburger clutter.
### Whitespace
Whitespace is the primary separator: large blank gutters surround the core workspace, internal groups use close proximity, and decorative lenses are cropped so empty space remains readable.
## Elevation & Depth
### Shadows
- **Lg**: 0 28px 70px rgba(42, 31, 45, 0.10)
- **Md**: 0 18px 44px rgba(42, 31, 45, 0.075)
- **Sm**: 0 8px 18px rgba(42, 31, 45, 0.045)
## Shapes
### Rounded
- **Full**: `9999px`
- **Lg**: `24px`
- **Md**: `24px`
- **None**: `0px`
- **Sm**: `16px`
### Surfaces
- **Bg Pattern**: Almost invisible radial dew washes anchored off-canvas, plus two oversized blurred circular lenses that overlap but do not carry text.
- **Card Style**: Dominant cards use #FFFFFFCC over #FBFAF7, 1px low-alpha plum borders, inset 0 1px white, and restrained shadows from the token scale.
- **Treatment**: Tone-based white, milk, and mist containers with rgba white translucency, blur(22px), inset highlights, and opaque fallbacks for readability.
### Borders
- **Accent Width**: 2px
- **Character**: Near-invisible plum at rgba(42,31,45,.08), with occasional full-perimeter candy rim highlights limited to active states.
- **Default Width**: 1px
- **Style**: solid
## Components
### Composition
Use a wide calm canvas with one dominant task panel occupying roughly seven columns and a lighter companion rail occupying four columns. Avoid equal card rows; one surface must clearly lead. Place oversized dew lenses partially outside containers to create a grid break without clutter. Keep navigation compact, text blocks short, and use white space as the main separator before borders or color.
### Density
Density is airy but not empty: related controls sit within 8-12px clusters, content groups separate at 48-96px, and dominant panels have deeper 32-48px padding than small chips. Mobile collapses to stacked glass sheets with the dew lens cropped rather than removed.
### Hierarchy
Start hierarchy with scale and weight: a Fraunces display headline, then body copy, then mono micro-labels. Use tone depth for secondary hierarchy, with milk panels behind quiet content and clear white glass behind active content. Candy color appears only on the primary action, active bead, selected pill, or a single chart stroke per view.
### Signature Patterns
- Dew-lens overlap: a large blurred translucent circle with an inset highlight crosses one card edge and is masked behind text-safe content zones.
- Candy rim pills: active tabs use a full two-pixel rounded rim in muted raspberry-to-apricot while the pill fill stays nearly white.
- Tone ladder surfaces: page, milk tray, white glass sheet, and bead layers step in opacity instead of relying on saturated background color.
- Readable blur guard: every translucent content surface uses a semi-opaque white fill and a text-safe inner panel whenever copy sits above decoration.
## 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-019e0a73-ea08-7221-92eb-83cdc31371c5/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 one dominant glass surface per view and let smaller tone panels support it instead of competing equally.
- Do Keep body text on opaque or semi-opaque white fills that maintain WCAG AA contrast against #2A1F2D.
- Do Limit candy accents to muted raspberry and apricot interaction states, tiny beads, or one chart stroke.
- Do Pair Fraunces display moments with concise Atkinson Hyperlegible body copy and mandatory negative tracking.
- Do Use near-invisible borders, inset highlights, and small shadows to suggest dew-fresh material depth.
- Do Create hierarchy through spacing jumps from 8px clusters to 64px or 96px rests.
- Don't Do not use rainbow palettes, multi-stop loud gradients, or hue-wheel triads to communicate candy.
- Don't Do not place text directly on busy blur, transparent color, or decorative lenses without a readable guard surface.
- Don't Do not build three equal cards in a row or a generic analytics dashboard scene.
- Don't Do not use mascots, stickers, toy packaging cues, bubbly novelty icons, or childish plastic colors.
- Don't Do not rely on generic pastel SaaS borders, uniform 24px spacing, or interchangeable rounded cards.
- Don't Do not introduce neon glow, dark gamer backgrounds, or animated shimmer loops.
### Accessibility
Body text must meet 4.5:1 contrast, large display 3:1 or better, focus rings use #D85C7A at 2px, and translucent surfaces require semi-opaque fills behind copy.
### Usage Context
Best for wellness, food craft, personal rituals, gentle productivity, and editorial commerce tools that need freshness and trust without feeling clinical.
shadcn/ui theme
```json
{
"$schema": "https://ui.shadcn.com/schema/registry-item.json",
"name": "dew-candy-minimalism-soft-glass",
"type": "registry:theme",
"title": "Dew Candy Minimalism shadcn Theme",
"cssVars": {
"theme": {},
"light": {
"background": "#FFFDF9",
"foreground": "#2A1F2D",
"card": "#FBFAF7",
"card-foreground": "#2A1F2D",
"popover": "#FBFAF7",
"popover-foreground": "#2A1F2D",
"primary": "#D85C7A",
"primary-foreground": "#ffffff",
"secondary": "#E8A75A",
"secondary-foreground": "#ffffff",
"muted": "#756B73",
"muted-foreground": "#2A1F2D",
"accent": "#B8D8C8",
"accent-foreground": "#111111",
"destructive": "#B84A5B",
"border": "#2A1F2D14",
"input": "#2A1F2D14",
"ring": "#B8D8C8",
"chart-1": "#D85C7A",
"chart-2": "#E8A75A",
"chart-3": "#B8D8C8",
"chart-4": "#4F8A68",
"chart-5": "#B98236",
"sidebar": "#FBFAF7",
"sidebar-foreground": "#2A1F2D",
"sidebar-primary": "#D85C7A",
"sidebar-primary-foreground": "#ffffff",
"sidebar-accent": "#537C96",
"sidebar-accent-foreground": "#ffffff",
"sidebar-border": "#2A1F2D14",
"sidebar-ring": "#B8D8C8",
"radius": "24px"
},
"dark": {
"background": "#0f1115",
"foreground": "#f8fafc",
"card": "#181b22",
"card-foreground": "#f8fafc",
"popover": "#181b22",
"popover-foreground": "#f8fafc",
"primary": "#D85C7A",
"primary-foreground": "#ffffff",
"secondary": "#252a33",
"secondary-foreground": "#f8fafc",
"muted": "#252a33",
"muted-foreground": "#a1a1aa",
"accent": "#B8D8C8",
"accent-foreground": "#111111",
"destructive": "#B84A5B",
"border": "#303642",
"input": "#303642",
"ring": "#B8D8C8",
"chart-1": "#D85C7A",
"chart-2": "#E8A75A",
"chart-3": "#B8D8C8",
"chart-4": "#4F8A68",
"chart-5": "#B98236",
"sidebar": "#181b22",
"sidebar-foreground": "#f8fafc",
"sidebar-primary": "#D85C7A",
"sidebar-primary-foreground": "#ffffff",
"sidebar-accent": "#B8D8C8",
"sidebar-accent-foreground": "#111111",
"sidebar-border": "#303642",
"sidebar-ring": "#B8D8C8",
"radius": "24px"
}
},
"meta": {
"source": "katagami",
"languageId": "en-019e0a73-ea08-7221-92eb-83cdc31371c5",
"slug": "dew-candy-minimalism-soft-glass",
"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",
"display_letter_spacing",
"display_line_height",
"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-soft-glass
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-mdAtkinson Hyperlegible · 16px · 400
The quick brown fox jumps
label-mdIBM Plex Mono · 12px · 600
The quick brown fox jumps
Components
New
Card title
Components rendered with this language’s tokens — colors, type, and rounded corners as specified.
Spacing
- base8px
- xs4px
- sm8px
- md12px
- lg16px
- xl24px
- 2xl32px
- 3xl48px
- 4xl64px
- step-896px
- step-9128px
Shape
full9999px
lg24px
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: #FFFDF9;
--foreground: #2A1F2D;
--card: #FBFAF7;
--card-foreground: #2A1F2D;
--popover: #FBFAF7;
--popover-foreground: #2A1F2D;
--primary: #D85C7A;
--primary-foreground: #ffffff;
--secondary: #E8A75A;
--secondary-foreground: #ffffff;
--muted: #756B73;
--muted-foreground: #2A1F2D;
--accent: #B8D8C8;
--accent-foreground: #111111;
--destructive: #B84A5B;
--border: #2A1F2D14;
--input: #2A1F2D14;
--ring: #B8D8C8;
--chart-1: #D85C7A;
--chart-2: #E8A75A;
--chart-3: #B8D8C8;
--chart-4: #4F8A68;
--chart-5: #B98236;
--sidebar: #FBFAF7;
--sidebar-foreground: #2A1F2D;
--sidebar-primary: #D85C7A;
--sidebar-primary-foreground: #ffffff;
--sidebar-accent: #537C96;
--sidebar-accent-foreground: #ffffff;
--sidebar-border: #2A1F2D14;
--sidebar-ring: #B8D8C8;
--radius: 24px;
}
.dark {
--background: #0f1115;
--foreground: #f8fafc;
--card: #181b22;
--card-foreground: #f8fafc;
--popover: #181b22;
--popover-foreground: #f8fafc;
--primary: #D85C7A;
--primary-foreground: #ffffff;
--secondary: #252a33;
--secondary-foreground: #f8fafc;
--muted: #252a33;
--muted-foreground: #a1a1aa;
--accent: #B8D8C8;
--accent-foreground: #111111;
--destructive: #B84A5B;
--border: #303642;
--input: #303642;
--ring: #B8D8C8;
--chart-1: #D85C7A;
--chart-2: #E8A75A;
--chart-3: #B8D8C8;
--chart-4: #4F8A68;
--chart-5: #B98236;
--sidebar: #181b22;
--sidebar-foreground: #f8fafc;
--sidebar-primary: #D85C7A;
--sidebar-primary-foreground: #ffffff;
--sidebar-accent: #B8D8C8;
--sidebar-accent-foreground: #111111;
--sidebar-border: #303642;
--sidebar-ring: #B8D8C8;
--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 JSONstored + verified
{
"$schema": "https://ui.shadcn.com/schema/registry-item.json",
"cssVars": {
"dark": {
"accent": "#B8D8C8",
"accent-foreground": "#111111",
"background": "#0f1115",
"border": "#303642",
"card": "#181b22",
"card-foreground": "#f8fafc",
"chart-1": "#D85C7A",
"chart-2": "#E8A75A",
"chart-3": "#B8D8C8",
"chart-4": "#4F8A68",
"chart-5": "#B98236",
"destructive": "#B84A5B",
"foreground": "#f8fafc",
"input": "#303642",
"muted": "#252a33",
"muted-foreground": "#a1a1aa",
"popover": "#181b22",
"popover-foreground": "#f8fafc",
"primary": "#D85C7A",
"primary-foreground": "#ffffff",
"radius": "24px",
"ring": "#B8D8C8",
"secondary": "#252a33",
"secondary-foreground": "#f8fafc",
"sidebar": "#181b22",
"sidebar-accent": "#B8D8C8",
"sidebar-accent-foreground": "#111111",
"sidebar-border": "#303642",
"sidebar-foreground": "#f8fafc",
"sidebar-primary": "#D85C7A",
"sidebar-primary-foreground": "#ffffff",
"sidebar-ring": "#B8D8C8"
},
"light": {
"accent": "#B8D8C8",
"accent-foreground": "#111111",
"background": "#FFFDF9",
"border": "#2A1F2D14",
"card": "#FBFAF7",
"card-foreground": "#2A1F2D",
"chart-1": "#D85C7A",
"chart-2": "#E8A75A",
"chart-3": "#B8D8C8",
"chart-4": "#4F8A68",
"chart-5": "#B98236",
"destructive": "#B84A5B",
"foreground": "#2A1F2D",
"input": "#2A1F2D14",
"muted": "#756B73",
"muted-foreground": "#2A1F2D",
"popover": "#FBFAF7",
"popover-foreground": "#2A1F2D",
"primary": "#D85C7A",
"primary-foreground": "#ffffff",
"radius": "24px",
"ring": "#B8D8C8",
"secondary": "#E8A75A",
"secondary-foreground": "#ffffff",
"sidebar": "#FBFAF7",
"sidebar-accent": "#537C96",
"sidebar-accent-foreground": "#ffffff",
"sidebar-border": "#2A1F2D14",
"sidebar-foreground": "#2A1F2D",
"sidebar-primary": "#D85C7A",
"sidebar-primary-foreground": "#ffffff",
"sidebar-ring": "#B8D8C8"
},
"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-019e0a73-ea08-7221-92eb-83cdc31371c5",
"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",
"display_line_height",
"google_fonts_url",
"heading_font",
"letter_spacing",
"line_height",
"mono_font",
"scale_ratio"
]
},
"slug": "dew-candy-minimalism-soft-glass",
"source": "katagami"
},
"name": "dew-candy-minimalism-soft-glass",
"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-019e0a73-ea08-7221-92eb-83cdc31371c5`
Slug: `dew-candy-minimalism-soft-glass`
## Intent
Dew Candy Minimalism is a readable soft-glass interface language for products that need youthful freshness without becoming toy-like. It treats glass as a calm material system rather than a spectacle: mostly white space, tone-based surface containers, thin translucent rims, and one or two candy accents that behave like dew drops on a quiet morning counter. The language is optimistic, tactile, and clear, using softness to invite care while preserving strong text contrast and disciplined hierarchy.
## 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": "#B8D8C8",
"background": "#FFFDF9",
"border": "#2A1F2D14",
"error": "#B84A5B",
"info": "#537C96",
"muted": "#756B73",
"primary": "#D85C7A",
"secondary": "#E8A75A",
"success": "#4F8A68",
"surface": "#FBFAF7",
"text": "#2A1F2D",
"warning": "#B98236"
}
Typography:
{
"base_size": "16px",
"body_font": "Atkinson Hyperlegible",
"display_letter_spacing": "-0.04em",
"display_line_height": 1.1,
"google_fonts_url": "https://fonts.googleapis.com/css2?family=Atkinson+Hyperlegible:wght@400;700&family=Fraunces:opsz,wght,SOFT,WONK@9..144,500..750,80,0&family=IBM+Plex+Mono:wght@500&display=swap",
"heading_font": "Fraunces",
"letter_spacing": "-0.02em",
"line_height": 1.56,
"mono_font": "IBM Plex Mono",
"scale_ratio": 1.24
}
## Visual character to preserve
- Use a near-white page with nested tone containers: #FFFFFF page, #FBFAF7 milk panels, and rgba(255,255,255,.66) glass sheets over subtle radial dew tints.
- Define glass cards with backdrop-filter blur(22px), 1px rgba(42,31,45,.08) borders, inset white hairlines, and soft downward shadows under 18px blur.
- Create candy accents as small pill tabs, status beads, and full perimeter rim highlights using muted raspberry #D85C7A and apricot #E8A75A, never broad color fields.
- Set large Fraunces display headlines with tight -0.04em tracking beside highly readable Atkinson Hyperlegible body text at -0.02em tracking.
- Break the grid with one oversized translucent dew lens that overlaps a dominant panel, while smaller panels align to a calm twelve-column rhythm.
## ShadSync visual profile
{
"family": "system",
"material": "flat",
"contour": "pebble",
"border": "solid",
"underlay": false,
"grain": false,
"stickerBadges": false,
"motion": "still",
"density": "balanced",
"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-soft-glass/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 one dominant glass surface per view and let smaller tone panels support it instead of competing equally.; Keep body text on opaque or semi-opaque white fills that maintain WCAG AA contrast against #2A1F2D.; Limit candy accents to muted raspberry and apricot interaction states, tiny beads, or one chart stroke.; Pair Fraunces display moments with concise Atkinson Hyperlegible body copy and mandatory negative tracking.; Use near-invisible borders, inset highlights, and small shadows to suggest dew-fresh material depth.; Create hierarchy through spacing jumps from 8px clusters to 64px or 96px rests.
- Do not: Do not use rainbow palettes, multi-stop loud gradients, or hue-wheel triads to communicate candy.; Do not place text directly on busy blur, transparent color, or decorative lenses without a readable guard surface.; Do not build three equal cards in a row or a generic analytics dashboard scene.; Do not use mascots, stickers, toy packaging cues, bubbly novelty icons, or childish plastic colors.; Do not rely on generic pastel SaaS borders, uniform 24px spacing, or interchangeable rounded cards.; Do not introduce neon glow, dark gamer backgrounds, or animated shimmer loops.
## 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": "Desktop >= 1100px uses asymmetric two-column composition; tablet 700-1099px stacks the rail under the main panel in two-column subgrids; mobile < 700px becomes a single column with reduced 24px panel padding.",
"density": "Airy, with dramatic spacing contrast: 4px micro alignments for beads, 12px control clusters, 48px card separations, and 96px section rests.",
"grid": "Desktop uses a 12-column grid with 24px gutters and a 1180px max-width; the main hero spans seven columns, the side rail spans four, and one column remains breathing space.",
"responsive": "At smaller widths, preserve the dominant panel first, collapse pill groups into wrapping rows, crop the dew lens, and keep primary actions visible without introducing hamburger clutter.",
"whitespace": "Whitespace is the primary separator: large blank gutters surround the core workspace, internal groups use close proximity, and decorative lenses are cropped so empty space remains readable."
}
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-019e0a73-ea08-7221-92eb-83cdc31371c5",
"name": "Dew Candy Minimalism",
"slug": "dew-candy-minimalism-soft-glass"
},
"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 near-white page with nested tone containers: #FFFFFF page, #FBFAF7 milk panels, and rgba(255,255,255,.66) glass sheets over subtle radial dew tints.",
"Define glass cards with backdrop-filter blur(22px), 1px rgba(42,31,45,.08) borders, inset white hairlines, and soft downward shadows under 18px blur.",
"Create candy accents as small pill tabs, status beads, and full perimeter rim highlights using muted raspberry #D85C7A and apricot #E8A75A, never broad color fields.",
"Set large Fraunces display headlines with tight -0.04em tracking beside highly readable Atkinson Hyperlegible body text at -0.02em tracking.",
"Break the grid with one oversized translucent dew lens that overlaps a dominant panel, while smaller panels align to a calm twelve-column rhythm."
],
"visualProfile": {
"family": "system",
"material": "flat",
"contour": "pebble",
"border": "solid",
"underlay": false,
"grain": false,
"stickerBadges": false,
"motion": "still",
"density": "balanced",
"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 one dominant glass surface per view and let smaller tone panels support it instead of competing equally.",
"Keep body text on opaque or semi-opaque white fills that maintain WCAG AA contrast against #2A1F2D.",
"Limit candy accents to muted raspberry and apricot interaction states, tiny beads, or one chart stroke.",
"Pair Fraunces display moments with concise Atkinson Hyperlegible body copy and mandatory negative tracking.",
"Use near-invisible borders, inset highlights, and small shadows to suggest dew-fresh material depth.",
"Create hierarchy through spacing jumps from 8px clusters to 64px or 96px rests."
],
"dont": [
"Do not use rainbow palettes, multi-stop loud gradients, or hue-wheel triads to communicate candy.",
"Do not place text directly on busy blur, transparent color, or decorative lenses without a readable guard surface.",
"Do not build three equal cards in a row or a generic analytics dashboard scene.",
"Do not use mascots, stickers, toy packaging cues, bubbly novelty icons, or childish plastic colors.",
"Do not rely on generic pastel SaaS borders, uniform 24px spacing, or interchangeable rounded cards.",
"Do not introduce neon glow, dark gamer backgrounds, or animated shimmer loops."
]
}
}
related