{const f=require('fs');for(const n of ['chronos-1','chronos-2'])f.writeFileSync('portal/'+n+'.png',new Resvg(f.readFileSync('portal/'+n+'.svg'),{fitTo:{mode:'width',value:1200},font:{loadSystemFonts:true}}).render().asPng())})"
PNG rather than the SVG directly: the SVGs are laid out against specific monospace metrics, and a<br>visitor without JetBrains Mono would get a fallback face that shifts the text. The PNG is identical<br>everywhere.<br>-->
CHRONOS I and II — two terminal hacking games
Locked in an isolation chamber with one console and an hour on the clock. Work backwards through fifty years of machines to reach the door.<br>play →
II<br>Something walked out of the vault. Follow it machine to machine, through intrusions that actually happened. Stands alone; you do not need the first.<br>play →