Data Dense Dark
A trading screen's logic: small type, tabular figures, color reserved for change.
Construction · Well
Content sits in a shallow well cut into the page: a slightly darker floor, a soft shade at the top of the cut, and a light line where it comes back up.
Every style renders this same screen, so the only thing changing between two of them is the style. The component above is the file below, running.
Prompt
Design this interface in the Data Dense Dark style. Small type and tight rows on a dark ground, with tabular figures throughout. Color means one thing only — direction of change — so nothing else is colored. Build
The numbers in this prompt are printed from the tokens below, so it cannot drift from what the specimen renders.
What carries the look
- small type and tight rows
- tabular figures
- color only for direction
- dark ground
What this style refuses
- roomy padding
- decorative color
- large radii
- proportional figures
The refusals are the half that keeps generated interfaces from converging — a prompt that only says what to add gets the default look.
Tokens
Palette
#101317#0a0d11#171b21#12161b#282e37#232932#e8edf3#e8edf3#98a2b0#96a0ae#3ecf8e#3ecf8e#04160e#04160eShape and type
Measured contrast — body 15.82:1 light, 16.54:1 dark; secondary text 7.21:1 and 7.36:1. Every pair clears WCAG AA in both themes, checked on each build.
Specimen · Specimen.tsx
import type { CSSProperties } from "react";
/**
* Vibary · Data Dense Dark
*
* A trading screen's logic: small type, tabular figures, color reserved for change.
*
* One complete product screen, rendered from the token object below —