We dug into overriding default buttons styles not long ago here on CSS-Tricks. With garden-variety fully cross-browser-supported styles, you’re looking at 6-10 CSS rules to tear down anything you need to off a button and then put in place your own styles. Hardly a big deal if you ask me, especially since it’s extremely likely you’ll be styling buttons anyway.
Scott O’Hara has taken a look as well. I think the solution offered to use a
display: contents;– some semantics-based accessibility problems.
all: unset;– doesn’t reset display value, not good enough browser support.