luceos
Ironic that a technical discussion of forum software for internet communication results in more proof that internet conversations always quickly devolve into unproductive battles over nothing.
I have over and over in my comments tried to impart with humility that I know almost nothing about CSS and even less about specificity, etc. I'm just a non-developer who chose Flarum to create a fun forum after testing 5 other forum packages. I didn't realize it's only 10 years old and still for experts only (unless you want to run it plain vanilla).
I was educated in this thread about the importance of specificity and went and researched it, and even provided a link above to what I read in case anyone would be benefitted by it. See https://discuss.flarum.org/d/34481-what-extension-or-theme-are-they-using/38.
Then, in trying to use other advice provided, it became apparent that I would be attempting to override an !important with another !important, and realized I would need to do more study to learn whether that would work or not.
I wasn't weighing whether Flarum developers are smarter or more trustworthy than the random Mozilla article author is, the question didn't even cross my mind. In fact, I kind of like the idea of !important overriding !important because I generally like handy kludges that "just work" (if it does).
Nonetheless, here's the guidance I read and absorbed in 30 seconds which constituted my initial entire knowledge of "!important":
The !important exception
CSS declarations marked as important override any other declarations within the same cascade layer and origin. Although technically, !important has nothing to do with specificity, it interacts directly with specificity and the cascade. It reverses the cascade order of stylesheets.
If declarations from the same origin and cascade layer conflict and one property value has the !important flag set, the important declaration is applied no matter the specificity. When conflicting declarations from the same origin and cascade layer with the !important flag are applied to the same element, the declaration with a greater specificity is applied.
Using !important to override specificity is considered a bad practice and should be avoided for this purpose. Understanding and effectively using specificity and the cascade can remove any need for the !important flag. (my emphasis)
Instead of using !important to override foreign CSS (from external libraries, like Bootstrap or normalize.css), import the third-party scripts directly into cascade layers. If you must use !important in your CSS, comment your usage so future code maintainers know why the declaration was marked important and know not to override it. But definitely, don't use !important when writing plugins or frameworks that other developers will need to incorporate without being able to control.
https://developer.mozilla.org/en-US/docs/Web/CSS/Specificity
I think my reading comprehension on heavy tech issues is pretty good for someone who is not a developer. As far as comprehension goes, I suggest you might want to re-read what I wrote in my posts in this thread and consider the points I made, which were all made with gratitude, good spirit and humor, and which might actually help Flarum developers understand what they are too close to understand -- how someone in the 99.9% of their potential market (non-coders who decide what forum software to use or suggest to their hosting customers) thinks about the product.
Here's one more suggestion. Maybe write some documentation up front in the About Flarum section that says "if you want to make a cosmetic change to Flarum that is not already provided for in "core" or an Extension someone wrote, you can try to paste it into the Custom CSS box we provide. If that doesn't work, you will need to understand CSS thoroughly enough to pass a college course in it, maybe also understand the concept of "specificity" so you can override hard-wired aspects, and know how to use GitHub so you can write and post code so that you can create an Extension to do what you want to do. Extensions "stick" in forum.css, manual changes do not! Don't try to edit forum.css directly, because it is just a giant block of undifferentiated code that gets "rewritten" every time you toggle an Extension on or off, or clear your cache, or God knows what else.
I'm no stranger to snarky "experts" in various forums and subject matters, and probably would occasionally be one myself in my area of expertise in the tech world (getting founders, investors, execs and star developers paid when they are successful) if I participated on such a forum. But instead of seeing it as a challenge to your authority over Flarum, or versus Mozilla developers, see it as free advice from someone who has spent an enormous amount of time trying to use your creation, where so many other potential users just say "I quit" and use a competing offering instead (and there are numerous posts on this forum that say essentially that).
Finally, it's not a matter of not trusting you, it's a matter of your suggestion requiring me to basically learn the theory if not the practice of CSS in order to write it in a way that the snippet will be applied where it needs to be applied and nowhere else.