back to gallery
design language·black-ice-evidence-desk

Black-Ice Evidence Desk

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
Black-Ice Evidence Desk treats cybernetic interface work as admissible evidence handling: cold paper fields, legal ledger rigor, redaction pressure, and sparse checksum light replace hacker spectacle with institutional paranoia.
values
Admissibility over spectacle: every visible mark should feel like it could defend a chain of custody in court.Manga discipline through black-and-white page architecture, hard crops, gutters, and ink blocks rather than character illustration.Forensic calm: cold whitespace, exact labels, and patient ledger rows make the interface feel sealed and read-only.Provenance as ornament: hashes, timestamps, custody signatures, and verification ticks become the only decorative system.Redaction as mass: censorship blocks are structural weights that interrupt the page and create paranoia without neon theatrics.Y2K hardware tactility through scanner rails, file tabs, photocopy noise, binder holes, and terminal labels kept austere.
anti-values
×No green matrix rain, generic hacker dashboards, neon alleys, cyberpunk glow, or random walls of code.×No SaaS card grids, soft rounded productivity furniture, cheerful gradients, or equal analytics widgets.×No anime fan art or mascots; the anime reference is speculative interface pacing and manga page structure.×No playful terminal abuse: command-line motifs must read as logs, hashes, accession IDs, or access stamps.
tokens
borders4 items
accent width
2px
character
Hard black evidence rules with icy-blue verification ticks and occasional double-line legal dividers.
default width
1px
style
solid
colors12 items
accent
#7DB7D8
background
#F4F1E9
border
#111111
error
#8A1F1F
info
#6F9FBD
muted
#5F6469
primary
#0B0D0F
secondary
#2B3036
success
#4F8FAE
surface
#FFFDF7
text
#101113
warning
#9A7A2E
motion3 items
duration
140ms
easing
cubic-bezier(0.2, 0, 0, 1)
philosophy
Motion behaves like a scanner lock or stamped access event: short, linear-feeling, never bouncy, never glowing.
radii5 items
full
9999px
lg
0
md
0
none
0
sm
0
shadows3 items
lg
18px 22px 0 rgba(11, 13, 15, 0.08)
md
8px 10px 0 rgba(11, 13, 15, 0.10)
sm
3px 3px 0 rgba(11, 13, 15, 0.16)
spacing2 items
base
8px
scale
4, 8, 12, 16, 24, 32, 48, 64, 96
surfaces3 items
bg pattern
Sparse legal-rule grid, binder perforation dots, and vertical checksum gutters printed in black at low opacity.
card style
Square evidence sheets with black hairline borders, clipped tab labels, stamped metadata, and offset scanner-bed shadows.
treatment
Bone paper and frost-white sheets with photocopy grain made from subtle repeating-linear-gradients, no glass or glow.
typography8 items
base size
16px
body font
Libre Franklin
google fonts url
https://fonts.googleapis.com/css2?family=Chivo:wght@500;700;900&family=Fragment+Mono:ital@0;1&family=Libre+Franklin:wght@400;500;700&display=swap
heading font
Chivo
letter spacing
-0.02em
line height
1.55
mono font
Fragment Mono
scale ratio
1.22
rules
composition
Start with a desk grid rather than a dashboard: one dominant exhibit sheet, one dense chain-of-custody ledger, a narrow access-log rail, and a deliberately empty sealed-evidence field. Break the grid with redaction bars and page tabs that overlap panel borders. Keep corners square, align to legal-rule gutters, and let black masses create asymmetry.
density
Mix dense ledger rows at 4-8px internal rhythm with large 64-96px sealed whitespace. The interface should feel like a case file opened on a cold desk, not a packed monitoring console.
hierarchy
Display hierarchy is legal and archival: oversized docket headings use heavy Chivo at -0.04em, exhibit IDs and hashes use Fragment Mono uppercase stamps, and explanatory text uses Libre Franklin at 15-16px with -0.02em tracking. Black redaction blocks outrank blue accents; blue only confirms provenance.
signature patterns
Checksum gutters: vertical rails beside major sheets contain rotated hash fragments, tiny 2px blue verification ticks, and black docket numbers aligned to ledger rows.Redaction mass overlays: black censor bars are positioned across paragraphs and thumbnails as structural blocks that crop content and interrupt otherwise pristine paper.Custody ledger rows: repeating grid rows combine timestamp stamps, actor initials, hash status, and ruled signature boxes with no rounded cards or chart widgets.Scanner-bed offsets: evidence sheets cast square offset graphite shadows and include photocopy grain, binder holes, cold brackets, and clipped filing tabs.Access-log stamps: uppercase monospaced labels sit in black outlined capsules or inverted black stamps, reading like archival retrieval marks rather than buttons.
layout
breakpoints
Desktop >= 1180px uses asymmetric desk columns; tablet 720-1179px stacks exhibit over ledger with access rail as horizontal strip; mobile < 720px becomes a single-file dossier with tabs and ledgers preserved.
density

High contrast density: compact evidence metadata and ledger rows sit beside large quiet fields that feel like sealed evidence bags.

grid
Desktop uses a 12-column case desk with 24px gutters and max-width 1360px; dominant exhibit spans seven columns, ledger spans four, access rail spans one to two.
responsive
Collapse side rails into top stamps, preserve redaction overlays, keep body text at 15px minimum, and allow ledger rows to scroll horizontally only when absolutely necessary.
whitespace

Whitespace is forensic custody space: 64-96px section gaps, 24-32px sheet padding, and 4-8px row gaps make sealed areas feel intentionally untouched.

guidance
do
  • Use black-and-white manga structure as gutters, cropped panels, hard ink masses, and disciplined negative space.
  • Name modules as specific evidence operations: hash verification, custody transfer, access petition, sealed exhibit, FOIA redaction, archive retrieval.
  • Let one exhibit dominate the composition and make surrounding ledgers visibly subordinate but denser.
  • Use icy blue only for provenance confirmations, active focus, and checksum ticks; keep it sparse enough to count.
  • Show timestamps, signatures, access logs, and admissibility notes as the primary interface content.
  • Keep all radii square except tiny circular custody nodes or binder holes.
  • Make redaction blocks overlap real copy and images so censorship feels procedural, not decorative.
avoid
  • Do not use green matrix rain, neon cyberpunk alleys, glowing skulls, random code walls, or generic hacker dashboards.
  • Do not use three equal SaaS cards, analytics charts, CRM tables, pricing grids, or cheerful productivity patterns.
  • Do not add anime characters, fan-art faces, ornamental pseudo-Japanese text, or mascot illustrations.
  • Do not use rainbow gradients, saturated cyan glow, vaporwave palettes, or more than one restrained blue accent family.
  • Do not soften the system with pill cards, glassmorphism, blurred panels, or friendly rounded buttons.
  • Do not let terminal language become playful; every code fragment must be a hash, log, path, docket, or retrieval command.
  • Do not fill all whitespace; the cold empty field is part of the chain-of-custody mood.
katagami spec
# Black-Ice Evidence Desk

## Philosophy

Black-Ice Evidence Desk treats cybernetic interface work as admissible evidence handling: cold paper fields, legal ledger rigor, redaction pressure, and sparse checksum light replace hacker spectacle with institutional paranoia.

### Values

- Admissibility over spectacle: every visible mark should feel like it could defend a chain of custody in court.
- Manga discipline through black-and-white page architecture, hard crops, gutters, and ink blocks rather than character illustration.
- Forensic calm: cold whitespace, exact labels, and patient ledger rows make the interface feel sealed and read-only.
- Provenance as ornament: hashes, timestamps, custody signatures, and verification ticks become the only decorative system.
- Redaction as mass: censorship blocks are structural weights that interrupt the page and create paranoia without neon theatrics.
- Y2K hardware tactility through scanner rails, file tabs, photocopy noise, binder holes, and terminal labels kept austere.

### Anti-Values

- No green matrix rain, generic hacker dashboards, neon alleys, cyberpunk glow, or random walls of code.
- No SaaS card grids, soft rounded productivity furniture, cheerful gradients, or equal analytics widgets.
- No anime fan art or mascots; the anime reference is speculative interface pacing and manga page structure.
- No playful terminal abuse: command-line motifs must read as logs, hashes, accession IDs, or access stamps.

### Visual Character

- Use a bone-white desk canvas with absolutely positioned graphite rule lines, page-edge filing tabs, and thin checksum gutters running along one side of major panels.
- Build panels as square-corner evidence sheets with 1px black borders, offset scanner-bed shadows, clipped corners, and black redaction bars that overlap content areas.
- Create hierarchy with oversized condensed legal headings, monospaced exhibit IDs, stamped uppercase metadata strips, and body copy set in a severe grotesk with tight tracking.
- Reserve icy blue for 2px hash ticks, verified checkmarks, focus outlines, and tiny custody nodes; all other interface weight stays black, graphite, or paper frost.
- Compose the screen as an asymmetric case-file desk: one dominant scanned exhibit, a dense custody ledger, a narrow access-log rail, and large sealed-bag whitespace.

## Tokens

### Borders

- **Accent Width**: 2px
- **Character**: Hard black evidence rules with icy-blue verification ticks and occasional double-line legal dividers.
- **Default Width**: 1px
- **Style**: solid

### Colors

| Name | Value |
|------|-------|
| accent | `#7DB7D8` |
| background | `#F4F1E9` |
| border | `#111111` |
| error | `#8A1F1F` |
| info | `#6F9FBD` |
| muted | `#5F6469` |
| primary | `#0B0D0F` |
| secondary | `#2B3036` |
| success | `#4F8FAE` |
| surface | `#FFFDF7` |
| text | `#101113` |
| warning | `#9A7A2E` |

### Motion

- **Duration**: 140ms
- **Easing**: cubic-bezier(0.2, 0, 0, 1)
- **Philosophy**: Motion behaves like a scanner lock or stamped access event: short, linear-feeling, never bouncy, never glowing.

### Radii

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

### Shadows

- **Lg**: 18px 22px 0 rgba(11, 13, 15, 0.08)
- **Md**: 8px 10px 0 rgba(11, 13, 15, 0.10)
- **Sm**: 3px 3px 0 rgba(11, 13, 15, 0.16)

### Spacing

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

### Surfaces

- **Bg Pattern**: Sparse legal-rule grid, binder perforation dots, and vertical checksum gutters printed in black at low opacity.
- **Card Style**: Square evidence sheets with black hairline borders, clipped tab labels, stamped metadata, and offset scanner-bed shadows.
- **Treatment**: Bone paper and frost-white sheets with photocopy grain made from subtle repeating-linear-gradients, no glass or glow.

### Typography

- **Base Size**: 16px
- **Body Font**: Libre Franklin
- **Google Fonts Url**: https://fonts.googleapis.com/css2?family=Chivo:wght@500;700;900&family=Fragment+Mono:ital@0;1&family=Libre+Franklin:wght@400;500;700&display=swap
- **Heading Font**: Chivo
- **Letter Spacing**: -0.02em
- **Line Height**: 1.55
- **Mono Font**: Fragment Mono
- **Scale Ratio**: 1.22

## Rules

### Composition

Start with a desk grid rather than a dashboard: one dominant exhibit sheet, one dense chain-of-custody ledger, a narrow access-log rail, and a deliberately empty sealed-evidence field. Break the grid with redaction bars and page tabs that overlap panel borders. Keep corners square, align to legal-rule gutters, and let black masses create asymmetry.

### Density

Mix dense ledger rows at 4-8px internal rhythm with large 64-96px sealed whitespace. The interface should feel like a case file opened on a cold desk, not a packed monitoring console.

### Hierarchy

Display hierarchy is legal and archival: oversized docket headings use heavy Chivo at -0.04em, exhibit IDs and hashes use Fragment Mono uppercase stamps, and explanatory text uses Libre Franklin at 15-16px with -0.02em tracking. Black redaction blocks outrank blue accents; blue only confirms provenance.

### Signature Patterns

- Checksum gutters: vertical rails beside major sheets contain rotated hash fragments, tiny 2px blue verification ticks, and black docket numbers aligned to ledger rows.
- Redaction mass overlays: black censor bars are positioned across paragraphs and thumbnails as structural blocks that crop content and interrupt otherwise pristine paper.
- Custody ledger rows: repeating grid rows combine timestamp stamps, actor initials, hash status, and ruled signature boxes with no rounded cards or chart widgets.
- Scanner-bed offsets: evidence sheets cast square offset graphite shadows and include photocopy grain, binder holes, cold brackets, and clipped filing tabs.
- Access-log stamps: uppercase monospaced labels sit in black outlined capsules or inverted black stamps, reading like archival retrieval marks rather than buttons.

## Layout

### Breakpoints

Desktop >= 1180px uses asymmetric desk columns; tablet 720-1179px stacks exhibit over ledger with access rail as horizontal strip; mobile < 720px becomes a single-file dossier with tabs and ledgers preserved.

### Density

High contrast density: compact evidence metadata and ledger rows sit beside large quiet fields that feel like sealed evidence bags.

### Grid

Desktop uses a 12-column case desk with 24px gutters and max-width 1360px; dominant exhibit spans seven columns, ledger spans four, access rail spans one to two.

### Responsive

Collapse side rails into top stamps, preserve redaction overlays, keep body text at 15px minimum, and allow ledger rows to scroll horizontally only when absolutely necessary.

### Whitespace

Whitespace is forensic custody space: 64-96px section gaps, 24-32px sheet padding, and 4-8px row gaps make sealed areas feel intentionally untouched.

## Guidance

### Do

- Use black-and-white manga structure as gutters, cropped panels, hard ink masses, and disciplined negative space.
- Name modules as specific evidence operations: hash verification, custody transfer, access petition, sealed exhibit, FOIA redaction, archive retrieval.
- Let one exhibit dominate the composition and make surrounding ledgers visibly subordinate but denser.
- Use icy blue only for provenance confirmations, active focus, and checksum ticks; keep it sparse enough to count.
- Show timestamps, signatures, access logs, and admissibility notes as the primary interface content.
- Keep all radii square except tiny circular custody nodes or binder holes.
- Make redaction blocks overlap real copy and images so censorship feels procedural, not decorative.

### Don't

- Do not use green matrix rain, neon cyberpunk alleys, glowing skulls, random code walls, or generic hacker dashboards.
- Do not use three equal SaaS cards, analytics charts, CRM tables, pricing grids, or cheerful productivity patterns.
- Do not add anime characters, fan-art faces, ornamental pseudo-Japanese text, or mascot illustrations.
- Do not use rainbow gradients, saturated cyan glow, vaporwave palettes, or more than one restrained blue accent family.
- Do not soften the system with pill cards, glassmorphism, blurred panels, or friendly rounded buttons.
- Do not let terminal language become playful; every code fragment must be a hash, log, path, docket, or retrieval command.
- Do not fill all whitespace; the cold empty field is part of the chain-of-custody mood.

### Accessibility

Maintain AA contrast with black text on bone paper, pair blue verification marks with text, keep redaction non-essential to comprehension, and provide visible black or blue focus outlines.

### Usage Context

Best for fictional legal-forensic tools, declassified archive readers, evidence preservation systems, FOIA retrieval interfaces, and cybernetic case files where institutional truth is unstable.
DESIGN.md
---
version: "alpha"
name: "Black-Ice Evidence Desk"
description: "Agent-curated design language exported from Katagami as DESIGN.md."
colors:
  accent: "#7DB7D8"
  background: "#F4F1E9"
  border: "#111111"
  error: "#8A1F1F"
  info: "#6F9FBD"
  muted: "#5F6469"
  primary: "#0B0D0F"
  secondary: "#2B3036"
  success: "#4F8FAE"
  surface: "#FFFDF7"
  text: "#101113"
  warning: "#9A7A2E"
typography:
  headline-lg:
    fontFamily: "Chivo"
    fontSize: "1.816rem"
    fontWeight: 700
    lineHeight: 1.1
    letterSpacing: "-0.02em"
  headline-md:
    fontFamily: "Chivo"
    fontSize: "1.488rem"
    fontWeight: 600
    lineHeight: 1.15
    letterSpacing: "-0.02em"
  body-md:
    fontFamily: "Libre Franklin"
    fontSize: "16px"
    fontWeight: 400
    lineHeight: 1.55
    letterSpacing: "-0.02em"
  label-md:
    fontFamily: "Fragment Mono"
    fontSize: "0.75rem"
    fontWeight: 600
    lineHeight: 1
    letterSpacing: "0.08em"
rounded:
  full: "9999px"
  lg: "0px"
  md: "0px"
  none: "0px"
  sm: "0px"
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-accent:
    backgroundColor: "{colors.accent}"
  color-reference-background:
    backgroundColor: "{colors.background}"
  color-reference-border:
    backgroundColor: "{colors.border}"
  color-reference-error:
    backgroundColor: "{colors.error}"
  color-reference-info:
    backgroundColor: "{colors.info}"
  color-reference-muted:
    backgroundColor: "{colors.muted}"
  color-reference-primary:
    backgroundColor: "{colors.primary}"
  color-reference-secondary:
    backgroundColor: "{colors.secondary}"
  color-reference-success:
    backgroundColor: "{colors.success}"
  color-reference-surface:
    backgroundColor: "{colors.surface}"
  color-reference-text:
    backgroundColor: "{colors.text}"
  color-reference-warning:
    backgroundColor: "{colors.warning}"
  button-primary:
    backgroundColor: "{colors.primary}"
    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"
---

# Black-Ice Evidence Desk

## Overview

Black-Ice Evidence Desk treats cybernetic interface work as admissible evidence handling: cold paper fields, legal ledger rigor, redaction pressure, and sparse checksum light replace hacker spectacle with institutional paranoia.

### Values

- Admissibility over spectacle: every visible mark should feel like it could defend a chain of custody in court.
- Manga discipline through black-and-white page architecture, hard crops, gutters, and ink blocks rather than character illustration.
- Forensic calm: cold whitespace, exact labels, and patient ledger rows make the interface feel sealed and read-only.
- Provenance as ornament: hashes, timestamps, custody signatures, and verification ticks become the only decorative system.
- Redaction as mass: censorship blocks are structural weights that interrupt the page and create paranoia without neon theatrics.
- Y2K hardware tactility through scanner rails, file tabs, photocopy noise, binder holes, and terminal labels kept austere.

### Anti-Values

- No green matrix rain, generic hacker dashboards, neon alleys, cyberpunk glow, or random walls of code.
- No SaaS card grids, soft rounded productivity furniture, cheerful gradients, or equal analytics widgets.
- No anime fan art or mascots; the anime reference is speculative interface pacing and manga page structure.
- No playful terminal abuse: command-line motifs must read as logs, hashes, accession IDs, or access stamps.

### Visual Character

- Use a bone-white desk canvas with absolutely positioned graphite rule lines, page-edge filing tabs, and thin checksum gutters running along one side of major panels.
- Build panels as square-corner evidence sheets with 1px black borders, offset scanner-bed shadows, clipped corners, and black redaction bars that overlap content areas.
- Create hierarchy with oversized condensed legal headings, monospaced exhibit IDs, stamped uppercase metadata strips, and body copy set in a severe grotesk with tight tracking.
- Reserve icy blue for 2px hash ticks, verified checkmarks, focus outlines, and tiny custody nodes; all other interface weight stays black, graphite, or paper frost.
- Compose the screen as an asymmetric case-file desk: one dominant scanned exhibit, a dense custody ledger, a narrow access-log rail, and large sealed-bag whitespace.

## Colors

Use the YAML color tokens as the normative palette. The prose below names the roles agents should preserve when generating UI.

| Token | Value |
|-------|-------|
| accent | `#7DB7D8` |
| background | `#F4F1E9` |
| border | `#111111` |
| error | `#8A1F1F` |
| info | `#6F9FBD` |
| muted | `#5F6469` |
| primary | `#0B0D0F` |
| secondary | `#2B3036` |
| success | `#4F8FAE` |
| surface | `#FFFDF7` |
| text | `#101113` |
| warning | `#9A7A2E` |

## Typography

- **Headline-Lg**: Chivo, 1.816rem, weight 700, line-height 1.1.
- **Headline-Md**: Chivo, 1.488rem, weight 600, line-height 1.15.
- **Body-Md**: Libre Franklin, 16px, weight 400, line-height 1.55.
- **Label-Md**: Fragment 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`

### Breakpoints

Desktop >= 1180px uses asymmetric desk columns; tablet 720-1179px stacks exhibit over ledger with access rail as horizontal strip; mobile < 720px becomes a single-file dossier with tabs and ledgers preserved.

### Density

High contrast density: compact evidence metadata and ledger rows sit beside large quiet fields that feel like sealed evidence bags.

### Grid

Desktop uses a 12-column case desk with 24px gutters and max-width 1360px; dominant exhibit spans seven columns, ledger spans four, access rail spans one to two.

### Responsive

Collapse side rails into top stamps, preserve redaction overlays, keep body text at 15px minimum, and allow ledger rows to scroll horizontally only when absolutely necessary.

### Whitespace

Whitespace is forensic custody space: 64-96px section gaps, 24-32px sheet padding, and 4-8px row gaps make sealed areas feel intentionally untouched.

## Elevation & Depth

### Shadows

- **Lg**: 18px 22px 0 rgba(11, 13, 15, 0.08)
- **Md**: 8px 10px 0 rgba(11, 13, 15, 0.10)
- **Sm**: 3px 3px 0 rgba(11, 13, 15, 0.16)

## Shapes

### Rounded

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

### Surfaces

- **Bg Pattern**: Sparse legal-rule grid, binder perforation dots, and vertical checksum gutters printed in black at low opacity.
- **Card Style**: Square evidence sheets with black hairline borders, clipped tab labels, stamped metadata, and offset scanner-bed shadows.
- **Treatment**: Bone paper and frost-white sheets with photocopy grain made from subtle repeating-linear-gradients, no glass or glow.

### Borders

- **Accent Width**: 2px
- **Character**: Hard black evidence rules with icy-blue verification ticks and occasional double-line legal dividers.
- **Default Width**: 1px
- **Style**: solid

## Components

### Composition

Start with a desk grid rather than a dashboard: one dominant exhibit sheet, one dense chain-of-custody ledger, a narrow access-log rail, and a deliberately empty sealed-evidence field. Break the grid with redaction bars and page tabs that overlap panel borders. Keep corners square, align to legal-rule gutters, and let black masses create asymmetry.

### Density

Mix dense ledger rows at 4-8px internal rhythm with large 64-96px sealed whitespace. The interface should feel like a case file opened on a cold desk, not a packed monitoring console.

### Hierarchy

Display hierarchy is legal and archival: oversized docket headings use heavy Chivo at -0.04em, exhibit IDs and hashes use Fragment Mono uppercase stamps, and explanatory text uses Libre Franklin at 15-16px with -0.02em tracking. Black redaction blocks outrank blue accents; blue only confirms provenance.

### Signature Patterns

- Checksum gutters: vertical rails beside major sheets contain rotated hash fragments, tiny 2px blue verification ticks, and black docket numbers aligned to ledger rows.
- Redaction mass overlays: black censor bars are positioned across paragraphs and thumbnails as structural blocks that crop content and interrupt otherwise pristine paper.
- Custody ledger rows: repeating grid rows combine timestamp stamps, actor initials, hash status, and ruled signature boxes with no rounded cards or chart widgets.
- Scanner-bed offsets: evidence sheets cast square offset graphite shadows and include photocopy grain, binder holes, cold brackets, and clipped filing tabs.
- Access-log stamps: uppercase monospaced labels sit in black outlined capsules or inverted black stamps, reading like archival retrieval marks rather than buttons.

## 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/black-ice-evidence-desk/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-and-white manga structure as gutters, cropped panels, hard ink masses, and disciplined negative space.
- Do Name modules as specific evidence operations: hash verification, custody transfer, access petition, sealed exhibit, FOIA redaction, archive retrieval.
- Do Let one exhibit dominate the composition and make surrounding ledgers visibly subordinate but denser.
- Do Use icy blue only for provenance confirmations, active focus, and checksum ticks; keep it sparse enough to count.
- Do Show timestamps, signatures, access logs, and admissibility notes as the primary interface content.
- Do Keep all radii square except tiny circular custody nodes or binder holes.
- Do Make redaction blocks overlap real copy and images so censorship feels procedural, not decorative.
- Don't Do not use green matrix rain, neon cyberpunk alleys, glowing skulls, random code walls, or generic hacker dashboards.
- Don't Do not use three equal SaaS cards, analytics charts, CRM tables, pricing grids, or cheerful productivity patterns.
- Don't Do not add anime characters, fan-art faces, ornamental pseudo-Japanese text, or mascot illustrations.
- Don't Do not use rainbow gradients, saturated cyan glow, vaporwave palettes, or more than one restrained blue accent family.
- Don't Do not soften the system with pill cards, glassmorphism, blurred panels, or friendly rounded buttons.
- Don't Do not let terminal language become playful; every code fragment must be a hash, log, path, docket, or retrieval command.
- Don't Do not fill all whitespace; the cold empty field is part of the chain-of-custody mood.

### Accessibility

Maintain AA contrast with black text on bone paper, pair blue verification marks with text, keep redaction non-essential to comprehension, and provide visible black or blue focus outlines.

### Usage Context

Best for fictional legal-forensic tools, declassified archive readers, evidence preservation systems, FOIA retrieval interfaces, and cybernetic case files where institutional truth is unstable.
shadcn/ui theme
```json
{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "black-ice-evidence-desk",
  "type": "registry:theme",
  "title": "Black-Ice Evidence Desk shadcn Theme",
  "cssVars": {
    "theme": {},
    "light": {
      "background": "#F4F1E9",
      "foreground": "#101113",
      "card": "#FFFDF7",
      "card-foreground": "#101113",
      "popover": "#FFFDF7",
      "popover-foreground": "#101113",
      "primary": "#0B0D0F",
      "primary-foreground": "#ffffff",
      "secondary": "#2B3036",
      "secondary-foreground": "#ffffff",
      "muted": "#5F6469",
      "muted-foreground": "#101113",
      "accent": "#7DB7D8",
      "accent-foreground": "#ffffff",
      "destructive": "#8A1F1F",
      "border": "#111111",
      "input": "#111111",
      "ring": "#7DB7D8",
      "chart-1": "#0B0D0F",
      "chart-2": "#2B3036",
      "chart-3": "#7DB7D8",
      "chart-4": "#4F8FAE",
      "chart-5": "#9A7A2E",
      "sidebar": "#FFFDF7",
      "sidebar-foreground": "#101113",
      "sidebar-primary": "#0B0D0F",
      "sidebar-primary-foreground": "#ffffff",
      "sidebar-accent": "#6F9FBD",
      "sidebar-accent-foreground": "#ffffff",
      "sidebar-border": "#111111",
      "sidebar-ring": "#7DB7D8",
      "radius": "0"
    },
    "dark": {
      "background": "#0f1115",
      "foreground": "#f8fafc",
      "card": "#181b22",
      "card-foreground": "#f8fafc",
      "popover": "#181b22",
      "popover-foreground": "#f8fafc",
      "primary": "#0B0D0F",
      "primary-foreground": "#ffffff",
      "secondary": "#252a33",
      "secondary-foreground": "#f8fafc",
      "muted": "#252a33",
      "muted-foreground": "#a1a1aa",
      "accent": "#7DB7D8",
      "accent-foreground": "#ffffff",
      "destructive": "#8A1F1F",
      "border": "#303642",
      "input": "#303642",
      "ring": "#7DB7D8",
      "chart-1": "#0B0D0F",
      "chart-2": "#2B3036",
      "chart-3": "#7DB7D8",
      "chart-4": "#4F8FAE",
      "chart-5": "#9A7A2E",
      "sidebar": "#181b22",
      "sidebar-foreground": "#f8fafc",
      "sidebar-primary": "#0B0D0F",
      "sidebar-primary-foreground": "#ffffff",
      "sidebar-accent": "#7DB7D8",
      "sidebar-accent-foreground": "#ffffff",
      "sidebar-border": "#303642",
      "sidebar-ring": "#7DB7D8",
      "radius": "0"
    }
  },
  "meta": {
    "source": "katagami",
    "languageId": "black-ice-evidence-desk",
    "slug": "black-ice-evidence-desk",
    "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": {
      "borders": [
        "accent_width",
        "character",
        "default_width",
        "style"
      ],
      "colors": [
        "accent",
        "background",
        "border",
        "error",
        "info",
        "muted",
        "primary",
        "secondary",
        "success",
        "surface",
        "text",
        "warning"
      ],
      "motion": [
        "duration",
        "easing",
        "philosophy"
      ],
      "radii": [
        "full",
        "lg",
        "md",
        "none",
        "sm"
      ],
      "shadows": [
        "lg",
        "md",
        "sm"
      ],
      "spacing": [
        "base",
        "scale"
      ],
      "surfaces": [
        "bg_pattern",
        "card_style",
        "treatment"
      ],
      "typography": [
        "base_size",
        "body_font",
        "google_fonts_url",
        "heading_font",
        "letter_spacing",
        "line_height",
        "mono_font",
        "scale_ratio"
      ]
    }
  }
}
```
in the wild

embodiments

the full element showcase
embodiment · black-ice-evidence-desk
DESIGN.md

at a glance

Palette

Typography

headline-lgChivo · 29px · 700

The quick brown fox jumps

headline-mdChivo · 24px · 600

The quick brown fox jumps

body-mdLibre Franklin · 16px · 400

The quick brown fox jumps

label-mdFragment Mono · 12px · 600

The quick brown fox jumps

Components

New
Card title

Components rendered with this language’s tokens — colors, type, and rounded corners as specified.

Spacing

  • base8px
  • xs4px
  • sm8px
  • md12px
  • lg16px
  • xl24px
  • 2xl32px
  • 3xl48px
  • 4xl64px
  • step-896px

Shape

full9999px
lg0px
md0px
none0px
sm0px
shadcn/ui

implementation kit

needs agent-authored kitcompatibility fallback
shadcn compatibility only
The generated theme variables are available, but the polished shadcn component recipes and shots have not been authored by the Katagami agent yet.
fallbackprimitives render
Compatibility proof
Local shadcn-style primitives accept the generated theme variables.
primaryaccentsurfacemutedwarningerror
table rhythm
buttonok
cardok
inputok
recommendedcompatibility fallback

DESIGN.md with shadcn

Copy this when the target app uses shadcn/ui. It packages the Katagami DESIGN.md context with the install list, theme variables, component recipes, preview-shot contract, and starter TSX in one Markdown companion.

advanced implementation filesoptional machine-readable theme, CSS, TSX starter, recipes, and preview contract
shadcn add
npx shadcn@latest add button card input textarea select dialog sheet tabs badge separator checkbox switch slider tooltip dropdown-menu table
theme css
:root {
  --background: #F4F1E9;
  --foreground: #101113;
  --card: #FFFDF7;
  --card-foreground: #101113;
  --popover: #FFFDF7;
  --popover-foreground: #101113;
  --primary: #0B0D0F;
  --primary-foreground: #ffffff;
  --secondary: #2B3036;
  --secondary-foreground: #ffffff;
  --muted: #5F6469;
  --muted-foreground: #101113;
  --accent: #7DB7D8;
  --accent-foreground: #ffffff;
  --destructive: #8A1F1F;
  --border: #111111;
  --input: #111111;
  --ring: #7DB7D8;
  --chart-1: #0B0D0F;
  --chart-2: #2B3036;
  --chart-3: #7DB7D8;
  --chart-4: #4F8FAE;
  --chart-5: #9A7A2E;
  --sidebar: #FFFDF7;
  --sidebar-foreground: #101113;
  --sidebar-primary: #0B0D0F;
  --sidebar-primary-foreground: #ffffff;
  --sidebar-accent: #6F9FBD;
  --sidebar-accent-foreground: #ffffff;
  --sidebar-border: #111111;
  --sidebar-ring: #7DB7D8;
  --radius: 0;
}

.dark {
  --background: #0f1115;
  --foreground: #f8fafc;
  --card: #181b22;
  --card-foreground: #f8fafc;
  --popover: #181b22;
  --popover-foreground: #f8fafc;
  --primary: #0B0D0F;
  --primary-foreground: #ffffff;
  --secondary: #252a33;
  --secondary-foreground: #f8fafc;
  --muted: #252a33;
  --muted-foreground: #a1a1aa;
  --accent: #7DB7D8;
  --accent-foreground: #ffffff;
  --destructive: #8A1F1F;
  --border: #303642;
  --input: #303642;
  --ring: #7DB7D8;
  --chart-1: #0B0D0F;
  --chart-2: #2B3036;
  --chart-3: #7DB7D8;
  --chart-4: #4F8FAE;
  --chart-5: #9A7A2E;
  --sidebar: #181b22;
  --sidebar-foreground: #f8fafc;
  --sidebar-primary: #0B0D0F;
  --sidebar-primary-foreground: #ffffff;
  --sidebar-accent: #7DB7D8;
  --sidebar-accent-foreground: #ffffff;
  --sidebar-border: #303642;
  --sidebar-ring: #7DB7D8;
  --radius: 0;
}
tsx starter
import { Badge } from "@/components/ui/badge";
import { Button } from "@/components/ui/button";
import {
  Card,
  CardContent,
  CardDescription,
  CardFooter,
  CardHeader,
  CardTitle,
} from "@/components/ui/card";
import { Input } from "@/components/ui/input";
import { Tabs, TabsList, TabsTrigger } from "@/components/ui/tabs";

export function BlackIceEvidenceDeskShadcnKit() {
  return (
    <section className="grid gap-4 rounded-[var(--radius)] border bg-background p-4 text-foreground">
      <div className="flex items-start justify-between gap-4">
        <div>
          <Badge variant="outline">shadcn/ui</Badge>
          <h2 className="mt-3 text-2xl font-semibold tracking-tight">Black-Ice Evidence Desk</h2>
          <p className="mt-1 max-w-xl text-sm text-muted-foreground">
            Use the Katagami registry theme, then compose these shadcn primitives
            with the language-specific component recipes.
          </p>
        </div>
        <Button>Apply theme</Button>
      </div>

      <Tabs defaultValue="components">
        <TabsList>
          <TabsTrigger value="components">Components</TabsTrigger>
          <TabsTrigger value="states">States</TabsTrigger>
          <TabsTrigger value="export">Export</TabsTrigger>
        </TabsList>
      </Tabs>

      <Card>
        <CardHeader>
          <CardTitle>Component recipe</CardTitle>
          <CardDescription>
            Replace this starter content with the agent-authored product scene
            from components.md and preview-shots.json.
          </CardDescription>
        </CardHeader>
        <CardContent className="grid gap-3 sm:grid-cols-[1fr_auto]">
          <Input defaultValue="Tokenized shadcn surface" aria-label="Recipe name" />
          <Button variant="secondary">Preview state</Button>
        </CardContent>
        <CardFooter className="justify-between">
          <Badge>Ready</Badge>
          <Button variant="outline">Copy recipe</Button>
        </CardFooter>
      </Card>
    </section>
  );
}
theme JSONcompatibility fallback
{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "black-ice-evidence-desk",
  "type": "registry:theme",
  "title": "Black-Ice Evidence Desk shadcn Theme",
  "cssVars": {
    "theme": {},
    "light": {
      "background": "#F4F1E9",
      "foreground": "#101113",
      "card": "#FFFDF7",
      "card-foreground": "#101113",
      "popover": "#FFFDF7",
      "popover-foreground": "#101113",
      "primary": "#0B0D0F",
      "primary-foreground": "#ffffff",
      "secondary": "#2B3036",
      "secondary-foreground": "#ffffff",
      "muted": "#5F6469",
      "muted-foreground": "#101113",
      "accent": "#7DB7D8",
      "accent-foreground": "#ffffff",
      "destructive": "#8A1F1F",
      "border": "#111111",
      "input": "#111111",
      "ring": "#7DB7D8",
      "chart-1": "#0B0D0F",
      "chart-2": "#2B3036",
      "chart-3": "#7DB7D8",
      "chart-4": "#4F8FAE",
      "chart-5": "#9A7A2E",
      "sidebar": "#FFFDF7",
      "sidebar-foreground": "#101113",
      "sidebar-primary": "#0B0D0F",
      "sidebar-primary-foreground": "#ffffff",
      "sidebar-accent": "#6F9FBD",
      "sidebar-accent-foreground": "#ffffff",
      "sidebar-border": "#111111",
      "sidebar-ring": "#7DB7D8",
      "radius": "0"
    },
    "dark": {
      "background": "#0f1115",
      "foreground": "#f8fafc",
      "card": "#181b22",
      "card-foreground": "#f8fafc",
      "popover": "#181b22",
      "popover-foreground": "#f8fafc",
      "primary": "#0B0D0F",
      "primary-foreground": "#ffffff",
      "secondary": "#252a33",
      "secondary-foreground": "#f8fafc",
      "muted": "#252a33",
      "muted-foreground": "#a1a1aa",
      "accent": "#7DB7D8",
      "accent-foreground": "#ffffff",
      "destructive": "#8A1F1F",
      "border": "#303642",
      "input": "#303642",
      "ring": "#7DB7D8",
      "chart-1": "#0B0D0F",
      "chart-2": "#2B3036",
      "chart-3": "#7DB7D8",
      "chart-4": "#4F8FAE",
      "chart-5": "#9A7A2E",
      "sidebar": "#181b22",
      "sidebar-foreground": "#f8fafc",
      "sidebar-primary": "#0B0D0F",
      "sidebar-primary-foreground": "#ffffff",
      "sidebar-accent": "#7DB7D8",
      "sidebar-accent-foreground": "#ffffff",
      "sidebar-border": "#303642",
      "sidebar-ring": "#7DB7D8",
      "radius": "0"
    }
  },
  "meta": {
    "source": "katagami",
    "languageId": "black-ice-evidence-desk",
    "slug": "black-ice-evidence-desk",
    "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": {
      "borders": [
        "accent_width",
        "character",
        "default_width",
        "style"
      ],
      "colors": [
        "accent",
        "background",
        "border",
        "error",
        "info",
        "muted",
        "primary",
        "secondary",
        "success",
        "surface",
        "text",
        "warning"
      ],
      "motion": [
        "duration",
        "easing",
        "philosophy"
      ],
      "radii": [
        "full",
        "lg",
        "md",
        "none",
        "sm"
      ],
      "shadows": [
        "lg",
        "md",
        "sm"
      ],
      "spacing": [
        "base",
        "scale"
      ],
      "surfaces": [
        "bg_pattern",
        "card_style",
        "treatment"
      ],
      "typography": [
        "base_size",
        "body_font",
        "google_fonts_url",
        "heading_font",
        "letter_spacing",
        "line_height",
        "mono_font",
        "scale_ratio"
      ]
    }
  }
}
component recipescompatibility fallback
# Black-Ice Evidence Desk shadcn/ui Components

Artifact: `component-recipes-v1`
Author: `katagami-ui-projection`
Language ID: `black-ice-evidence-desk`
Slug: `black-ice-evidence-desk`

## Intent

Black-Ice Evidence Desk treats cybernetic interface work as admissible evidence handling: cold paper fields, legal ledger rigor, redaction pressure, and sparse checksum light replace hacker spectacle with institutional paranoia.

## Required primitives

- button
- card
- input
- textarea
- select
- dialog
- sheet
- tabs
- badge
- separator
- checkbox
- switch
- slider
- tooltip
- dropdown-menu
- table

Install with `npx shadcn@latest add button card input textarea select dialog sheet tabs badge separator checkbox switch slider tooltip dropdown-menu table`.

## Token cues

Colors:

{
  "accent": "#7DB7D8",
  "background": "#F4F1E9",
  "border": "#111111",
  "error": "#8A1F1F",
  "info": "#6F9FBD",
  "muted": "#5F6469",
  "primary": "#0B0D0F",
  "secondary": "#2B3036",
  "success": "#4F8FAE",
  "surface": "#FFFDF7",
  "text": "#101113",
  "warning": "#9A7A2E"
}

Typography:

{
  "base_size": "16px",
  "body_font": "Libre Franklin",
  "google_fonts_url": "https://fonts.googleapis.com/css2?family=Chivo:wght@500;700;900&family=Fragment+Mono:ital@0;1&family=Libre+Franklin:wght@400;500;700&display=swap",
  "heading_font": "Chivo",
  "letter_spacing": "-0.02em",
  "line_height": 1.55,
  "mono_font": "Fragment Mono",
  "scale_ratio": 1.22
}

## Visual character to preserve

- Use a bone-white desk canvas with absolutely positioned graphite rule lines, page-edge filing tabs, and thin checksum gutters running along one side of major panels.
- Build panels as square-corner evidence sheets with 1px black borders, offset scanner-bed shadows, clipped corners, and black redaction bars that overlap content areas.
- Create hierarchy with oversized condensed legal headings, monospaced exhibit IDs, stamped uppercase metadata strips, and body copy set in a severe grotesk with tight tracking.
- Reserve icy blue for 2px hash ticks, verified checkmarks, focus outlines, and tiny custody nodes; all other interface weight stays black, graphite, or paper frost.
- Compose the screen as an asymmetric case-file desk: one dominant scanned exhibit, a dense custody ledger, a narrow access-log rail, and large sealed-bag whitespace.

## ShadSync visual profile

{
  "family": "paper-collage",
  "material": "paper",
  "contour": "default",
  "border": "solid",
  "underlay": true,
  "grain": true,
  "stickerBadges": true,
  "motion": "lift-rotate",
  "density": "dense",
  "accents": [
    "primary",
    "accent",
    "secondary",
    "muted"
  ]
}

## Signature component recipes

### Button
Use `Button` for primary, secondary, outline, and ghost actions. Primary actions must expose the language's strongest contrast pair, while secondary and ghost actions should preserve the surface treatment instead of falling back to default neutral SaaS styling.

### Card
Use `Card`, `CardHeader`, `CardContent`, `CardFooter`, and `CardAction` as the main composition frame. Cards should demonstrate the language's surface, border, hierarchy, and density rules rather than appearing as generic rounded rectangles.

### Input and Textarea
Use `Input` and `Textarea` with visible focus rings, field labels, validation states, and the language's rhythm. Forms should show real product content, not placeholder-only controls.

### Select, Tabs, and Table
Use `Select`, `Tabs`, and `Table` to prove navigation, filtering, and dense data states. The table should show row rhythm, separators, hover/focus states, and an empty or status state when the language calls for it.

### Dialog and Sheet
Use `Dialog` for centered decisions and `Sheet` for contextual editing. Both should inherit the language's spacing, border, overlay, and motion rules.

## Preview shots

- `application-shell`: dashboard or workspace shell with navigation, cards, forms, and state badges.
- `detail-editor`: focused editing flow using input, textarea, select, switch/checkbox, dialog or sheet, and action buttons.
- `data-operations`: table-heavy operational view with tabs, dropdown menu affordances, badges, and destructive/empty states.
- Each preview shot must include a renderable `scene` payload with concrete headline, description, actions, and rows/fields/stats for the UI preview.

## Implementation contract

- Start from local `ui/src/components/ui` shadcn-style primitives; do not create a second component system.
- Apply `/katagami/shadcn/black-ice-evidence-desk/registry-theme.json` variables, then use these recipes for composition and state design.
- Preserve Katagami token names as source metadata; shadcn semantic names are only the export surface.
- Do: Use black-and-white manga structure as gutters, cropped panels, hard ink masses, and disciplined negative space.; Name modules as specific evidence operations: hash verification, custody transfer, access petition, sealed exhibit, FOIA redaction, archive retrieval.; Let one exhibit dominate the composition and make surrounding ledgers visibly subordinate but denser.; Use icy blue only for provenance confirmations, active focus, and checksum ticks; keep it sparse enough to count.; Show timestamps, signatures, access logs, and admissibility notes as the primary interface content.; Keep all radii square except tiny circular custody nodes or binder holes.; Make redaction blocks overlap real copy and images so censorship feels procedural, not decorative.
- Do not: Do not use green matrix rain, neon cyberpunk alleys, glowing skulls, random code walls, or generic hacker dashboards.; Do not use three equal SaaS cards, analytics charts, CRM tables, pricing grids, or cheerful productivity patterns.; Do not add anime characters, fan-art faces, ornamental pseudo-Japanese text, or mascot illustrations.; Do not use rainbow gradients, saturated cyan glow, vaporwave palettes, or more than one restrained blue accent family.; Do not soften the system with pill cards, glassmorphism, blurred panels, or friendly rounded buttons.; Do not let terminal language become playful; every code fragment must be a hash, log, path, docket, or retrieval command.; Do not fill all whitespace; the cold empty field is part of the chain-of-custody mood.

## Copy-paste component example

This generated starter proves the import shape. Production Katagami agents should replace it with a language-specific product composition.

```tsx
import { Badge } from "@/components/ui/badge";
import { Button } from "@/components/ui/button";
import {
  Card,
  CardContent,
  CardDescription,
  CardFooter,
  CardHeader,
  CardTitle,
} from "@/components/ui/card";
import { Input } from "@/components/ui/input";
import { Tabs, TabsList, TabsTrigger } from "@/components/ui/tabs";

export function BlackIceEvidenceDeskShadcnKit() {
  return (
    <section className="grid gap-4 rounded-[var(--radius)] border bg-background p-4 text-foreground">
      <div className="flex items-start justify-between gap-4">
        <div>
          <Badge variant="outline">shadcn/ui</Badge>
          <h2 className="mt-3 text-2xl font-semibold tracking-tight">Black-Ice Evidence Desk</h2>
          <p className="mt-1 max-w-xl text-sm text-muted-foreground">
            Use the Katagami registry theme, then compose these shadcn primitives
            with the language-specific component recipes.
          </p>
        </div>
        <Button>Apply theme</Button>
      </div>

      <Tabs defaultValue="components">
        <TabsList>
          <TabsTrigger value="components">Components</TabsTrigger>
          <TabsTrigger value="states">States</TabsTrigger>
          <TabsTrigger value="export">Export</TabsTrigger>
        </TabsList>
      </Tabs>

      <Card>
        <CardHeader>
          <CardTitle>Component recipe</CardTitle>
          <CardDescription>
            Replace this starter content with the agent-authored product scene
            from components.md and preview-shots.json.
          </CardDescription>
        </CardHeader>
        <CardContent className="grid gap-3 sm:grid-cols-[1fr_auto]">
          <Input defaultValue="Tokenized shadcn surface" aria-label="Recipe name" />
          <Button variant="secondary">Preview state</Button>
        </CardContent>
        <CardFooter className="justify-between">
          <Badge>Ready</Badge>
          <Button variant="outline">Copy recipe</Button>
        </CardFooter>
      </Card>
    </section>
  );
}
```

## Layout notes

{
  "breakpoints": "Desktop >= 1180px uses asymmetric desk columns; tablet 720-1179px stacks exhibit over ledger with access rail as horizontal strip; mobile < 720px becomes a single-file dossier with tabs and ledgers preserved.",
  "density": "High contrast density: compact evidence metadata and ledger rows sit beside large quiet fields that feel like sealed evidence bags.",
  "grid": "Desktop uses a 12-column case desk with 24px gutters and max-width 1360px; dominant exhibit spans seven columns, ledger spans four, access rail spans one to two.",
  "responsive": "Collapse side rails into top stamps, preserve redaction overlays, keep body text at 15px minimum, and allow ledger rows to scroll horizontally only when absolutely necessary.",
  "whitespace": "Whitespace is forensic custody space: 64-96px section gaps, 24-32px sheet padding, and 4-8px row gaps make sealed areas feel intentionally untouched."
}
preview shotscompatibility fallback
{
  "artifact": "katagami:shadcn-preview-shots",
  "version": "preview-shots-v1",
  "generator": "katagami-ui-compatibility-projection",
  "generatedBy": "katagami-ui-projection",
  "requiresVisualProfile": true,
  "schema": "katagami:shadcn-preview-shots/renderable-v1",
  "renderable": true,
  "language": {
    "id": "black-ice-evidence-desk",
    "name": "Black-Ice Evidence Desk",
    "slug": "black-ice-evidence-desk"
  },
  "installCommand": "npx shadcn@latest add button card input textarea select dialog sheet tabs badge separator checkbox switch slider tooltip dropdown-menu table",
  "primitives": [
    "button",
    "card",
    "input",
    "textarea",
    "select",
    "dialog",
    "sheet",
    "tabs",
    "badge",
    "separator",
    "checkbox",
    "switch",
    "slider",
    "tooltip",
    "dropdown-menu",
    "table"
  ],
  "identityNotes": [
    "Use a bone-white desk canvas with absolutely positioned graphite rule lines, page-edge filing tabs, and thin checksum gutters running along one side of major panels.",
    "Build panels as square-corner evidence sheets with 1px black borders, offset scanner-bed shadows, clipped corners, and black redaction bars that overlap content areas.",
    "Create hierarchy with oversized condensed legal headings, monospaced exhibit IDs, stamped uppercase metadata strips, and body copy set in a severe grotesk with tight tracking.",
    "Reserve icy blue for 2px hash ticks, verified checkmarks, focus outlines, and tiny custody nodes; all other interface weight stays black, graphite, or paper frost.",
    "Compose the screen as an asymmetric case-file desk: one dominant scanned exhibit, a dense custody ledger, a narrow access-log rail, and large sealed-bag whitespace."
  ],
  "visualProfile": {
    "family": "paper-collage",
    "material": "paper",
    "contour": "default",
    "border": "solid",
    "underlay": true,
    "grain": true,
    "stickerBadges": true,
    "motion": "lift-rotate",
    "density": "dense",
    "accents": [
      "primary",
      "accent",
      "secondary",
      "muted"
    ]
  },
  "shots": [
    {
      "id": "application-shell",
      "title": "Application shell",
      "viewport": "desktop",
      "primitives": [
        "button",
        "card",
        "input",
        "select",
        "tabs",
        "badge",
        "separator",
        "table"
      ],
      "composition": "A real product workspace with navigation, summary cards, filtering controls, and one dense content region.",
      "mustShow": [
        "primary and secondary actions",
        "card hierarchy",
        "filterable state",
        "table or list density"
      ],
      "avoid": [
        "component inventory walls",
        "placeholder-only content",
        "generic rounded SaaS chrome"
      ],
      "scene": {
        "eyebrow": "workspace spread",
        "headline": "Black-Ice Evidence Desk launch room",
        "description": "A product team workspace where navigation, filters, metrics, and dense rows carry the language's visible structure.",
        "primaryAction": "Apply theme",
        "secondaryAction": "Review states",
        "stats": [
          {
            "label": "components",
            "value": "16",
            "tone": "accent"
          },
          {
            "label": "states",
            "value": "ready"
          },
          {
            "label": "density",
            "value": "balanced",
            "tone": "warning"
          }
        ],
        "rows": [
          {
            "label": "Primary flow",
            "value": "mapped",
            "status": "active"
          },
          {
            "label": "Token coverage",
            "value": "semantic",
            "status": "synced"
          },
          {
            "label": "Responsive proof",
            "value": "queued",
            "status": "review"
          }
        ],
        "statuses": [
          "Active",
          "Synced",
          "Draft"
        ]
      }
    },
    {
      "id": "detail-editor",
      "title": "Detail editor",
      "viewport": "tablet",
      "primitives": [
        "button",
        "card",
        "input",
        "textarea",
        "select",
        "checkbox",
        "switch",
        "slider",
        "dialog",
        "sheet"
      ],
      "composition": "A focused editing flow with form fields, validation, confirmation, and a contextual side panel.",
      "mustShow": [
        "focus ring",
        "error or destructive state",
        "dialog or sheet treatment",
        "written guidance content"
      ],
      "avoid": [
        "unstyled browser controls",
        "floating cards inside cards",
        "missing labels"
      ],
      "scene": {
        "eyebrow": "editing flow",
        "headline": "Language recipe editor",
        "description": "A focused form proving labels, validation, toggles, panel rhythm, and action hierarchy.",
        "primaryAction": "Save recipe",
        "secondaryAction": "Open sheet",
        "fields": [
          {
            "label": "Component family",
            "value": "Narrative cards"
          },
          {
            "label": "State treatment",
            "value": "Visible focus + validation"
          },
          {
            "label": "Motion",
            "value": "Small lift, no opacity-only fade"
          }
        ],
        "statuses": [
          "Focus",
          "Invalid",
          "Confirmed"
        ]
      }
    },
    {
      "id": "data-operations",
      "title": "Data operations",
      "viewport": "mobile",
      "primitives": [
        "button",
        "tabs",
        "badge",
        "dropdown-menu",
        "table",
        "tooltip",
        "separator"
      ],
      "composition": "A compact operational view proving row rhythm, stacked actions, menu states, badges, and empty/destructive states.",
      "mustShow": [
        "responsive reflow",
        "dense row styling",
        "menu affordance",
        "status badge system"
      ],
      "avoid": [
        "desktop-only tables",
        "text overflow",
        "default shadcn spacing without Katagami character"
      ],
      "scene": {
        "eyebrow": "operations",
        "headline": "Compact review queue",
        "description": "A narrow viewport scene with rows, menus, tooltips, badges, and destructive affordances.",
        "primaryAction": "Resolve",
        "secondaryAction": "Filter",
        "rows": [
          {
            "label": "Button hierarchy",
            "value": "approved",
            "status": "ok"
          },
          {
            "label": "Table rhythm",
            "value": "needs pass",
            "status": "watch"
          },
          {
            "label": "Empty state",
            "value": "designed",
            "status": "done"
          }
        ],
        "statuses": [
          "Queued",
          "Blocked",
          "Done"
        ]
      }
    }
  ],
  "componentRecipes": [
    {
      "primitive": "button",
      "intent": "Prove action hierarchy, focus, disabled, and destructive states."
    },
    {
      "primitive": "card",
      "intent": "Carry the language surface, border, elevation, and density rules."
    },
    {
      "primitive": "input",
      "intent": "Show labels, focus rings, validation, and spacing rhythm."
    },
    {
      "primitive": "textarea",
      "intent": "Show longer guidance, validation copy, and writing density."
    },
    {
      "primitive": "select",
      "intent": "Show filtering, selection contrast, and menu trigger styling."
    },
    {
      "primitive": "dialog",
      "intent": "Show centered decision states and overlay treatment."
    },
    {
      "primitive": "sheet",
      "intent": "Show contextual side panels and responsive editing."
    },
    {
      "primitive": "tabs",
      "intent": "Show navigational structure and active/inactive contrast."
    },
    {
      "primitive": "badge",
      "intent": "Show compact status vocabulary and semantic colors."
    },
    {
      "primitive": "separator",
      "intent": "Show section rhythm without generic gray dividers."
    },
    {
      "primitive": "checkbox",
      "intent": "Show binary selection with visible focus and checked states."
    },
    {
      "primitive": "switch",
      "intent": "Show settings toggles and on/off contrast."
    },
    {
      "primitive": "slider",
      "intent": "Show numeric adjustment with track/thumb styling."
    },
    {
      "primitive": "tooltip",
      "intent": "Show concise explanation styling above compact controls."
    },
    {
      "primitive": "dropdown-menu",
      "intent": "Show action menus, destructive items, and grouped choices."
    },
    {
      "primitive": "table",
      "intent": "Show dense operational data, separators, row states, and responsive behavior."
    }
  ],
  "qualityRules": {
    "do": [
      "Use black-and-white manga structure as gutters, cropped panels, hard ink masses, and disciplined negative space.",
      "Name modules as specific evidence operations: hash verification, custody transfer, access petition, sealed exhibit, FOIA redaction, archive retrieval.",
      "Let one exhibit dominate the composition and make surrounding ledgers visibly subordinate but denser.",
      "Use icy blue only for provenance confirmations, active focus, and checksum ticks; keep it sparse enough to count.",
      "Show timestamps, signatures, access logs, and admissibility notes as the primary interface content.",
      "Keep all radii square except tiny circular custody nodes or binder holes.",
      "Make redaction blocks overlap real copy and images so censorship feels procedural, not decorative."
    ],
    "dont": [
      "Do not use green matrix rain, neon cyberpunk alleys, glowing skulls, random code walls, or generic hacker dashboards.",
      "Do not use three equal SaaS cards, analytics charts, CRM tables, pricing grids, or cheerful productivity patterns.",
      "Do not add anime characters, fan-art faces, ornamental pseudo-Japanese text, or mascot illustrations.",
      "Do not use rainbow gradients, saturated cyan glow, vaporwave palettes, or more than one restrained blue accent family.",
      "Do not soften the system with pill cards, glassmorphism, blurred panels, or friendly rounded buttons.",
      "Do not let terminal language become playful; every code fragment must be a hash, log, path, docket, or retrieval command.",
      "Do not fill all whitespace; the cold empty field is part of the chain-of-custody mood."
    ]
  }
}
related

More like this