Outline Only
Everything is drawn, nothing is filled — including the primary button.
Construction · Outline
Nothing is filled. Every element is described by a stroke and the page shows straight through it.
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 Outline Only style. Every element is an outline on the page background. Even the primary action is an outline, distinguished by color and weight rather than by a fill. Build every surface
The numbers in this prompt are printed from the tokens below, so it cannot drift from what the specimen renders.
What carries the look
- outlines instead of fills
- outlined primary action
- page-colored surfaces
- weight over fill
What this style refuses
- filled buttons
- tinted surfaces
- shadows
- solid color blocks
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#0b0d10#ffffff#0b0d10#20242a#e2e6ec#14181d#eff2f6#555c66#99a1ab#1f5fd0#7fa9f5#ffffff#050c1cShape and type
Measured contrast — body 17.82:1 light, 17.33:1 dark; secondary text 6.75:1 and 7.45:1. Every pair clears WCAG AA in both themes, checked on each build.
Specimen · Specimen.tsx
import type { CSSProperties } from "react";
/**
* Vibary · Outline Only
*
* Everything is drawn, nothing is filled — including the primary button.
*
* One complete product screen, rendered from the token object below —