Fairness you can explain out loud.
The animation is a reveal, not the source of the result. Before the reveal starts, the Tool commits a result selected with browser Web Crypto.
Commit, then reveal
Moving graphics only make an already-selected result easy to follow. Refreshing or slowing the animation should not change the committed Winner.
Equal mapping from Web Crypto
Eligible Entries are numbered from zero. Web Crypto supplies an unsigned 32-bit value. If a value would create a skewed mapping for the number of Entries, the Tool rejects it and draws another: rejection sampling. The accepted value maps so each eligible position has the same chance.
Who can be selected?
Only eligible Entries participate. Disabled or excluded Entries cannot win. A no-repeat round removes a selected Entry from later picks until Undo or Reset. Duplicate labels remain separate Entries: two rows labelled “Sam” represent two chances.
Boundaries worth stating
Empty lists, invalid input, and limits are handled before selection. A random result is not a proof that a roster is complete, that everyone agreed, or that an outcome is correct or safe. Check context yourself. Read the privacy approach and Terms.