Deterministic password generator is the only way to go for me. I have my own that takes the site name, username, and a version number and SHA256 hashes it all with a passphrase, and runs the resulting bytes through a simple transformation that produces a strong password with a good character set. Optionally allows me to specify constraints on the password (e.g. which special chars, limited length) for sites with idiotic password rules. If you want to change a password, you incremement the version number. The whole thing is a simple command line dingus that barfs the password out to the clipboard and a note (including the username reminder) out to stdout. I even had claude port it to ios for me.
I've been using this technique for literally all my passwords for about 7 years now and it works great. The only downside is it doesn't help me in situations where I want to either share a password or receive a shared password from someone else.
The really beautiful thing is that you can reconstruct your important passwords completely from memory even after losing your whole config. This saved me recently when my laptop died. git clone / vim a config / remember your passphrase / done