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.
specification
philosophy
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
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
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.
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.
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.
layout
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.
High contrast density: compact evidence metadata and ledger rows sit beside large quiet fields that feel like sealed evidence bags.
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.
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 is forensic custody space: 64-96px section gaps, 24-32px sheet padding, and 4-8px row gaps make sealed areas feel intentionally untouched.
guidance
- 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 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"
]
}
}
}
```embodiments
at a glance
Typography
The quick brown fox jumps
The quick brown fox jumps
The quick brown fox jumps
The quick brown fox jumps
Components
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
implementation kit
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
npx shadcn@latest add button card input textarea select dialog sheet tabs badge separator checkbox switch slider tooltip dropdown-menu table: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;
}
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>
);
}
{
"$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"
]
}
}
}
# 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."
}
{
"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."
]
}
}