- BUILT rows are now lit — accent fill, glow ring, icon halo, and a
stamped seal — so installed upgrades read as done at a glance.
- The readout now names the world a build was actually installed on
(new BuildState.builtOn): ship upgrades show "SHIP-WIDE · INSTALLED
FROM KEPLER-186F" instead of the planet the console sits on.
- BUILT outranks BUSY, so an installed upgrade no longer reads as
waiting while another build is in flight; its cost line reads PAID.
- Category tabs gain progress pips: filled = built, pulsing = in
progress, hollow = not yet.
- Dev-only headless harness (dev/build-shot.html/.mjs) boots the game
and stages the full row-state matrix for one-frame screenshots.
- Refresh the planet sheet artwork (planets.png/.psd).