Reorg stage 2: split index.html into app/ ES modules + app.css (build-free)

index.html 2106 → 55 lines: links app/app.css, is the DOM skeleton + the engine/ classic tags (order preserved — they define the window.* globals) + one .

app/ modules, shared state threaded via imports (state.js), not accidental globals: state (store + html/render + engine aliases), world (POS/bounds), targeting (weightsAt/retarget/glide/travel), starmap (SVG…

Three load-mechanics fixes the external CSS/modules needed: probe-harness serves .css with the right MIME (nginx already does); main.js gates boot on the stylesheet applying

Verified: explorer-ui, genre-viz, demo-layer, live-test-run, wavout-test-run, live-resilience, bg-survival all green; live deploy serves app/main.js + app/app.css (200) and boots the modular page.

▶ Play it: Highway Heat Death — where the synthesis is the identity, not the decoration

a13da6b · colophon · source