Interaction and layout fixes across the v6 build
A pass over five things that were quietly broken since the Graphite rebuild. Nothing new shipped; a few things that looked deliberate turned out not to be.
- Code blocks in case studies -
pre.codehad no styling at all, so every snippet rendered as raw preformatted text hard against the section's left edge, colliding with the paragraph above it. They now sit on the prose column in a proper panel - surface background, border, padding, horizontal scroll - and the comment / keyword / string tokens are coloured. Fixes all four case studies at once. - Changelog needed a scroll to appear - the scroll-reveal observer waited for 18% of an element to be visible, which is unreachable for anything taller than the viewport. This timeline is about ten screens tall, so it could never fire on its own. The reveal line is now set by root margin instead of a visibility ratio, and entries render on load.
- Magnetic CTAs fought over the cursor - each button listened for pointer moves independently and claimed the cursor whenever it was in range, so in the gap between "Start a project" and "See the work" both chased it and overlapped. One handler now picks the nearest button by edge distance and releases the rest. Travel is also capped, since the pull scaled with distance from the button's centre and peaked at the edge facing its neighbour - the exact worst moment.
- Cursor glow toned down - the pointer halo and the light blob tracking it were strong enough to read as an effect stuck to the mouse. Both dialled back to ambient.
- Downloads trimmed - CS2 Dumper and Offset Manager pulled from the page, along with their release notes here.