Are these passwords cryptographically secure?
Character selection uses JavaScript's Math.random() function, not the Web Crypto API's crypto.getRandomValues(). That means this tool shouldn't be described as cryptographically secure random generation - it's a general-purpose local generator, not a cryptographic-grade one.