Editorial Slab
Slab headings with square shoulders, sitting on rules instead of in boxes.
Construction · Ruled
There are no cards. A rule above a block announces it, spacing separates it, and nothing is ever enclosed.
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 Editorial Slab style. Slab-serif headings give the page weight without any color or depth. Rules under headings replace containers entirely. Build every surface the Ruled way: There are no
The numbers in this prompt are printed from the tokens below, so it cannot drift from what the specimen renders.
What carries the look
- slab serif headings
- rules under headings
- square shoulders
- no depth
What this style refuses
- rounded display type
- soft shadows
- pastel accents
- italic headings
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
#f7f5f1#111010#ffffff#191817#d9d3c8#312d28#1f1c18#f2eee7#615a50#a1988c#a63d1c#e8845c#ffffff#1c0a03Shape and type
Measured contrast — body 15.58:1 light, 16.43:1 dark; secondary text 6.25:1 and 6.68:1. Every pair clears WCAG AA in both themes, checked on each build.
Specimen · Specimen.tsx
import type { CSSProperties } from "react";
/**
* Vibary · Editorial Slab
*
* Slab headings with square shoulders, sitting on rules instead of in boxes.
*
* One complete product screen, rendered from the token object below —