Options
Defaults to a 20-character password with letters, numbers, and symbols — that's already past "excellent."
How this works
For each character we pick a random byte using window.crypto.getRandomValues — the same generator browsers use for cryptographic operations. We discard any byte that would cause modulo bias and re-roll, so every character in the alphabet has exactly equal probability. Entropy bits = log2(alphabet size) × length, which is the standard NIST formula for random passwords.