frontend is so much harder than it needs to be. why do we have to deal with all these obscure css properties and browser incompatibilities?