themes/phosphor.ts view source
{ name: string; variables: { name: string; dark?: string | undefined; base?: string | undefined; summary?: string | undefined; }[]; summary?: string | undefined; scheme?: "dark" | "light" | "dual" | undefined; } type Theme
import {phosphor_theme} from '@fuzdev/fuz_css/themes/phosphor.js'; An exemplar theme: the green-phosphor CRT terminal. Structure comes from packing - monospace, sharp-cornered, spacing and leading packed well past the compact themes, and a type scale flattened nearly to one size, with bold headings carrying the hierarchy, give it terminal density, and the three shortest duration tokens are zero. The phosphor tint carries the surfaces and accent, but the palette slots keep their own hues so status colors still read - negative stays red, caution amber, info cyan, and positive steps over to teal so a success never reads as a link.
The screen emits rather than reflects: the ground is the gray-green of an
unlit tube face, lifted off black so a surface can still sink below it,
and controls glow where other themes cast shadows. Dark-only via the
scheme stance: a CRT has no daytime appearance, so it renders through
resolve_theme_stance, which computes the stance mirror beside it.