# Brutalist terminal: component law

Every control is typed, not drawn. When unsure, ask what `man` or a tmux pane would show.

## Prompt line (masthead)

One line: `> FIELD NOTES █` in `strong` with a blinking cursor, `$ dateline` in `meta` dim, then bracketed nav in `control` right-aligned. A dashed rule beneath, then one full section (40px) of space.

## Title

`title`, 26px on two lines, bold uppercase, prefixed `# ` in dim. One per view.

## Kicker

`meta` dim uppercase, prefixed `// `, on the line above the title, flush left.

## Dek

`text` at 4ch indent, max 72ch.

## Byline

`meta` dim at 4ch indent, prefixed `-- `.

## Quote

At 4ch indent, a 1px solid dim bar on the left, 2ch padding, `text` bright prefixed `> ` in dim. Like a quoted email.

## Body

`text` at 4ch indent, max 72ch. No drop cap, no first-line styling.

## Figure

At 4ch indent, max 72ch. Media at 16:9 inside a dashed dim border: a phosphor disc, a 4px checker dither at 22%, a brighter band for the ground. Caption `meta` dim prefixed `// `. No photographs.

## Link

Inherit color, no underline. Hover is reverse video. Nav, footer, and pager links are bracketed.

## Nav

`control` lowercase, bracketed, 2ch apart. No underline, no current-state color.

## Listing (cards)

Three panes across, divided by 1px solid dim vertical rules, 2ch padding, no fill, no outer border. Each entry: `// 01 · TYPE` in dim, the title in `strong`, then `text`. On narrow screens the panes stack with one line between.

## Section head

`## TITLE` in `strong` with a `// note` in dim on the same line. One line beneath, then content indented 4ch.

## Table

Indented 4ch, content width (min 56ch), horizontal scroll if needed. Heads `meta` dim uppercase on a dashed rule. No row rules. 3ch between columns. Numeric columns right-aligned with tabular figures. No zebra, no hover wash, no chips.

## Pagination

`control` dim, bracketed, 2ch apart, at 4ch indent. Current is amber. Hover is reverse video.

## Form label

`meta` dim, lowercase, followed by a typed colon. Sits directly above the input.

## Input

No box. `text` bright on a 1px solid dim baseline, transparent ground, max 40ch, amber caret. Focus: the baseline goes amber. No outline ring.

## Checkbox

Native, 13px, `accent-color` fg. Label `text`.

## Button

Every button is bracketed `control` text. Primary: reverse video at rest (fg fill, ground type, bold). Hover: drops to a 1px fg outline with fg type. Ghost: plain bracketed text; hover is reverse video. Focus: 1px amber outline offset 2px. No padding beyond the brackets.

## Tabs

Bracketed `control` in dim, 2ch apart, no baseline rule. Selected is reverse video. No underline, no indicator, no motion.

## Alert / notice

A 1px solid fg bar on the left, 2ch padding. Title in `strong` prefixed `[!] `. Body in `meta` dim. No fill, no amber, no dashed box.

## Footer / signature

Dashed rule, one line of space, then `-- field notes` in dim on its own line, then bracketed links in `control`.

## Empty state

One `text` line prefixed `// ` in dim and a bracketed ghost action.

## Compose: command palette

A flat ground cut, no blur. First line `> query█` with an amber caret, dashed rule beneath. Results one per line at 4ch indent, shortcut right-aligned as `^K` text. Active row is reverse video. No icons, no keycaps.

## Compose: modal

The one boxed element: 1px solid fg border, ground fill, 2ch padding. `# HEADING` in `strong` (not `title`), `text` body, bracketed `[ok] [cancel]` on the last line with `esc` in dim. No scrim blur, no shadow.

## Compose: toast

Prefer the notice inline. If it must float, a single line at the bottom of the screen prefixed `[!] `, no border, reverse video if urgent.
