Dialtone
Dialtone is a night console for the home network, drawn as the floor plan of a flat.
Its pictures are drawn in Cathode Hush.
Download DESIGN.md
Tokens, rules and the paired art style Cathode Hush.
Preview
Typography
Each face set in this language's own words.
Dialtone
Dialtone
Dialtone is a night console for the home network, drawn as the floor plan of a flat.
Dialtone is a night console for the home network, drawn as the floor plan of a flat.
Specification
Philosophy
summary
Dialtone is a night console for the home network, drawn as the floor plan of a flat. Everyone is asleep and one screen is not. Every device sits where it lives, every cable runs where it runs, and the only light is the console's screen and the line it traces. Touch a device and the light runs the real route to it, taking as long as that device's round trip, slowed 250 times.
It values
- One light: only the console's screen and the line it is tracing are ever lit; every other device and room stays dim.
- The world is a plan: the home drawn to scale is the page, with a ledger below it in the order you walk past things.
- Every mark is true: each device was really on the network at the stated minute, and each number is a real reading.
- Flat and square: powder grey ground, ink type, no shadows, gradients, cards or window chrome.
- Copy describes a house, not a design system.
It refuses
- Dark vignette heroes with a CRT photo and a gradient veil behind a slogan.
- Window title bars with traffic-light dots that mean nothing.
- Stat tiles and decorative terminal panes.
- Numbered eyebrows and slogan section heads.
- Soft drop shadows and rounded rectangles.
visual character
- Powder grey #C7C9D2 ground, pale wells #ECEDF2, ink #181A20, flat.
- A near-black #050508 night band holding the title and the plan.
- Mint #3FE3C2 as the one light: the single action and the guest.
- Cables drawn in 2px strokes, dashed inside walls and solid along the floor; squares for the network, filled rings awake, open rings asleep.
- Zen Kaku Gothic New for prose and the headline, BIZ UDGothic for the network's own words, at 15px or larger.
- Radius 0 on every rectangle; rings are round.
lineage
Revised in place from Dialtone's first generation (powder-gray bedroom console with CRT windows) into the approved floor-plan take, dialtone-d, chosen in the range round 2 sorter.
Tokens
colors14
typography12
- heading font
- Zen Kaku Gothic New
- body font
- Zen Kaku Gothic New
- mono font
- BIZ UDGothic
- heading weight
- 700
- body weight
- 400
- button weight
- 700
- heading transform
- none
- letter spacing
- -0.02em on display; 0 on BIZ UDGothic
- base size
- 17px
- line height
- 1.6
- scale
- 15px, 17px, 19px, 28px, 38px, 70px
- google fonts url
- https://fonts.googleapis.com/css2?family=BIZ+UDGothic:wght@400;700&family=Zen+Kaku+Gothic+New:wght@400;500;700&display=swap
radii5
- none
- 0px
- sm
- 0px
- md
- 0px
- lg
- 0px
- full
- 9999px
shadows1
- none
- flat everywhere; nothing is lifted. Light is the only depth: the console and the line it traces.
spacing2
- base
- 8px
- scale
- 4px, 8px, 12px, 16px, 24px, 32px, 48px, 64px, 96px
surfaces4
- treatment
- one-lit-screen-in-a-dark-flat
- material
- A near-black night ground #050508 carries the plan and the console; the rest of the page is flat powder grey #C7C9D2 with pale wells #ECEDF2. Only the console screen and the route it is tracing are lit.
- card style
- No cards. Rows sit on the ground, parted by space; the one filled surface per view is a pale well or the night band.
- bg pattern
- none; the lease plan of the flat is the only image.
borders3
- default width
- 0
- style
- none
- character
- No borders. Walls and cables belong to the plan drawing, in 2px strokes; dashed inside walls, solid along the floor. Focus is a 2px outline at 3px offset, or a 2px ink line under a well.
controls3
- height
- 50px (40 small, 58 large)
- radius
- 0px
- well height
- 52px
motion4
- duration
- 250ms
- easing
- cubic-bezier(0.16, 1, 0.3, 1)
- trace
- A device's round trip in milliseconds multiplied by 250, linear, as a stroke-dashoffset draw along its cable
- philosophy
- The one motion is the travelling light, at the speed of the network slowed 250 times. The settled plan renders with no JS and under prefers-reduced-motion.
Rules
composition
- Make the page a place: the plan of the home is the hero, with the title above it and the ledger below.
- Light exactly one thing at a time: the console, and the route being traced.
- Place each device where it lives, on the plan, by percentage of the drawing.
- Under the plan, list every device in the order you pass them from the front door.
hierarchy
- One headline per view in Zen Kaku Gothic New 700 (40px on phones to 70px on desktop), 28 to 38px section heads.
- Prose at 17 to 18px in ink; asides and the network's labels in muted or BIZ UDGothic.
- Lit means live: bloom on the night ground, mint for the single action.
- State is a mark before it is a word: square, filled ring, open ring.
density
Calm: a plan with fifteen labelled devices, a ledger with one row per device and 7px row padding, 48 to 80px between sections.
signature patterns
- The lit route: touch or focus a device and a light runs the real cable route from the console to it, taking the device's round trip times 250 (0.4 ms to hearth, 38 ms to Ren's phone).
- The floor plan as the page: rooms, devices and cables at lease-plan scale, dashed cables inside walls, solid along the floor.
- Marks: squares for the network, filled rings for awake, open rings for asleep, a mint ring for a guest.
- The ledger: every device in door-to-door order with link, now and round trip, the guest on a pale well.
Layout
grid
- type
- night band, plan, ledger, setup
- max width
- 1440px for the plan, 1200px for text, centred
- gutter
- clamp(20px, 4vw, 56px)
- column behavior
- Two-column heads use minmax(0,1.4fr) minmax(0,1fr); ledger columns collapse to stacked rows on phones.
whitespace
- section gap
- 48 to 80px
- card gap
- no cards; 7px row padding in the ledger
- content padding
- text sits on the ground aligned to the grid edge
- approach
- The plan is the picture; space and ink value do the separating.
density
- default
- comfortable
- comfortable
- button height 50pxinput height 52pxrow height 34 to 48px ledger rows
responsive
The plan keeps its 3:4 ratio at every width. Below 1200px the sublines and captions on the plan are hidden and the ledger drops its link column; at 600px device names are replaced by 28px touch targets over their marks, the ledger stacks to rows, and the headline column stacks. Above 1440px content caps and centres.
breakpoints
- mobile
- 390px
- phone max
- 600px
- tablet
- 601 to 1199px
- desktop
- 1280px
- ultrawide
- 2560px
Guidance
Do
- Draw the real place: rooms, devices and cables where they live.
- Light only the console and the route being traced.
- Give every device a mark that says square, awake or asleep.
- State real readings: round trip, signal, time.
- Keep one mint action per view.
- Set the network's own words in BIZ UDGothic at 15px or larger.
Avoid
- Don't add window chrome, traffic-light dots or stat tiles.
- Don't veil a photo with a gradient behind a slogan.
- Don't use shadows, rounded rectangles or cards.
- Don't number sections or add eyebrows.
- Don't light anything decoratively; mint is the guest and the one action.
- Don't write copy that explains the design system.
Imagery
pairs with
cathode-hush
art style id
en-019ef843-df5f-78d3-b8ef-857c74a1ac96
summary
Cathode Hush plates held down to a dim hairline plan: near-grayscale, manga-ink linework on a night ground, scanlines and a few cyan-green sparks. The hero is the lease plan of the flat, a drawing rather than a photograph.
subjects
- the lease plan of a flat with rooms, walls and balcony
- a single dim console screen at night
- cables running along a skirting board
- a quiet room lit only by one monitor
usage
One plan image painted with var(--hero-image) at its own 3:4 ratio, capped at 1440px; no veil over it. Labels and marks are live text and SVG above it.
avoid
Gradient veils, window chrome, saturated neon, cyberpunk magenta, characters, text baked into the image.
Katagami spec file
# Dialtone
## Philosophy
Dialtone is a night console for the home network, drawn as the floor plan of a flat. Everyone is asleep and one screen is not. Every device sits where it lives, every cable runs where it runs, and the only light is the console's screen and the line it traces. Touch a device and the light runs the real route to it, taking as long as that device's round trip, slowed 250 times.
### Values
- One light: only the console's screen and the line it is tracing are ever lit; every other device and room stays dim.
- The world is a plan: the home drawn to scale is the page, with a ledger below it in the order you walk past things.
- Every mark is true: each device was really on the network at the stated minute, and each number is a real reading.
- Flat and square: powder grey ground, ink type, no shadows, gradients, cards or window chrome.
- Copy describes a house, not a design system.
### Anti-Values
- Dark vignette heroes with a CRT photo and a gradient veil behind a slogan.
- Window title bars with traffic-light dots that mean nothing.
- Stat tiles and decorative terminal panes.
- Numbered eyebrows and slogan section heads.
- Soft drop shadows and rounded rectangles.
### Visual Character
- Powder grey #C7C9D2 ground, pale wells #ECEDF2, ink #181A20, flat.
- A near-black #050508 night band holding the title and the plan.
- Mint #3FE3C2 as the one light: the single action and the guest.
- Cables drawn in 2px strokes, dashed inside walls and solid along the floor; squares for the network, filled rings awake, open rings asleep.
- Zen Kaku Gothic New for prose and the headline, BIZ UDGothic for the network's own words, at 15px or larger.
- Radius 0 on every rectangle; rings are round.
### Lineage
> Revised in place from Dialtone's first generation (powder-gray bedroom console with CRT windows) into the approved floor-plan take, dialtone-d, chosen in the range round 2 sorter.
## Tokens
### Colors
| Name | Value |
|------|-------|
| bg | `#C7C9D2` |
| surface | `#ECEDF2` |
| text | `#181A20` |
| muted | `#4A4C58` |
| border | `#2C2E36` |
| accent | `#3FE3C2` |
| on_accent | `#0C1512` |
| success | `#2F5E52` |
| warning | `#6B5530` |
| error | `#7A3A4E` |
| info | `#4A5588` |
| night | `#050508` |
| bloom | `#F6F7FF` |
| dim | `#C3C4D2` |
### Typography
- **Heading Font**: Zen Kaku Gothic New
- **Body Font**: Zen Kaku Gothic New
- **Mono Font**: BIZ UDGothic
- **Heading Weight**: 700
- **Body Weight**: 400
- **Button Weight**: 700
- **Heading Transform**: none
- **Letter Spacing**: -0.02em on display; 0 on BIZ UDGothic
- **Base Size**: 17px
- **Line Height**: 1.6
- **Scale**: ["15px","17px","19px","28px","38px","70px"]
- **Google Fonts Url**: https://fonts.googleapis.com/css2?family=BIZ+UDGothic:wght@400;700&family=Zen+Kaku+Gothic+New:wght@400;500;700&display=swap
### Radii
- **None**: 0px
- **Sm**: 0px
- **Md**: 0px
- **Lg**: 0px
- **Full**: 9999px
### Shadows
- **None**: flat everywhere; nothing is lifted. Light is the only depth: the console and the line it traces.
### Spacing
- **Base**: 8px
- **Scale**: ["4px","8px","12px","16px","24px","32px","48px","64px","96px"]
### Surfaces
- **Treatment**: one-lit-screen-in-a-dark-flat
- **Material**: A near-black night ground #050508 carries the plan and the console; the rest of the page is flat powder grey #C7C9D2 with pale wells #ECEDF2. Only the console screen and the route it is tracing are lit.
- **Card Style**: No cards. Rows sit on the ground, parted by space; the one filled surface per view is a pale well or the night band.
- **Bg Pattern**: none; the lease plan of the flat is the only image.
### Borders
- **Default Width**: 0
- **Style**: none
- **Character**: No borders. Walls and cables belong to the plan drawing, in 2px strokes; dashed inside walls, solid along the floor. Focus is a 2px outline at 3px offset, or a 2px ink line under a well.
### Controls
- **Height**: 50px (40 small, 58 large)
- **Radius**: 0px
- **Well Height**: 52px
### Motion
- **Duration**: 250ms
- **Easing**: cubic-bezier(0.16, 1, 0.3, 1)
- **Trace**: A device's round trip in milliseconds multiplied by 250, linear, as a stroke-dashoffset draw along its cable
- **Philosophy**: The one motion is the travelling light, at the speed of the network slowed 250 times. The settled plan renders with no JS and under prefers-reduced-motion.
## Rules
### Composition
- Make the page a place: the plan of the home is the hero, with the title above it and the ledger below.
- Light exactly one thing at a time: the console, and the route being traced.
- Place each device where it lives, on the plan, by percentage of the drawing.
- Under the plan, list every device in the order you pass them from the front door.
### Hierarchy
- One headline per view in Zen Kaku Gothic New 700 (40px on phones to 70px on desktop), 28 to 38px section heads.
- Prose at 17 to 18px in ink; asides and the network's labels in muted or BIZ UDGothic.
- Lit means live: bloom on the night ground, mint for the single action.
- State is a mark before it is a word: square, filled ring, open ring.
### Density
Calm: a plan with fifteen labelled devices, a ledger with one row per device and 7px row padding, 48 to 80px between sections.
### Signature Patterns
- The lit route: touch or focus a device and a light runs the real cable route from the console to it, taking the device's round trip times 250 (0.4 ms to hearth, 38 ms to Ren's phone).
- The floor plan as the page: rooms, devices and cables at lease-plan scale, dashed cables inside walls, solid along the floor.
- Marks: squares for the network, filled rings for awake, open rings for asleep, a mint ring for a guest.
- The ledger: every device in door-to-door order with link, now and round trip, the guest on a pale well.
## Layout
### Grid
- **Type**: night band, plan, ledger, setup
- **Max Width**: 1440px for the plan, 1200px for text, centred
- **Gutter**: clamp(20px, 4vw, 56px)
- **Column Behavior**: Two-column heads use minmax(0,1.4fr) minmax(0,1fr); ledger columns collapse to stacked rows on phones.
### Whitespace
- **Section Gap**: 48 to 80px
- **Card Gap**: no cards; 7px row padding in the ledger
- **Content Padding**: text sits on the ground aligned to the grid edge
- **Approach**: The plan is the picture; space and ink value do the separating.
### Density
- **Default**: comfortable
- **Comfortable**: {"button_height":"50px","input_height":"52px","row_height":"34 to 48px ledger rows"}
### Responsive
The plan keeps its 3:4 ratio at every width. Below 1200px the sublines and captions on the plan are hidden and the ledger drops its link column; at 600px device names are replaced by 28px touch targets over their marks, the ledger stacks to rows, and the headline column stacks. Above 1440px content caps and centres.
### Breakpoints
- **Mobile**: 390px
- **Phone Max**: 600px
- **Tablet**: 601 to 1199px
- **Desktop**: 1280px
- **Ultrawide**: 2560px
## Guidance
### Do
- Draw the real place: rooms, devices and cables where they live.
- Light only the console and the route being traced.
- Give every device a mark that says square, awake or asleep.
- State real readings: round trip, signal, time.
- Keep one mint action per view.
- Set the network's own words in BIZ UDGothic at 15px or larger.
### Don't
- Don't add window chrome, traffic-light dots or stat tiles.
- Don't veil a photo with a gradient behind a slogan.
- Don't use shadows, rounded rectangles or cards.
- Don't number sections or add eyebrows.
- Don't light anything decoratively; mint is the guest and the one action.
- Don't write copy that explains the design system.
### Accessibility
Ink #181A20 on #C7C9D2 is above 10:1; muted #4A4C58 is above 5:1 on the grey and above 6:1 on the pale well; bloom on the night ground is above 17:1; the mint button label #0C1512 is above 11:1. Status words use the semantic inks on the pale well (above 4.5:1). Every device is a link reachable by keyboard, focusing it runs the route, and the ledger repeats everything the plan shows. The plan renders complete with no JavaScript and with prefers-reduced-motion.
### Usage Context
Home and small-office network tools, quiet monitoring consoles, maps of places that are mostly asleep, and any product that should draw a real place and light only what is live.
## Imagery Direction
### Pairs With
cathode-hush
### Art Style Id
en-019ef843-df5f-78d3-b8ef-857c74a1ac96
### Summary
Cathode Hush plates held down to a dim hairline plan: near-grayscale, manga-ink linework on a night ground, scanlines and a few cyan-green sparks. The hero is the lease plan of the flat, a drawing rather than a photograph.
### Subjects
- the lease plan of a flat with rooms, walls and balcony
- a single dim console screen at night
- cables running along a skirting board
- a quiet room lit only by one monitor
### Usage
One plan image painted with var(--hero-image) at its own 3:4 ratio, capped at 1440px; no veil over it. Labels and marks are live text and SVG above it.
### Avoid
Gradient veils, window chrome, saturated neon, cyberpunk magenta, characters, text baked into the image.
DESIGN.md file
---
version: "alpha"
name: "Dialtone"
description: "Dialtone is a night console for the home network, drawn as the floor plan of a flat. Everyone is asleep and one screen is not. Every device sits where it lives, every cable runs where it runs, and the only light is the console's screen a..."
colors:
bg: "#C7C9D2"
surface: "#ECEDF2"
text: "#181A20"
muted: "#4A4C58"
border: "#2C2E36"
accent: "#3FE3C2"
on_accent: "#0C1512"
success: "#2F5E52"
warning: "#6B5530"
error: "#7A3A4E"
info: "#4A5588"
night: "#050508"
bloom: "#F6F7FF"
dim: "#C3C4D2"
typography:
headline-lg:
fontFamily: "Zen Kaku Gothic New"
fontSize: "2.075rem"
fontWeight: 700
lineHeight: 1.1
letterSpacing: "-0.02em"
headline-md:
fontFamily: "Zen Kaku Gothic New"
fontSize: "1.66rem"
fontWeight: 600
lineHeight: 1.15
letterSpacing: "-0.02em"
body-md:
fontFamily: "Zen Kaku Gothic New"
fontSize: "17px"
fontWeight: 400
lineHeight: 1.5
letterSpacing: "-0.02em"
label-md:
fontFamily: "BIZ UDGothic"
fontSize: "0.75rem"
fontWeight: 600
lineHeight: 1
letterSpacing: "0.08em"
rounded:
none: "0px"
sm: "0px"
md: "0px"
lg: "0px"
full: "9999px"
spacing:
base: "8px"
xs: "4px"
sm: "8px"
md: "12px"
lg: "16px"
xl: "24px"
2xl: "32px"
3xl: "48px"
4xl: "64px"
step-8: "96px"
components:
color-reference-bg:
backgroundColor: "{colors.bg}"
color-reference-surface:
backgroundColor: "{colors.surface}"
color-reference-text:
backgroundColor: "{colors.text}"
color-reference-muted:
backgroundColor: "{colors.muted}"
color-reference-border:
backgroundColor: "{colors.border}"
color-reference-accent:
backgroundColor: "{colors.accent}"
color-reference-on_accent:
backgroundColor: "{colors.on_accent}"
color-reference-success:
backgroundColor: "{colors.success}"
color-reference-warning:
backgroundColor: "{colors.warning}"
color-reference-error:
backgroundColor: "{colors.error}"
color-reference-info:
backgroundColor: "{colors.info}"
color-reference-night:
backgroundColor: "{colors.night}"
color-reference-bloom:
backgroundColor: "{colors.bloom}"
color-reference-dim:
backgroundColor: "{colors.dim}"
button-primary:
backgroundColor: "{colors.accent}"
textColor: "{colors.on_accent}"
typography: "{typography.label-md}"
rounded: "{rounded.md}"
padding: "{spacing.md}"
card-surface:
backgroundColor: "{colors.surface}"
textColor: "{colors.text}"
rounded: "{rounded.md}"
padding: "{spacing.md}"
input-default:
backgroundColor: "{colors.surface}"
textColor: "{colors.text}"
rounded: "{rounded.md}"
height: "44px"
---
# Dialtone
## Overview
Dialtone is a night console for the home network, drawn as the floor plan of a flat. Everyone is asleep and one screen is not. Every device sits where it lives, every cable runs where it runs, and the only light is the console's screen and the line it traces. Touch a device and the light runs the real route to it, taking as long as that device's round trip, slowed 250 times.
### Values
- One light: only the console's screen and the line it is tracing are ever lit; every other device and room stays dim.
- The world is a plan: the home drawn to scale is the page, with a ledger below it in the order you walk past things.
- Every mark is true: each device was really on the network at the stated minute, and each number is a real reading.
- Flat and square: powder grey ground, ink type, no shadows, gradients, cards or window chrome.
- Copy describes a house, not a design system.
### Anti-Values
- Dark vignette heroes with a CRT photo and a gradient veil behind a slogan.
- Window title bars with traffic-light dots that mean nothing.
- Stat tiles and decorative terminal panes.
- Numbered eyebrows and slogan section heads.
- Soft drop shadows and rounded rectangles.
### Visual Character
- Powder grey #C7C9D2 ground, pale wells #ECEDF2, ink #181A20, flat.
- A near-black #050508 night band holding the title and the plan.
- Mint #3FE3C2 as the one light: the single action and the guest.
- Cables drawn in 2px strokes, dashed inside walls and solid along the floor; squares for the network, filled rings awake, open rings asleep.
- Zen Kaku Gothic New for prose and the headline, BIZ UDGothic for the network's own words, at 15px or larger.
- Radius 0 on every rectangle; rings are round.
### Lineage
> Revised in place from Dialtone's first generation (powder-gray bedroom console with CRT windows) into the approved floor-plan take, dialtone-d, chosen in the range round 2 sorter.
## Colors
Use the YAML color tokens as the normative palette. The prose below names the roles agents should preserve when generating UI.
| Token | Value |
|-------|-------|
| bg | `#C7C9D2` |
| surface | `#ECEDF2` |
| text | `#181A20` |
| muted | `#4A4C58` |
| border | `#2C2E36` |
| accent | `#3FE3C2` |
| on_accent | `#0C1512` |
| success | `#2F5E52` |
| warning | `#6B5530` |
| error | `#7A3A4E` |
| info | `#4A5588` |
| night | `#050508` |
| bloom | `#F6F7FF` |
| dim | `#C3C4D2` |
## Typography
Load the fonts from Google Fonts: https://fonts.googleapis.com/css2?family=BIZ+UDGothic:wght@400;700&family=Zen+Kaku+Gothic+New:wght@400;500;700&display=swap
- **Headline-Lg**: Zen Kaku Gothic New, 2.075rem, weight 700, line-height 1.1.
- **Headline-Md**: Zen Kaku Gothic New, 1.66rem, weight 600, line-height 1.15.
- **Body-Md**: Zen Kaku Gothic New, 17px, weight 400, line-height 1.5.
- **Label-Md**: BIZ UDGothic, 0.75rem, weight 600, line-height 1.
## Layout
### Spacing Tokens
- **Base**: `8px`
- **Xs**: `4px`
- **Sm**: `8px`
- **Md**: `12px`
- **Lg**: `16px`
- **Xl**: `24px`
- **2xl**: `32px`
- **3xl**: `48px`
- **4xl**: `64px`
- **Step-8**: `96px`
### Grid
- **Type**: night band, plan, ledger, setup
- **Max Width**: 1440px for the plan, 1200px for text, centred
- **Gutter**: clamp(20px, 4vw, 56px)
- **Column Behavior**: Two-column heads use minmax(0,1.4fr) minmax(0,1fr); ledger columns collapse to stacked rows on phones.
### Whitespace
- **Section Gap**: 48 to 80px
- **Card Gap**: no cards; 7px row padding in the ledger
- **Content Padding**: text sits on the ground aligned to the grid edge
- **Approach**: The plan is the picture; space and ink value do the separating.
### Density
- **Default**: comfortable
- **Comfortable**: {"button_height":"50px","input_height":"52px","row_height":"34 to 48px ledger rows"}
### Responsive
The plan keeps its 3:4 ratio at every width. Below 1200px the sublines and captions on the plan are hidden and the ledger drops its link column; at 600px device names are replaced by 28px touch targets over their marks, the ledger stacks to rows, and the headline column stacks. Above 1440px content caps and centres.
### Breakpoints
- **Mobile**: 390px
- **Phone Max**: 600px
- **Tablet**: 601 to 1199px
- **Desktop**: 1280px
- **Ultrawide**: 2560px
## Elevation & Depth
### Shadows
- **None**: flat everywhere; nothing is lifted. Light is the only depth: the console and the line it traces.
## Shapes
### Rounded
- **None**: `0px`
- **Sm**: `0px`
- **Md**: `0px`
- **Lg**: `0px`
- **Full**: `9999px`
### Surfaces
- **Treatment**: one-lit-screen-in-a-dark-flat
- **Material**: A near-black night ground #050508 carries the plan and the console; the rest of the page is flat powder grey #C7C9D2 with pale wells #ECEDF2. Only the console screen and the route it is tracing are lit.
- **Card Style**: No cards. Rows sit on the ground, parted by space; the one filled surface per view is a pale well or the night band.
- **Bg Pattern**: none; the lease plan of the flat is the only image.
### Borders
- **Default Width**: 0
- **Style**: none
- **Character**: No borders. Walls and cables belong to the plan drawing, in 2px strokes; dashed inside walls, solid along the floor. Focus is a 2px outline at 3px offset, or a 2px ink line under a well.
## Components
### Composition
- Make the page a place: the plan of the home is the hero, with the title above it and the ledger below.
- Light exactly one thing at a time: the console, and the route being traced.
- Place each device where it lives, on the plan, by percentage of the drawing.
- Under the plan, list every device in the order you pass them from the front door.
### Hierarchy
- One headline per view in Zen Kaku Gothic New 700 (40px on phones to 70px on desktop), 28 to 38px section heads.
- Prose at 17 to 18px in ink; asides and the network's labels in muted or BIZ UDGothic.
- Lit means live: bloom on the night ground, mint for the single action.
- State is a mark before it is a word: square, filled ring, open ring.
### Density
Calm: a plan with fifteen labelled devices, a ledger with one row per device and 7px row padding, 48 to 80px between sections.
### Signature Patterns
- The lit route: touch or focus a device and a light runs the real cable route from the console to it, taking the device's round trip times 250 (0.4 ms to hearth, 38 ms to Ren's phone).
- The floor plan as the page: rooms, devices and cables at lease-plan scale, dashed cables inside walls, solid along the floor.
- Marks: squares for the network, filled rings for awake, open rings for asleep, a mint ring for a guest.
- The ledger: every device in door-to-door order with link, now and round trip, the guest on a pale well.
## shadcn/ui Usage
When the target app uses shadcn/ui, copy DESIGN.md with shadcn instead of the plain DESIGN.md. It contains the same Katagami design-language source plus the shadcn/ui primitives, imports, theme variables, component recipes, and preview-shot guidance.
DESIGN.md with shadcn: `/language/en-01a0fe73-ea45-7911-973a-138502da6846/DESIGN.with-shadcn.md`.
Machine-readable companions for automation: `/language/en-01a0fe73-ea45-7911-973a-138502da6846/shadcn.json` (registry theme), `/language/en-01a0fe73-ea45-7911-973a-138502da6846/shadcn-components.md` (component recipes) and `/language/en-01a0fe73-ea45-7911-973a-138502da6846/shadcn-shots.json` (preview shots). The human-facing handoff is still DESIGN.md with shadcn.
Install recommended primitives with `npx shadcn@latest add button card input textarea select dialog sheet tabs badge separator checkbox switch slider tooltip dropdown-menu table`.
Use these primitives in shadcn apps:
- button
- card
- input
- textarea
- select
- dialog
- sheet
- tabs
- badge
- separator
- checkbox
- switch
- slider
- tooltip
- dropdown-menu
- table
Implementation rule for agents: import shadcn primitives from `@/components/ui/*`, apply the generated CSS variables first, then compose the language-specific recipes from the companion MD. Katagami remains the source of truth; shadcn names are the implementation surface.
## Do's and Don'ts
- Do Draw the real place: rooms, devices and cables where they live.
- Do Light only the console and the route being traced.
- Do Give every device a mark that says square, awake or asleep.
- Do State real readings: round trip, signal, time.
- Do Keep one mint action per view.
- Do Set the network's own words in BIZ UDGothic at 15px or larger.
- Don't Don't add window chrome, traffic-light dots or stat tiles.
- Don't Don't veil a photo with a gradient behind a slogan.
- Don't Don't use shadows, rounded rectangles or cards.
- Don't Don't number sections or add eyebrows.
- Don't Don't light anything decoratively; mint is the guest and the one action.
- Don't Don't write copy that explains the design system.
### Accessibility
Ink #181A20 on #C7C9D2 is above 10:1; muted #4A4C58 is above 5:1 on the grey and above 6:1 on the pale well; bloom on the night ground is above 17:1; the mint button label #0C1512 is above 11:1. Status words use the semantic inks on the pale well (above 4.5:1). Every device is a link reachable by keyboard, focusing it runs the route, and the ledger repeats everything the plan shows. The plan renders complete with no JavaScript and with prefers-reduced-motion.
### Usage Context
Home and small-office network tools, quiet monitoring consoles, maps of places that are mostly asleep, and any product that should draw a real place and light only what is live.
## Imagery Direction
### Pairs With
cathode-hush
### Art Style Id
en-019ef843-df5f-78d3-b8ef-857c74a1ac96
### Summary
Cathode Hush plates held down to a dim hairline plan: near-grayscale, manga-ink linework on a night ground, scanlines and a few cyan-green sparks. The hero is the lease plan of the flat, a drawing rather than a photograph.
### Subjects
- the lease plan of a flat with rooms, walls and balcony
- a single dim console screen at night
- cables running along a skirting board
- a quiet room lit only by one monitor
### Usage
One plan image painted with var(--hero-image) at its own 3:4 ratio, capped at 1440px; no veil over it. Labels and marks are live text and SVG above it.
### Avoid
Gradient veils, window chrome, saturated neon, cyberpunk magenta, characters, text baked into the image.
shadcn/ui theme file
```json
{
"$schema": "https://ui.shadcn.com/schema/registry-item.json",
"name": "dialtone",
"type": "registry:theme",
"title": "Dialtone shadcn Theme",
"cssVars": {
"theme": {},
"light": {
"background": "#C7C9D2",
"foreground": "#181A20",
"card": "#ECEDF2",
"card-foreground": "#181A20",
"popover": "#ECEDF2",
"popover-foreground": "#181A20",
"primary": "#181A20",
"primary-foreground": "#ffffff",
"secondary": "#f4f4f5",
"secondary-foreground": "#111111",
"muted": "#4A4C58",
"muted-foreground": "#181A20",
"accent": "#3FE3C2",
"accent-foreground": "#111111",
"destructive": "#7A3A4E",
"border": "#2C2E36",
"input": "#2C2E36",
"ring": "#3FE3C2",
"chart-1": "#181A20",
"chart-2": "#f4f4f5",
"chart-3": "#3FE3C2",
"chart-4": "#2F5E52",
"chart-5": "#6B5530",
"sidebar": "#ECEDF2",
"sidebar-foreground": "#181A20",
"sidebar-primary": "#181A20",
"sidebar-primary-foreground": "#ffffff",
"sidebar-accent": "#4A5588",
"sidebar-accent-foreground": "#ffffff",
"sidebar-border": "#2C2E36",
"sidebar-ring": "#3FE3C2",
"radius": "0px"
},
"dark": {
"background": "#0f1115",
"foreground": "#f8fafc",
"card": "#181b22",
"card-foreground": "#f8fafc",
"popover": "#181b22",
"popover-foreground": "#f8fafc",
"primary": "#181A20",
"primary-foreground": "#ffffff",
"secondary": "#252a33",
"secondary-foreground": "#f8fafc",
"muted": "#252a33",
"muted-foreground": "#a1a1aa",
"accent": "#3FE3C2",
"accent-foreground": "#111111",
"destructive": "#7A3A4E",
"border": "#303642",
"input": "#303642",
"ring": "#3FE3C2",
"chart-1": "#181A20",
"chart-2": "#f4f4f5",
"chart-3": "#3FE3C2",
"chart-4": "#2F5E52",
"chart-5": "#6B5530",
"sidebar": "#181b22",
"sidebar-foreground": "#f8fafc",
"sidebar-primary": "#181A20",
"sidebar-primary-foreground": "#ffffff",
"sidebar-accent": "#3FE3C2",
"sidebar-accent-foreground": "#111111",
"sidebar-border": "#303642",
"sidebar-ring": "#3FE3C2",
"radius": "0px"
}
},
"meta": {
"source": "katagami",
"languageId": "en-01a0fe73-ea45-7911-973a-138502da6846",
"slug": "dialtone",
"componentManifest": [
"button",
"card",
"input",
"textarea",
"select",
"dialog",
"sheet",
"tabs",
"badge",
"separator",
"checkbox",
"switch",
"slider",
"tooltip",
"dropdown-menu",
"table"
],
"installCommand": "npx shadcn@latest add button card input textarea select dialog sheet tabs badge separator checkbox switch slider tooltip dropdown-menu table",
"nativeTokenNames": {
"colors": [
"accent",
"bg",
"bloom",
"border",
"dim",
"error",
"info",
"muted",
"night",
"on_accent",
"success",
"surface",
"text",
"warning"
],
"typography": [
"base_size",
"body_font",
"body_weight",
"button_weight",
"google_fonts_url",
"heading_font",
"heading_transform",
"heading_weight",
"letter_spacing",
"line_height",
"mono_font",
"scale"
],
"radii": [
"full",
"lg",
"md",
"none",
"sm"
],
"shadows": [
"none"
],
"spacing": [
"base",
"scale"
],
"surfaces": [
"bg_pattern",
"card_style",
"material",
"treatment"
],
"borders": [
"character",
"default_width",
"style"
],
"controls": [
"height",
"radius",
"well_height"
],
"motion": [
"duration",
"easing",
"philosophy",
"trace"
]
}
}
}
```