back to gallery
design language·furoku

Furoku

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
A faithful glow-up of the kawaii-stationery planner idea: the week becomes a warm cream sheet of die-cut peel-off stickers. Every page is a sticker you place, colour-code with a pastel dot, and peel with a small bouncy spring when it's done. Cute is always functional here — the sticker is the card, the dot is the category, the rainbow rail is the streak. Soft, rounded and cheerful without being childish.
values
Cute-functional duality — every decorative element also does a job: stickers are surfaces, pastel dots are a category code, the rainbow rail is a progress meter.Softness as invitation — rounded geometry, pastel-tinted lift shadows and a warm cream sheet lower the barrier to opening the app.Colour as organisation — a five-dot pastel code (family, work, health, plans, someday) is systematic, never noisy decoration.Bouncy optimism — spring-eased motion rewards finishing a task and settles, never sluggish.Stationery tactility — UI reads like peel-off deco stickers, washi tape and a dot-grid notebook sheet.Playful without patronising — clarity and 17px high-contrast reading respect adult users.
anti-values
×Pure-white or grey SaaS surfaces that kill the warm stationery feel×Sharp corners, hard edges, or arbitrary in-between radii×Grey drop shadows and grey or heavy borders×Pure-black text and colour-alone status with no label×A single accent edge on a card, nested cards, or a boxed-in floating nav
tokens
colors18 items
bg
#fdf6ec
surface
#ffffff
surface_2
#fbeef4
text
#3d2c4a
muted
#8b7a99
border
#efe2d4
accent
#e76fa5
on_accent
#ffffff
accent_2
#d8941f
accent_3
#6fb6cf
mint
#5ba872
lavender
#7d69ad
primary
#e76fa5
secondary
#6fb6cf
success
#4f9d59
warning
#b98223
error
#d95252
info
#6fb6cf
typography10 items
base size
17px
body font
Nunito
heading font
Quicksand
mono font
Fira Code
heading weight
700
heading transform
none
letter spacing
-0.02em
line height
1.6
scale ratio
1.2
google fonts url
https://fonts.googleapis.com/css2?family=Quicksand:wght@500;600;700&family=Nunito:wght@400;600;700;800&family=Fira+Code:wght@400;500&display=swap
radii4 items
none
0px
chip
16px
card
24px
full
9999px
shadows3 items
sm
0 2px 8px rgba(231,111,165,0.10)
md
0 6px 18px rgba(231,111,165,0.14)
lg
0 14px 40px rgba(111,182,207,0.18)
spacing2 items
base
4px
scale
0, 4px, 8px, 12px, 16px, 24px, 32px, 48px, 64px, 96px, 128px
surfaces6 items
card style
white die-cut sticker card: 24px radius, 5px solid #fff kiss-cut border, 1.5px dashed warm inset, top sheen, pastel-tinted lift shadow
bg pattern
warm cream sheet with a tiny low-opacity dot grid; washi-tape strips used sparingly as card tabs
primary gradient
linear-gradient(135deg, #e76fa5, #f4a14d)
cool gradient
linear-gradient(135deg, #6fb6cf, #8ccf9d)
rainbow gradient
linear-gradient(90deg, #e76fa5, #d8941f, #5ba872, #6fb6cf, #7d69ad)
treatment
candy pastels used like highlighters on a warm cream ground, two-stop gradients on decorative rails and large fills only
borders4 items
default color
#efe2d4
default width
1.5px
style
dashed
character
soft warm perforated notebook-label outlines; rounded cards use full uniform borders only, never one-sided accent edges
motion3 items
duration
350ms
easing
cubic-bezier(0.34, 1.56, 0.64, 1)
philosophy
bouncy sticker lift and peel; hover translates upward and scales very slightly; settled state is the default and renders with no JS; reduced to 100ms ease with no overshoot for prefers-reduced-motion
rules
composition
max colors per view
5
gradient direction
135deg for card/fill gradients, 90deg for the horizontal rainbow rail
rounding rule
Every interactive element is a pill (9999px); sticker cards 24px; compact chips 16px. Never sharp corners or arbitrary radii.
contrast ratio minimum
4.5:1 for body text on the cream/white surface, 3:1 for large headings and UI components
hierarchy
levels
4
primary signal
Pill button with the rose→honey gradient fill and a pastel-tinted shadow for the highest-priority action
secondary signal
Rose-outlined pill button on white for secondary actions
tertiary signal
Quiet pill on the rose recess, then muted-text ghost links for tertiary navigation
background signal
White die-cut sticker cards on the cream sheet for ambient content containers
density
default
comfortable
options
compact, comfortable, spacious
comfortable cell padding
13px 14px
compact cell padding
8px 12px
signature
Die-cut sticker cards with a thick uniform white kiss-cut border, a soft top sheen, a dashed warm inset and a pastel-tinted lift shadow read as peel-off stickers on a cream sheet.Pill buttons, inputs, tabs and badges use the 9999px radius with restrained two-stop pastel gradient fills that lift and shift shadow tint on hover.Pastel category dots (9px) sit beside labels, rows, tabs and checklist items so colour is a functional five-dot code, never colour-alone status.A 90deg five-stop rainbow progress rail is clipped inside a pill rail with aria progress semantics for days and streaks.Bouncy spring motion (translateY + slight scale, cubic-bezier(0.34,1.56,0.64,1)) lifts cards and peels the checklist; the fully-settled state shows with no JS.
layout
grid
type
12-column
max width
1160px
gutter
20px
margin
40px desktop / 24px tablet / 16px mobile
column behavior
Fluid minmax(0,1fr) columns with min-width:0 rounded children that keep 16–24px interior padding
whitespace
approach
Generous padding so rounded sticker elements never feel cramped — the softness needs room to breathe
card gap
20px
content padding
20–26px inside cards
section gap
48px desktop / 36px tablet / 24px mobile
density

comfortable

responsive
Renders ~390px to 2560px+: single column on mobile with non-essential nav links hidden, contained content capped and centred on ultra-wide, only the landing hero spanning full 100vw; grids use minmax(0,1fr) and min-width:0 so they never overflow.
breakpoints
mobile
min width 390px·columns 4·sidebar Hidden — only brand + the primary pill remain in the header
tablet
min width 768px·columns 8·sidebar Collapsed to an icon rail
desktop
min width 1160px·columns 12·sidebar 248px open sticker-card rail
guidance
do
  • Render on the warm cream sheet; reserve white for the sticker cards so the kiss-cut border reads.
  • Pill every interactive control; use 24px only for sticker cards and 16px for compact chips — never an in-between radius.
  • Use pastel-tinted shadows (rgba of the parent's pastel) instead of grey, so cards lift like peel-off stationery.
  • Pair every colour status with a 9px category dot and a text label.
  • Keep three highlighter leads (rose, honey, sky); let mint, lavender and the semantic colours stay quieter.
  • Pair Quicksand headings with Nunito body; keep body 17px+ and text in soft plum, never pure black.
  • Add bouncy spring easing on hover and the checklist peel; keep the settled state visible with no JS.
  • Let the masthead nav sit openly across the header; keep the dashboard sidebar an open rail, never a boxed widget.
avoid
  • Don't render on pure white or use grey shadows, grey borders, or pure-black text.
  • Don't give a sticker card a single accent edge, and never nest cards.
  • Don't box the nav into a floating pill/bar or trap it in a widget.
  • Don't spread more than three lead accents at once or let warning/error read as primary.
  • Don't use sharp corners or arbitrary radii; don't put small text on gradient fills.
  • Don't leave any section in a hidden start-state when JavaScript is off.
imagery
pairs with

kisscut

summary
Glossy die-cut peel-off kawaii stickers with thick uniform white kiss-cut borders, a soft top sheen, gentle soft cel shading and a thin lavender contour, candy pastels on a cream dot-grid stationery sheet with washi-tape strips and small dot/star/sparkle ornaments. Hero is one full-bleed sticker sheet of a smiling planner-notebook character and its companion stationery stickers.
subjects
smiling planner-notebook characterchecklist clipboard with a checkmarksleepy alarm clockcalendar pagepaper clipstars, dots and sparkle ornamentswashi-tape strips
usage

Use kisscut for the landing hero and decorative sticker accents; never use generated art for the embodiment thumbnail (that screenshots the embodiment).

katagami spec
# Furoku

## Philosophy

A faithful glow-up of the kawaii-stationery planner idea: the week becomes a warm cream sheet of die-cut peel-off stickers. Every page is a sticker you place, colour-code with a pastel dot, and peel with a small bouncy spring when it's done. Cute is always functional here — the sticker is the card, the dot is the category, the rainbow rail is the streak. Soft, rounded and cheerful without being childish.

### Values

- Cute-functional duality — every decorative element also does a job: stickers are surfaces, pastel dots are a category code, the rainbow rail is a progress meter.
- Softness as invitation — rounded geometry, pastel-tinted lift shadows and a warm cream sheet lower the barrier to opening the app.
- Colour as organisation — a five-dot pastel code (family, work, health, plans, someday) is systematic, never noisy decoration.
- Bouncy optimism — spring-eased motion rewards finishing a task and settles, never sluggish.
- Stationery tactility — UI reads like peel-off deco stickers, washi tape and a dot-grid notebook sheet.
- Playful without patronising — clarity and 17px high-contrast reading respect adult users.

### Anti-Values

- Pure-white or grey SaaS surfaces that kill the warm stationery feel
- Sharp corners, hard edges, or arbitrary in-between radii
- Grey drop shadows and grey or heavy borders
- Pure-black text and colour-alone status with no label
- A single accent edge on a card, nested cards, or a boxed-in floating nav

### Visual Character

- Die-cut sticker cards: white fill, a thick uniform white kiss-cut border (5px solid #fff) with a 1.5px dashed warm inset, a soft top sheen, 24px radius, lifted off a cream sheet by a pastel-tinted shadow — never a single accent edge.
- Pill geometry on every control (radius 9999) with one clearly-primary rose-gradient action; sticker cards 24px, compact chips 16px — no arbitrary radii.
- 9px pastel category dots beside every label make colour functional and are always paired with text.
- A 90deg five-stop rainbow progress rail clipped inside a pill rail with aria semantics tracks days and streaks.
- Bouncy spring motion (cubic-bezier(0.34,1.56,0.64,1)) lifts cards on hover and peels the checklist; the settled state renders with no JS and respects prefers-reduced-motion.

## Tokens

### Colors

| Name | Value |
|------|-------|
| bg | `#fdf6ec` |
| surface | `#ffffff` |
| surface_2 | `#fbeef4` |
| text | `#3d2c4a` |
| muted | `#8b7a99` |
| border | `#efe2d4` |
| accent | `#e76fa5` |
| on_accent | `#ffffff` |
| accent_2 | `#d8941f` |
| accent_3 | `#6fb6cf` |
| mint | `#5ba872` |
| lavender | `#7d69ad` |
| primary | `#e76fa5` |
| secondary | `#6fb6cf` |
| success | `#4f9d59` |
| warning | `#b98223` |
| error | `#d95252` |
| info | `#6fb6cf` |

### Typography

- **Base Size**: 17px
- **Body Font**: Nunito
- **Heading Font**: Quicksand
- **Mono Font**: Fira Code
- **Heading Weight**: 700
- **Heading Transform**: none
- **Letter Spacing**: -0.02em
- **Line Height**: 1.6
- **Scale Ratio**: 1.2
- **Google Fonts Url**: https://fonts.googleapis.com/css2?family=Quicksand:wght@500;600;700&family=Nunito:wght@400;600;700;800&family=Fira+Code:wght@400;500&display=swap

### Radii

- **None**: 0px
- **Chip**: 16px
- **Card**: 24px
- **Full**: 9999px

### Shadows

- **Sm**: 0 2px 8px rgba(231,111,165,0.10)
- **Md**: 0 6px 18px rgba(231,111,165,0.14)
- **Lg**: 0 14px 40px rgba(111,182,207,0.18)

### Spacing

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

### Surfaces

- **Card Style**: white die-cut sticker card: 24px radius, 5px solid #fff kiss-cut border, 1.5px dashed warm inset, top sheen, pastel-tinted lift shadow
- **Bg Pattern**: warm cream sheet with a tiny low-opacity dot grid; washi-tape strips used sparingly as card tabs
- **Primary Gradient**: linear-gradient(135deg, #e76fa5, #f4a14d)
- **Cool Gradient**: linear-gradient(135deg, #6fb6cf, #8ccf9d)
- **Rainbow Gradient**: linear-gradient(90deg, #e76fa5, #d8941f, #5ba872, #6fb6cf, #7d69ad)
- **Treatment**: candy pastels used like highlighters on a warm cream ground, two-stop gradients on decorative rails and large fills only

### Borders

- **Default Color**: #efe2d4
- **Default Width**: 1.5px
- **Style**: dashed
- **Character**: soft warm perforated notebook-label outlines; rounded cards use full uniform borders only, never one-sided accent edges

### Motion

- **Duration**: 350ms
- **Easing**: cubic-bezier(0.34, 1.56, 0.64, 1)
- **Philosophy**: bouncy sticker lift and peel; hover translates upward and scales very slightly; settled state is the default and renders with no JS; reduced to 100ms ease with no overshoot for prefers-reduced-motion

## Rules

### Composition

- **Max Colors Per View**: 5
- **Gradient Direction**: 135deg for card/fill gradients, 90deg for the horizontal rainbow rail
- **Rounding Rule**: Every interactive element is a pill (9999px); sticker cards 24px; compact chips 16px. Never sharp corners or arbitrary radii.
- **Contrast Ratio Minimum**: 4.5:1 for body text on the cream/white surface, 3:1 for large headings and UI components

### Hierarchy

- **Levels**: 4
- **Primary Signal**: Pill button with the rose→honey gradient fill and a pastel-tinted shadow for the highest-priority action
- **Secondary Signal**: Rose-outlined pill button on white for secondary actions
- **Tertiary Signal**: Quiet pill on the rose recess, then muted-text ghost links for tertiary navigation
- **Background Signal**: White die-cut sticker cards on the cream sheet for ambient content containers

### Density

- **Default**: comfortable
- **Options**: ["compact","comfortable","spacious"]
- **Comfortable Cell Padding**: 13px 14px
- **Compact Cell Padding**: 8px 12px

### Signature

- Die-cut sticker cards with a thick uniform white kiss-cut border, a soft top sheen, a dashed warm inset and a pastel-tinted lift shadow read as peel-off stickers on a cream sheet.
- Pill buttons, inputs, tabs and badges use the 9999px radius with restrained two-stop pastel gradient fills that lift and shift shadow tint on hover.
- Pastel category dots (9px) sit beside labels, rows, tabs and checklist items so colour is a functional five-dot code, never colour-alone status.
- A 90deg five-stop rainbow progress rail is clipped inside a pill rail with aria progress semantics for days and streaks.
- Bouncy spring motion (translateY + slight scale, cubic-bezier(0.34,1.56,0.64,1)) lifts cards and peels the checklist; the fully-settled state shows with no JS.

## Layout

### Grid

- **Type**: 12-column
- **Max Width**: 1160px
- **Gutter**: 20px
- **Margin**: 40px desktop / 24px tablet / 16px mobile
- **Column Behavior**: Fluid minmax(0,1fr) columns with min-width:0 rounded children that keep 16–24px interior padding

### Whitespace

- **Approach**: Generous padding so rounded sticker elements never feel cramped — the softness needs room to breathe
- **Card Gap**: 20px
- **Content Padding**: 20–26px inside cards
- **Section Gap**: 48px desktop / 36px tablet / 24px mobile

### Density

comfortable

### Responsive

Renders ~390px to 2560px+: single column on mobile with non-essential nav links hidden, contained content capped and centred on ultra-wide, only the landing hero spanning full 100vw; grids use minmax(0,1fr) and min-width:0 so they never overflow.

### Breakpoints

- **Mobile**: {"min_width":"390px","columns":4,"sidebar":"Hidden — only brand + the primary pill remain in the header"}
- **Tablet**: {"min_width":"768px","columns":8,"sidebar":"Collapsed to an icon rail"}
- **Desktop**: {"min_width":"1160px","columns":12,"sidebar":"248px open sticker-card rail"}

## Guidance

### Do

- Render on the warm cream sheet; reserve white for the sticker cards so the kiss-cut border reads.
- Pill every interactive control; use 24px only for sticker cards and 16px for compact chips — never an in-between radius.
- Use pastel-tinted shadows (rgba of the parent's pastel) instead of grey, so cards lift like peel-off stationery.
- Pair every colour status with a 9px category dot and a text label.
- Keep three highlighter leads (rose, honey, sky); let mint, lavender and the semantic colours stay quieter.
- Pair Quicksand headings with Nunito body; keep body 17px+ and text in soft plum, never pure black.
- Add bouncy spring easing on hover and the checklist peel; keep the settled state visible with no JS.
- Let the masthead nav sit openly across the header; keep the dashboard sidebar an open rail, never a boxed widget.

### Don't

- Don't render on pure white or use grey shadows, grey borders, or pure-black text.
- Don't give a sticker card a single accent edge, and never nest cards.
- Don't box the nav into a floating pill/bar or trap it in a widget.
- Don't spread more than three lead accents at once or let warning/error read as primary.
- Don't use sharp corners or arbitrary radii; don't put small text on gradient fills.
- Don't leave any section in a hidden start-state when JavaScript is off.

### Accessibility

- **Contrast Targets**: WCAG AA — 4.5:1 body text on cream/white, 3:1 for large headings and UI components
- **Color Independence**: Never use colour alone for status — pair pastel category dots with text labels and badges.
- **Focus Indicators**: 3px sky (#6fb6cf) focus ring with offset, clearly visible on the light ground; inputs draw a sky inset on focus.
- **Motion Sensitivity**: Respect prefers-reduced-motion: drop the bounce overshoot, cut transitions to 100ms ease, and disable scale; the settled state stays visible.
- **Screen Reader**: Decorative sticker, sheen and tape elements are aria-hidden; progress rails expose aria-valuenow/min/max.

## Imagery Direction

### Pairs With

kisscut

### Summary

Glossy die-cut peel-off kawaii stickers with thick uniform white kiss-cut borders, a soft top sheen, gentle soft cel shading and a thin lavender contour, candy pastels on a cream dot-grid stationery sheet with washi-tape strips and small dot/star/sparkle ornaments. Hero is one full-bleed sticker sheet of a smiling planner-notebook character and its companion stationery stickers.

### Subjects

- smiling planner-notebook character
- checklist clipboard with a checkmark
- sleepy alarm clock
- calendar page
- paper clip
- stars, dots and sparkle ornaments
- washi-tape strips

### Usage

Use kisscut for the landing hero and decorative sticker accents; never use generated art for the embodiment thumbnail (that screenshots the embodiment).
DESIGN.md
---
version: "alpha"
name: "Furoku"
description: "Agent-curated design language exported from Katagami as DESIGN.md."
colors:
  bg: "#fdf6ec"
  surface: "#ffffff"
  surface_2: "#fbeef4"
  text: "#3d2c4a"
  muted: "#8b7a99"
  border: "#efe2d4"
  accent: "#e76fa5"
  on_accent: "#ffffff"
  accent_2: "#d8941f"
  accent_3: "#6fb6cf"
  mint: "#5ba872"
  lavender: "#7d69ad"
  primary: "#e76fa5"
  secondary: "#6fb6cf"
  success: "#4f9d59"
  warning: "#b98223"
  error: "#d95252"
  info: "#6fb6cf"
typography:
  headline-lg:
    fontFamily: "Quicksand"
    fontSize: "2.075rem"
    fontWeight: 700
    lineHeight: 1.1
    letterSpacing: "-0.02em"
  headline-md:
    fontFamily: "Quicksand"
    fontSize: "1.66rem"
    fontWeight: 600
    lineHeight: 1.15
    letterSpacing: "-0.02em"
  body-md:
    fontFamily: "Nunito"
    fontSize: "17px"
    fontWeight: 400
    lineHeight: 1.5
    letterSpacing: "-0.02em"
  label-md:
    fontFamily: "Fira Code"
    fontSize: "0.75rem"
    fontWeight: 600
    lineHeight: 1
    letterSpacing: "0.08em"
rounded:
  none: "0px"
  chip: "16px"
  card: "24px"
  full: "9999px"
spacing:
  base: "4px"
  xs: "0px"
  sm: "4px"
  md: "8px"
  lg: "12px"
  xl: "16px"
  2xl: "24px"
  3xl: "32px"
  4xl: "48px"
  step-8: "64px"
  step-9: "96px"
  step-10: "128px"
components:
  color-reference-bg:
    backgroundColor: "{colors.bg}"
  color-reference-surface:
    backgroundColor: "{colors.surface}"
  color-reference-surface_2:
    backgroundColor: "{colors.surface_2}"
  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-accent_2:
    backgroundColor: "{colors.accent_2}"
  color-reference-accent_3:
    backgroundColor: "{colors.accent_3}"
  color-reference-mint:
    backgroundColor: "{colors.mint}"
  color-reference-lavender:
    backgroundColor: "{colors.lavender}"
  color-reference-primary:
    backgroundColor: "{colors.primary}"
  color-reference-secondary:
    backgroundColor: "{colors.secondary}"
  color-reference-success:
    backgroundColor: "{colors.success}"
  color-reference-warning:
    backgroundColor: "{colors.warning}"
  color-reference-error:
    backgroundColor: "{colors.error}"
  color-reference-info:
    backgroundColor: "{colors.info}"
  button-primary:
    backgroundColor: "{colors.primary}"
    textColor: "#000000"
    typography: "{typography.label-md}"
    rounded: "{rounded.none}"
    padding: "{spacing.md}"
  card-surface:
    backgroundColor: "{colors.surface}"
    textColor: "{colors.text}"
    rounded: "{rounded.none}"
    padding: "{spacing.md}"
  input-default:
    backgroundColor: "{colors.surface}"
    textColor: "{colors.text}"
    rounded: "{rounded.none}"
    height: "44px"
---

# Furoku

## Overview

A faithful glow-up of the kawaii-stationery planner idea: the week becomes a warm cream sheet of die-cut peel-off stickers. Every page is a sticker you place, colour-code with a pastel dot, and peel with a small bouncy spring when it's done. Cute is always functional here — the sticker is the card, the dot is the category, the rainbow rail is the streak. Soft, rounded and cheerful without being childish.

### Values

- Cute-functional duality — every decorative element also does a job: stickers are surfaces, pastel dots are a category code, the rainbow rail is a progress meter.
- Softness as invitation — rounded geometry, pastel-tinted lift shadows and a warm cream sheet lower the barrier to opening the app.
- Colour as organisation — a five-dot pastel code (family, work, health, plans, someday) is systematic, never noisy decoration.
- Bouncy optimism — spring-eased motion rewards finishing a task and settles, never sluggish.
- Stationery tactility — UI reads like peel-off deco stickers, washi tape and a dot-grid notebook sheet.
- Playful without patronising — clarity and 17px high-contrast reading respect adult users.

### Anti-Values

- Pure-white or grey SaaS surfaces that kill the warm stationery feel
- Sharp corners, hard edges, or arbitrary in-between radii
- Grey drop shadows and grey or heavy borders
- Pure-black text and colour-alone status with no label
- A single accent edge on a card, nested cards, or a boxed-in floating nav

### Visual Character

- Die-cut sticker cards: white fill, a thick uniform white kiss-cut border (5px solid #fff) with a 1.5px dashed warm inset, a soft top sheen, 24px radius, lifted off a cream sheet by a pastel-tinted shadow — never a single accent edge.
- Pill geometry on every control (radius 9999) with one clearly-primary rose-gradient action; sticker cards 24px, compact chips 16px — no arbitrary radii.
- 9px pastel category dots beside every label make colour functional and are always paired with text.
- A 90deg five-stop rainbow progress rail clipped inside a pill rail with aria semantics tracks days and streaks.
- Bouncy spring motion (cubic-bezier(0.34,1.56,0.64,1)) lifts cards on hover and peels the checklist; the settled state renders with no JS and respects prefers-reduced-motion.

## 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 | `#fdf6ec` |
| surface | `#ffffff` |
| surface_2 | `#fbeef4` |
| text | `#3d2c4a` |
| muted | `#8b7a99` |
| border | `#efe2d4` |
| accent | `#e76fa5` |
| on_accent | `#ffffff` |
| accent_2 | `#d8941f` |
| accent_3 | `#6fb6cf` |
| mint | `#5ba872` |
| lavender | `#7d69ad` |
| primary | `#e76fa5` |
| secondary | `#6fb6cf` |
| success | `#4f9d59` |
| warning | `#b98223` |
| error | `#d95252` |
| info | `#6fb6cf` |

## Typography

- **Headline-Lg**: Quicksand, 2.075rem, weight 700, line-height 1.1.
- **Headline-Md**: Quicksand, 1.66rem, weight 600, line-height 1.15.
- **Body-Md**: Nunito, 17px, weight 400, line-height 1.5.
- **Label-Md**: Fira Code, 0.75rem, weight 600, line-height 1.

## Layout

### Spacing Tokens

- **Base**: `4px`
- **Xs**: `0px`
- **Sm**: `4px`
- **Md**: `8px`
- **Lg**: `12px`
- **Xl**: `16px`
- **2xl**: `24px`
- **3xl**: `32px`
- **4xl**: `48px`
- **Step-8**: `64px`
- **Step-9**: `96px`
- **Step-10**: `128px`

### Grid

- **Type**: 12-column
- **Max Width**: 1160px
- **Gutter**: 20px
- **Margin**: 40px desktop / 24px tablet / 16px mobile
- **Column Behavior**: Fluid minmax(0,1fr) columns with min-width:0 rounded children that keep 16–24px interior padding

### Whitespace

- **Approach**: Generous padding so rounded sticker elements never feel cramped — the softness needs room to breathe
- **Card Gap**: 20px
- **Content Padding**: 20–26px inside cards
- **Section Gap**: 48px desktop / 36px tablet / 24px mobile

### Density

comfortable

### Responsive

Renders ~390px to 2560px+: single column on mobile with non-essential nav links hidden, contained content capped and centred on ultra-wide, only the landing hero spanning full 100vw; grids use minmax(0,1fr) and min-width:0 so they never overflow.

### Breakpoints

- **Mobile**: {"min_width":"390px","columns":4,"sidebar":"Hidden — only brand + the primary pill remain in the header"}
- **Tablet**: {"min_width":"768px","columns":8,"sidebar":"Collapsed to an icon rail"}
- **Desktop**: {"min_width":"1160px","columns":12,"sidebar":"248px open sticker-card rail"}

## Elevation & Depth

### Shadows

- **Sm**: 0 2px 8px rgba(231,111,165,0.10)
- **Md**: 0 6px 18px rgba(231,111,165,0.14)
- **Lg**: 0 14px 40px rgba(111,182,207,0.18)

## Shapes

### Rounded

- **None**: `0px`
- **Chip**: `16px`
- **Card**: `24px`
- **Full**: `9999px`

### Surfaces

- **Card Style**: white die-cut sticker card: 24px radius, 5px solid #fff kiss-cut border, 1.5px dashed warm inset, top sheen, pastel-tinted lift shadow
- **Bg Pattern**: warm cream sheet with a tiny low-opacity dot grid; washi-tape strips used sparingly as card tabs
- **Primary Gradient**: linear-gradient(135deg, #e76fa5, #f4a14d)
- **Cool Gradient**: linear-gradient(135deg, #6fb6cf, #8ccf9d)
- **Rainbow Gradient**: linear-gradient(90deg, #e76fa5, #d8941f, #5ba872, #6fb6cf, #7d69ad)
- **Treatment**: candy pastels used like highlighters on a warm cream ground, two-stop gradients on decorative rails and large fills only

### Borders

- **Default Color**: #efe2d4
- **Default Width**: 1.5px
- **Style**: dashed
- **Character**: soft warm perforated notebook-label outlines; rounded cards use full uniform borders only, never one-sided accent edges

## Components

### Composition

- **Max Colors Per View**: 5
- **Gradient Direction**: 135deg for card/fill gradients, 90deg for the horizontal rainbow rail
- **Rounding Rule**: Every interactive element is a pill (9999px); sticker cards 24px; compact chips 16px. Never sharp corners or arbitrary radii.
- **Contrast Ratio Minimum**: 4.5:1 for body text on the cream/white surface, 3:1 for large headings and UI components

### Hierarchy

- **Levels**: 4
- **Primary Signal**: Pill button with the rose→honey gradient fill and a pastel-tinted shadow for the highest-priority action
- **Secondary Signal**: Rose-outlined pill button on white for secondary actions
- **Tertiary Signal**: Quiet pill on the rose recess, then muted-text ghost links for tertiary navigation
- **Background Signal**: White die-cut sticker cards on the cream sheet for ambient content containers

### Density

- **Default**: comfortable
- **Options**: ["compact","comfortable","spacious"]
- **Comfortable Cell Padding**: 13px 14px
- **Compact Cell Padding**: 8px 12px

### Signature

- Die-cut sticker cards with a thick uniform white kiss-cut border, a soft top sheen, a dashed warm inset and a pastel-tinted lift shadow read as peel-off stickers on a cream sheet.
- Pill buttons, inputs, tabs and badges use the 9999px radius with restrained two-stop pastel gradient fills that lift and shift shadow tint on hover.
- Pastel category dots (9px) sit beside labels, rows, tabs and checklist items so colour is a functional five-dot code, never colour-alone status.
- A 90deg five-stop rainbow progress rail is clipped inside a pill rail with aria progress semantics for days and streaks.
- Bouncy spring motion (translateY + slight scale, cubic-bezier(0.34,1.56,0.64,1)) lifts cards and peels the checklist; the fully-settled state shows with no JS.

## 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-019ef917-8344-79d0-ab33-f34f9e455243/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 Render on the warm cream sheet; reserve white for the sticker cards so the kiss-cut border reads.
- Do Pill every interactive control; use 24px only for sticker cards and 16px for compact chips — never an in-between radius.
- Do Use pastel-tinted shadows (rgba of the parent's pastel) instead of grey, so cards lift like peel-off stationery.
- Do Pair every colour status with a 9px category dot and a text label.
- Do Keep three highlighter leads (rose, honey, sky); let mint, lavender and the semantic colours stay quieter.
- Do Pair Quicksand headings with Nunito body; keep body 17px+ and text in soft plum, never pure black.
- Do Add bouncy spring easing on hover and the checklist peel; keep the settled state visible with no JS.
- Do Let the masthead nav sit openly across the header; keep the dashboard sidebar an open rail, never a boxed widget.
- Don't Don't render on pure white or use grey shadows, grey borders, or pure-black text.
- Don't Don't give a sticker card a single accent edge, and never nest cards.
- Don't Don't box the nav into a floating pill/bar or trap it in a widget.
- Don't Don't spread more than three lead accents at once or let warning/error read as primary.
- Don't Don't use sharp corners or arbitrary radii; don't put small text on gradient fills.
- Don't Don't leave any section in a hidden start-state when JavaScript is off.

### Accessibility

- **Contrast Targets**: WCAG AA — 4.5:1 body text on cream/white, 3:1 for large headings and UI components
- **Color Independence**: Never use colour alone for status — pair pastel category dots with text labels and badges.
- **Focus Indicators**: 3px sky (#6fb6cf) focus ring with offset, clearly visible on the light ground; inputs draw a sky inset on focus.
- **Motion Sensitivity**: Respect prefers-reduced-motion: drop the bounce overshoot, cut transitions to 100ms ease, and disable scale; the settled state stays visible.
- **Screen Reader**: Decorative sticker, sheen and tape elements are aria-hidden; progress rails expose aria-valuenow/min/max.

## Imagery Direction

### Pairs With

kisscut

### Summary

Glossy die-cut peel-off kawaii stickers with thick uniform white kiss-cut borders, a soft top sheen, gentle soft cel shading and a thin lavender contour, candy pastels on a cream dot-grid stationery sheet with washi-tape strips and small dot/star/sparkle ornaments. Hero is one full-bleed sticker sheet of a smiling planner-notebook character and its companion stationery stickers.

### Subjects

- smiling planner-notebook character
- checklist clipboard with a checkmark
- sleepy alarm clock
- calendar page
- paper clip
- stars, dots and sparkle ornaments
- washi-tape strips

### Usage

Use kisscut for the landing hero and decorative sticker accents; never use generated art for the embodiment thumbnail (that screenshots the embodiment).
shadcn/ui theme
```json
{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "furoku",
  "type": "registry:theme",
  "title": "Furoku shadcn Theme",
  "cssVars": {
    "theme": {},
    "light": {
      "background": "#fdf6ec",
      "foreground": "#3d2c4a",
      "card": "#ffffff",
      "card-foreground": "#3d2c4a",
      "popover": "#ffffff",
      "popover-foreground": "#3d2c4a",
      "primary": "#e76fa5",
      "primary-foreground": "#ffffff",
      "secondary": "#6fb6cf",
      "secondary-foreground": "#ffffff",
      "muted": "#8b7a99",
      "muted-foreground": "#3d2c4a",
      "accent": "#e76fa5",
      "accent-foreground": "#ffffff",
      "destructive": "#d95252",
      "border": "#efe2d4",
      "input": "#efe2d4",
      "ring": "#e76fa5",
      "chart-1": "#e76fa5",
      "chart-2": "#6fb6cf",
      "chart-3": "#e76fa5",
      "chart-4": "#4f9d59",
      "chart-5": "#b98223",
      "sidebar": "#ffffff",
      "sidebar-foreground": "#3d2c4a",
      "sidebar-primary": "#e76fa5",
      "sidebar-primary-foreground": "#ffffff",
      "sidebar-accent": "#6fb6cf",
      "sidebar-accent-foreground": "#ffffff",
      "sidebar-border": "#efe2d4",
      "sidebar-ring": "#e76fa5",
      "radius": "0.625rem"
    },
    "dark": {
      "background": "#0f1115",
      "foreground": "#f8fafc",
      "card": "#181b22",
      "card-foreground": "#f8fafc",
      "popover": "#181b22",
      "popover-foreground": "#f8fafc",
      "primary": "#e76fa5",
      "primary-foreground": "#ffffff",
      "secondary": "#252a33",
      "secondary-foreground": "#f8fafc",
      "muted": "#252a33",
      "muted-foreground": "#a1a1aa",
      "accent": "#e76fa5",
      "accent-foreground": "#ffffff",
      "destructive": "#d95252",
      "border": "#303642",
      "input": "#303642",
      "ring": "#e76fa5",
      "chart-1": "#e76fa5",
      "chart-2": "#6fb6cf",
      "chart-3": "#e76fa5",
      "chart-4": "#4f9d59",
      "chart-5": "#b98223",
      "sidebar": "#181b22",
      "sidebar-foreground": "#f8fafc",
      "sidebar-primary": "#e76fa5",
      "sidebar-primary-foreground": "#ffffff",
      "sidebar-accent": "#e76fa5",
      "sidebar-accent-foreground": "#ffffff",
      "sidebar-border": "#303642",
      "sidebar-ring": "#e76fa5",
      "radius": "0.625rem"
    }
  },
  "meta": {
    "source": "katagami",
    "languageId": "en-019ef917-8344-79d0-ab33-f34f9e455243",
    "slug": "furoku",
    "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",
        "accent_2",
        "accent_3",
        "bg",
        "border",
        "error",
        "info",
        "lavender",
        "mint",
        "muted",
        "on_accent",
        "primary",
        "secondary",
        "success",
        "surface",
        "surface_2",
        "text",
        "warning"
      ],
      "typography": [
        "base_size",
        "body_font",
        "google_fonts_url",
        "heading_font",
        "heading_transform",
        "heading_weight",
        "letter_spacing",
        "line_height",
        "mono_font",
        "scale_ratio"
      ],
      "radii": [
        "card",
        "chip",
        "full",
        "none"
      ],
      "shadows": [
        "lg",
        "md",
        "sm"
      ],
      "spacing": [
        "base",
        "scale"
      ],
      "surfaces": [
        "bg_pattern",
        "card_style",
        "cool_gradient",
        "primary_gradient",
        "rainbow_gradient",
        "treatment"
      ],
      "borders": [
        "character",
        "default_color",
        "default_width",
        "style"
      ],
      "motion": [
        "duration",
        "easing",
        "philosophy"
      ]
    }
  }
}
```
in the wild

embodiments

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

at a glance

Typography

headline-lgQuicksand · 33px · 700

The quick brown fox jumps

headline-mdQuicksand · 27px · 600

The quick brown fox jumps

body-mdNunito · 17px · 400

The quick brown fox jumps

label-mdFira Code · 12px · 600

The quick brown fox jumps

shadcn/ui

implementation kit

built with

Agent-generated

remix lane

try a remix

Keep Furokuand 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
Furoku
Palette
Art style
Landing Page
live preview · recolored + filled
lineage

Family

1 descendant
related

More like this