back to gallery
design language·florette

Florette

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
Florette is a superflat sticker press for the screen. It dresses an interface like a sheet of die-cut vinyl decals: every surface is a flat white sticker bounded by a thick ink contour and dropped one notch onto a single hard candy color-block, packed across a hot bubblegum ground that never goes empty or white. It is the faithful glow-up of Superflat Pop Graphics — same depthless poster idea, same candy chroma, brought up to standard: three accents used like highlighters, disciplined geometry, an open masthead, and a saturated ground in place of the source's near-white default.
values
The offset ink-sticker: every surface is a white decal with a 3pt ink contour and one hard color-block offset; depth from ink and colour, never gradients or soft shadow.Candy as ground: a saturated bubblegum field carries the page, white carries the reading; the candy is the page, not a wash on a blank sheet.Ornament as structure: the smiling flower-bloom medallion and halftone dot fields fill gaps and anchor corners so the page reads packed and poster-like.Three highlighters: cyan, yellow, and bubblegum used like highlighters; ink is the structural neutral, semantic colour stays a small supporting part.Joyful but disciplined: bright and clean, never muddy — collectible-badge controls and loud ribbons, but everything fits, aligns, and stays legible.
anti-values
×Defaulting to a white or pale ground — the near-white default this language deliberately reverses.×Gradients, glow, ambient shadow, or any cue of physical depth.×More than three candy accents, or muting them into pastel SaaS tones.×Boxing the nav into a floating pill bar, nesting cards, or putting an accent edge on a card.×Emoji or symbol glyphs in copy or buttons; large empty neutral stretches that break the poster compression.
tokens
colors18 items
bg
#FF2D86
bg_deep
#E01E70
surface
#FFFFFF
surface_2
#FFF3D6
ink
#111014
text
#131019
muted
#6B6478
on_ground
#FFFFFF
on_ground_muted
#FFE0EF
accent
#1FC8E8
accent_2
#FFD23F
accent_3
#FF2D86
on_accent
#111014
border
#111014
success
#18C47D
warning
#FFB21A
error
#FF4D6D
info
#1FC8E8
typography8 items
base size
17px
body font
Nunito
heading font
Baloo 2
mono font
IBM Plex Mono
heading weight
800
heading transform
none
letter spacing
-0.01em
google fonts url
https://fonts.googleapis.com/css2?family=Baloo+2:wght@500;600;700;800&family=Nunito:wght@400;600;700;800&family=IBM+Plex+Mono:wght@500;600&display=swap
radii5 items
none
0
sm
16px
md
24px
lg
24px
full
9999px
shadows5 items
sm
4px 4px 0 #111014
md
6px 6px 0 #111014
cyan
6px 6px 0 #1FC8E8
yellow
6px 6px 0 #FFD23F
magenta
6px 6px 0 #FF2D86
spacing2 items
base
6px
scale
6px, 12px, 18px, 28px, 44px, 68px, 104px
surfaces3 items
ground
hot bubblegum magenta carried by a fine halftone dot field — the page itself
card
flat white sticker, 3pt ink contour, 24px radius, dropped one notch onto a hard candy color-block
rail
deep magenta for the dashboard rail and full-bleed bands
borders4 items
default width
3px
accent width
5px
style
solid
character
thick uniform ink contour on every major shape, like manga line work; never hairline, grey, or an accent edge
motion3 items
duration
170ms
easing
cubic-bezier(.2,.8,.2,1)
philosophy
snappy press feel: buttons translate 3px on active and the offset shadow shrinks; landing reveals are scroll-triggered on top of a fully-settled no-JS state; respects prefers-reduced-motion
rules
composition
A saturated bubblegum ground carries the page; flat white sticker cards float on it, each dropped onto a hard candy color-block. The landing opens on a full-viewport Decal Bloom hero with a white ink-bordered card anchoring the copy. Below, sections alternate families — a split lead, a three-up feature row, a full-bleed deep step band, a two-up pricing row, a centred candy CTA — never a repeating grid of equal cards. Halftone dots and bloom medallions fill the gaps.
hierarchy
Hierarchy from candy colour, ink weight, and type scale; one cyan primary action leads each view while quiet white and yellow-ghost controls recede. Section heads carry an ink-bordered mono tag; loud candy ribbons and ink counter chips separate major zones.
density
High-density but controlled: ornament and dot fields are welcome as active structure, but every content zone is a clean ink-bordered white surface with generous internal spacing and AA-legible reading.
signature
The offset ink-sticker — a flat white surface with a 3pt ink contour dropped 6px onto a solid candy color-block (cyan / yellow / magenta), never blurred — plus the recurring smiling flower-bloom medallion that anchors the brand mark, fills corners, and tips the bar-chart leader.
layout
grid
12-column max-1180px contained content on a full-bleed bubblegum ground; the landing hero spans 100vw x 100svh, full-bleed deep bands and the candy CTA span 100vw; the dashboard is a 248px deep rail + fluid main.
whitespace

Compressed-but-controlled poster rhythm; always pad above titles; fill empty air with candy and dots, never with a blank neutral stretch.

density

medium-to-high

responsive
Stack to a single column on mobile, hide the masthead nav and non-essential table columns, never overflow horizontally; cap and centre on ultra-wide while only the hero and full-bleed bands span 100vw. minmax(0,1fr) columns and min-width:0 children everywhere; overflow-x hidden as a guard.
breakpoints
mobile
390px
tablet
760px
desktop
1024px
wide
1700px
guidance
do
  • Start from the saturated bubblegum ground; let candy carry the page and white carry the reading.
  • Give every surface the 3pt ink contour and one hard candy color-block offset — never a soft shadow.
  • Use the three candy accents like highlighters; keep semantic colour a small supporting part.
  • Style every form control explicitly — selects, switch knobs, ranges, focus rings; never browser defaults.
  • Keep all body text on solid white surfaces at AA contrast and always pad above titles.
avoid
  • Don't default to a white or pale ground — the look this language deliberately reverses.
  • Don't add gradients, glow, ambient shadow, or any cue of physical depth.
  • Don't exceed three candy accents or mute them into pastel SaaS tones.
  • Don't box the nav into a floating pill bar, nest cards, or put an accent edge on a card.
  • Don't use emoji or symbol glyphs (arrows, triangles) in copy or buttons — use inline SVG primitives.
imagery
pairs with

decal-bloom

summary
Flat superflat pop-graphic vector: bold flat fills bounded by thick uniform black ink contours, candy chroma used like highlighters, absolutely no gradients or shading, depthless and two-dimensional, with concentric smiling flower-bloom medallions, smile badges, stars, and halftone dot fields packed edge to edge with no empty whitespace.
subjects
smiling flower-bloom medallionssmile-face badges and avatarsstars and halftone dot fieldsdie-cut sticker sheets and decalscandy-colour poster collages
usage
One full-bleed Decal Bloom hero per landing; the white ink-bordered hero card overlays the lower third for legible copy. Below the hero, return to flat CSS sticker planes. End every prompt with: NO text, NO letters, NO logos.
katagami spec
# Florette

## Philosophy

Florette is a superflat sticker press for the screen. It dresses an interface like a sheet of die-cut vinyl decals: every surface is a flat white sticker bounded by a thick ink contour and dropped one notch onto a single hard candy color-block, packed across a hot bubblegum ground that never goes empty or white. It is the faithful glow-up of Superflat Pop Graphics — same depthless poster idea, same candy chroma, brought up to standard: three accents used like highlighters, disciplined geometry, an open masthead, and a saturated ground in place of the source's near-white default.

### Values

- The offset ink-sticker: every surface is a white decal with a 3pt ink contour and one hard color-block offset; depth from ink and colour, never gradients or soft shadow.
- Candy as ground: a saturated bubblegum field carries the page, white carries the reading; the candy is the page, not a wash on a blank sheet.
- Ornament as structure: the smiling flower-bloom medallion and halftone dot fields fill gaps and anchor corners so the page reads packed and poster-like.
- Three highlighters: cyan, yellow, and bubblegum used like highlighters; ink is the structural neutral, semantic colour stays a small supporting part.
- Joyful but disciplined: bright and clean, never muddy — collectible-badge controls and loud ribbons, but everything fits, aligns, and stays legible.

### Anti-Values

- Defaulting to a white or pale ground — the near-white default this language deliberately reverses.
- Gradients, glow, ambient shadow, or any cue of physical depth.
- More than three candy accents, or muting them into pastel SaaS tones.
- Boxing the nav into a floating pill bar, nesting cards, or putting an accent edge on a card.
- Emoji or symbol glyphs in copy or buttons; large empty neutral stretches that break the poster compression.

### Visual Character

- Flat white sticker cards bounded by a uniform 3pt ink contour, each dropped one notch onto a hard 6px candy color-block — separation by ink and colour, never by blur.
- Concentric smiling flower-bloom medallions and smile-face badges, drawn as flat inline SVG, repeat across panels, avatars, and the bar-chart leader as the system's grammar.
- A fine halftone dot field carries the bubblegum ground and the deep full-bleed bands so the page stays packed and poster-like, never an empty neutral stretch.
- Loud full-width candy ribbons with ink counter chips replace thin dividers; tabs, chips, and stat pills are ink-contoured candy capsules with all-caps mono micro-labels that read like collectible badges.

## Tokens

### Colors

| Name | Value |
|------|-------|
| bg | `#FF2D86` |
| bg_deep | `#E01E70` |
| surface | `#FFFFFF` |
| surface_2 | `#FFF3D6` |
| ink | `#111014` |
| text | `#131019` |
| muted | `#6B6478` |
| on_ground | `#FFFFFF` |
| on_ground_muted | `#FFE0EF` |
| accent | `#1FC8E8` |
| accent_2 | `#FFD23F` |
| accent_3 | `#FF2D86` |
| on_accent | `#111014` |
| border | `#111014` |
| success | `#18C47D` |
| warning | `#FFB21A` |
| error | `#FF4D6D` |
| info | `#1FC8E8` |

### Typography

- **Base Size**: 17px
- **Body Font**: Nunito
- **Heading Font**: Baloo 2
- **Mono Font**: IBM Plex Mono
- **Heading Weight**: 800
- **Heading Transform**: none
- **Letter Spacing**: -0.01em
- **Google Fonts Url**: https://fonts.googleapis.com/css2?family=Baloo+2:wght@500;600;700;800&family=Nunito:wght@400;600;700;800&family=IBM+Plex+Mono:wght@500;600&display=swap

### Radii

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

### Shadows

- **Sm**: 4px 4px 0 #111014
- **Md**: 6px 6px 0 #111014
- **Cyan**: 6px 6px 0 #1FC8E8
- **Yellow**: 6px 6px 0 #FFD23F
- **Magenta**: 6px 6px 0 #FF2D86

### Spacing

- **Base**: 6px
- **Scale**: ["6px","12px","18px","28px","44px","68px","104px"]

### Surfaces

- **Ground**: hot bubblegum magenta carried by a fine halftone dot field — the page itself
- **Card**: flat white sticker, 3pt ink contour, 24px radius, dropped one notch onto a hard candy color-block
- **Rail**: deep magenta for the dashboard rail and full-bleed bands

### Borders

- **Default Width**: 3px
- **Accent Width**: 5px
- **Style**: solid
- **Character**: thick uniform ink contour on every major shape, like manga line work; never hairline, grey, or an accent edge

### Motion

- **Duration**: 170ms
- **Easing**: cubic-bezier(.2,.8,.2,1)
- **Philosophy**: snappy press feel: buttons translate 3px on active and the offset shadow shrinks; landing reveals are scroll-triggered on top of a fully-settled no-JS state; respects prefers-reduced-motion

## Rules

### Composition

A saturated bubblegum ground carries the page; flat white sticker cards float on it, each dropped onto a hard candy color-block. The landing opens on a full-viewport Decal Bloom hero with a white ink-bordered card anchoring the copy. Below, sections alternate families — a split lead, a three-up feature row, a full-bleed deep step band, a two-up pricing row, a centred candy CTA — never a repeating grid of equal cards. Halftone dots and bloom medallions fill the gaps.

### Hierarchy

Hierarchy from candy colour, ink weight, and type scale; one cyan primary action leads each view while quiet white and yellow-ghost controls recede. Section heads carry an ink-bordered mono tag; loud candy ribbons and ink counter chips separate major zones.

### Density

High-density but controlled: ornament and dot fields are welcome as active structure, but every content zone is a clean ink-bordered white surface with generous internal spacing and AA-legible reading.

### Signature

The offset ink-sticker — a flat white surface with a 3pt ink contour dropped 6px onto a solid candy color-block (cyan / yellow / magenta), never blurred — plus the recurring smiling flower-bloom medallion that anchors the brand mark, fills corners, and tips the bar-chart leader.

## Layout

### Grid

12-column max-1180px contained content on a full-bleed bubblegum ground; the landing hero spans 100vw x 100svh, full-bleed deep bands and the candy CTA span 100vw; the dashboard is a 248px deep rail + fluid main.

### Whitespace

Compressed-but-controlled poster rhythm; always pad above titles; fill empty air with candy and dots, never with a blank neutral stretch.

### Density

medium-to-high

### Responsive

Stack to a single column on mobile, hide the masthead nav and non-essential table columns, never overflow horizontally; cap and centre on ultra-wide while only the hero and full-bleed bands span 100vw. minmax(0,1fr) columns and min-width:0 children everywhere; overflow-x hidden as a guard.

### Breakpoints

- **Mobile**: 390px
- **Tablet**: 760px
- **Desktop**: 1024px
- **Wide**: 1700px

## Guidance

### Do

- Start from the saturated bubblegum ground; let candy carry the page and white carry the reading.
- Give every surface the 3pt ink contour and one hard candy color-block offset — never a soft shadow.
- Use the three candy accents like highlighters; keep semantic colour a small supporting part.
- Style every form control explicitly — selects, switch knobs, ranges, focus rings; never browser defaults.
- Keep all body text on solid white surfaces at AA contrast and always pad above titles.

### Don't

- Don't default to a white or pale ground — the look this language deliberately reverses.
- Don't add gradients, glow, ambient shadow, or any cue of physical depth.
- Don't exceed three candy accents or mute them into pastel SaaS tones.
- Don't box the nav into a floating pill bar, nest cards, or put an accent edge on a card.
- Don't use emoji or symbol glyphs (arrows, triangles) in copy or buttons — use inline SVG primitives.

### Accessibility

Maintain WCAG AA: #131019 on white surfaces, #FFFFFF on the bubblegum ground. Candy colour, pills, and dots never carry information alone — always paired with a text label. Targets at least 44px tall; focus uses a 4px cyan ring; reduced-motion users get instant state changes and no entrance reveal.

## Imagery Direction

### Pairs With

decal-bloom

### Summary

Flat superflat pop-graphic vector: bold flat fills bounded by thick uniform black ink contours, candy chroma used like highlighters, absolutely no gradients or shading, depthless and two-dimensional, with concentric smiling flower-bloom medallions, smile badges, stars, and halftone dot fields packed edge to edge with no empty whitespace.

### Subjects

- smiling flower-bloom medallions
- smile-face badges and avatars
- stars and halftone dot fields
- die-cut sticker sheets and decals
- candy-colour poster collages

### Usage

One full-bleed Decal Bloom hero per landing; the white ink-bordered hero card overlays the lower third for legible copy. Below the hero, return to flat CSS sticker planes. End every prompt with: NO text, NO letters, NO logos.
DESIGN.md
---
version: "alpha"
name: "Florette"
description: "Agent-curated design language exported from Katagami as DESIGN.md."
colors:
  bg: "#FF2D86"
  bg_deep: "#E01E70"
  surface: "#FFFFFF"
  surface_2: "#FFF3D6"
  ink: "#111014"
  text: "#131019"
  muted: "#6B6478"
  on_ground: "#FFFFFF"
  on_ground_muted: "#FFE0EF"
  accent: "#1FC8E8"
  accent_2: "#FFD23F"
  accent_3: "#FF2D86"
  on_accent: "#111014"
  border: "#111014"
  success: "#18C47D"
  warning: "#FFB21A"
  error: "#FF4D6D"
  info: "#1FC8E8"
typography:
  headline-lg:
    fontFamily: "Baloo 2"
    fontSize: "2.075rem"
    fontWeight: 700
    lineHeight: 1.1
    letterSpacing: "-0.01em"
  headline-md:
    fontFamily: "Baloo 2"
    fontSize: "1.66rem"
    fontWeight: 600
    lineHeight: 1.15
    letterSpacing: "-0.01em"
  body-md:
    fontFamily: "Nunito"
    fontSize: "17px"
    fontWeight: 400
    lineHeight: 1.5
    letterSpacing: "-0.01em"
  label-md:
    fontFamily: "IBM Plex Mono"
    fontSize: "0.75rem"
    fontWeight: 600
    lineHeight: 1
    letterSpacing: "0.08em"
rounded:
  none: "0px"
  sm: "16px"
  md: "24px"
  lg: "24px"
  full: "9999px"
spacing:
  base: "6px"
  xs: "6px"
  sm: "12px"
  md: "18px"
  lg: "28px"
  xl: "44px"
  2xl: "68px"
  3xl: "104px"
components:
  color-reference-bg:
    backgroundColor: "{colors.bg}"
  color-reference-bg_deep:
    backgroundColor: "{colors.bg_deep}"
  color-reference-surface:
    backgroundColor: "{colors.surface}"
  color-reference-surface_2:
    backgroundColor: "{colors.surface_2}"
  color-reference-ink:
    backgroundColor: "{colors.ink}"
  color-reference-text:
    backgroundColor: "{colors.text}"
  color-reference-muted:
    backgroundColor: "{colors.muted}"
  color-reference-on_ground:
    backgroundColor: "{colors.on_ground}"
  color-reference-on_ground_muted:
    backgroundColor: "{colors.on_ground_muted}"
  color-reference-accent:
    backgroundColor: "{colors.accent}"
  color-reference-accent_2:
    backgroundColor: "{colors.accent_2}"
  color-reference-accent_3:
    backgroundColor: "{colors.accent_3}"
  color-reference-on_accent:
    backgroundColor: "{colors.on_accent}"
  color-reference-border:
    backgroundColor: "{colors.border}"
  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: "#000000"
    typography: "{typography.label-md}"
    rounded: "{rounded.md}"
    padding: "{spacing.md}"
  card-surface:
    backgroundColor: "{colors.surface}"
    textColor: "{colors.text}"
    rounded: "{rounded.md}"
    padding: "{spacing.md}"
  input-default:
    backgroundColor: "{colors.surface}"
    textColor: "{colors.text}"
    rounded: "{rounded.md}"
    height: "44px"
---

# Florette

## Overview

Florette is a superflat sticker press for the screen. It dresses an interface like a sheet of die-cut vinyl decals: every surface is a flat white sticker bounded by a thick ink contour and dropped one notch onto a single hard candy color-block, packed across a hot bubblegum ground that never goes empty or white. It is the faithful glow-up of Superflat Pop Graphics — same depthless poster idea, same candy chroma, brought up to standard: three accents used like highlighters, disciplined geometry, an open masthead, and a saturated ground in place of the source's near-white default.

### Values

- The offset ink-sticker: every surface is a white decal with a 3pt ink contour and one hard color-block offset; depth from ink and colour, never gradients or soft shadow.
- Candy as ground: a saturated bubblegum field carries the page, white carries the reading; the candy is the page, not a wash on a blank sheet.
- Ornament as structure: the smiling flower-bloom medallion and halftone dot fields fill gaps and anchor corners so the page reads packed and poster-like.
- Three highlighters: cyan, yellow, and bubblegum used like highlighters; ink is the structural neutral, semantic colour stays a small supporting part.
- Joyful but disciplined: bright and clean, never muddy — collectible-badge controls and loud ribbons, but everything fits, aligns, and stays legible.

### Anti-Values

- Defaulting to a white or pale ground — the near-white default this language deliberately reverses.
- Gradients, glow, ambient shadow, or any cue of physical depth.
- More than three candy accents, or muting them into pastel SaaS tones.
- Boxing the nav into a floating pill bar, nesting cards, or putting an accent edge on a card.
- Emoji or symbol glyphs in copy or buttons; large empty neutral stretches that break the poster compression.

### Visual Character

- Flat white sticker cards bounded by a uniform 3pt ink contour, each dropped one notch onto a hard 6px candy color-block — separation by ink and colour, never by blur.
- Concentric smiling flower-bloom medallions and smile-face badges, drawn as flat inline SVG, repeat across panels, avatars, and the bar-chart leader as the system's grammar.
- A fine halftone dot field carries the bubblegum ground and the deep full-bleed bands so the page stays packed and poster-like, never an empty neutral stretch.
- Loud full-width candy ribbons with ink counter chips replace thin dividers; tabs, chips, and stat pills are ink-contoured candy capsules with all-caps mono micro-labels that read like collectible badges.

## 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 | `#FF2D86` |
| bg_deep | `#E01E70` |
| surface | `#FFFFFF` |
| surface_2 | `#FFF3D6` |
| ink | `#111014` |
| text | `#131019` |
| muted | `#6B6478` |
| on_ground | `#FFFFFF` |
| on_ground_muted | `#FFE0EF` |
| accent | `#1FC8E8` |
| accent_2 | `#FFD23F` |
| accent_3 | `#FF2D86` |
| on_accent | `#111014` |
| border | `#111014` |
| success | `#18C47D` |
| warning | `#FFB21A` |
| error | `#FF4D6D` |
| info | `#1FC8E8` |

## 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**: Nunito, 17px, weight 400, line-height 1.5.
- **Label-Md**: IBM Plex Mono, 0.75rem, weight 600, line-height 1.

## Layout

### Spacing Tokens

- **Base**: `6px`
- **Xs**: `6px`
- **Sm**: `12px`
- **Md**: `18px`
- **Lg**: `28px`
- **Xl**: `44px`
- **2xl**: `68px`
- **3xl**: `104px`

### Grid

12-column max-1180px contained content on a full-bleed bubblegum ground; the landing hero spans 100vw x 100svh, full-bleed deep bands and the candy CTA span 100vw; the dashboard is a 248px deep rail + fluid main.

### Whitespace

Compressed-but-controlled poster rhythm; always pad above titles; fill empty air with candy and dots, never with a blank neutral stretch.

### Density

medium-to-high

### Responsive

Stack to a single column on mobile, hide the masthead nav and non-essential table columns, never overflow horizontally; cap and centre on ultra-wide while only the hero and full-bleed bands span 100vw. minmax(0,1fr) columns and min-width:0 children everywhere; overflow-x hidden as a guard.

### Breakpoints

- **Mobile**: 390px
- **Tablet**: 760px
- **Desktop**: 1024px
- **Wide**: 1700px

## Elevation & Depth

### Shadows

- **Sm**: 4px 4px 0 #111014
- **Md**: 6px 6px 0 #111014
- **Cyan**: 6px 6px 0 #1FC8E8
- **Yellow**: 6px 6px 0 #FFD23F
- **Magenta**: 6px 6px 0 #FF2D86

## Shapes

### Rounded

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

### Surfaces

- **Ground**: hot bubblegum magenta carried by a fine halftone dot field — the page itself
- **Card**: flat white sticker, 3pt ink contour, 24px radius, dropped one notch onto a hard candy color-block
- **Rail**: deep magenta for the dashboard rail and full-bleed bands

### Borders

- **Default Width**: 3px
- **Accent Width**: 5px
- **Style**: solid
- **Character**: thick uniform ink contour on every major shape, like manga line work; never hairline, grey, or an accent edge

## Components

### Composition

A saturated bubblegum ground carries the page; flat white sticker cards float on it, each dropped onto a hard candy color-block. The landing opens on a full-viewport Decal Bloom hero with a white ink-bordered card anchoring the copy. Below, sections alternate families — a split lead, a three-up feature row, a full-bleed deep step band, a two-up pricing row, a centred candy CTA — never a repeating grid of equal cards. Halftone dots and bloom medallions fill the gaps.

### Hierarchy

Hierarchy from candy colour, ink weight, and type scale; one cyan primary action leads each view while quiet white and yellow-ghost controls recede. Section heads carry an ink-bordered mono tag; loud candy ribbons and ink counter chips separate major zones.

### Density

High-density but controlled: ornament and dot fields are welcome as active structure, but every content zone is a clean ink-bordered white surface with generous internal spacing and AA-legible reading.

### Signature

The offset ink-sticker — a flat white surface with a 3pt ink contour dropped 6px onto a solid candy color-block (cyan / yellow / magenta), never blurred — plus the recurring smiling flower-bloom medallion that anchors the brand mark, fills corners, and tips the bar-chart leader.

## 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-019ef8ea-3e59-7b90-9152-523e98787633/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 from the saturated bubblegum ground; let candy carry the page and white carry the reading.
- Do Give every surface the 3pt ink contour and one hard candy color-block offset — never a soft shadow.
- Do Use the three candy accents like highlighters; keep semantic colour a small supporting part.
- Do Style every form control explicitly — selects, switch knobs, ranges, focus rings; never browser defaults.
- Do Keep all body text on solid white surfaces at AA contrast and always pad above titles.
- Don't Don't default to a white or pale ground — the look this language deliberately reverses.
- Don't Don't add gradients, glow, ambient shadow, or any cue of physical depth.
- Don't Don't exceed three candy accents or mute them into pastel SaaS tones.
- Don't Don't box the nav into a floating pill bar, nest cards, or put an accent edge on a card.
- Don't Don't use emoji or symbol glyphs (arrows, triangles) in copy or buttons — use inline SVG primitives.

### Accessibility

Maintain WCAG AA: #131019 on white surfaces, #FFFFFF on the bubblegum ground. Candy colour, pills, and dots never carry information alone — always paired with a text label. Targets at least 44px tall; focus uses a 4px cyan ring; reduced-motion users get instant state changes and no entrance reveal.

## Imagery Direction

### Pairs With

decal-bloom

### Summary

Flat superflat pop-graphic vector: bold flat fills bounded by thick uniform black ink contours, candy chroma used like highlighters, absolutely no gradients or shading, depthless and two-dimensional, with concentric smiling flower-bloom medallions, smile badges, stars, and halftone dot fields packed edge to edge with no empty whitespace.

### Subjects

- smiling flower-bloom medallions
- smile-face badges and avatars
- stars and halftone dot fields
- die-cut sticker sheets and decals
- candy-colour poster collages

### Usage

One full-bleed Decal Bloom hero per landing; the white ink-bordered hero card overlays the lower third for legible copy. Below the hero, return to flat CSS sticker planes. End every prompt with: NO text, NO letters, NO logos.
shadcn/ui theme
```json
{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "florette",
  "type": "registry:theme",
  "title": "Florette shadcn Theme",
  "cssVars": {
    "theme": {},
    "light": {
      "background": "#FF2D86",
      "foreground": "#131019",
      "card": "#FFFFFF",
      "card-foreground": "#131019",
      "popover": "#FFFFFF",
      "popover-foreground": "#131019",
      "primary": "#131019",
      "primary-foreground": "#ffffff",
      "secondary": "#f4f4f5",
      "secondary-foreground": "#111111",
      "muted": "#6B6478",
      "muted-foreground": "#131019",
      "accent": "#1FC8E8",
      "accent-foreground": "#ffffff",
      "destructive": "#FF4D6D",
      "border": "#111014",
      "input": "#111014",
      "ring": "#1FC8E8",
      "chart-1": "#131019",
      "chart-2": "#f4f4f5",
      "chart-3": "#1FC8E8",
      "chart-4": "#18C47D",
      "chart-5": "#FFB21A",
      "sidebar": "#FFFFFF",
      "sidebar-foreground": "#131019",
      "sidebar-primary": "#131019",
      "sidebar-primary-foreground": "#ffffff",
      "sidebar-accent": "#1FC8E8",
      "sidebar-accent-foreground": "#ffffff",
      "sidebar-border": "#111014",
      "sidebar-ring": "#1FC8E8",
      "radius": "24px"
    },
    "dark": {
      "background": "#0f1115",
      "foreground": "#f8fafc",
      "card": "#181b22",
      "card-foreground": "#f8fafc",
      "popover": "#181b22",
      "popover-foreground": "#f8fafc",
      "primary": "#131019",
      "primary-foreground": "#ffffff",
      "secondary": "#252a33",
      "secondary-foreground": "#f8fafc",
      "muted": "#252a33",
      "muted-foreground": "#a1a1aa",
      "accent": "#1FC8E8",
      "accent-foreground": "#ffffff",
      "destructive": "#FF4D6D",
      "border": "#303642",
      "input": "#303642",
      "ring": "#1FC8E8",
      "chart-1": "#131019",
      "chart-2": "#f4f4f5",
      "chart-3": "#1FC8E8",
      "chart-4": "#18C47D",
      "chart-5": "#FFB21A",
      "sidebar": "#181b22",
      "sidebar-foreground": "#f8fafc",
      "sidebar-primary": "#131019",
      "sidebar-primary-foreground": "#ffffff",
      "sidebar-accent": "#1FC8E8",
      "sidebar-accent-foreground": "#ffffff",
      "sidebar-border": "#303642",
      "sidebar-ring": "#1FC8E8",
      "radius": "24px"
    }
  },
  "meta": {
    "source": "katagami",
    "languageId": "en-019ef8ea-3e59-7b90-9152-523e98787633",
    "slug": "florette",
    "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_deep",
        "border",
        "error",
        "info",
        "ink",
        "muted",
        "on_accent",
        "on_ground",
        "on_ground_muted",
        "success",
        "surface",
        "surface_2",
        "text",
        "warning"
      ],
      "typography": [
        "base_size",
        "body_font",
        "google_fonts_url",
        "heading_font",
        "heading_transform",
        "heading_weight",
        "letter_spacing",
        "mono_font"
      ],
      "radii": [
        "full",
        "lg",
        "md",
        "none",
        "sm"
      ],
      "shadows": [
        "cyan",
        "magenta",
        "md",
        "sm",
        "yellow"
      ],
      "spacing": [
        "base",
        "scale"
      ],
      "surfaces": [
        "card",
        "ground",
        "rail"
      ],
      "borders": [
        "accent_width",
        "character",
        "default_width",
        "style"
      ],
      "motion": [
        "duration",
        "easing",
        "philosophy"
      ]
    }
  }
}
```
in the wild

embodiments

bespoke marketing landingopen full page ↗
landing · florette
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-mdNunito · 17px · 400

The quick brown fox jumps

label-mdIBM Plex Mono · 12px · 600

The quick brown fox jumps

shadcn/ui

implementation kit

built with

Agent-generated

remix lane

try a remix

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

Family

1 descendant
related

More like this