Type Hierarchy
No surfaces at all. Size, weight and space are the only structure.
Construction · Bare
There is no surface at all — no fill, no line, no tint. Size, weight and distance are the only tools left.
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 Type Hierarchy style. There are no cards, borders or fills — only type at different sizes and weights, separated by space. Everything a container would do is done by rhythm. Build every
The numbers in this prompt are printed from the tokens below, so it cannot drift from what the specimen renders.
What carries the look
- no containers at all
- size and weight only
- vertical rhythm
- space as separation
What this style refuses
- cards, borders or fills
- background tints
- shadows
- icon decoration
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
#ffffff#0a0a0a#ffffff#0a0a0a#eaeaea#232323#131313#f4f4f4#5a5a5a#9b9b9b#1b4dc1#82a6ff#ffffff#050c22Shape and type
Measured contrast — body 18.58:1 light, 18:1 dark; secondary text 6.9:1 and 7.12:1. Every pair clears WCAG AA in both themes, checked on each build.
Specimen · Specimen.tsx
import type { CSSProperties } from "react";
/**
* Vibary · Type Hierarchy
*
* No surfaces at all. Size, weight and space are the only structure.
*
* One complete product screen, rendered from the token object below —