The data is the interface
Midgard consoles put numbers first: tabular numerals, hairline grids, mono axes, and color used only to distinguish series or flag state. If a chart element doesn't encode data, delete it.
Rules
| Rule | Spec |
|---|---|
| Series order | 1 aurora · 2 bifrost · 3 mimir · 4 gold · 5 ember, always in this order |
| Grids & axes | baseline: --border-strong · gridlines: --border-subtle · labels: mono 10–11px --text-muted |
| Numerals | tabular-nums everywhere; units in --text-muted after the value |
| State colors | Semantic tokens only, and only when the chart shows status (never mixed with series colors) |
| Forbidden | 3D, pie charts > 3 slices, dual y-axes, gradient fills, drop shadows on marks |
Console patterns
Thresholds are dashed danger lines with a mono annotation. KPI rows use the Stat component; tables of records use Table with mono id columns and Badge status, see Components.
Console composition
Ops consoles are dark-first (data-theme="dark"); analyst tools light-first. Layout: TopNav → Stat row (the four numbers that matter) → main chart or map → record table. Density comes from the 4px scale, never from shrinking type below 11 px.
Every chart gets a provenance line: source feed, query time, and signature state, the chart equivalent of the audit lineage requirement (NFR-SEC-2).