fix button styles

- use relative positioning to avoid jitter in layout
- fix button:active selector so states work correctly