The three effects had drifted apart from each other and from the token
system. Consolidate them behind --crt-* tokens and fix what was broken.
- The animated text-shadow silently overrode the static one, so
reduce-motion users saw a 5px white glow and everyone else a 3px
currentColor glow. Both now come from one declaration, with the
aberration offset factored out into --crt-shift.
- Step the aberration instead of tweening it. text-shadow is not
compositable and this one inherits to every glyph, so the smooth
version repainted the whole document at refresh rate.
- The flicker was invisible: a near-black tint at an effective alpha of
0.008-0.096 over a black background, a peak lift of under 2/255.
Retint with the accent at ~3%.
- Anchor the vignette to the viewport. It was sized to body's box, which
is document-height, so on long pages the bloom sat off-screen.
- Pin the overlays with position: fixed rather than painting
document-sized layers, and give the grille hard stops so it is three
stripes rather than a smooth R->G->B ramp.
- Scale the raster pitch down at >=2dppx, where a 2px scanline is 4
device px and resamples into moire at fractional DPR.
- Raise --color-mg to oklch(0.62): at 0.5 it was 3.5:1 on the
background and 1.7:1 over the vignette centre. Halve the vignette
alpha via its own token, keeping --color-accent-transparent at 50%
for ProjectCard's glow.
Collapses the two keyframe blocks from 193 lines to 40.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
accessibility, and unify SVG fill color to #fff
Update BaseLayout to use a header <p> for the website title, rename the
main slot/id to
"main", and update all pages to match. Add CSS rule svg { fill:
currentColor }
and size header > p the same as h1. Fix a minor comment typo.
Introduce reset.css and theme.css and refactor style.css
to import them via layers; add Unscii font files and preload links.
Add RSS XSL/CSS and a css-test page; remove legacy snes.min.css.
Tweak BaseLayout and contact layout (preloads, grid gaps). Rename index.astro to parallax.astro and
created new basic index page. Improve input styles and contact form placeholders