Vibary.ai
← All UI styles

CRT Television

Scan lines, slight bloom, and colors that look broadcast rather than rendered.

ScanlineretroMedia productsGamesNostalgia campaigns

Construction · Scanline

Everything is drawn by a tube: horizontal scan lines across the whole surface, a bloom around anything bright, and edges that fringe slightly.

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 CRT Television style. Scan lines over everything, a faint bloom on bright areas, and a slightly off broadcast palette. Type stays large because the tube could not resolve small.

Build every

The numbers in this prompt are printed from the tokens below, so it cannot drift from what the specimen renders.

What carries the look

  • scan lines over everything
  • faint bloom
  • broadcast palette
  • large type

What this style refuses

  • crisp small text
  • flat matte surfaces
  • cool minimal palettes
  • hairline detail

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

RoleLightDark
Background#101018#0a0a10
Surface#181822#12121a
Border#33334a#2b2b40
Text#f0eef8#f0eef8
Muted text#a5a2bc#a29fb8
Accent#ff5fa2#ff5fa2
On accent#1a0410#1a0410

Shape and type

Radius2 / 6 / 10 px
Border1px solid
Shadowglow
DisplayVerdana
Bodysystem-ui
Monoui-monospace
Type scale12 · 13 · 15 · 18 · 24 · 34 px
Weights500 / 700 / 800
Line height1.45
Tracking0.02em
Spacing4px grid · regular
Surfacescanline
Accentglow
Separatorhairline
Labelsuppercase
Blurnone

Measured contrast — body 16.49:1 light, 17.19:1 dark; secondary text 7.66:1 and 7.7:1. Every pair clears WCAG AA in both themes, checked on each build.

Specimen · Specimen.tsx

import type { CSSProperties } from "react";

/**
 * Vibary · CRT Television
 *
 * Scan lines, slight bloom, and colors that look broadcast rather than rendered.
 *
 * One complete product screen, rendered from the token object below —

Nearby styles