Round the corners, vignette the edges, bloom the highlights.
A convincing CRT is three layers: a thick rounded bezel as the container, a soft radial-gradient vignette laid on top, and a faint outer blur on bright text so it looks like phosphor glow. Pair with scanlines (see [[scanlines]]) and the whole frame stops feeling like a webpage and starts feeling like a tube.
Bezel + vignette as two layered ::pseudo-elements.css
.crt {
position: relative;
background: #000;
border-radius: 18px;
padding: 28px;
box-shadow:
inset 0 0 0 4px #1a1a1a,
inset 0 0 60px rgba(0,0,0,0.85),
0 0 0 8px #0a0a0a;
}
.crt::after {
content: "";
position: absolute; inset: 0;
background: radial-gradient(
ellipse at center,
transparent 50%,
rgba(0,0,0,0.55) 100%
);
pointer-events: none;
border-radius: inherit;
}Phosphor bloom via text-shadow.css
.phosphor {
color: #E8A028;
text-shadow:
0 0 4px rgba(232, 160, 40, 0.6),
0 0 12px rgba(232, 160, 40, 0.35);
}