the locked image now gets a small pinned copy (18rem, same width as the text column) that appears once the real preview scrolls out of view and disappears again once the text runs out — fixed-position + scroll-driven rather than CSS sticky, since the filebrowser box is only ever as tall as its own content, not the much taller text next to it.\n\nalso scoped the existing click-outside-unfreezes-the-lock listener to clicks inside .filebrowser only, since with listings now starting locked, a click to read or select a word in the text would otherwise silently kill the sticky preview.\n\nportfolio index: rows there are real links (href + data-img together), so a single click used to jump straight into the project — the only way to preview a different one first was hovering, which does nothing for touch and is now also blocked while something is locked. first click on a different project now just previews it (like hover used to); a second click on the same row, or clicking the preview image itself, opens it.
Generalized the doom launcher into launchGame(name) keyed by archive.org identifier; each cds into a fake .<name> folder and runs <name>.sh, same as doom.
cds into a fake .doom folder (breadcrumb + file listing match every other page); .. is a real link back to wherever you typed doom from, so leaving is just normal pjax navigation.
about now lists cv.md, openbureau.md, rapport.md, dossier.md side by side. the standalone /openbureau/ page, its layout, and its home-menu entry are gone; internal links repointed to /about/. also switch the info-panel text to justified (with hyphenation, per earlier request) instead of ragged-right.
Self-hosted, subset to exactly the glyphs the site uses (fonttools --unicodes), so the pair is smaller (6.4+6.3KB) than the curly-slab files they replace despite covering en+de plus shell/tree symbols.