Web 1999
Times body text, underlined blue links, and a grey page with a visible border.
Construction · Hard bevel
Depth is drawn, not blurred: one light line on the top and left, one dark line on the bottom and right, and a light source that never moves.
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 Web 1999 style. Default-browser styling on purpose: serif body text, blue underlined links, purple visited state, and a grey page. No layout system beyond a table. Build every surface the
The numbers in this prompt are printed from the tokens below, so it cannot drift from what the specimen renders.
What carries the look
- serif body text
- blue underlined links
- grey page
- table-shaped layout
What this style refuses
- sans-serif body text
- rounded corners
- shadows
- modern spacing 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
#c0c0c0#1f1f1f#ffffff#2a2a2a#808080#5c5c5c#000000#f0f0f0#4a4a4a#b0b0b0#0000ee#8f8fff#ffffff#050530Shape and type
Measured contrast — body 11.54:1 light, 14.46:1 dark; secondary text 4.87:1 and 7.6:1. Every pair clears WCAG AA in both themes, checked on each build.
Specimen · Specimen.tsx
import type { CSSProperties } from "react";
/**
* Vibary · Web 1999
*
* Times body text, underlined blue links, and a grey page with a visible border.
*
* One complete product screen, rendered from the token object below —