Can generating numbers with Math.random be predictable?
Yes, in theory. Math.random is a deterministic PRNG: the whole sequence comes from an internal state, and observing enough output can, in adversarial scenarios, let someone reconstruct that state and predict the next numbers. That is why this tool defaults to crypto.getRandomValues, and only falls back to Math.random if the Web Crypto API does not exist.
What is modulo bias in random number generation?
It is the distortion that shows up when you take a large random integer and apply modulo by a range that does not divide that space evenly. Some values of the final range end up receiving an extra slice of the raw outcomes, even though the underlying generator itself is perfectly fair.
Why does asking for 7 non-repeating numbers between 1 and 6 return an error?
Because the range from 1 to 6 only contains 6 distinct possible values, and without repeats there is no seventh different number left to draw. The tool detects that impossibility before attempting to generate anything and returns an error instead of silently repeating a value.
Does excluding an already drawn number change the odds of the rest?
Yes. In no-repeat mode, every drawn number leaves the available pool, so the odds of the remaining numbers rise with each round: the first pick has a 1-in-N chance, the second has a 1-in-N-minus-1 chance among what is left, and so on.