The first button has a hydration issue. Notice that if you are logged in,
the logout color should be blue, which doesn't happen when you first load the page.
The second button fixes the above issue. However, notice that there is a
flicker in the color, which is the time it takes for the JS to be parsed.
The third button only appears when the JS is already parsed. This avoids
the flicker at the expense of delaying the completeness of the UI.