back to gallery
design language·shizuku

Shizuku

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
Shizuku is a reading-first editorial Katagami language for fresh, dew-bright product and editorial interfaces. It sets the screen as a milky sheet of stationery: warm off-white air carries the work, typography explains the system, and a single dew bead of lychee, soda, or mint marks the one thing that matters in a view. Sweetness arrives in single drops, never a pastel flood; the bead is reserved as the one ornament, never stamped wall to wall. The mood is youthful and gentle, but disciplined, modular, and MUJI-like.
values
Reading before decoration — type, measure, and air explain the system before any accent appears.Milky purity — warm white tonal shifts feel fresh and uncoated rather than sterile.Controlled sweetness — lychee, soda, and mint appear as single functional drops, never a full pastel palette.Material honesty — dew, film, and thin packaging suggested through borders, inset light, and tone, not fake heavy glass.Youthful calm — fresh and gentle, but structure stays disciplined and modular.
anti-values
×Rainbow gradients, neon glow, or any palette that turns freshness into spectacle.×Toy-like childishness: oversized bubbles, gummy shadows, stickers, mascots, confetti.×Generic pastel SaaS: equal lavender cards, stock dashboard rhythm, decorative blobs.×Blurred illegibility: body text on busy transparency or low-contrast candy colour.×Bead-as-wallpaper: the signature ornament stamped on every element until it loses meaning.
tokens
colors18 items
bg
#FBF8F1
surface
#FFFDF8
text
#3A3833
muted
#6F6257
border
#ECE4D7
accent
#C2667A
on_accent
#FFFDF8
success
#4E9277
warning
#C08A3E
error
#C56A66
info
#5C93AD
lychee
#DFA9B4
lychee_deep
#B0596C
soda
#BFDCEB
soda_deep
#3D7C99
mint
#C9E4D2
mint_deep
#3C7A5E
recess
#F4EFE5
typography8 items
base size
17px
body font
Sarabun
heading font
Fraunces
mono font
IBM Plex Mono
heading weight
600
heading transform
none
letter spacing
-0.02em
google fonts url
https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,400;9..144,500;9..144,600&family=Sarabun:wght@300;400;500;600&family=IBM+Plex+Mono:wght@400;500&display=swap
radii5 items
none
0
sm
16px
md
24px
lg
24px
full
9999px
shadows3 items
sm
0 1px 0 rgba(255,255,255,0.92) inset, 0 1px 2px rgba(58,56,51,0.04)
md
0 1px 0 rgba(255,255,255,0.95) inset, 0 10px 26px rgba(58,56,51,0.055)
lg
0 1px 0 rgba(255,255,255,0.98) inset, 0 20px 48px rgba(58,56,51,0.07)
spacing2 items
base
8px
scale
4, 8, 12, 16, 24, 32, 48, 64, 96
surfaces3 items
treatment
tone-based milky containers: #FFFDF8 milk over #FBF8F1 paper with a white inset top highlight; all readable text on solid warm surfaces, never over transparency or candy colour.
card style
dewline card: 1px warm rice-paper border, 24px radius, white inset dew highlight, no cast shadow and no single accent edge; an optional single dew bead anchored to one corner.
bg pattern
warm milky paper with at most a faint editorial ruling and a few 1px dew glints; never a full decorative pattern or pastel wash.
borders4 items
default width
1px
accent width
1px
style
solid
character
warm translucent rice-paper hairlines; pale soda hairlines stand in for heavy dividers and rules
motion3 items
duration
200ms
easing
cubic-bezier(.2,.7,.2,1)
philosophy
a small settling breath: opacity and a short translate only, no bouncing candy behaviour; the settled page renders with no JavaScript and animation is layered on top behind an inline-script class; reduced-motion users get instant state changes.
rules
composition
Reading-first asymmetry with discipline: a slim milky rail, a narrow article measure, and supporting surface cards. Hero copy is left-aligned over the calm milky third of the image. Chips and metadata align to text baselines, never float decoratively. Mobile collapses to one clear reading sequence.
hierarchy
Build hierarchy from type scale, weight, line length, and air first. One dew bead (lychee, soda, or mint) marks the single active item, status, or highlight per section. Long-form text always receives the highest contrast. Primary action is one quiet filled lychee pill; secondary actions are quiet milky or text controls.
density
Airy editorial density with generous gutters and quiet pauses, about 64-96px desktop section spacing. Many data points are allowed only when grouped into soft editorial sections with clear labels.
signature
Dewline cards (warm hairline + white inset highlight, no cast shadow); candy bead anchor (one glossy bead beside a single label, the reserved ornament); milky reading rail (a quiet index with a single blush marker); soda-rule hierarchy (pale soda hairlines and blush markers replace heavy dividers, tabs, and filled panels).
layout
grid
Desktop: a 1180px max-width frame with a slim reading rail (~200px), a narrow article measure, and a supporting surface column (~300px), 24-34px gutters. Tablet collapses the rail; mobile is a single column with preserved 18-24px page margins.
whitespace
Whitespace is the primary material. Leave large warm off-white fields around headings, between groups, and inside cards; never fill empty space with illustrations or blobs.
density

Airy: quiet pauses and a readable sequence rather than visual abundance.

responsive
On smaller viewports the rail hides or becomes a quiet horizontal index, support cards follow the article, the table drops non-essential columns, and the dew bead stays small so it never competes with text.
breakpoints
mobile
<= 640px
tablet
641-980px
desktop
>= 981px
frame max
1180px (1320px on ultra-wide)
guidance
do
  • Start with editorial typography on warm milky white before adding any accent colour.
  • Use lychee blush for the one primary or active moment, soda blue for information and focus, mint for small success or freshness cues.
  • Keep translucent material at edges, chips, and the single dew bead while placing all text on solid milky surfaces.
  • Prefer 1px warm hairlines, inset white highlights, and tonal layers over cast shadows.
  • Use generous line-height, narrow reading measures, and aligned metadata to reinforce editorial structure.
  • Let empty space remain empty; the absence of ornament is part of the sweetness.
  • Use pills and 24px cards consistently (inputs at 16px), avoiding arbitrary radii.
avoid
  • Do not use rainbow palettes, neon gradients, or loud multicolour backgrounds.
  • Do not give a card a single accent edge, or add heavy drop shadows or black glass.
  • Do not stamp the dew bead on every element until it becomes wallpaper.
  • Do not put body text over blur, transparency, images, or candy colour.
  • Do not default to generic pastel SaaS dashboards with many equal cards, or to flat clinical white and warm-cream washes.
  • Do not exceed three accent families: lychee, soda, and mint.
imagery
pairs with

sirop

summary
Flat opaque gouache poster prints in a risograph register: hard-stop areas of uniform colour, fine paper grain, glossy round bead highlights, no gradients. Subjects are fresh soda-house still lifes on warm milky paper.
subjects
lychee fruit peeled and wholea tall clear glass of pale soda with rising effervescencetranslucent dew droplets and candy beads catching the lightmint leaves, calamansi, and yuzu citrus cues
usage

One full-bleed hero per landing, with calm negative space reserved where an overlay sits; feature splits may reuse the hero image.

katagami spec
# Shizuku

## Philosophy

Shizuku is a reading-first editorial Katagami language for fresh, dew-bright product and editorial interfaces. It sets the screen as a milky sheet of stationery: warm off-white air carries the work, typography explains the system, and a single dew bead of lychee, soda, or mint marks the one thing that matters in a view. Sweetness arrives in single drops, never a pastel flood; the bead is reserved as the one ornament, never stamped wall to wall. The mood is youthful and gentle, but disciplined, modular, and MUJI-like.

### Values

- Reading before decoration — type, measure, and air explain the system before any accent appears.
- Milky purity — warm white tonal shifts feel fresh and uncoated rather than sterile.
- Controlled sweetness — lychee, soda, and mint appear as single functional drops, never a full pastel palette.
- Material honesty — dew, film, and thin packaging suggested through borders, inset light, and tone, not fake heavy glass.
- Youthful calm — fresh and gentle, but structure stays disciplined and modular.

### Anti-Values

- Rainbow gradients, neon glow, or any palette that turns freshness into spectacle.
- Toy-like childishness: oversized bubbles, gummy shadows, stickers, mascots, confetti.
- Generic pastel SaaS: equal lavender cards, stock dashboard rhythm, decorative blobs.
- Blurred illegibility: body text on busy transparency or low-contrast candy colour.
- Bead-as-wallpaper: the signature ornament stamped on every element until it loses meaning.

## Tokens

### Colors

| Name | Value |
|------|-------|
| bg | `#FBF8F1` |
| surface | `#FFFDF8` |
| text | `#3A3833` |
| muted | `#6F6257` |
| border | `#ECE4D7` |
| accent | `#C2667A` |
| on_accent | `#FFFDF8` |
| success | `#4E9277` |
| warning | `#C08A3E` |
| error | `#C56A66` |
| info | `#5C93AD` |
| lychee | `#DFA9B4` |
| lychee_deep | `#B0596C` |
| soda | `#BFDCEB` |
| soda_deep | `#3D7C99` |
| mint | `#C9E4D2` |
| mint_deep | `#3C7A5E` |
| recess | `#F4EFE5` |

### Typography

- **Base Size**: 17px
- **Body Font**: Sarabun
- **Heading Font**: Fraunces
- **Mono Font**: IBM Plex Mono
- **Heading Weight**: 600
- **Heading Transform**: none
- **Letter Spacing**: -0.02em
- **Google Fonts Url**: https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,400;9..144,500;9..144,600&family=Sarabun:wght@300;400;500;600&family=IBM+Plex+Mono:wght@400;500&display=swap

### Radii

- **None**: 0
- **Sm**: 16px
- **Md**: 24px
- **Lg**: 24px
- **Full**: 9999px

### Shadows

- **Sm**: 0 1px 0 rgba(255,255,255,0.92) inset, 0 1px 2px rgba(58,56,51,0.04)
- **Md**: 0 1px 0 rgba(255,255,255,0.95) inset, 0 10px 26px rgba(58,56,51,0.055)
- **Lg**: 0 1px 0 rgba(255,255,255,0.98) inset, 0 20px 48px rgba(58,56,51,0.07)

### Spacing

- **Base**: 8px
- **Scale**: [4,8,12,16,24,32,48,64,96]

### Surfaces

- **Treatment**: tone-based milky containers: #FFFDF8 milk over #FBF8F1 paper with a white inset top highlight; all readable text on solid warm surfaces, never over transparency or candy colour.
- **Card Style**: dewline card: 1px warm rice-paper border, 24px radius, white inset dew highlight, no cast shadow and no single accent edge; an optional single dew bead anchored to one corner.
- **Bg Pattern**: warm milky paper with at most a faint editorial ruling and a few 1px dew glints; never a full decorative pattern or pastel wash.

### Borders

- **Default Width**: 1px
- **Accent Width**: 1px
- **Style**: solid
- **Character**: warm translucent rice-paper hairlines; pale soda hairlines stand in for heavy dividers and rules

### Motion

- **Duration**: 200ms
- **Easing**: cubic-bezier(.2,.7,.2,1)
- **Philosophy**: a small settling breath: opacity and a short translate only, no bouncing candy behaviour; the settled page renders with no JavaScript and animation is layered on top behind an inline-script class; reduced-motion users get instant state changes.

## Rules

### Composition

Reading-first asymmetry with discipline: a slim milky rail, a narrow article measure, and supporting surface cards. Hero copy is left-aligned over the calm milky third of the image. Chips and metadata align to text baselines, never float decoratively. Mobile collapses to one clear reading sequence.

### Hierarchy

Build hierarchy from type scale, weight, line length, and air first. One dew bead (lychee, soda, or mint) marks the single active item, status, or highlight per section. Long-form text always receives the highest contrast. Primary action is one quiet filled lychee pill; secondary actions are quiet milky or text controls.

### Density

Airy editorial density with generous gutters and quiet pauses, about 64-96px desktop section spacing. Many data points are allowed only when grouped into soft editorial sections with clear labels.

### Signature

Dewline cards (warm hairline + white inset highlight, no cast shadow); candy bead anchor (one glossy bead beside a single label, the reserved ornament); milky reading rail (a quiet index with a single blush marker); soda-rule hierarchy (pale soda hairlines and blush markers replace heavy dividers, tabs, and filled panels).

## Layout

### Grid

Desktop: a 1180px max-width frame with a slim reading rail (~200px), a narrow article measure, and a supporting surface column (~300px), 24-34px gutters. Tablet collapses the rail; mobile is a single column with preserved 18-24px page margins.

### Whitespace

Whitespace is the primary material. Leave large warm off-white fields around headings, between groups, and inside cards; never fill empty space with illustrations or blobs.

### Density

Airy: quiet pauses and a readable sequence rather than visual abundance.

### Responsive

On smaller viewports the rail hides or becomes a quiet horizontal index, support cards follow the article, the table drops non-essential columns, and the dew bead stays small so it never competes with text.

### Breakpoints

- **Mobile**: <= 640px
- **Tablet**: 641-980px
- **Desktop**: >= 981px
- **Frame Max**: 1180px (1320px on ultra-wide)

## Guidance

### Do

- Start with editorial typography on warm milky white before adding any accent colour.
- Use lychee blush for the one primary or active moment, soda blue for information and focus, mint for small success or freshness cues.
- Keep translucent material at edges, chips, and the single dew bead while placing all text on solid milky surfaces.
- Prefer 1px warm hairlines, inset white highlights, and tonal layers over cast shadows.
- Use generous line-height, narrow reading measures, and aligned metadata to reinforce editorial structure.
- Let empty space remain empty; the absence of ornament is part of the sweetness.
- Use pills and 24px cards consistently (inputs at 16px), avoiding arbitrary radii.

### Don't

- Do not use rainbow palettes, neon gradients, or loud multicolour backgrounds.
- Do not give a card a single accent edge, or add heavy drop shadows or black glass.
- Do not stamp the dew bead on every element until it becomes wallpaper.
- Do not put body text over blur, transparency, images, or candy colour.
- Do not default to generic pastel SaaS dashboards with many equal cards, or to flat clinical white and warm-cream washes.
- Do not exceed three accent families: lychee, soda, and mint.

### Accessibility

Maintain WCAG AA for text using #3A3833 or darker on milky surfaces. Treat blush, soda, and mint as supporting colour, never the sole information carrier — always pair with a label. Interactive targets are at least 44px high; focus uses a soft soda ring with offset; reduced-motion users receive instant state changes and the no-JS render shows the full settled page.

## Imagery Direction

### Pairs With

sirop

### Summary

Flat opaque gouache poster prints in a risograph register: hard-stop areas of uniform colour, fine paper grain, glossy round bead highlights, no gradients. Subjects are fresh soda-house still lifes on warm milky paper.

### Subjects

- lychee fruit peeled and whole
- a tall clear glass of pale soda with rising effervescence
- translucent dew droplets and candy beads catching the light
- mint leaves, calamansi, and yuzu citrus cues

### Usage

One full-bleed hero per landing, with calm negative space reserved where an overlay sits; feature splits may reuse the hero image.
DESIGN.md
---
version: "alpha"
name: "Shizuku"
description: "Agent-curated design language exported from Katagami as DESIGN.md."
colors:
  bg: "#FBF8F1"
  surface: "#FFFDF8"
  text: "#3A3833"
  muted: "#6F6257"
  border: "#ECE4D7"
  accent: "#C2667A"
  on_accent: "#FFFDF8"
  success: "#4E9277"
  warning: "#C08A3E"
  error: "#C56A66"
  info: "#5C93AD"
  lychee: "#DFA9B4"
  lychee_deep: "#B0596C"
  soda: "#BFDCEB"
  soda_deep: "#3D7C99"
  mint: "#C9E4D2"
  mint_deep: "#3C7A5E"
  recess: "#F4EFE5"
typography:
  headline-lg:
    fontFamily: "Fraunces"
    fontSize: "2.075rem"
    fontWeight: 700
    lineHeight: 1.1
    letterSpacing: "-0.02em"
  headline-md:
    fontFamily: "Fraunces"
    fontSize: "1.66rem"
    fontWeight: 600
    lineHeight: 1.15
    letterSpacing: "-0.02em"
  body-md:
    fontFamily: "Sarabun"
    fontSize: "17px"
    fontWeight: 400
    lineHeight: 1.5
    letterSpacing: "-0.02em"
  label-md:
    fontFamily: "IBM Plex Mono"
    fontSize: "0.75rem"
    fontWeight: 600
    lineHeight: 1
    letterSpacing: "0.08em"
rounded:
  none: "0px"
  sm: "16px"
  md: "24px"
  lg: "24px"
  full: "9999px"
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-bg:
    backgroundColor: "{colors.bg}"
  color-reference-surface:
    backgroundColor: "{colors.surface}"
  color-reference-text:
    backgroundColor: "{colors.text}"
  color-reference-muted:
    backgroundColor: "{colors.muted}"
  color-reference-border:
    backgroundColor: "{colors.border}"
  color-reference-accent:
    backgroundColor: "{colors.accent}"
  color-reference-on_accent:
    backgroundColor: "{colors.on_accent}"
  color-reference-success:
    backgroundColor: "{colors.success}"
  color-reference-warning:
    backgroundColor: "{colors.warning}"
  color-reference-error:
    backgroundColor: "{colors.error}"
  color-reference-info:
    backgroundColor: "{colors.info}"
  color-reference-lychee:
    backgroundColor: "{colors.lychee}"
  color-reference-lychee_deep:
    backgroundColor: "{colors.lychee_deep}"
  color-reference-soda:
    backgroundColor: "{colors.soda}"
  color-reference-soda_deep:
    backgroundColor: "{colors.soda_deep}"
  color-reference-mint:
    backgroundColor: "{colors.mint}"
  color-reference-mint_deep:
    backgroundColor: "{colors.mint_deep}"
  color-reference-recess:
    backgroundColor: "{colors.recess}"
  button-primary:
    backgroundColor: "{colors.accent}"
    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"
---

# Shizuku

## Overview

Shizuku is a reading-first editorial Katagami language for fresh, dew-bright product and editorial interfaces. It sets the screen as a milky sheet of stationery: warm off-white air carries the work, typography explains the system, and a single dew bead of lychee, soda, or mint marks the one thing that matters in a view. Sweetness arrives in single drops, never a pastel flood; the bead is reserved as the one ornament, never stamped wall to wall. The mood is youthful and gentle, but disciplined, modular, and MUJI-like.

### Values

- Reading before decoration — type, measure, and air explain the system before any accent appears.
- Milky purity — warm white tonal shifts feel fresh and uncoated rather than sterile.
- Controlled sweetness — lychee, soda, and mint appear as single functional drops, never a full pastel palette.
- Material honesty — dew, film, and thin packaging suggested through borders, inset light, and tone, not fake heavy glass.
- Youthful calm — fresh and gentle, but structure stays disciplined and modular.

### Anti-Values

- Rainbow gradients, neon glow, or any palette that turns freshness into spectacle.
- Toy-like childishness: oversized bubbles, gummy shadows, stickers, mascots, confetti.
- Generic pastel SaaS: equal lavender cards, stock dashboard rhythm, decorative blobs.
- Blurred illegibility: body text on busy transparency or low-contrast candy colour.
- Bead-as-wallpaper: the signature ornament stamped on every element until it loses meaning.

## Colors

Use the YAML color tokens as the normative palette. The prose below names the roles agents should preserve when generating UI.

| Token | Value |
|-------|-------|
| bg | `#FBF8F1` |
| surface | `#FFFDF8` |
| text | `#3A3833` |
| muted | `#6F6257` |
| border | `#ECE4D7` |
| accent | `#C2667A` |
| on_accent | `#FFFDF8` |
| success | `#4E9277` |
| warning | `#C08A3E` |
| error | `#C56A66` |
| info | `#5C93AD` |
| lychee | `#DFA9B4` |
| lychee_deep | `#B0596C` |
| soda | `#BFDCEB` |
| soda_deep | `#3D7C99` |
| mint | `#C9E4D2` |
| mint_deep | `#3C7A5E` |
| recess | `#F4EFE5` |

## Typography

- **Headline-Lg**: Fraunces, 2.075rem, weight 700, line-height 1.1.
- **Headline-Md**: Fraunces, 1.66rem, weight 600, line-height 1.15.
- **Body-Md**: Sarabun, 17px, weight 400, line-height 1.5.
- **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`

### Grid

Desktop: a 1180px max-width frame with a slim reading rail (~200px), a narrow article measure, and a supporting surface column (~300px), 24-34px gutters. Tablet collapses the rail; mobile is a single column with preserved 18-24px page margins.

### Whitespace

Whitespace is the primary material. Leave large warm off-white fields around headings, between groups, and inside cards; never fill empty space with illustrations or blobs.

### Density

Airy: quiet pauses and a readable sequence rather than visual abundance.

### Responsive

On smaller viewports the rail hides or becomes a quiet horizontal index, support cards follow the article, the table drops non-essential columns, and the dew bead stays small so it never competes with text.

### Breakpoints

- **Mobile**: <= 640px
- **Tablet**: 641-980px
- **Desktop**: >= 981px
- **Frame Max**: 1180px (1320px on ultra-wide)

## Elevation & Depth

### Shadows

- **Sm**: 0 1px 0 rgba(255,255,255,0.92) inset, 0 1px 2px rgba(58,56,51,0.04)
- **Md**: 0 1px 0 rgba(255,255,255,0.95) inset, 0 10px 26px rgba(58,56,51,0.055)
- **Lg**: 0 1px 0 rgba(255,255,255,0.98) inset, 0 20px 48px rgba(58,56,51,0.07)

## Shapes

### Rounded

- **None**: `0px`
- **Sm**: `16px`
- **Md**: `24px`
- **Lg**: `24px`
- **Full**: `9999px`

### Surfaces

- **Treatment**: tone-based milky containers: #FFFDF8 milk over #FBF8F1 paper with a white inset top highlight; all readable text on solid warm surfaces, never over transparency or candy colour.
- **Card Style**: dewline card: 1px warm rice-paper border, 24px radius, white inset dew highlight, no cast shadow and no single accent edge; an optional single dew bead anchored to one corner.
- **Bg Pattern**: warm milky paper with at most a faint editorial ruling and a few 1px dew glints; never a full decorative pattern or pastel wash.

### Borders

- **Default Width**: 1px
- **Accent Width**: 1px
- **Style**: solid
- **Character**: warm translucent rice-paper hairlines; pale soda hairlines stand in for heavy dividers and rules

## Components

### Composition

Reading-first asymmetry with discipline: a slim milky rail, a narrow article measure, and supporting surface cards. Hero copy is left-aligned over the calm milky third of the image. Chips and metadata align to text baselines, never float decoratively. Mobile collapses to one clear reading sequence.

### Hierarchy

Build hierarchy from type scale, weight, line length, and air first. One dew bead (lychee, soda, or mint) marks the single active item, status, or highlight per section. Long-form text always receives the highest contrast. Primary action is one quiet filled lychee pill; secondary actions are quiet milky or text controls.

### Density

Airy editorial density with generous gutters and quiet pauses, about 64-96px desktop section spacing. Many data points are allowed only when grouped into soft editorial sections with clear labels.

### Signature

Dewline cards (warm hairline + white inset highlight, no cast shadow); candy bead anchor (one glossy bead beside a single label, the reserved ornament); milky reading rail (a quiet index with a single blush marker); soda-rule hierarchy (pale soda hairlines and blush markers replace heavy dividers, tabs, and filled panels).

## 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-019ef705-26e1-7dc1-a57d-312385ea4137/DESIGN.with-shadcn.md`.

The shadcn page also exposes optional machine-readable files for automation, but the human-facing handoff is DESIGN.md with shadcn.

Install recommended primitives with `npx shadcn@latest add button card input textarea select dialog sheet tabs badge separator checkbox switch slider tooltip dropdown-menu table`.

Use these primitives in shadcn apps:
- button
- card
- input
- textarea
- select
- dialog
- sheet
- tabs
- badge
- separator
- checkbox
- switch
- slider
- tooltip
- dropdown-menu
- table

Implementation rule for agents: import shadcn primitives from `@/components/ui/*`, apply the generated CSS variables first, then compose the language-specific recipes from the companion MD. Katagami remains the source of truth; shadcn names are the implementation surface.

## Do's and Don'ts

- Do Start with editorial typography on warm milky white before adding any accent colour.
- Do Use lychee blush for the one primary or active moment, soda blue for information and focus, mint for small success or freshness cues.
- Do Keep translucent material at edges, chips, and the single dew bead while placing all text on solid milky surfaces.
- Do Prefer 1px warm hairlines, inset white highlights, and tonal layers over cast shadows.
- Do Use generous line-height, narrow reading measures, and aligned metadata to reinforce editorial structure.
- Do Let empty space remain empty; the absence of ornament is part of the sweetness.
- Do Use pills and 24px cards consistently (inputs at 16px), avoiding arbitrary radii.
- Don't Do not use rainbow palettes, neon gradients, or loud multicolour backgrounds.
- Don't Do not give a card a single accent edge, or add heavy drop shadows or black glass.
- Don't Do not stamp the dew bead on every element until it becomes wallpaper.
- Don't Do not put body text over blur, transparency, images, or candy colour.
- Don't Do not default to generic pastel SaaS dashboards with many equal cards, or to flat clinical white and warm-cream washes.
- Don't Do not exceed three accent families: lychee, soda, and mint.

### Accessibility

Maintain WCAG AA for text using #3A3833 or darker on milky surfaces. Treat blush, soda, and mint as supporting colour, never the sole information carrier — always pair with a label. Interactive targets are at least 44px high; focus uses a soft soda ring with offset; reduced-motion users receive instant state changes and the no-JS render shows the full settled page.

## Imagery Direction

### Pairs With

sirop

### Summary

Flat opaque gouache poster prints in a risograph register: hard-stop areas of uniform colour, fine paper grain, glossy round bead highlights, no gradients. Subjects are fresh soda-house still lifes on warm milky paper.

### Subjects

- lychee fruit peeled and whole
- a tall clear glass of pale soda with rising effervescence
- translucent dew droplets and candy beads catching the light
- mint leaves, calamansi, and yuzu citrus cues

### Usage

One full-bleed hero per landing, with calm negative space reserved where an overlay sits; feature splits may reuse the hero image.
shadcn/ui theme
```json
{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "shizuku",
  "type": "registry:theme",
  "title": "Shizuku shadcn Theme",
  "cssVars": {
    "theme": {},
    "light": {
      "background": "#FBF8F1",
      "foreground": "#3A3833",
      "card": "#FFFDF8",
      "card-foreground": "#3A3833",
      "popover": "#FFFDF8",
      "popover-foreground": "#3A3833",
      "primary": "#3A3833",
      "primary-foreground": "#ffffff",
      "secondary": "#f4f4f5",
      "secondary-foreground": "#111111",
      "muted": "#6F6257",
      "muted-foreground": "#3A3833",
      "accent": "#C2667A",
      "accent-foreground": "#ffffff",
      "destructive": "#C56A66",
      "border": "#ECE4D7",
      "input": "#ECE4D7",
      "ring": "#C2667A",
      "chart-1": "#3A3833",
      "chart-2": "#f4f4f5",
      "chart-3": "#C2667A",
      "chart-4": "#4E9277",
      "chart-5": "#C08A3E",
      "sidebar": "#FFFDF8",
      "sidebar-foreground": "#3A3833",
      "sidebar-primary": "#3A3833",
      "sidebar-primary-foreground": "#ffffff",
      "sidebar-accent": "#5C93AD",
      "sidebar-accent-foreground": "#ffffff",
      "sidebar-border": "#ECE4D7",
      "sidebar-ring": "#C2667A",
      "radius": "24px"
    },
    "dark": {
      "background": "#0f1115",
      "foreground": "#f8fafc",
      "card": "#181b22",
      "card-foreground": "#f8fafc",
      "popover": "#181b22",
      "popover-foreground": "#f8fafc",
      "primary": "#3A3833",
      "primary-foreground": "#ffffff",
      "secondary": "#252a33",
      "secondary-foreground": "#f8fafc",
      "muted": "#252a33",
      "muted-foreground": "#a1a1aa",
      "accent": "#C2667A",
      "accent-foreground": "#ffffff",
      "destructive": "#C56A66",
      "border": "#303642",
      "input": "#303642",
      "ring": "#C2667A",
      "chart-1": "#3A3833",
      "chart-2": "#f4f4f5",
      "chart-3": "#C2667A",
      "chart-4": "#4E9277",
      "chart-5": "#C08A3E",
      "sidebar": "#181b22",
      "sidebar-foreground": "#f8fafc",
      "sidebar-primary": "#3A3833",
      "sidebar-primary-foreground": "#ffffff",
      "sidebar-accent": "#C2667A",
      "sidebar-accent-foreground": "#ffffff",
      "sidebar-border": "#303642",
      "sidebar-ring": "#C2667A",
      "radius": "24px"
    }
  },
  "meta": {
    "source": "katagami",
    "languageId": "en-019ef705-26e1-7dc1-a57d-312385ea4137",
    "slug": "shizuku",
    "componentManifest": [
      "button",
      "card",
      "input",
      "textarea",
      "select",
      "dialog",
      "sheet",
      "tabs",
      "badge",
      "separator",
      "checkbox",
      "switch",
      "slider",
      "tooltip",
      "dropdown-menu",
      "table"
    ],
    "installCommand": "npx shadcn@latest add button card input textarea select dialog sheet tabs badge separator checkbox switch slider tooltip dropdown-menu table",
    "nativeTokenNames": {
      "colors": [
        "accent",
        "bg",
        "border",
        "error",
        "info",
        "lychee",
        "lychee_deep",
        "mint",
        "mint_deep",
        "muted",
        "on_accent",
        "recess",
        "soda",
        "soda_deep",
        "success",
        "surface",
        "text",
        "warning"
      ],
      "typography": [
        "base_size",
        "body_font",
        "google_fonts_url",
        "heading_font",
        "heading_transform",
        "heading_weight",
        "letter_spacing",
        "mono_font"
      ],
      "radii": [
        "full",
        "lg",
        "md",
        "none",
        "sm"
      ],
      "shadows": [
        "lg",
        "md",
        "sm"
      ],
      "spacing": [
        "base",
        "scale"
      ],
      "surfaces": [
        "bg_pattern",
        "card_style",
        "treatment"
      ],
      "borders": [
        "accent_width",
        "character",
        "default_width",
        "style"
      ],
      "motion": [
        "duration",
        "easing",
        "philosophy"
      ]
    }
  }
}
```
in the wild

embodiments

bespoke marketing landingopen full page ↗
landing · shizuku
DESIGN.md

at a glance

Typography

headline-lgFraunces · 33px · 700

The quick brown fox jumps

headline-mdFraunces · 27px · 600

The quick brown fox jumps

body-mdSarabun · 17px · 400

The quick brown fox jumps

label-mdIBM Plex Mono · 12px · 600

The quick brown fox jumps

shadcn/ui

implementation kit

built with

Agent-generated

remix lane

try a remix

Keep Shizukuand swap a palette and an art style onto it — the landing & dashboard recolor live. The Studio does the same with all three lanes free.

UI language · fixed
Shizuku
Palette
Art style
Landing Page
live preview · recolored + filled
related

More like this