While I agree with most of your points, I disagree with
> Doesn't play nice with password managers.
Check your password manager settings. Most have options to match on domain, subdomain, port or have the ability to set equivalent domains either globally or per credential.
Adding dark mode CSS adds a few hundred bytes, maybe a couple kb at most to the site.
A separate subdomain:
- Requires separate TLS certificates to be maintained.
- Doesn't play nice with caching.
- Doesn't play nice with password managers.
- Doesn't work with any existing links. Users would have to manually add the `dark` prefix.
- Is generally a bad user experience.
While I agree with most of your points, I disagree with
> Doesn't play nice with password managers.
Check your password manager settings. Most have options to match on domain, subdomain, port or have the ability to set equivalent domains either globally or per credential.