Litfass
Plakat's maximalist pop poster set in tall condensed faces, so caption-length text fits narrow boxes in a video frame or on a phone: comic-ink keylines, ben-day halftone and die-cut cards in hot pink, electric cyan and saturated yellow.
Its pictures are drawn in Plakat.
Made by Claude · Claude Code · claude-sonnet-5-5
Download DESIGN.md
Tokens, rules and the paired art style Plakat.
Preview
Typography
Each face set in this language's own words.
Litfass
Litfass
Plakat's maximalist pop poster set in tall condensed faces, so caption-length text fits narrow boxes in a video frame or on a phone: comic-ink keyl...
Plakat's maximalist pop poster set in tall condensed faces, so caption-length text fits narrow boxes in a video frame or on a phone: comic-ink keyl...
Specification
Philosophy
summary
Plakat's maximalist pop poster set in tall condensed faces, so caption-length text fits narrow boxes in a video frame or on a phone: comic-ink keylines, ben-day halftone and die-cut cards in hot pink, electric cyan and saturated yellow.
Tokens
colors14
typography4
- heading font
- League Gothic, sans-serif
- body font
- Sofia Sans Condensed, sans-serif
- mono font
- Share Tech Mono, monospace
- google fonts url
- https://fonts.googleapis.com/css2?family=League+Gothic&family=Sofia+Sans+Condensed:wght@400;500;600;700&family=Share+Tech+Mono&display=swap
radii4
- none
- 0px
- md
- 16px
- lg
- 24px
- full
- 9999px
spacing8
- base
- 8px
- xs
- 4px
- sm
- 8px
- md
- 16px
- lg
- 24px
- xl
- 32px
- 2xl
- 48px
- 3xl
- 64px
Rules
components
### Composition One dominant hero slab, several overlapping die-cut support cards, and a rhythm of circular stickers, rotated ribbons and mini-panels that feel intentionally collected rather than uniformly tiled. ### Hierarchy Tall League Gothic headlines, saturated colour bands, circular KPI stickers and black keylines make primary actions and numbers readable from a distance before body copy resolves. One button is clearly primary (hot-pink fill, ink label); the rest are quieter (cyan, yellow, or ghost) but share one shape and height. ### Signature Patterns - **Die-cut cutout card**: panels clip one corner and drop a hard offset shadow, reading like die-cut packaging instead of a rounded rectangle. - **Ribbon section header**: headers sit on a slightly rotated cyan ribbon with an uppercase mono label and offset shadow, like a pasted editorial annotation. - **Circular KPI sticker**: statistic callouts live in circular or pill badges that overlap adjacent cards and break the grid. - **Halftone + burst field**: backgrounds carry a page-wide ben-day dot field with burst rays in hero zones, so the language is visibly pop-graphic before content loads. - **Pressed-print interaction**: controls translate a few pixels on hover/press as their offset shadow collapses. ### Links Links carry the language's own gesture: a yellow highlighter sweep inks up under the label on hover (never a bare default underline).
Layout
summary
### Spacing Tokens - **Base**: `8px` - **Xs**: `4px` · **Sm**: `8px` · **Md**: `16px` · **Lg**: `24px` · **Xl**: `32px` · **2xl**: `48px` · **3xl**: `64px` ### Grid Build screens as editorial collages: one dominant slab, several overlapping support cards, and a rhythm of badges and ribbons anchored to shared baseline gutters, so the deliberate chaos still scans cleanly. Contained content caps and centres on ultra-wide; only the full-bleed hero spans 100vw. ### Breakpoints - **Desktop (>1024)**: overlapping cards, floating stickers, full collage depth. - **Tablet (768–1024)**: its own considered layout: a 2-column stack with reduced overlap, sticker badges tucked closer, ribbons kept shallow. Never the mobile column stretched wide. - **Mobile (<640)**: a single column; badges move inside cards; display headlines shrink with clamp() and wrap, never clip, and the condensed face keeps two-word headlines on one line; the nav wraps to rows; tables scroll inside their own wrapper. ### Whitespace Whitespace is the reset between bursts of colour and type. Breathing strips around each cluster keep the composition curated, never cluttered, and density stays balanced across the canvas: no crowded corner beside a starved void.
Guidance
Do
- wrap every important surface in a black keyline with a hard offset shadow.
- pair tall League Gothic display type with compact mono labels and badges.
- keep captions, labels and two-word headlines on one line by letting the condensed faces take the width, not by shrinking the size.
- overlap stickers, ribbons and circular metrics so some elements break the grid.
- use saturated adjacent colour slabs instead of quiet tonal palettes.
- fully style every form control, including selects, checkboxes, switches and ranges.
Avoid
- rely on subtle grey borders or invisible card edges.
- center everything into a polite, symmetrical dashboard.
- mute the palette into corporate pastels or monochrome restraint.
- use browser-default form controls.
- set white text on the hot-pink fill, or ask Share Tech Mono for a bold it does not have.
- pile noise so thickly that hierarchy disappears.
Imagery
pairs with
plakat
art style id
en-019ef872-8241-7b92-892e-2b60e64a34a2
Katagami spec file
# Litfass ## Philosophy Plakat's maximalist pop poster set in tall condensed faces, so caption-length text fits narrow boxes in a video frame or on a phone: comic-ink keylines, ben-day halftone and die-cut cards in hot pink, electric cyan and saturated yellow. ## Tokens ### Colors | Name | Value | |------|-------| | bg | `#FFF4F8` | | surface | `#FFFFFF` | | surface_solid | `#FFFFFF` | | text | `#141414` | | muted | `#6A5A66` | | border | `#141414` | | accent | `#FF2D7A` | | accent_2 | `#00C7F2` | | accent_soft | `#FFD84D` | | on_accent | `#141414` | | success | `#17B978` | | warning | `#FF9F1C` | | error | `#FF3B30` | | info | `#00C7F2` | ### Typography - **Heading Font**: League Gothic, sans-serif - **Body Font**: Sofia Sans Condensed, sans-serif - **Mono Font**: Share Tech Mono, monospace - **Google Fonts Url**: https://fonts.googleapis.com/css2?family=League+Gothic&family=Sofia+Sans+Condensed:wght@400;500;600;700&family=Share+Tech+Mono&display=swap ### Radii - **None**: 0px - **Md**: 16px - **Lg**: 24px - **Full**: 9999px ### Spacing - **Base**: 8px - **Xs**: 4px - **Sm**: 8px - **Md**: 16px - **Lg**: 24px - **Xl**: 32px - **2xl**: 48px - **3xl**: 64px ## Rules ### Components ### Composition One dominant hero slab, several overlapping die-cut support cards, and a rhythm of circular stickers, rotated ribbons and mini-panels that feel intentionally collected rather than uniformly tiled. ### Hierarchy Tall League Gothic headlines, saturated colour bands, circular KPI stickers and black keylines make primary actions and numbers readable from a distance before body copy resolves. One button is clearly primary (hot-pink fill, ink label); the rest are quieter (cyan, yellow, or ghost) but share one shape and height. ### Signature Patterns - **Die-cut cutout card**: panels clip one corner and drop a hard offset shadow, reading like die-cut packaging instead of a rounded rectangle. - **Ribbon section header**: headers sit on a slightly rotated cyan ribbon with an uppercase mono label and offset shadow, like a pasted editorial annotation. - **Circular KPI sticker**: statistic callouts live in circular or pill badges that overlap adjacent cards and break the grid. - **Halftone + burst field**: backgrounds carry a page-wide ben-day dot field with burst rays in hero zones, so the language is visibly pop-graphic before content loads. - **Pressed-print interaction**: controls translate a few pixels on hover/press as their offset shadow collapses. ### Links Links carry the language's own gesture: a yellow highlighter sweep inks up under the label on hover (never a bare default underline). ## Layout ### Summary ### Spacing Tokens - **Base**: `8px` - **Xs**: `4px` · **Sm**: `8px` · **Md**: `16px` · **Lg**: `24px` · **Xl**: `32px` · **2xl**: `48px` · **3xl**: `64px` ### Grid Build screens as editorial collages: one dominant slab, several overlapping support cards, and a rhythm of badges and ribbons anchored to shared baseline gutters, so the deliberate chaos still scans cleanly. Contained content caps and centres on ultra-wide; only the full-bleed hero spans 100vw. ### Breakpoints - **Desktop (>1024)**: overlapping cards, floating stickers, full collage depth. - **Tablet (768–1024)**: its own considered layout: a 2-column stack with reduced overlap, sticker badges tucked closer, ribbons kept shallow. Never the mobile column stretched wide. - **Mobile (<640)**: a single column; badges move inside cards; display headlines shrink with clamp() and wrap, never clip, and the condensed face keeps two-word headlines on one line; the nav wraps to rows; tables scroll inside their own wrapper. ### Whitespace Whitespace is the reset between bursts of colour and type. Breathing strips around each cluster keep the composition curated, never cluttered, and density stays balanced across the canvas: no crowded corner beside a starved void. ## Guidance ### Do - wrap every important surface in a black keyline with a hard offset shadow. - pair tall League Gothic display type with compact mono labels and badges. - keep captions, labels and two-word headlines on one line by letting the condensed faces take the width, not by shrinking the size. - overlap stickers, ribbons and circular metrics so some elements break the grid. - use saturated adjacent colour slabs instead of quiet tonal palettes. - fully style every form control, including selects, checkboxes, switches and ranges. ### Don't - rely on subtle grey borders or invisible card edges. - center everything into a polite, symmetrical dashboard. - mute the palette into corporate pastels or monochrome restraint. - use browser-default form controls. - set white text on the hot-pink fill, or ask Share Tech Mono for a bold it does not have. - pile noise so thickly that hierarchy disappears. ## Imagery Direction ### Pairs With plakat ### Art Style Id en-019ef872-8241-7b92-892e-2b60e64a34a2
DESIGN.md file
---
version: "alpha"
name: "Litfass"
description: "Plakat's maximalist pop poster set in tall condensed faces, so caption-length text fits narrow boxes in a video frame or on a phone: comic-ink keylines, ben-day halftone and die-cut cards in hot pink, electric cyan and saturated yellow."
colors:
bg: "#FFF4F8"
surface: "#FFFFFF"
surface_solid: "#FFFFFF"
text: "#141414"
muted: "#6A5A66"
border: "#141414"
accent: "#FF2D7A"
accent_2: "#00C7F2"
accent_soft: "#FFD84D"
on_accent: "#141414"
success: "#17B978"
warning: "#FF9F1C"
error: "#FF3B30"
info: "#00C7F2"
typography:
headline-lg:
fontFamily: "League Gothic, sans-serif"
fontSize: "1.953rem"
fontWeight: 700
lineHeight: 1.1
letterSpacing: "-0.02em"
headline-md:
fontFamily: "League Gothic, sans-serif"
fontSize: "1.563rem"
fontWeight: 600
lineHeight: 1.15
letterSpacing: "-0.02em"
body-md:
fontFamily: "Sofia Sans Condensed, sans-serif"
fontSize: "16px"
fontWeight: 400
lineHeight: 1.5
letterSpacing: "-0.02em"
label-md:
fontFamily: "Share Tech Mono, monospace"
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: "16px"
lg: "24px"
xl: "32px"
2xl: "48px"
3xl: "64px"
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: "{colors.on_accent}"
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"
---
# Litfass
## Overview
Plakat's maximalist pop poster set in tall condensed faces, so caption-length text fits narrow boxes in a video frame or on a phone: comic-ink keylines, ben-day halftone and die-cut cards in hot pink, electric cyan and saturated yellow.
## 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 | `#FFF4F8` |
| surface | `#FFFFFF` |
| surface_solid | `#FFFFFF` |
| text | `#141414` |
| muted | `#6A5A66` |
| border | `#141414` |
| accent | `#FF2D7A` |
| accent_2 | `#00C7F2` |
| accent_soft | `#FFD84D` |
| on_accent | `#141414` |
| success | `#17B978` |
| warning | `#FF9F1C` |
| error | `#FF3B30` |
| info | `#00C7F2` |
## Typography
Load the fonts from Google Fonts: https://fonts.googleapis.com/css2?family=League+Gothic&family=Sofia+Sans+Condensed:wght@400;500;600;700&family=Share+Tech+Mono&display=swap
- **Headline-Lg**: League Gothic, sans-serif, 1.953rem, weight 700, line-height 1.1.
- **Headline-Md**: League Gothic, sans-serif, 1.563rem, weight 600, line-height 1.15.
- **Body-Md**: Sofia Sans Condensed, sans-serif, 16px, weight 400, line-height 1.5.
- **Label-Md**: Share Tech Mono, monospace, 0.75rem, weight 600, line-height 1.
## Layout
### Spacing Tokens
- **Base**: `8px`
- **Xs**: `4px`
- **Sm**: `8px`
- **Md**: `16px`
- **Lg**: `24px`
- **Xl**: `32px`
- **2xl**: `48px`
- **3xl**: `64px`
### Summary
### Spacing Tokens
- **Base**: `8px`
- **Xs**: `4px` · **Sm**: `8px` · **Md**: `16px` · **Lg**: `24px` · **Xl**: `32px` · **2xl**: `48px` · **3xl**: `64px`
### Grid
Build screens as editorial collages: one dominant slab, several overlapping support cards, and a rhythm of badges and ribbons anchored to shared baseline gutters, so the deliberate chaos still scans cleanly. Contained content caps and centres on ultra-wide; only the full-bleed hero spans 100vw.
### Breakpoints
- **Desktop (>1024)**: overlapping cards, floating stickers, full collage depth.
- **Tablet (768–1024)**: its own considered layout: a 2-column stack with reduced overlap, sticker badges tucked closer, ribbons kept shallow. Never the mobile column stretched wide.
- **Mobile (<640)**: a single column; badges move inside cards; display headlines shrink with clamp() and wrap, never clip, and the condensed face keeps two-word headlines on one line; the nav wraps to rows; tables scroll inside their own wrapper.
### Whitespace
Whitespace is the reset between bursts of colour and type. Breathing strips around each cluster keep the composition curated, never cluttered, and density stays balanced across the canvas: no crowded corner beside a starved void.
## Shapes
### Rounded
- **None**: `0px`
- **Md**: `16px`
- **Lg**: `24px`
- **Full**: `9999px`
## Components
### Components
### Composition
One dominant hero slab, several overlapping die-cut support cards, and a rhythm of circular stickers, rotated ribbons and mini-panels that feel intentionally collected rather than uniformly tiled.
### Hierarchy
Tall League Gothic headlines, saturated colour bands, circular KPI stickers and black keylines make primary actions and numbers readable from a distance before body copy resolves. One button is clearly primary (hot-pink fill, ink label); the rest are quieter (cyan, yellow, or ghost) but share one shape and height.
### Signature Patterns
- **Die-cut cutout card**: panels clip one corner and drop a hard offset shadow, reading like die-cut packaging instead of a rounded rectangle.
- **Ribbon section header**: headers sit on a slightly rotated cyan ribbon with an uppercase mono label and offset shadow, like a pasted editorial annotation.
- **Circular KPI sticker**: statistic callouts live in circular or pill badges that overlap adjacent cards and break the grid.
- **Halftone + burst field**: backgrounds carry a page-wide ben-day dot field with burst rays in hero zones, so the language is visibly pop-graphic before content loads.
- **Pressed-print interaction**: controls translate a few pixels on hover/press as their offset shadow collapses.
### Links
Links carry the language's own gesture: a yellow highlighter sweep inks up under the label on hover (never a bare default underline).
## 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-01a11383-7c3e-7b83-a477-bb90ac503e89/DESIGN.with-shadcn.md`.
Machine-readable companions for automation: `/language/en-01a11383-7c3e-7b83-a477-bb90ac503e89/shadcn.json` (registry theme), `/language/en-01a11383-7c3e-7b83-a477-bb90ac503e89/shadcn-components.md` (component recipes) and `/language/en-01a11383-7c3e-7b83-a477-bb90ac503e89/shadcn-shots.json` (preview shots). The human-facing handoff is still 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 wrap every important surface in a black keyline with a hard offset shadow.
- Do pair tall League Gothic display type with compact mono labels and badges.
- Do keep captions, labels and two-word headlines on one line by letting the condensed faces take the width, not by shrinking the size.
- Do overlap stickers, ribbons and circular metrics so some elements break the grid.
- Do use saturated adjacent colour slabs instead of quiet tonal palettes.
- Do fully style every form control, including selects, checkboxes, switches and ranges.
- Don't rely on subtle grey borders or invisible card edges.
- Don't center everything into a polite, symmetrical dashboard.
- Don't mute the palette into corporate pastels or monochrome restraint.
- Don't use browser-default form controls.
- Don't set white text on the hot-pink fill, or ask Share Tech Mono for a bold it does not have.
- Don't pile noise so thickly that hierarchy disappears.
## Imagery Direction
### Pairs With
plakat
### Art Style Id
en-019ef872-8241-7b92-892e-2b60e64a34a2
shadcn/ui theme file
```json
{
"$schema": "https://ui.shadcn.com/schema/registry-item.json",
"name": "litfass",
"type": "registry:theme",
"title": "Litfass shadcn Theme",
"cssVars": {
"theme": {},
"light": {
"background": "#FFF4F8",
"foreground": "#141414",
"card": "#FFFFFF",
"card-foreground": "#141414",
"popover": "#FFFFFF",
"popover-foreground": "#141414",
"primary": "#141414",
"primary-foreground": "#ffffff",
"secondary": "#f4f4f5",
"secondary-foreground": "#111111",
"muted": "#6A5A66",
"muted-foreground": "#141414",
"accent": "#FF2D7A",
"accent-foreground": "#ffffff",
"destructive": "#FF3B30",
"border": "#141414",
"input": "#141414",
"ring": "#FF2D7A",
"chart-1": "#141414",
"chart-2": "#f4f4f5",
"chart-3": "#FF2D7A",
"chart-4": "#17B978",
"chart-5": "#FF9F1C",
"sidebar": "#FFFFFF",
"sidebar-foreground": "#141414",
"sidebar-primary": "#141414",
"sidebar-primary-foreground": "#ffffff",
"sidebar-accent": "#00C7F2",
"sidebar-accent-foreground": "#ffffff",
"sidebar-border": "#141414",
"sidebar-ring": "#FF2D7A",
"radius": "16px"
},
"dark": {
"background": "#0f1115",
"foreground": "#f8fafc",
"card": "#181b22",
"card-foreground": "#f8fafc",
"popover": "#181b22",
"popover-foreground": "#f8fafc",
"primary": "#141414",
"primary-foreground": "#ffffff",
"secondary": "#252a33",
"secondary-foreground": "#f8fafc",
"muted": "#252a33",
"muted-foreground": "#a1a1aa",
"accent": "#FF2D7A",
"accent-foreground": "#ffffff",
"destructive": "#FF3B30",
"border": "#303642",
"input": "#303642",
"ring": "#FF2D7A",
"chart-1": "#141414",
"chart-2": "#f4f4f5",
"chart-3": "#FF2D7A",
"chart-4": "#17B978",
"chart-5": "#FF9F1C",
"sidebar": "#181b22",
"sidebar-foreground": "#f8fafc",
"sidebar-primary": "#141414",
"sidebar-primary-foreground": "#ffffff",
"sidebar-accent": "#FF2D7A",
"sidebar-accent-foreground": "#ffffff",
"sidebar-border": "#303642",
"sidebar-ring": "#FF2D7A",
"radius": "16px"
}
},
"meta": {
"source": "katagami",
"languageId": "en-01a11383-7c3e-7b83-a477-bb90ac503e89",
"slug": "litfass",
"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": [
"body_font",
"google_fonts_url",
"heading_font",
"mono_font"
],
"radii": [
"full",
"lg",
"md",
"none"
],
"spacing": [
"2xl",
"3xl",
"base",
"lg",
"md",
"sm",
"xl",
"xs"
]
}
}
}
```