I got this as close to a true SSCCE as I could while still replicating the issue:
<title>Firefox CSS Priority Test</title>
<link rel="stylesheet" id="_switchSheetBackup" href="//Shared.BHStudios.org/_css/visual_Clean_Blue.css"/>
<link rel="stylesheet" id="_switchSheet" href="//Shared.BHStudios.org/_css/visual_Clean_Purple.php"/>
This page should have a purple background, not a blue one.
<a href="#" class="inverse button">This should have purple text.</a>
The rule on line 33 of visual_Clean_Purple.php is breaking the CSS in Firefox. Try removing:
BoltClock offers a good explanation in this answer:
Firefox appears to simply not understand ::selection (hence necessitating the vendor-prefixed ::-moz-selection), so it ignores the entire rule on encountering an unrecognized selector per the spec.
The common workaround for a browser not understanding one or more selectors in a group is to split/duplicate the rule set.
In fact, in this case it's the only thing you can do, i.e. you will have to put up with this slight bit of bloat.