back to gallery
design language·druckwerk

Druckwerk

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 Swiss typographic monochrome press desk for the screen: warm press-paper ground, pure black ink, a halftone register rail as the signature mechanic, oversized grotesk headlines, structural rule lines, and one register vermilion used like a registration mark instead of decoration.
values
clarity through typographic structure and rule lines rather than ornamental interface chromeasymmetric editorial grid logic that creates tension while preserving order and scanabilitynear-monochrome restraint where ink, scale, the halftone screen and one register mark do the expressive work
anti-values
×colourful accent washes, soft shadows, glass, or gradients other than the halftone dot raster×rounded consumer-app styling, nested cards, or a single coloured accent edge pinned to a panel
tokens
colors12 items
bg
#F4F3EE
surface
#FFFFFF
surface-2
#ECEBE3
text
#0E0E0C
muted
#6B6B64
border
#14140F
accent
#D9341F
on-accent
#FFFFFF
success
#1F5C3A
warning
#8A6A00
error
#A1281A
info
#1E3A5F
typography8 items
base size
17px
body font
Archivo
heading font
Archivo
mono font
IBM Plex Mono
heading weight
900
heading transform
none
letter spacing
-0.02em
google fonts url
https://fonts.googleapis.com/css2?family=Archivo:wght@400;500;600;700;800;900&family=IBM+Plex+Mono:wght@400;500;600&display=swap
radii5 items
none
0
sm
0
md
0
lg
0
full
9999px
shadows3 items
sm
none
md
none
lg
none
spacing2 items
base
8px
scale
4, 8, 12, 16, 24, 32, 48, 64, 96
surfaces3 items
treatment
paper
card style
Flat white panel on a 2px black top rule, no side or bottom borders, no shadow, square corners; a tinted press-paper index band for register areas.
bg pattern
halftone
borders4 items
default width
1px
accent width
2px
style
solid
character
Borders are structural editorial rule lines — thin, exact, near-black — that expose the grid and separate information zones; never a coloured accent edge.
motion3 items
duration
160ms
easing
cubic-bezier(0.2,0.8,0.2,1)
philosophy
snappy
rules
composition
Compose screens like a Swiss press sheet merged with a data ledger: one commanding headline zone, a narrow halftone register rail, and modular content slices locked to a visible column rhythm.
hierarchy
Use scale contrast first, then weight, then rule lines and the halftone screen, then a single vermilion register mark for the focal state. Headlines command, mono index labels stay quiet, data values are precise and sharply aligned.
density

Medium-high density with disciplined whitespace: content is plentiful but every cluster lives inside a measured grid with breathing room around major headlines.

signature
The halftone register rail — a numbered monospace index column with a dot-screen tick and a vertical rule that survives all breakpoints, with the same halftone raster recurring on stat underbars, chart bars and proof textures.
layout
grid
A two-track editorial grid (narrow index rail + wide content span) on minmax(0,1fr) columns with min-width:0 children; collapses to a single stacked column with the index rail as a horizontal band on mobile.
whitespace
Generous page margins and deliberate vertical rhythm, with compressed spacing inside data clusters so the contrast between macro-space and micro-density stays visible.
density

balanced

responsive
Renders from ~390px mobile to 2560px+ ultra-wide; single-column stack on mobile with non-essential nav hidden and no horizontal overflow; capped centred content on ultra-wide with only the hero spanning 100vw.
breakpoints
mobile
390-767
tablet
768-1439
desktop
1440+
guidance
do
  • Use black rule lines, scale contrast, alignment and the halftone screen as the primary expressive tools.
  • Keep components rectangular, flat and grid-locked with visible structural seams; seat panels on a 2px black top rule.
  • Reserve vermilion for the registration mark and focal states; set index labels, slugs, counts and times in IBM Plex Mono uppercase.
avoid
  • Introduce colourful accent washes, soft shadows, glass, or gradients other than the halftone dot raster.
  • Pin a single coloured accent edge to a card, nest cards, box the nav into a floating pill, or round corners.
  • Centre body content; preserve asymmetric tension and a left-anchored reading flow.
imagery
pairs with

rasterwerk

summary
High-contrast monochrome lithographic halftone dot-screen imagery: any subject rendered in pure black ink on a bright field, every tone built from a mechanical dot raster, crossed by thin hairline registration rules and crop ticks aligned to a Swiss editorial grid.
subjects
letterpress and offset printing machinerypress cylinders and inked rollersarchitectural Swiss-modern concrete and steelobjective still-life of tools and type
usage
One full-bleed halftone hero behind a solid white type plate on the landing; smaller halftone proofs and the dot-screen raster as the recurring interface texture on stat bars, chart bars and index ticks. End prompts with NO text, NO letters, NO logos.
katagami spec
# Druckwerk

## Philosophy

A Swiss typographic monochrome press desk for the screen: warm press-paper ground, pure black ink, a halftone register rail as the signature mechanic, oversized grotesk headlines, structural rule lines, and one register vermilion used like a registration mark instead of decoration.

### Values

- clarity through typographic structure and rule lines rather than ornamental interface chrome
- asymmetric editorial grid logic that creates tension while preserving order and scanability
- near-monochrome restraint where ink, scale, the halftone screen and one register mark do the expressive work

### Anti-Values

- colourful accent washes, soft shadows, glass, or gradients other than the halftone dot raster
- rounded consumer-app styling, nested cards, or a single coloured accent edge pinned to a panel

## Tokens

### Colors

| Name | Value |
|------|-------|
| bg | `#F4F3EE` |
| surface | `#FFFFFF` |
| surface-2 | `#ECEBE3` |
| text | `#0E0E0C` |
| muted | `#6B6B64` |
| border | `#14140F` |
| accent | `#D9341F` |
| on-accent | `#FFFFFF` |
| success | `#1F5C3A` |
| warning | `#8A6A00` |
| error | `#A1281A` |
| info | `#1E3A5F` |

### Typography

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

### Radii

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

### Shadows

- **Sm**: none
- **Md**: none
- **Lg**: none

### Spacing

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

### Surfaces

- **Treatment**: paper
- **Card Style**: Flat white panel on a 2px black top rule, no side or bottom borders, no shadow, square corners; a tinted press-paper index band for register areas.
- **Bg Pattern**: halftone

### Borders

- **Default Width**: 1px
- **Accent Width**: 2px
- **Style**: solid
- **Character**: Borders are structural editorial rule lines — thin, exact, near-black — that expose the grid and separate information zones; never a coloured accent edge.

### Motion

- **Duration**: 160ms
- **Easing**: cubic-bezier(0.2,0.8,0.2,1)
- **Philosophy**: snappy

## Rules

### Composition

Compose screens like a Swiss press sheet merged with a data ledger: one commanding headline zone, a narrow halftone register rail, and modular content slices locked to a visible column rhythm.

### Hierarchy

Use scale contrast first, then weight, then rule lines and the halftone screen, then a single vermilion register mark for the focal state. Headlines command, mono index labels stay quiet, data values are precise and sharply aligned.

### Density

Medium-high density with disciplined whitespace: content is plentiful but every cluster lives inside a measured grid with breathing room around major headlines.

### Signature

The halftone register rail — a numbered monospace index column with a dot-screen tick and a vertical rule that survives all breakpoints, with the same halftone raster recurring on stat underbars, chart bars and proof textures.

## Layout

### Grid

A two-track editorial grid (narrow index rail + wide content span) on minmax(0,1fr) columns with min-width:0 children; collapses to a single stacked column with the index rail as a horizontal band on mobile.

### Whitespace

Generous page margins and deliberate vertical rhythm, with compressed spacing inside data clusters so the contrast between macro-space and micro-density stays visible.

### Density

balanced

### Responsive

Renders from ~390px mobile to 2560px+ ultra-wide; single-column stack on mobile with non-essential nav hidden and no horizontal overflow; capped centred content on ultra-wide with only the hero spanning 100vw.

### Breakpoints

- **Mobile**: 390-767
- **Tablet**: 768-1439
- **Desktop**: 1440+

## Guidance

### Do

- Use black rule lines, scale contrast, alignment and the halftone screen as the primary expressive tools.
- Keep components rectangular, flat and grid-locked with visible structural seams; seat panels on a 2px black top rule.
- Reserve vermilion for the registration mark and focal states; set index labels, slugs, counts and times in IBM Plex Mono uppercase.

### Don't

- Introduce colourful accent washes, soft shadows, glass, or gradients other than the halftone dot raster.
- Pin a single coloured accent edge to a card, nest cards, box the nav into a floating pill, or round corners.
- Centre body content; preserve asymmetric tension and a left-anchored reading flow.

### Accessibility

High contrast throughout (ink #0E0E0C on paper #F4F3EE, white on ink); body text 17px+, table rows 14.5px+; every form control explicitly styled with a visible vermilion focus ring and an error-red invalid state; motion respects prefers-reduced-motion.

## Imagery Direction

### Pairs With

rasterwerk

### Summary

High-contrast monochrome lithographic halftone dot-screen imagery: any subject rendered in pure black ink on a bright field, every tone built from a mechanical dot raster, crossed by thin hairline registration rules and crop ticks aligned to a Swiss editorial grid.

### Subjects

- letterpress and offset printing machinery
- press cylinders and inked rollers
- architectural Swiss-modern concrete and steel
- objective still-life of tools and type

### Usage

One full-bleed halftone hero behind a solid white type plate on the landing; smaller halftone proofs and the dot-screen raster as the recurring interface texture on stat bars, chart bars and index ticks. End prompts with NO text, NO letters, NO logos.
DESIGN.md
---
version: "alpha"
name: "Druckwerk"
description: "Agent-curated design language exported from Katagami as DESIGN.md."
colors:
  bg: "#F4F3EE"
  surface: "#FFFFFF"
  surface-2: "#ECEBE3"
  text: "#0E0E0C"
  muted: "#6B6B64"
  border: "#14140F"
  accent: "#D9341F"
  on-accent: "#FFFFFF"
  success: "#1F5C3A"
  warning: "#8A6A00"
  error: "#A1281A"
  info: "#1E3A5F"
typography:
  headline-lg:
    fontFamily: "Archivo"
    fontSize: "2.075rem"
    fontWeight: 700
    lineHeight: 1.1
    letterSpacing: "-0.02em"
  headline-md:
    fontFamily: "Archivo"
    fontSize: "1.66rem"
    fontWeight: 600
    lineHeight: 1.15
    letterSpacing: "-0.02em"
  body-md:
    fontFamily: "Archivo"
    fontSize: "17px"
    fontWeight: 400
    lineHeight: 1.5
    letterSpacing: "-0.02em"
  label-md:
    fontFamily: "IBM Plex Mono"
    fontSize: "0.75rem"
    fontWeight: 600
    lineHeight: 1
    letterSpacing: "0.08em"
rounded:
  none: "0px"
  sm: "0px"
  md: "0px"
  lg: "0px"
  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-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-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"
---

# Druckwerk

## Overview

A Swiss typographic monochrome press desk for the screen: warm press-paper ground, pure black ink, a halftone register rail as the signature mechanic, oversized grotesk headlines, structural rule lines, and one register vermilion used like a registration mark instead of decoration.

### Values

- clarity through typographic structure and rule lines rather than ornamental interface chrome
- asymmetric editorial grid logic that creates tension while preserving order and scanability
- near-monochrome restraint where ink, scale, the halftone screen and one register mark do the expressive work

### Anti-Values

- colourful accent washes, soft shadows, glass, or gradients other than the halftone dot raster
- rounded consumer-app styling, nested cards, or a single coloured accent edge pinned to a panel

## 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 | `#F4F3EE` |
| surface | `#FFFFFF` |
| surface-2 | `#ECEBE3` |
| text | `#0E0E0C` |
| muted | `#6B6B64` |
| border | `#14140F` |
| accent | `#D9341F` |
| on-accent | `#FFFFFF` |
| success | `#1F5C3A` |
| warning | `#8A6A00` |
| error | `#A1281A` |
| info | `#1E3A5F` |

## Typography

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

### Grid

A two-track editorial grid (narrow index rail + wide content span) on minmax(0,1fr) columns with min-width:0 children; collapses to a single stacked column with the index rail as a horizontal band on mobile.

### Whitespace

Generous page margins and deliberate vertical rhythm, with compressed spacing inside data clusters so the contrast between macro-space and micro-density stays visible.

### Density

balanced

### Responsive

Renders from ~390px mobile to 2560px+ ultra-wide; single-column stack on mobile with non-essential nav hidden and no horizontal overflow; capped centred content on ultra-wide with only the hero spanning 100vw.

### Breakpoints

- **Mobile**: 390-767
- **Tablet**: 768-1439
- **Desktop**: 1440+

## Elevation & Depth

### Shadows

- **Sm**: none
- **Md**: none
- **Lg**: none

## Shapes

### Rounded

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

### Surfaces

- **Treatment**: paper
- **Card Style**: Flat white panel on a 2px black top rule, no side or bottom borders, no shadow, square corners; a tinted press-paper index band for register areas.
- **Bg Pattern**: halftone

### Borders

- **Default Width**: 1px
- **Accent Width**: 2px
- **Style**: solid
- **Character**: Borders are structural editorial rule lines — thin, exact, near-black — that expose the grid and separate information zones; never a coloured accent edge.

## Components

### Composition

Compose screens like a Swiss press sheet merged with a data ledger: one commanding headline zone, a narrow halftone register rail, and modular content slices locked to a visible column rhythm.

### Hierarchy

Use scale contrast first, then weight, then rule lines and the halftone screen, then a single vermilion register mark for the focal state. Headlines command, mono index labels stay quiet, data values are precise and sharply aligned.

### Density

Medium-high density with disciplined whitespace: content is plentiful but every cluster lives inside a measured grid with breathing room around major headlines.

### Signature

The halftone register rail — a numbered monospace index column with a dot-screen tick and a vertical rule that survives all breakpoints, with the same halftone raster recurring on stat underbars, chart bars and proof textures.

## 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-019ef8e7-e881-7ea2-9b64-0ab97fedcfcc/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 Use black rule lines, scale contrast, alignment and the halftone screen as the primary expressive tools.
- Do Keep components rectangular, flat and grid-locked with visible structural seams; seat panels on a 2px black top rule.
- Do Reserve vermilion for the registration mark and focal states; set index labels, slugs, counts and times in IBM Plex Mono uppercase.
- Don't Introduce colourful accent washes, soft shadows, glass, or gradients other than the halftone dot raster.
- Don't Pin a single coloured accent edge to a card, nest cards, box the nav into a floating pill, or round corners.
- Don't Centre body content; preserve asymmetric tension and a left-anchored reading flow.

### Accessibility

High contrast throughout (ink #0E0E0C on paper #F4F3EE, white on ink); body text 17px+, table rows 14.5px+; every form control explicitly styled with a visible vermilion focus ring and an error-red invalid state; motion respects prefers-reduced-motion.

## Imagery Direction

### Pairs With

rasterwerk

### Summary

High-contrast monochrome lithographic halftone dot-screen imagery: any subject rendered in pure black ink on a bright field, every tone built from a mechanical dot raster, crossed by thin hairline registration rules and crop ticks aligned to a Swiss editorial grid.

### Subjects

- letterpress and offset printing machinery
- press cylinders and inked rollers
- architectural Swiss-modern concrete and steel
- objective still-life of tools and type

### Usage

One full-bleed halftone hero behind a solid white type plate on the landing; smaller halftone proofs and the dot-screen raster as the recurring interface texture on stat bars, chart bars and index ticks. End prompts with NO text, NO letters, NO logos.
shadcn/ui theme
```json
{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "druckwerk",
  "type": "registry:theme",
  "title": "Druckwerk shadcn Theme",
  "cssVars": {
    "theme": {},
    "light": {
      "background": "#F4F3EE",
      "foreground": "#0E0E0C",
      "card": "#FFFFFF",
      "card-foreground": "#0E0E0C",
      "popover": "#FFFFFF",
      "popover-foreground": "#0E0E0C",
      "primary": "#0E0E0C",
      "primary-foreground": "#ffffff",
      "secondary": "#f4f4f5",
      "secondary-foreground": "#111111",
      "muted": "#6B6B64",
      "muted-foreground": "#0E0E0C",
      "accent": "#D9341F",
      "accent-foreground": "#ffffff",
      "destructive": "#A1281A",
      "border": "#14140F",
      "input": "#14140F",
      "ring": "#D9341F",
      "chart-1": "#0E0E0C",
      "chart-2": "#f4f4f5",
      "chart-3": "#D9341F",
      "chart-4": "#1F5C3A",
      "chart-5": "#8A6A00",
      "sidebar": "#FFFFFF",
      "sidebar-foreground": "#0E0E0C",
      "sidebar-primary": "#0E0E0C",
      "sidebar-primary-foreground": "#ffffff",
      "sidebar-accent": "#1E3A5F",
      "sidebar-accent-foreground": "#ffffff",
      "sidebar-border": "#14140F",
      "sidebar-ring": "#D9341F",
      "radius": "0"
    },
    "dark": {
      "background": "#0f1115",
      "foreground": "#f8fafc",
      "card": "#181b22",
      "card-foreground": "#f8fafc",
      "popover": "#181b22",
      "popover-foreground": "#f8fafc",
      "primary": "#0E0E0C",
      "primary-foreground": "#ffffff",
      "secondary": "#252a33",
      "secondary-foreground": "#f8fafc",
      "muted": "#252a33",
      "muted-foreground": "#a1a1aa",
      "accent": "#D9341F",
      "accent-foreground": "#ffffff",
      "destructive": "#A1281A",
      "border": "#303642",
      "input": "#303642",
      "ring": "#D9341F",
      "chart-1": "#0E0E0C",
      "chart-2": "#f4f4f5",
      "chart-3": "#D9341F",
      "chart-4": "#1F5C3A",
      "chart-5": "#8A6A00",
      "sidebar": "#181b22",
      "sidebar-foreground": "#f8fafc",
      "sidebar-primary": "#0E0E0C",
      "sidebar-primary-foreground": "#ffffff",
      "sidebar-accent": "#D9341F",
      "sidebar-accent-foreground": "#ffffff",
      "sidebar-border": "#303642",
      "sidebar-ring": "#D9341F",
      "radius": "0"
    }
  },
  "meta": {
    "source": "katagami",
    "languageId": "en-019ef8e7-e881-7ea2-9b64-0ab97fedcfcc",
    "slug": "druckwerk",
    "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",
        "bg",
        "border",
        "error",
        "info",
        "muted",
        "on-accent",
        "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": [
        "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

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

at a glance

Typography

headline-lgArchivo · 33px · 700

The quick brown fox jumps

headline-mdArchivo · 27px · 600

The quick brown fox jumps

body-mdArchivo · 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 Druckwerkand 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
Druckwerk
Palette
Art style
Landing Page
live preview · recolored + filled
lineage

Family

1 descendant
related

More like this