Ink Only
Black, white, and the space between. Color has been removed as a tool.
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 Ink Only style. Pure black on pure white with no chromatic color anywhere, including for status. Emphasis is weight and size, and nothing else is available. Build every surface the Ruled
The numbers in this prompt are printed from the tokens below, so it cannot drift from what the specimen renders.
What carries the look
- pure black on pure white
- no chromatic color at all
- weight as emphasis
- square corners
What this style refuses
- any hue, including for status
- grey backgrounds
- shadows
- rounded corners
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#000000#ffffff#0a0a0a#111111#f0f0f0#000000#ffffff#4a4a4a#b4b4b4#000000#ffffff#ffffff#000000Shape and type
Measured contrast — body 21:1 light, 21:1 dark; secondary text 8.86:1 and 10.13:1. Every pair clears WCAG AA in both themes, checked on each build.
Specimen · Specimen.tsx
import type { CSSProperties } from "react";
/**
* Vibary · Ink Only
*
* Black, white, and the space between. Color has been removed as a tool.
*
* One complete product screen, rendered from the token object below —