Combing through the CSS and the computed styles panel in dev tools gave me nothing.
It turned out there is an option to disable the standard OS form theming which isn't communicated at all in dev tools for that element (and I hadn't seen --webkit-apperance used before as the guide says you really shouldn't mess with it): https://developer.mozilla.org/en-US/docs/Web/CSS/appearance
I have no doubt there is a 'logical reason' for the behaviour but it doesn't stop it being annoying to work with.
This explains a bit more about what you’re seeing
http://stackoverflow.com/questions/28353625/why-does-percent...
CSS and usual programming are identical. If you don't give yourself the time to learn the fundamentals, you'll always run into tedious problems.
There is a surprisingly small amount of content out there on how to competently engineer your CSS (and a lot of it is bad). Most people don't even think it's something you do.
But basic things like making your general rules generic and pushing context descriptively into the HTML go a long way into making your code understandable.
Open instagram.com in a browser :D
A good place to learn how CSS was designed to work is Every Layout at https://every-layout.dev/.
Which is why if you don't interact with it day to day basis, you'll need some trial and error, as well as references and examples.
Opposite to backend or usual programming where `foo = foo + 1` is most of the time do an increment by one (exception apply)