Deterministic random in JavaScript: why a viral web toy dies if it uses Math.random(), and how FNV-1a + mulberry32 make the same wrong answer reproducible…