back to gallery

Deckle

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 — tokens plus the paired art style. Agents must generate real images.

the spec

specification

philosophy
summary
Deckle keeps the soul of mid-century children's-book craft — sequential storytelling, print tactility, a disciplined limited palette, generous quiet paper — but reconceives the expression as cut-paper collage with real depth. Where a flat printed plate lies on the page, Deckle stands its surfaces up: every card is a hand-torn painted-paper plane held in shallow diorama depth, lifted on a soft cast shadow and raked by a moving light. Controls become caption slips, cards become pop-up stages, and the recurring tell is the deckle edge — the feathery torn edge of handmade paper wherever one plane meets another.
values
Sequential storytellingThe cut-paper liftChild-readable clarityLimited-palette disciplineAuthor–illustrator partnershipNursery ornament with restraint
anti-values
×Bordered boxes×Generic SaaS neutrality×Synthetic polish×Dense administrative tables
visual character
Every card is a white cut-paper plane on a soft, corner-matched cast shadow — the cut-paper lift — never a bordered box.Torn deckle edges recur wherever one plane meets another; the feathery fibrous edge is the material tell.Story cards carry simplified geometric illustration patches — flat gouache circles, hills, moons, suns, silhouettes — built from CSS shapes.A raking light follows the pointer across cards and stages, deepening the valleys between layers so depth is felt, not drawn.Composition alternates roomy illustrated boards with narrow caption columns and quiet paper fields, broken by one full-width page-turn moment.
tokens
colors14 items
bg
#FBF7EF
surface
#FFFFFF
surface_solid
#FFFFFF
text
#1A1712
muted
#6E685C
border
#ECE4D5
accent
#C0392A
accent_2
#2E5E8C
accent_soft
#C58A24
on_accent
#FFFFFF
success
#3F7A4E
warning
#B7791A
error
#B3261E
info
#2E5E8C
typography10 items
base size
17px
body font
Newsreader
heading font
Bricolage Grotesque
mono font
Spline Sans Mono
heading weight
700
heading transform
none
letter spacing
-0.01em
line height
1.55
scale ratio
1.25
google fonts url
https://fonts.googleapis.com/css2?family=Bricolage+Grotesque:opsz,wght@12..96,500;12..96,600;12..96,700;12..96,800&family=Newsreader:ital,opsz,wght@0,6..72,400;0,6..72,500;0,6..72,600;1,6..72,400;1,6..72,500&family=Spline+Sans+Mono:wght@500;600&display=swap
radii4 items
none
0px
md
16px
lg
24px
full
9999px
shadows3 items
sm
0 2px 6px rgba(26,23,18,.10)
md
0 10px 24px rgba(26,23,18,.14)
lg
0 24px 56px rgba(26,23,18,.20)
spacing2 items
base
8px
scale
4px, 8px, 12px, 16px, 24px, 32px, 48px, 64px, 96px
surfaces3 items
treatment
paper
card style
White paper planes on soft, corner-matched cast shadows with torn deckle edges; a pointer-driven raking light rakes across them. No borders.
bg pattern
grain
borders4 items
default width
0px
accent width
0px
style
none
character
No borders. Depth is the cut-paper lift — a soft paper cast shadow and the feathery torn deckle edge — never a rule.
motion3 items
duration
180ms
easing
cubic-bezier(0.22, 0.61, 0.18, 1)
philosophy
Snappy page-turn motion: tiny lifts, short slides, no elastic bounce. The landing is one scroll-scrubbed film where cut-paper planes rise, tear, and paste into a diorama.
rules
composition
Compose spreads: a dominant illustrated pop-up board paired with a narrower caption rail, then break rhythm with a full-width page-turn moment. Keep to three major clusters at a time; anchor each with a cut-paper plane. Let quiet paper carry anticipation before primary actions. Align controls to caption slips, not arbitrary card centres.
hierarchy
Display headings use Bricolage Grotesque at 700–800 with tight tracking. Body and controls use Newsreader for warm editorial clarity. Folios and micro-labels use Spline Sans Mono. Hierarchy is built from scale, depth (cast-shadow lift), and placement on the spread — not colour alone. The warm-red accent marks page-turns, active states, and warnings; most information stays ink on paper.
density
Medium-low with deliberate pauses: cards carry 24–26px padding, large gutters, and short measures. Dense data becomes story strips, caption lists, and status stamps.
signature patterns
The cut-paper lift: white paper planes stand on a soft, corner-matched cast shadow; hover raises the plane and grows the shadow like a pop-up spread opening.Raking light: a pointer-driven radial sheen (and a twin-plate cross-blend on the landing stage) rakes across cut-paper depth so one gesture lifts and lights at once.Deckle edges: torn, feathery paper edges on key plates and illustration patches — the recurring material signature.Page corners and corner stamps: a folded paper corner and a mono page-number stamp mark each turn.Scalloped caption rules: a dotted cut-paper underline strip beneath section labels.
layout
density

Medium-low, to preserve picture-book pacing and image–text interplay. Controls group into caption rails while cut-paper planes keep narrative breathing room.

grid
Desktop uses a max-width 1180–1280px grid; a dominant illustrated board pairs with a narrower caption rail (roughly 8/4), with a 3-column story strip below. All containers use CSS grid or flex with minmax(0,1fr) and min-width:0 so children shrink instead of overflowing.
whitespace
Quiet paper behaves like the blank page before a turn: generous outer margins, calm interior padding, empty fields around the illustrated shapes. Negative space is intentional and playful, never unfinished.
breakpoints
wide
1920px+: contained content centred; only full-bleed heroes span 100vw
desktop
1200–1919px: illustrated board plus caption rail
tablet
768–1199px: single column; caption rails drop below boards; tall paper-ground scenes top-align with folio clearance
mobile
0–767px: single column, full-width controls, compact page-turn folio; the landing is re-art-directed as a vertical film
small mobile
480px and below: reduce display type and stack all action groups
guidance
do
  • Start each screen by deciding the story sequence: what the reader notices, reads, adjusts, and turns to next.
  • Use warm paper white as the ground; add fine grain with subtle CSS layers, never a muddy wash.
  • Build depth from the torn deckle edge and a soft paper cast shadow — the cut-paper lift.
  • Keep tracking tight and crafted across headings, body, labels, and controls.
  • Pair colour with a stamp, an illustration patch, or a caption ribbon whenever it marks a state change.
  • Use vermilion sparingly for page-turn actions, active tabs, warnings, and small emphasis stamps.
  • Reflow spreads responsively: caption rails move below illustrated boards before content ever crowds.
  • Style every input, select, checkbox, toggle, and focus state so no browser-default chrome breaks the printed world.
avoid
  • Do not add grey borders or single accent edges; depth is shadow and torn paper, never a rule.
  • Do not mix random radii; use 0px for square cuts, 16px or 24px for rare soft cards, 9999px only for pills and stamps.
  • Do not treat scallops, stamps, or dot rules as confetti; each must frame content or guide reading order.
  • Do not replace narrative structure with a generic component catalogue or analytics grid.
  • Do not use pastel background washes, glossy gradients, glass panels, or a fourth accent.
  • Do not rely on colour alone for state; combine stamps, shapes, labels, and text.
imagery
pairs with

tornleaf

description
Torn cut-paper collage in the Tornleaf technique: layered hand-torn matte paper with feathery deckle edges, flat poster colours, soft cast shadows between layers, warm limited palette (vermilion, storybook blue, ochre, leaf, night on paper white). In-UI illustration patches are built from CSS primitives; full plates are generated in Tornleaf and consumed through swappable image slots.
subjects
rolling hillsochre moon and suna paper foxpine silhouettesboats and lighthouse townstorn painted-paper swatches
katagami spec
# Deckle

## Philosophy

Deckle keeps the soul of mid-century children's-book craft — sequential storytelling, print tactility, a disciplined limited palette, generous quiet paper — but reconceives the expression as cut-paper collage with real depth. Where a flat printed plate lies on the page, Deckle stands its surfaces up: every card is a hand-torn painted-paper plane held in shallow diorama depth, lifted on a soft cast shadow and raked by a moving light. Controls become caption slips, cards become pop-up stages, and the recurring tell is the deckle edge — the feathery torn edge of handmade paper wherever one plane meets another.

### Values

- {"name":"Sequential storytelling","explanation":"Arrange information as a reading journey — beginnings, pauses, reveals, and turns — not a neutral dashboard grid."}
- {"name":"The cut-paper lift","explanation":"Depth comes from a soft paper cast shadow and the torn deckle edge, so surfaces read as cut paper standing off the page — never from a border or ink rule."}
- {"name":"Child-readable clarity","explanation":"Large shapes, few competing colours, strong labels, and generous quiet paper make hierarchy graspable at arm's length."}
- {"name":"Limited-palette discipline","explanation":"Three inks — vermilion, storybook blue, ochre — on paper white and warm ink; bright emphasis is reserved for the page-turn."}
- {"name":"Author–illustrator partnership","explanation":"Text and image complete one another: captions and controls sit beside the illustrated board, never over-writing it."}
- {"name":"Nursery ornament with restraint","explanation":"Scallops, corner stamps, and page folios are framing devices that guide reading order, never confetti."}

### Anti-Values

- {"name":"Bordered boxes","explanation":"No grey borders or single accent edges; a plane is lifted by shadow and torn paper, not outlined."}
- {"name":"Generic SaaS neutrality","explanation":"Not interchangeable white cards with a colour swap; the cut-paper structure must be visible in depth, spacing, and composition."}
- {"name":"Synthetic polish","explanation":"No glossy gradients, glass, or hyper-smooth surfaces that contradict paper warmth."}
- {"name":"Dense administrative tables","explanation":"Picture-book pacing needs pauses and spacious spreads, not spreadsheet density."}

### Visual Character

- Every card is a white cut-paper plane on a soft, corner-matched cast shadow — the cut-paper lift — never a bordered box.
- Torn deckle edges recur wherever one plane meets another; the feathery fibrous edge is the material tell.
- Story cards carry simplified geometric illustration patches — flat gouache circles, hills, moons, suns, silhouettes — built from CSS shapes.
- A raking light follows the pointer across cards and stages, deepening the valleys between layers so depth is felt, not drawn.
- Composition alternates roomy illustrated boards with narrow caption columns and quiet paper fields, broken by one full-width page-turn moment.

## Tokens

### Colors

| Name | Value |
|------|-------|
| bg | `#FBF7EF` |
| surface | `#FFFFFF` |
| surface_solid | `#FFFFFF` |
| text | `#1A1712` |
| muted | `#6E685C` |
| border | `#ECE4D5` |
| accent | `#C0392A` |
| accent_2 | `#2E5E8C` |
| accent_soft | `#C58A24` |
| on_accent | `#FFFFFF` |
| success | `#3F7A4E` |
| warning | `#B7791A` |
| error | `#B3261E` |
| info | `#2E5E8C` |

### Typography

- **Base Size**: 17px
- **Body Font**: Newsreader
- **Heading Font**: Bricolage Grotesque
- **Mono Font**: Spline Sans Mono
- **Heading Weight**: 700
- **Heading Transform**: none
- **Letter Spacing**: -0.01em
- **Line Height**: 1.55
- **Scale Ratio**: 1.25
- **Google Fonts Url**: https://fonts.googleapis.com/css2?family=Bricolage+Grotesque:opsz,wght@12..96,500;12..96,600;12..96,700;12..96,800&family=Newsreader:ital,opsz,wght@0,6..72,400;0,6..72,500;0,6..72,600;1,6..72,400;1,6..72,500&family=Spline+Sans+Mono:wght@500;600&display=swap

### Radii

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

### Shadows

- **Sm**: 0 2px 6px rgba(26,23,18,.10)
- **Md**: 0 10px 24px rgba(26,23,18,.14)
- **Lg**: 0 24px 56px rgba(26,23,18,.20)

### Spacing

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

### Surfaces

- **Treatment**: paper
- **Card Style**: White paper planes on soft, corner-matched cast shadows with torn deckle edges; a pointer-driven raking light rakes across them. No borders.
- **Bg Pattern**: grain

### Borders

- **Default Width**: 0px
- **Accent Width**: 0px
- **Style**: none
- **Character**: No borders. Depth is the cut-paper lift — a soft paper cast shadow and the feathery torn deckle edge — never a rule.

### Motion

- **Duration**: 180ms
- **Easing**: cubic-bezier(0.22, 0.61, 0.18, 1)
- **Philosophy**: Snappy page-turn motion: tiny lifts, short slides, no elastic bounce. The landing is one scroll-scrubbed film where cut-paper planes rise, tear, and paste into a diorama.

## Rules

### Composition

Compose spreads: a dominant illustrated pop-up board paired with a narrower caption rail, then break rhythm with a full-width page-turn moment. Keep to three major clusters at a time; anchor each with a cut-paper plane. Let quiet paper carry anticipation before primary actions. Align controls to caption slips, not arbitrary card centres.

### Hierarchy

Display headings use Bricolage Grotesque at 700–800 with tight tracking. Body and controls use Newsreader for warm editorial clarity. Folios and micro-labels use Spline Sans Mono. Hierarchy is built from scale, depth (cast-shadow lift), and placement on the spread — not colour alone. The warm-red accent marks page-turns, active states, and warnings; most information stays ink on paper.

### Density

Medium-low with deliberate pauses: cards carry 24–26px padding, large gutters, and short measures. Dense data becomes story strips, caption lists, and status stamps.

### Signature Patterns

- The cut-paper lift: white paper planes stand on a soft, corner-matched cast shadow; hover raises the plane and grows the shadow like a pop-up spread opening.
- Raking light: a pointer-driven radial sheen (and a twin-plate cross-blend on the landing stage) rakes across cut-paper depth so one gesture lifts and lights at once.
- Deckle edges: torn, feathery paper edges on key plates and illustration patches — the recurring material signature.
- Page corners and corner stamps: a folded paper corner and a mono page-number stamp mark each turn.
- Scalloped caption rules: a dotted cut-paper underline strip beneath section labels.

## Layout

### Density

Medium-low, to preserve picture-book pacing and image–text interplay. Controls group into caption rails while cut-paper planes keep narrative breathing room.

### Grid

Desktop uses a max-width 1180–1280px grid; a dominant illustrated board pairs with a narrower caption rail (roughly 8/4), with a 3-column story strip below. All containers use CSS grid or flex with minmax(0,1fr) and min-width:0 so children shrink instead of overflowing.

### Whitespace

Quiet paper behaves like the blank page before a turn: generous outer margins, calm interior padding, empty fields around the illustrated shapes. Negative space is intentional and playful, never unfinished.

### Breakpoints

- **Wide**: 1920px+: contained content centred; only full-bleed heroes span 100vw
- **Desktop**: 1200–1919px: illustrated board plus caption rail
- **Tablet**: 768–1199px: single column; caption rails drop below boards; tall paper-ground scenes top-align with folio clearance
- **Mobile**: 0–767px: single column, full-width controls, compact page-turn folio; the landing is re-art-directed as a vertical film
- **Small Mobile**: 480px and below: reduce display type and stack all action groups

## Guidance

### Do

- Start each screen by deciding the story sequence: what the reader notices, reads, adjusts, and turns to next.
- Use warm paper white as the ground; add fine grain with subtle CSS layers, never a muddy wash.
- Build depth from the torn deckle edge and a soft paper cast shadow — the cut-paper lift.
- Keep tracking tight and crafted across headings, body, labels, and controls.
- Pair colour with a stamp, an illustration patch, or a caption ribbon whenever it marks a state change.
- Use vermilion sparingly for page-turn actions, active tabs, warnings, and small emphasis stamps.
- Reflow spreads responsively: caption rails move below illustrated boards before content ever crowds.
- Style every input, select, checkbox, toggle, and focus state so no browser-default chrome breaks the printed world.

### Don't

- Do not add grey borders or single accent edges; depth is shadow and torn paper, never a rule.
- Do not mix random radii; use 0px for square cuts, 16px or 24px for rare soft cards, 9999px only for pills and stamps.
- Do not treat scallops, stamps, or dot rules as confetti; each must frame content or guide reading order.
- Do not replace narrative structure with a generic component catalogue or analytics grid.
- Do not use pastel background washes, glossy gradients, glass panels, or a fourth accent.
- Do not rely on colour alone for state; combine stamps, shapes, labels, and text.

### Usage Context

Editorial planning tools, children's-literature archives, classroom visual-story builders, museum-education interfaces, creative-writing workspaces, and publishing review screens where warmth and narrative clarity matter.

### Accessibility

Maintain warm-ink-on-paper contrast for primary text; pair red and blue states with labels and marks; keep touch targets at least 44px; preserve visible focus rules; respect prefers-reduced-motion (the landing de-pins to a fully readable settled document).

## Imagery Direction

### Pairs With

tornleaf

### Description

Torn cut-paper collage in the Tornleaf technique: layered hand-torn matte paper with feathery deckle edges, flat poster colours, soft cast shadows between layers, warm limited palette (vermilion, storybook blue, ochre, leaf, night on paper white). In-UI illustration patches are built from CSS primitives; full plates are generated in Tornleaf and consumed through swappable image slots.

### Subjects

- rolling hills
- ochre moon and sun
- a paper fox
- pine silhouettes
- boats and lighthouse towns
- torn painted-paper swatches
DESIGN.md
---
version: "alpha"
name: "Deckle"
description: "Agent-curated design language exported from Katagami as DESIGN.md."
colors:
  bg: "#FBF7EF"
  surface: "#FFFFFF"
  surface_solid: "#FFFFFF"
  text: "#1A1712"
  muted: "#6E685C"
  border: "#ECE4D5"
  accent: "#C0392A"
  accent_2: "#2E5E8C"
  accent_soft: "#C58A24"
  on_accent: "#FFFFFF"
  success: "#3F7A4E"
  warning: "#B7791A"
  error: "#B3261E"
  info: "#2E5E8C"
typography:
  headline-lg:
    fontFamily: "Bricolage Grotesque"
    fontSize: "2.075rem"
    fontWeight: 700
    lineHeight: 1.1
    letterSpacing: "-0.01em"
  headline-md:
    fontFamily: "Bricolage Grotesque"
    fontSize: "1.66rem"
    fontWeight: 600
    lineHeight: 1.15
    letterSpacing: "-0.01em"
  body-md:
    fontFamily: "Newsreader"
    fontSize: "17px"
    fontWeight: 400
    lineHeight: 1.5
    letterSpacing: "-0.01em"
  label-md:
    fontFamily: "Spline Sans Mono"
    fontSize: "0.75rem"
    fontWeight: 600
    lineHeight: 1
    letterSpacing: "0.08em"
rounded:
  none: "0px"
  md: "16px"
  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-surface_solid:
    backgroundColor: "{colors.surface_solid}"
  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-accent_2:
    backgroundColor: "{colors.accent_2}"
  color-reference-accent_soft:
    backgroundColor: "{colors.accent_soft}"
  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}"
  button-primary:
    backgroundColor: "{colors.accent}"
    textColor: "#ffffff"
    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"
---

# Deckle

## Overview

Deckle keeps the soul of mid-century children's-book craft — sequential storytelling, print tactility, a disciplined limited palette, generous quiet paper — but reconceives the expression as cut-paper collage with real depth. Where a flat printed plate lies on the page, Deckle stands its surfaces up: every card is a hand-torn painted-paper plane held in shallow diorama depth, lifted on a soft cast shadow and raked by a moving light. Controls become caption slips, cards become pop-up stages, and the recurring tell is the deckle edge — the feathery torn edge of handmade paper wherever one plane meets another.

### Values

- {"name":"Sequential storytelling","explanation":"Arrange information as a reading journey — beginnings, pauses, reveals, and turns — not a neutral dashboard grid."}
- {"name":"The cut-paper lift","explanation":"Depth comes from a soft paper cast shadow and the torn deckle edge, so surfaces read as cut paper standing off the page — never from a border or ink rule."}
- {"name":"Child-readable clarity","explanation":"Large shapes, few competing colours, strong labels, and generous quiet paper make hierarchy graspable at arm's length."}
- {"name":"Limited-palette discipline","explanation":"Three inks — vermilion, storybook blue, ochre — on paper white and warm ink; bright emphasis is reserved for the page-turn."}
- {"name":"Author–illustrator partnership","explanation":"Text and image complete one another: captions and controls sit beside the illustrated board, never over-writing it."}
- {"name":"Nursery ornament with restraint","explanation":"Scallops, corner stamps, and page folios are framing devices that guide reading order, never confetti."}

### Anti-Values

- {"name":"Bordered boxes","explanation":"No grey borders or single accent edges; a plane is lifted by shadow and torn paper, not outlined."}
- {"name":"Generic SaaS neutrality","explanation":"Not interchangeable white cards with a colour swap; the cut-paper structure must be visible in depth, spacing, and composition."}
- {"name":"Synthetic polish","explanation":"No glossy gradients, glass, or hyper-smooth surfaces that contradict paper warmth."}
- {"name":"Dense administrative tables","explanation":"Picture-book pacing needs pauses and spacious spreads, not spreadsheet density."}

### Visual Character

- Every card is a white cut-paper plane on a soft, corner-matched cast shadow — the cut-paper lift — never a bordered box.
- Torn deckle edges recur wherever one plane meets another; the feathery fibrous edge is the material tell.
- Story cards carry simplified geometric illustration patches — flat gouache circles, hills, moons, suns, silhouettes — built from CSS shapes.
- A raking light follows the pointer across cards and stages, deepening the valleys between layers so depth is felt, not drawn.
- Composition alternates roomy illustrated boards with narrow caption columns and quiet paper fields, broken by one full-width page-turn moment.

## 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 | `#FBF7EF` |
| surface | `#FFFFFF` |
| surface_solid | `#FFFFFF` |
| text | `#1A1712` |
| muted | `#6E685C` |
| border | `#ECE4D5` |
| accent | `#C0392A` |
| accent_2 | `#2E5E8C` |
| accent_soft | `#C58A24` |
| on_accent | `#FFFFFF` |
| success | `#3F7A4E` |
| warning | `#B7791A` |
| error | `#B3261E` |
| info | `#2E5E8C` |

## Typography

- **Headline-Lg**: Bricolage Grotesque, 2.075rem, weight 700, line-height 1.1.
- **Headline-Md**: Bricolage Grotesque, 1.66rem, weight 600, line-height 1.15.
- **Body-Md**: Newsreader, 17px, weight 400, line-height 1.5.
- **Label-Md**: Spline Sans 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`

### Density

Medium-low, to preserve picture-book pacing and image–text interplay. Controls group into caption rails while cut-paper planes keep narrative breathing room.

### Grid

Desktop uses a max-width 1180–1280px grid; a dominant illustrated board pairs with a narrower caption rail (roughly 8/4), with a 3-column story strip below. All containers use CSS grid or flex with minmax(0,1fr) and min-width:0 so children shrink instead of overflowing.

### Whitespace

Quiet paper behaves like the blank page before a turn: generous outer margins, calm interior padding, empty fields around the illustrated shapes. Negative space is intentional and playful, never unfinished.

### Breakpoints

- **Wide**: 1920px+: contained content centred; only full-bleed heroes span 100vw
- **Desktop**: 1200–1919px: illustrated board plus caption rail
- **Tablet**: 768–1199px: single column; caption rails drop below boards; tall paper-ground scenes top-align with folio clearance
- **Mobile**: 0–767px: single column, full-width controls, compact page-turn folio; the landing is re-art-directed as a vertical film
- **Small Mobile**: 480px and below: reduce display type and stack all action groups

## Elevation & Depth

### Shadows

- **Sm**: 0 2px 6px rgba(26,23,18,.10)
- **Md**: 0 10px 24px rgba(26,23,18,.14)
- **Lg**: 0 24px 56px rgba(26,23,18,.20)

## Shapes

### Rounded

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

### Surfaces

- **Treatment**: paper
- **Card Style**: White paper planes on soft, corner-matched cast shadows with torn deckle edges; a pointer-driven raking light rakes across them. No borders.
- **Bg Pattern**: grain

### Borders

- **Default Width**: 0px
- **Accent Width**: 0px
- **Style**: none
- **Character**: No borders. Depth is the cut-paper lift — a soft paper cast shadow and the feathery torn deckle edge — never a rule.

## Components

### Composition

Compose spreads: a dominant illustrated pop-up board paired with a narrower caption rail, then break rhythm with a full-width page-turn moment. Keep to three major clusters at a time; anchor each with a cut-paper plane. Let quiet paper carry anticipation before primary actions. Align controls to caption slips, not arbitrary card centres.

### Hierarchy

Display headings use Bricolage Grotesque at 700–800 with tight tracking. Body and controls use Newsreader for warm editorial clarity. Folios and micro-labels use Spline Sans Mono. Hierarchy is built from scale, depth (cast-shadow lift), and placement on the spread — not colour alone. The warm-red accent marks page-turns, active states, and warnings; most information stays ink on paper.

### Density

Medium-low with deliberate pauses: cards carry 24–26px padding, large gutters, and short measures. Dense data becomes story strips, caption lists, and status stamps.

### Signature Patterns

- The cut-paper lift: white paper planes stand on a soft, corner-matched cast shadow; hover raises the plane and grows the shadow like a pop-up spread opening.
- Raking light: a pointer-driven radial sheen (and a twin-plate cross-blend on the landing stage) rakes across cut-paper depth so one gesture lifts and lights at once.
- Deckle edges: torn, feathery paper edges on key plates and illustration patches — the recurring material signature.
- Page corners and corner stamps: a folded paper corner and a mono page-number stamp mark each turn.
- Scalloped caption rules: a dotted cut-paper underline strip beneath section labels.

## 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-019f9a43-6edb-77e1-8999-d447cdae3a15/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 each screen by deciding the story sequence: what the reader notices, reads, adjusts, and turns to next.
- Do Use warm paper white as the ground; add fine grain with subtle CSS layers, never a muddy wash.
- Do Build depth from the torn deckle edge and a soft paper cast shadow — the cut-paper lift.
- Do Keep tracking tight and crafted across headings, body, labels, and controls.
- Do Pair colour with a stamp, an illustration patch, or a caption ribbon whenever it marks a state change.
- Do Use vermilion sparingly for page-turn actions, active tabs, warnings, and small emphasis stamps.
- Do Reflow spreads responsively: caption rails move below illustrated boards before content ever crowds.
- Do Style every input, select, checkbox, toggle, and focus state so no browser-default chrome breaks the printed world.
- Don't Do not add grey borders or single accent edges; depth is shadow and torn paper, never a rule.
- Don't Do not mix random radii; use 0px for square cuts, 16px or 24px for rare soft cards, 9999px only for pills and stamps.
- Don't Do not treat scallops, stamps, or dot rules as confetti; each must frame content or guide reading order.
- Don't Do not replace narrative structure with a generic component catalogue or analytics grid.
- Don't Do not use pastel background washes, glossy gradients, glass panels, or a fourth accent.
- Don't Do not rely on colour alone for state; combine stamps, shapes, labels, and text.

### Usage Context

Editorial planning tools, children's-literature archives, classroom visual-story builders, museum-education interfaces, creative-writing workspaces, and publishing review screens where warmth and narrative clarity matter.

### Accessibility

Maintain warm-ink-on-paper contrast for primary text; pair red and blue states with labels and marks; keep touch targets at least 44px; preserve visible focus rules; respect prefers-reduced-motion (the landing de-pins to a fully readable settled document).

## Imagery Direction

### Pairs With

tornleaf

### Description

Torn cut-paper collage in the Tornleaf technique: layered hand-torn matte paper with feathery deckle edges, flat poster colours, soft cast shadows between layers, warm limited palette (vermilion, storybook blue, ochre, leaf, night on paper white). In-UI illustration patches are built from CSS primitives; full plates are generated in Tornleaf and consumed through swappable image slots.

### Subjects

- rolling hills
- ochre moon and sun
- a paper fox
- pine silhouettes
- boats and lighthouse towns
- torn painted-paper swatches
shadcn/ui theme
```json
{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "deckle",
  "type": "registry:theme",
  "title": "Deckle shadcn Theme",
  "cssVars": {
    "theme": {},
    "light": {
      "background": "#FBF7EF",
      "foreground": "#1A1712",
      "card": "#FFFFFF",
      "card-foreground": "#1A1712",
      "popover": "#FFFFFF",
      "popover-foreground": "#1A1712",
      "primary": "#1A1712",
      "primary-foreground": "#ffffff",
      "secondary": "#f4f4f5",
      "secondary-foreground": "#111111",
      "muted": "#6E685C",
      "muted-foreground": "#1A1712",
      "accent": "#C0392A",
      "accent-foreground": "#ffffff",
      "destructive": "#B3261E",
      "border": "#ECE4D5",
      "input": "#ECE4D5",
      "ring": "#C0392A",
      "chart-1": "#1A1712",
      "chart-2": "#f4f4f5",
      "chart-3": "#C0392A",
      "chart-4": "#3F7A4E",
      "chart-5": "#B7791A",
      "sidebar": "#FFFFFF",
      "sidebar-foreground": "#1A1712",
      "sidebar-primary": "#1A1712",
      "sidebar-primary-foreground": "#ffffff",
      "sidebar-accent": "#2E5E8C",
      "sidebar-accent-foreground": "#ffffff",
      "sidebar-border": "#ECE4D5",
      "sidebar-ring": "#C0392A",
      "radius": "16px"
    },
    "dark": {
      "background": "#0f1115",
      "foreground": "#f8fafc",
      "card": "#181b22",
      "card-foreground": "#f8fafc",
      "popover": "#181b22",
      "popover-foreground": "#f8fafc",
      "primary": "#1A1712",
      "primary-foreground": "#ffffff",
      "secondary": "#252a33",
      "secondary-foreground": "#f8fafc",
      "muted": "#252a33",
      "muted-foreground": "#a1a1aa",
      "accent": "#C0392A",
      "accent-foreground": "#ffffff",
      "destructive": "#B3261E",
      "border": "#303642",
      "input": "#303642",
      "ring": "#C0392A",
      "chart-1": "#1A1712",
      "chart-2": "#f4f4f5",
      "chart-3": "#C0392A",
      "chart-4": "#3F7A4E",
      "chart-5": "#B7791A",
      "sidebar": "#181b22",
      "sidebar-foreground": "#f8fafc",
      "sidebar-primary": "#1A1712",
      "sidebar-primary-foreground": "#ffffff",
      "sidebar-accent": "#C0392A",
      "sidebar-accent-foreground": "#ffffff",
      "sidebar-border": "#303642",
      "sidebar-ring": "#C0392A",
      "radius": "16px"
    }
  },
  "meta": {
    "source": "katagami",
    "languageId": "en-019f9a43-6edb-77e1-8999-d447cdae3a15",
    "slug": "deckle",
    "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_soft",
        "bg",
        "border",
        "error",
        "info",
        "muted",
        "on_accent",
        "success",
        "surface",
        "surface_solid",
        "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": [
        "full",
        "lg",
        "md",
        "none"
      ],
      "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

DESIGN.md

at a glance

Typography

headline-lgBricolage Grotesque · 33px · 700

The quick brown fox jumps

headline-mdBricolage Grotesque · 27px · 600

The quick brown fox jumps

body-mdNewsreader · 17px · 400

The quick brown fox jumps

label-mdSpline Sans Mono · 12px · 600

The quick brown fox jumps

shadcn/ui

implementation kit

built with
Palette
Credits · in the lineage of
  • Mid-century children's picture-book cut-paper illustrationTraditionthe collage-and-gouache picture-book craft this language descends from
  • Papier collétechniquepasted-paper collage; layered torn paper as a composition method
  • Découpagetechniquecut-paper decoration and silhouette shaping
  • Gouache-découpé (cut-paper gouache) traditionMovementflat, bold cut-paper shapes in matte colour

A generated style is an aggregate of many influences — credit is given to the artists and traditions it draws on, not a claim of authorship.

remix lane

try a remix

Keep Deckle and swap a palette and an art style onto it. The landing & dashboard recolor live.

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

More like this