Using opacity to darken tags isn't great: It grays the text too much.
But it's a lot simpler than making the tag color depend on dark-mode
state, which would require touching every tag during dark-mode switch,
which would require locking to ensure that a dark-mode switch completes
before another one is started, because tag color calculations are done
asynchronously because crypto's interface forces this. :(