Neutral Toolkit
The unopinionated base: neutral greys, 8px corners, one hairline everywhere.
Construction · Bordered
No depth at all, but every surface is contained by a drawn line — the border does the work a shadow would do elsewhere.
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 Neutral Toolkit style. Deliberately characterless — neutral greys, consistent 8px corners, a single hairline border weight. Meant to be a starting point that a brand can be added to. 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
- neutral greys
- consistent 8px corners
- single hairline weight
- no brand color
What this style refuses
- brand color decisions
- expressive type
- gradients
- multiple radius scales
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#09090b#ffffff#111113#e4e4e7#27272a#09090b#fafafa#57575f#a1a1aa#18181b#fafafa#ffffff#09090bShape and type
Measured contrast — body 19.9:1 light, 19.06:1 dark; secondary text 7.16:1 and 7.76:1. Every pair clears WCAG AA in both themes, checked on each build.
Specimen · Specimen.tsx
import type { CSSProperties } from "react";
/**
* Vibary · Neutral Toolkit
*
* The unopinionated base: neutral greys, 8px corners, one hairline everywhere.
*
* One complete product screen, rendered from the token object below —