The result is selected before the animation
Orbit Picker first chooses an eligible option. It then calculates the final wheel rotation needed to place the centre of that segment under the fixed pointer. This prevents the visual wheel and the reported result from disagreeing.
Secure browser randomness when available
Modern browsers provide crypto.getRandomValues(), which Orbit Picker prefers for selecting an index. The tool uses rejection sampling so every option receives an equal range of accepted random values. When that browser feature is unavailable, the tool falls back to Math.random().
Equal segments mean equal chances
Every non-blank line becomes one equal wheel segment. If a name appears twice, it occupies two segments and therefore receives twice the chance of a name that appears once. Remove duplicates when equal participation is intended.
Animation is presentation, not extra randomness
The easing animation creates several complete rotations and gradually slows to the target. Spin duration changes how the movement feels, but it does not change which option was selected.
What the tool does not prove
A wheel cannot prove that a source list was complete, that an entrant was eligible or that a promotion followed local law. For formal or high-value draws, keep independent records and use processes appropriate to the rules and risk involved.