Como garantimos um sorteio justo?
1. O vencedor é decidido antes da roda girar. A animação é só o show: ela recebe o resultado pronto e para em cima dele.
2. Usamos o gerador criptográfico do navegador (crypto.getRandomValues), o mesmo tipo de fonte de aleatoriedade usada para proteger conexões HTTPS, e não o Math.random, que é previsível.
3. Sem viés. Um truque ingênuo (número % total) favorece levemente os primeiros da lista. Aqui descartamos os números que causariam esse viés e sorteamos de novo.
4. Comprovante. Cada resultado mostra o número sorteado, o total de nomes na roda e o horário.
Curiosidade: a Cloudflare usa uma parede de lâmpadas de lava como uma das fontes de aleatoriedade da criptografia dela.