back to gallery
design language·tamago

Tamago

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 capsule-toy habit tracker dressed as a lit gachapon machine. The cute-functional Japanese-stationery productivity brief, reimagined as a collectible reward loop: every habit is a glossy capsule you crank open. Finish a task, twist the dial, and a capsule fills with light and drops onto your shelf, rarity ring and all. The unit of the whole system is the round capsule token, not a rectangular sticker, set against a deep candy-grape ground that glows like a backlit vending machine.
values
Reward-loop duality — every cute element does a job: the capsule fill is progress, its colour is the set, its ring is rarity, the dial is the act of finishing.Collecting over guilt — themed sets and a shelf you fill, so a missed day never wipes the board; you are gathering capsules, not balancing a streak on a tightrope.A lit-machine ground — the deep candy-grape backlight makes candy-pastel capsules glow like toys, lowering the barrier to opening the app.Bouncy capsule pop — spring-eased motion rewards a twist of the dial and settles, never sluggish.Rarity that means effort — a lilac ring is a legendary, earned by completing a hard set, never decoration.Playful without patronising — 17px high-contrast reading on grape and clear semantics respect adult users.
anti-values
×A cream or white default ground — the grape backlight is the identity×The oversized italic-serif startup headline; the voice is rounded, bold Baloo×Sharp corners, arbitrary in-between radii, or grey/heavy borders and grey shadows×Colour-alone status, a single accent edge on a card, nested cards, or a boxed-in floating nav×Reading this as the refined sticker-planner recoloured — the token, the dial and the machine layout are a different idea
tokens
colors19 items
bg
#241033
bg_2
#2f1644
surface
#3a1d52
surface_2
#472563
text
#fbf4ff
muted
#c0a8d6
border
#5a3577
accent
#67e8c3
on_accent
#10241f
accent_2
#ffb27a
accent_3
#7cc7ff
lilac
#c89bff
butter
#ffe08a
primary
#67e8c3
secondary
#ffb27a
success
#67e8c3
warning
#ffe08a
error
#ff8aa8
info
#7cc7ff
typography10 items
base size
17px
body font
Mulish
heading font
Baloo 2
mono font
JetBrains Mono
heading weight
800
heading transform
none
letter spacing
-0.02em
line height
1.6
scale ratio
1.2
google fonts url
https://fonts.googleapis.com/css2?family=Baloo+2:wght@500;600;700;800&family=Mulish:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap
radii4 items
none
0px
chip
16px
pod
24px
full
9999px
shadows4 items
sm
0 4px 14px rgba(12,4,24,.40)
md
0 10px 30px rgba(12,4,24,.45), 0 2px 8px rgba(103,232,195,.10)
lg
0 16px 38px rgba(12,4,24,.50)
glow mint
0 0 0 4px rgba(103,232,195,.18)
spacing2 items
base
4px
scale
0, 4px, 8px, 12px, 16px, 24px, 32px, 48px, 64px, 96px, 128px
surfaces5 items
card style
glossy capsule pod: 24px radius surface card on deep candy-grape, dark-grape lift shadow with a faint mint glow, no border; the signature capsule token is a circular dome with a rising coloured fill, a top sheen and an optional rarity ring
bg pattern
deep candy-grape ground with a faint lilac low-opacity dot grid, like a backlit vending machine
primary gradient
radial-gradient(circle at 30% 28%, #bff7e6 0 18%, #67e8c3 19% 64%, #2bbf9a 65% 100%)
fill gradient
linear-gradient(90deg, #2bbf9a, #67e8c3)
treatment
candy-pastel highlighters glowing against a dark grape ground, two-stop gradients on capsule fills and dial knobs only
borders4 items
default color
transparent
default width
0px
style
none
character
borderless; surfaces are separated by colour, lift shadow and space — never grey rules, never a single accent edge
motion3 items
duration
300ms
easing
cubic-bezier(0.34, 1.56, 0.64, 1)
philosophy
bouncy capsule pop and dial twist; hover lifts and scales a hair and the dial slot rotates a quarter-turn; settled state is the default and renders with no JS; reduced to near-instant with no overshoot for prefers-reduced-motion
rules
composition

Deep candy-grape ground; capsule tokens and pods float on it with dark-grape lift shadows. Asymmetric machine/shelf layout, open masthead, full-bleed hero only.

hierarchy
Primary signal is the single mint turn-dial action; secondary is solid surface pills; tertiary is quiet muted text. Capsule fill + rarity ring carry data hierarchy.
density

Comfortable; generous padding so capsule tokens and pods breathe, titles padded from the top edge.

signature

The capsule token (fill = progress, colour = set, ring = rarity) and the turn-dial; a machine-plus-shelf collection layout and fill-arc streak rails.

layout
grid
type
asymmetric machine + shelf
max width
1200px
gutter
24px
margin
40px desktop, 24px tablet, 16px mobile
column behavior
minmax(0,1fr) columns with min-width:0 children so grids never blow out
whitespace
approach
generous so capsule tokens and pods never feel cramped
card gap
24px
content padding
32px in panels, 24px in cards
section gap
96px desktop, 48px tablet, 32px mobile
density
default mode
comfortable
comfortable
button height 46px pill·input height 48px pill·row height 52px
compact
button height 36px pill·input height 38px pill·row height 40px
responsive
single column on mobile with the rail collapsed to a row and non-essential table columns dropped; contained content capped and centred on ultra-wide; only the full-bleed hero spans 100vw
breakpoints
mobile
min width 390px·columns 4
tablet
min width 768px·columns 8
desktop
min width 1200px·columns 12
ultrawide
min width 2000px·note cap content at 1320px, centre
guidance
do
  • Make the capsule token earn its three readings — fill is progress, colour is the set, the ring is rarity; never decorative.
  • Keep the turn-dial the one primary action per view; keep every other control quieter.
  • Tint every shadow dark-grape with a faint mint glow, never grey.
  • Pair every meaningful colour with a text label or a named pip.
  • Use Baloo 2 for display and Mulish at 17px for body — rounded, bold, high contrast on grape.
  • Pair imagery with Kisscut: glossy die-cut capsule stickers on a grape dot-grid sheet.
  • Render the full settled state with no JS; gate motion behind a .js class and respect prefers-reduced-motion.
avoid
  • Don't drop to a cream or white ground — the grape backlight is the identity.
  • Don't ship the oversized italic-serif startup headline.
  • Don't box the nav into a floating pill bar, and never nest cards.
  • Don't add a single accent edge to a card, or use colour alone for status.
  • Don't let any control ship a browser default — pills and pods only.
  • Don't use arbitrary radii or grey/heavy borders.
imagery
pairs with

kisscut

summary
Glossy die-cut kawaii peel-off stickers of capsule toys, dispenser domes and tiny mascot blobs, each with a thick white kiss-cut border and a soft pastel-tinted lift shadow, set on a deep candy-grape dot-grid sheet with washi tape and star/sparkle ornaments so capsules glow like backlit toys.
subjects
a single giant glowing gachapon capsule with a mascot blob insidea capsule-dispenser dome with a turn-dial crankclusters of pastel half-capsulestiny smiling mascot blobsstar and sparkle ornamentswashi-tape strips
usage
One large capsule sticker as the full-bleed hero amid a dense companion cluster; single capsule stickers for feature/empty-state slots; never a flat borderless illustration and never on a cream or white ground.
katagami spec
# Tamago

## Philosophy

A capsule-toy habit tracker dressed as a lit gachapon machine. The cute-functional Japanese-stationery productivity brief, reimagined as a collectible reward loop: every habit is a glossy capsule you crank open. Finish a task, twist the dial, and a capsule fills with light and drops onto your shelf, rarity ring and all. The unit of the whole system is the round capsule token, not a rectangular sticker, set against a deep candy-grape ground that glows like a backlit vending machine.

### Values

- Reward-loop duality — every cute element does a job: the capsule fill is progress, its colour is the set, its ring is rarity, the dial is the act of finishing.
- Collecting over guilt — themed sets and a shelf you fill, so a missed day never wipes the board; you are gathering capsules, not balancing a streak on a tightrope.
- A lit-machine ground — the deep candy-grape backlight makes candy-pastel capsules glow like toys, lowering the barrier to opening the app.
- Bouncy capsule pop — spring-eased motion rewards a twist of the dial and settles, never sluggish.
- Rarity that means effort — a lilac ring is a legendary, earned by completing a hard set, never decoration.
- Playful without patronising — 17px high-contrast reading on grape and clear semantics respect adult users.

### Anti-Values

- A cream or white default ground — the grape backlight is the identity
- The oversized italic-serif startup headline; the voice is rounded, bold Baloo
- Sharp corners, arbitrary in-between radii, or grey/heavy borders and grey shadows
- Colour-alone status, a single accent edge on a card, nested cards, or a boxed-in floating nav
- Reading this as the refined sticker-planner recoloured — the token, the dial and the machine layout are a different idea

### Visual Character

- The capsule token: a circular glossy dome with a top sheen, a coloured fill that rises from the bottom with progress, a soft mascot face, and an optional rarity ring (a thin coloured halo) — one token carries fill, set-colour and rarity at once, recolouring entirely from role vars.
- The turn-dial primary button: a knurled mint radial-gradient knob with a centre slot that rotates a quarter-turn on hover; the single loud action everywhere, the rest quieter.
- Asymmetric machine layout: a vending-dispenser column (the hopper) beside an open collection shelf, with locked slots left striped so the gap to a full set is always legible.
- Fill-arc streak rails: pill rails that charge with a two-stop glow and a leading-edge bloom, each tagged with a category pip so colour reads as a code.
- Bouncy capsule pop on cubic-bezier(0.34,1.56,0.64,1) lifts cards and controls; the settled, fully-rendered state renders with no JS and respects prefers-reduced-motion.

## Tokens

### Colors

| Name | Value |
|------|-------|
| bg | `#241033` |
| bg_2 | `#2f1644` |
| surface | `#3a1d52` |
| surface_2 | `#472563` |
| text | `#fbf4ff` |
| muted | `#c0a8d6` |
| border | `#5a3577` |
| accent | `#67e8c3` |
| on_accent | `#10241f` |
| accent_2 | `#ffb27a` |
| accent_3 | `#7cc7ff` |
| lilac | `#c89bff` |
| butter | `#ffe08a` |
| primary | `#67e8c3` |
| secondary | `#ffb27a` |
| success | `#67e8c3` |
| warning | `#ffe08a` |
| error | `#ff8aa8` |
| info | `#7cc7ff` |

### Typography

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

### Radii

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

### Shadows

- **Sm**: 0 4px 14px rgba(12,4,24,.40)
- **Md**: 0 10px 30px rgba(12,4,24,.45), 0 2px 8px rgba(103,232,195,.10)
- **Lg**: 0 16px 38px rgba(12,4,24,.50)
- **Glow Mint**: 0 0 0 4px rgba(103,232,195,.18)

### Spacing

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

### Surfaces

- **Card Style**: glossy capsule pod: 24px radius surface card on deep candy-grape, dark-grape lift shadow with a faint mint glow, no border; the signature capsule token is a circular dome with a rising coloured fill, a top sheen and an optional rarity ring
- **Bg Pattern**: deep candy-grape ground with a faint lilac low-opacity dot grid, like a backlit vending machine
- **Primary Gradient**: radial-gradient(circle at 30% 28%, #bff7e6 0 18%, #67e8c3 19% 64%, #2bbf9a 65% 100%)
- **Fill Gradient**: linear-gradient(90deg, #2bbf9a, #67e8c3)
- **Treatment**: candy-pastel highlighters glowing against a dark grape ground, two-stop gradients on capsule fills and dial knobs only

### Borders

- **Default Color**: transparent
- **Default Width**: 0px
- **Style**: none
- **Character**: borderless; surfaces are separated by colour, lift shadow and space — never grey rules, never a single accent edge

### Motion

- **Duration**: 300ms
- **Easing**: cubic-bezier(0.34, 1.56, 0.64, 1)
- **Philosophy**: bouncy capsule pop and dial twist; hover lifts and scales a hair and the dial slot rotates a quarter-turn; settled state is the default and renders with no JS; reduced to near-instant with no overshoot for prefers-reduced-motion

## Rules

### Composition

Deep candy-grape ground; capsule tokens and pods float on it with dark-grape lift shadows. Asymmetric machine/shelf layout, open masthead, full-bleed hero only.

### Hierarchy

Primary signal is the single mint turn-dial action; secondary is solid surface pills; tertiary is quiet muted text. Capsule fill + rarity ring carry data hierarchy.

### Density

Comfortable; generous padding so capsule tokens and pods breathe, titles padded from the top edge.

### Signature

The capsule token (fill = progress, colour = set, ring = rarity) and the turn-dial; a machine-plus-shelf collection layout and fill-arc streak rails.

## Layout

### Grid

- **Type**: asymmetric machine + shelf
- **Max Width**: 1200px
- **Gutter**: 24px
- **Margin**: 40px desktop, 24px tablet, 16px mobile
- **Column Behavior**: minmax(0,1fr) columns with min-width:0 children so grids never blow out

### Whitespace

- **Approach**: generous so capsule tokens and pods never feel cramped
- **Card Gap**: 24px
- **Content Padding**: 32px in panels, 24px in cards
- **Section Gap**: 96px desktop, 48px tablet, 32px mobile

### Density

- **Default Mode**: comfortable
- **Comfortable**: {"button_height":"46px pill","input_height":"48px pill","row_height":"52px"}
- **Compact**: {"button_height":"36px pill","input_height":"38px pill","row_height":"40px"}

### Responsive

single column on mobile with the rail collapsed to a row and non-essential table columns dropped; contained content capped and centred on ultra-wide; only the full-bleed hero spans 100vw

### Breakpoints

- **Mobile**: {"min_width":"390px","columns":4}
- **Tablet**: {"min_width":"768px","columns":8}
- **Desktop**: {"min_width":"1200px","columns":12}
- **Ultrawide**: {"min_width":"2000px","note":"cap content at 1320px, centre"}

## Guidance

### Do

- Make the capsule token earn its three readings — fill is progress, colour is the set, the ring is rarity; never decorative.
- Keep the turn-dial the one primary action per view; keep every other control quieter.
- Tint every shadow dark-grape with a faint mint glow, never grey.
- Pair every meaningful colour with a text label or a named pip.
- Use Baloo 2 for display and Mulish at 17px for body — rounded, bold, high contrast on grape.
- Pair imagery with Kisscut: glossy die-cut capsule stickers on a grape dot-grid sheet.
- Render the full settled state with no JS; gate motion behind a .js class and respect prefers-reduced-motion.

### Don't

- Don't drop to a cream or white ground — the grape backlight is the identity.
- Don't ship the oversized italic-serif startup headline.
- Don't box the nav into a floating pill bar, and never nest cards.
- Don't add a single accent edge to a card, or use colour alone for status.
- Don't let any control ship a browser default — pills and pods only.
- Don't use arbitrary radii or grey/heavy borders.

### Accessibility

Body text 17px at high contrast (#fbf4ff on #241033). Focus rings are a 3px sky outline with 2px offset. Rarity and category are always colour plus a labelled pip; decorative capsules are aria-hidden; progress rails carry value semantics. Motion reduces to near-instant with no overshoot under prefers-reduced-motion.

## Imagery Direction

### Pairs With

kisscut

### Summary

Glossy die-cut kawaii peel-off stickers of capsule toys, dispenser domes and tiny mascot blobs, each with a thick white kiss-cut border and a soft pastel-tinted lift shadow, set on a deep candy-grape dot-grid sheet with washi tape and star/sparkle ornaments so capsules glow like backlit toys.

### Subjects

- a single giant glowing gachapon capsule with a mascot blob inside
- a capsule-dispenser dome with a turn-dial crank
- clusters of pastel half-capsules
- tiny smiling mascot blobs
- star and sparkle ornaments
- washi-tape strips

### Usage

One large capsule sticker as the full-bleed hero amid a dense companion cluster; single capsule stickers for feature/empty-state slots; never a flat borderless illustration and never on a cream or white ground.
DESIGN.md
---
version: "alpha"
name: "Tamago"
description: "Agent-curated design language exported from Katagami as DESIGN.md."
colors:
  bg: "#241033"
  bg_2: "#2f1644"
  surface: "#3a1d52"
  surface_2: "#472563"
  text: "#fbf4ff"
  muted: "#c0a8d6"
  border: "#5a3577"
  accent: "#67e8c3"
  on_accent: "#10241f"
  accent_2: "#ffb27a"
  accent_3: "#7cc7ff"
  lilac: "#c89bff"
  butter: "#ffe08a"
  primary: "#67e8c3"
  secondary: "#ffb27a"
  success: "#67e8c3"
  warning: "#ffe08a"
  error: "#ff8aa8"
  info: "#7cc7ff"
typography:
  headline-lg:
    fontFamily: "Baloo 2"
    fontSize: "2.075rem"
    fontWeight: 700
    lineHeight: 1.1
    letterSpacing: "-0.02em"
  headline-md:
    fontFamily: "Baloo 2"
    fontSize: "1.66rem"
    fontWeight: 600
    lineHeight: 1.15
    letterSpacing: "-0.02em"
  body-md:
    fontFamily: "Mulish"
    fontSize: "17px"
    fontWeight: 400
    lineHeight: 1.5
    letterSpacing: "-0.02em"
  label-md:
    fontFamily: "JetBrains Mono"
    fontSize: "0.75rem"
    fontWeight: 600
    lineHeight: 1
    letterSpacing: "0.08em"
rounded:
  none: "0px"
  chip: "16px"
  pod: "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-bg_2:
    backgroundColor: "{colors.bg_2}"
  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-lilac:
    backgroundColor: "{colors.lilac}"
  color-reference-butter:
    backgroundColor: "{colors.butter}"
  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"
---

# Tamago

## Overview

A capsule-toy habit tracker dressed as a lit gachapon machine. The cute-functional Japanese-stationery productivity brief, reimagined as a collectible reward loop: every habit is a glossy capsule you crank open. Finish a task, twist the dial, and a capsule fills with light and drops onto your shelf, rarity ring and all. The unit of the whole system is the round capsule token, not a rectangular sticker, set against a deep candy-grape ground that glows like a backlit vending machine.

### Values

- Reward-loop duality — every cute element does a job: the capsule fill is progress, its colour is the set, its ring is rarity, the dial is the act of finishing.
- Collecting over guilt — themed sets and a shelf you fill, so a missed day never wipes the board; you are gathering capsules, not balancing a streak on a tightrope.
- A lit-machine ground — the deep candy-grape backlight makes candy-pastel capsules glow like toys, lowering the barrier to opening the app.
- Bouncy capsule pop — spring-eased motion rewards a twist of the dial and settles, never sluggish.
- Rarity that means effort — a lilac ring is a legendary, earned by completing a hard set, never decoration.
- Playful without patronising — 17px high-contrast reading on grape and clear semantics respect adult users.

### Anti-Values

- A cream or white default ground — the grape backlight is the identity
- The oversized italic-serif startup headline; the voice is rounded, bold Baloo
- Sharp corners, arbitrary in-between radii, or grey/heavy borders and grey shadows
- Colour-alone status, a single accent edge on a card, nested cards, or a boxed-in floating nav
- Reading this as the refined sticker-planner recoloured — the token, the dial and the machine layout are a different idea

### Visual Character

- The capsule token: a circular glossy dome with a top sheen, a coloured fill that rises from the bottom with progress, a soft mascot face, and an optional rarity ring (a thin coloured halo) — one token carries fill, set-colour and rarity at once, recolouring entirely from role vars.
- The turn-dial primary button: a knurled mint radial-gradient knob with a centre slot that rotates a quarter-turn on hover; the single loud action everywhere, the rest quieter.
- Asymmetric machine layout: a vending-dispenser column (the hopper) beside an open collection shelf, with locked slots left striped so the gap to a full set is always legible.
- Fill-arc streak rails: pill rails that charge with a two-stop glow and a leading-edge bloom, each tagged with a category pip so colour reads as a code.
- Bouncy capsule pop on cubic-bezier(0.34,1.56,0.64,1) lifts cards and controls; the settled, fully-rendered 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 | `#241033` |
| bg_2 | `#2f1644` |
| surface | `#3a1d52` |
| surface_2 | `#472563` |
| text | `#fbf4ff` |
| muted | `#c0a8d6` |
| border | `#5a3577` |
| accent | `#67e8c3` |
| on_accent | `#10241f` |
| accent_2 | `#ffb27a` |
| accent_3 | `#7cc7ff` |
| lilac | `#c89bff` |
| butter | `#ffe08a` |
| primary | `#67e8c3` |
| secondary | `#ffb27a` |
| success | `#67e8c3` |
| warning | `#ffe08a` |
| error | `#ff8aa8` |
| info | `#7cc7ff` |

## Typography

- **Headline-Lg**: Baloo 2, 2.075rem, weight 700, line-height 1.1.
- **Headline-Md**: Baloo 2, 1.66rem, weight 600, line-height 1.15.
- **Body-Md**: Mulish, 17px, weight 400, line-height 1.5.
- **Label-Md**: JetBrains Mono, 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**: asymmetric machine + shelf
- **Max Width**: 1200px
- **Gutter**: 24px
- **Margin**: 40px desktop, 24px tablet, 16px mobile
- **Column Behavior**: minmax(0,1fr) columns with min-width:0 children so grids never blow out

### Whitespace

- **Approach**: generous so capsule tokens and pods never feel cramped
- **Card Gap**: 24px
- **Content Padding**: 32px in panels, 24px in cards
- **Section Gap**: 96px desktop, 48px tablet, 32px mobile

### Density

- **Default Mode**: comfortable
- **Comfortable**: {"button_height":"46px pill","input_height":"48px pill","row_height":"52px"}
- **Compact**: {"button_height":"36px pill","input_height":"38px pill","row_height":"40px"}

### Responsive

single column on mobile with the rail collapsed to a row and non-essential table columns dropped; contained content capped and centred on ultra-wide; only the full-bleed hero spans 100vw

### Breakpoints

- **Mobile**: {"min_width":"390px","columns":4}
- **Tablet**: {"min_width":"768px","columns":8}
- **Desktop**: {"min_width":"1200px","columns":12}
- **Ultrawide**: {"min_width":"2000px","note":"cap content at 1320px, centre"}

## Elevation & Depth

### Shadows

- **Sm**: 0 4px 14px rgba(12,4,24,.40)
- **Md**: 0 10px 30px rgba(12,4,24,.45), 0 2px 8px rgba(103,232,195,.10)
- **Lg**: 0 16px 38px rgba(12,4,24,.50)
- **Glow Mint**: 0 0 0 4px rgba(103,232,195,.18)

## Shapes

### Rounded

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

### Surfaces

- **Card Style**: glossy capsule pod: 24px radius surface card on deep candy-grape, dark-grape lift shadow with a faint mint glow, no border; the signature capsule token is a circular dome with a rising coloured fill, a top sheen and an optional rarity ring
- **Bg Pattern**: deep candy-grape ground with a faint lilac low-opacity dot grid, like a backlit vending machine
- **Primary Gradient**: radial-gradient(circle at 30% 28%, #bff7e6 0 18%, #67e8c3 19% 64%, #2bbf9a 65% 100%)
- **Fill Gradient**: linear-gradient(90deg, #2bbf9a, #67e8c3)
- **Treatment**: candy-pastel highlighters glowing against a dark grape ground, two-stop gradients on capsule fills and dial knobs only

### Borders

- **Default Color**: transparent
- **Default Width**: 0px
- **Style**: none
- **Character**: borderless; surfaces are separated by colour, lift shadow and space — never grey rules, never a single accent edge

## Components

### Composition

Deep candy-grape ground; capsule tokens and pods float on it with dark-grape lift shadows. Asymmetric machine/shelf layout, open masthead, full-bleed hero only.

### Hierarchy

Primary signal is the single mint turn-dial action; secondary is solid surface pills; tertiary is quiet muted text. Capsule fill + rarity ring carry data hierarchy.

### Density

Comfortable; generous padding so capsule tokens and pods breathe, titles padded from the top edge.

### Signature

The capsule token (fill = progress, colour = set, ring = rarity) and the turn-dial; a machine-plus-shelf collection layout and fill-arc streak rails.

## 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-019ef926-c142-7ac1-a259-24d4f2cce669/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 Make the capsule token earn its three readings — fill is progress, colour is the set, the ring is rarity; never decorative.
- Do Keep the turn-dial the one primary action per view; keep every other control quieter.
- Do Tint every shadow dark-grape with a faint mint glow, never grey.
- Do Pair every meaningful colour with a text label or a named pip.
- Do Use Baloo 2 for display and Mulish at 17px for body — rounded, bold, high contrast on grape.
- Do Pair imagery with Kisscut: glossy die-cut capsule stickers on a grape dot-grid sheet.
- Do Render the full settled state with no JS; gate motion behind a .js class and respect prefers-reduced-motion.
- Don't Don't drop to a cream or white ground — the grape backlight is the identity.
- Don't Don't ship the oversized italic-serif startup headline.
- Don't Don't box the nav into a floating pill bar, and never nest cards.
- Don't Don't add a single accent edge to a card, or use colour alone for status.
- Don't Don't let any control ship a browser default — pills and pods only.
- Don't Don't use arbitrary radii or grey/heavy borders.

### Accessibility

Body text 17px at high contrast (#fbf4ff on #241033). Focus rings are a 3px sky outline with 2px offset. Rarity and category are always colour plus a labelled pip; decorative capsules are aria-hidden; progress rails carry value semantics. Motion reduces to near-instant with no overshoot under prefers-reduced-motion.

## Imagery Direction

### Pairs With

kisscut

### Summary

Glossy die-cut kawaii peel-off stickers of capsule toys, dispenser domes and tiny mascot blobs, each with a thick white kiss-cut border and a soft pastel-tinted lift shadow, set on a deep candy-grape dot-grid sheet with washi tape and star/sparkle ornaments so capsules glow like backlit toys.

### Subjects

- a single giant glowing gachapon capsule with a mascot blob inside
- a capsule-dispenser dome with a turn-dial crank
- clusters of pastel half-capsules
- tiny smiling mascot blobs
- star and sparkle ornaments
- washi-tape strips

### Usage

One large capsule sticker as the full-bleed hero amid a dense companion cluster; single capsule stickers for feature/empty-state slots; never a flat borderless illustration and never on a cream or white ground.
shadcn/ui theme
```json
{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "tamago",
  "type": "registry:theme",
  "title": "Tamago shadcn Theme",
  "cssVars": {
    "theme": {},
    "light": {
      "background": "#241033",
      "foreground": "#fbf4ff",
      "card": "#3a1d52",
      "card-foreground": "#fbf4ff",
      "popover": "#3a1d52",
      "popover-foreground": "#fbf4ff",
      "primary": "#67e8c3",
      "primary-foreground": "#111111",
      "secondary": "#ffb27a",
      "secondary-foreground": "#111111",
      "muted": "#c0a8d6",
      "muted-foreground": "#fbf4ff",
      "accent": "#67e8c3",
      "accent-foreground": "#111111",
      "destructive": "#ff8aa8",
      "border": "#5a3577",
      "input": "#5a3577",
      "ring": "#67e8c3",
      "chart-1": "#67e8c3",
      "chart-2": "#ffb27a",
      "chart-3": "#67e8c3",
      "chart-4": "#67e8c3",
      "chart-5": "#ffe08a",
      "sidebar": "#3a1d52",
      "sidebar-foreground": "#fbf4ff",
      "sidebar-primary": "#67e8c3",
      "sidebar-primary-foreground": "#111111",
      "sidebar-accent": "#7cc7ff",
      "sidebar-accent-foreground": "#ffffff",
      "sidebar-border": "#5a3577",
      "sidebar-ring": "#67e8c3",
      "radius": "0.625rem"
    },
    "dark": {
      "background": "#0f1115",
      "foreground": "#f8fafc",
      "card": "#181b22",
      "card-foreground": "#f8fafc",
      "popover": "#181b22",
      "popover-foreground": "#f8fafc",
      "primary": "#67e8c3",
      "primary-foreground": "#111111",
      "secondary": "#252a33",
      "secondary-foreground": "#f8fafc",
      "muted": "#252a33",
      "muted-foreground": "#a1a1aa",
      "accent": "#67e8c3",
      "accent-foreground": "#111111",
      "destructive": "#ff8aa8",
      "border": "#303642",
      "input": "#303642",
      "ring": "#67e8c3",
      "chart-1": "#67e8c3",
      "chart-2": "#ffb27a",
      "chart-3": "#67e8c3",
      "chart-4": "#67e8c3",
      "chart-5": "#ffe08a",
      "sidebar": "#181b22",
      "sidebar-foreground": "#f8fafc",
      "sidebar-primary": "#67e8c3",
      "sidebar-primary-foreground": "#111111",
      "sidebar-accent": "#67e8c3",
      "sidebar-accent-foreground": "#111111",
      "sidebar-border": "#303642",
      "sidebar-ring": "#67e8c3",
      "radius": "0.625rem"
    }
  },
  "meta": {
    "source": "katagami",
    "languageId": "en-019ef926-c142-7ac1-a259-24d4f2cce669",
    "slug": "tamago",
    "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",
        "bg_2",
        "border",
        "butter",
        "error",
        "info",
        "lilac",
        "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": [
        "chip",
        "full",
        "none",
        "pod"
      ],
      "shadows": [
        "glow_mint",
        "lg",
        "md",
        "sm"
      ],
      "spacing": [
        "base",
        "scale"
      ],
      "surfaces": [
        "bg_pattern",
        "card_style",
        "fill_gradient",
        "primary_gradient",
        "treatment"
      ],
      "borders": [
        "character",
        "default_color",
        "default_width",
        "style"
      ],
      "motion": [
        "duration",
        "easing",
        "philosophy"
      ]
    }
  }
}
```
in the wild

embodiments

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

at a glance

Typography

headline-lgBaloo 2 · 33px · 700

The quick brown fox jumps

headline-mdBaloo 2 · 27px · 600

The quick brown fox jumps

body-mdMulish · 17px · 400

The quick brown fox jumps

label-mdJetBrains Mono · 12px · 600

The quick brown fox jumps

shadcn/ui

implementation kit

built with

Agent-generated

remix lane

try a remix

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

Family

Evolved from
related

More like this