Sand Neutral
Warm greige throughout, with a clay accent and no grey in sight.
Construction · Print
Ink on stock: a grain over the whole page, edges that are drawn lines, fills that are screens or solids, and no depth anywhere.
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 Sand Neutral style. Every neutral is warm — sand, oat, clay — with no cool grey anywhere. Contrast is gentle but never below what text needs. Build every surface the Print way: Ink on
The numbers in this prompt are printed from the tokens below, so it cannot drift from what the specimen renders.
What carries the look
- warm neutrals only
- clay accent
- no cool grey
- gentle contrast
What this style refuses
- cool grey neutrals
- pure white surfaces
- high-chroma accents
- hard black text
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
#f7f4ef#14120f#fdfbf7#1b1815#e0d9cd#302b24#242019#f2eee7#5f584c#a1988a#9a5b3d#d99070#ffffff#1c0c04Shape and type
Measured contrast — body 14.77:1 light, 16.17:1 dark; secondary text 6.41:1 and 6.57:1. Every pair clears WCAG AA in both themes, checked on each build.
Specimen · Specimen.tsx
import type { CSSProperties } from "react";
/**
* Vibary · Sand Neutral
*
* Warm greige throughout, with a clay accent and no grey in sight.
*
* One complete product screen, rendered from the token object below —