
So the Monster of the Week Official sheet debuted this week, and in all but one case, it behaves just like it did in testing. The problem is, on production, the first style in the sheet's CSS doesn't work, even tho it did in testing. The only difference is that in testing it was a custom sheet, while in production it's the established one imported from Github. I looked at the CSS as rendered for each sheet and, visually, they're identical. The first two pieces of the css file as rendered in both testing and production look like this: @import url('<a href="https://imgsrv.roll20.net/?src=https%3A//fonts.googleapis.com/css%3Ffamily%3DSpecial+Elite%26display%3Dswap%26family%3DSpecialElite" rel="nofollow">https://imgsrv.roll20.net/?src=https%3A//fonts.googleapis.com/css%3Ffamily%3DSpecial+Elite%26display%3Dswap%26family%3DSpecialElite</a>');
.charsheet .sheet-KItem-Type-New,.charsheet .sheet-KItem-Type-Countdown,.charsheet .sheet-KItem-Type-Monster,.charsheet .sheet-KItem-Type-Minion,.charsheet .sheet-KItem-Type-Bystander,.charsheet .sheet-KItem-Type-Location,.charsheet .sheet-KItem-Type-Phenomenon,.charsheet .sheet-KItem-Type-Text,.charsheet div.sheet-Keeper,.charsheet .sheet-SkinCheck[value="-1"] ~ div.sheet-NoKeep,.charsheet .sheet-SkinCheck[value="0"] ~ div div.sheet-NoNull,.charsheet div.sheet-Reference,.charsheet div.sheet-Expander
{
display: none;
} So the thing is, it's specifically, only " .charsheet .sheet-KItem-Type-New " which doesn't render in production — it's as if it's not even defined in the stylesheet. So I dug into it more, pulled out a copy of each visually-identical CSS, and ran a diff comparison between them. And there is a difference. Just one. Right after the semicolon of the first line — the @import line's semicolon. There's an invisible character there . Looks like it's a UTF-8 character, FEFF, which is according to my research " a ZERO WIDTH NO-BREAK SPACE. Also, a quick trip to Wikipedia told us about the actual uses for U+FEFF, more commonly known as Byte order mark or BOM." " It's definitely not there in the source file as uploaded to github, so this is something that's happening during processing/import/something on Roll20's side. The problem is, when that invisible character shows up in there, it's visible to the browser as a non-whitespace character, and that means the very first style that follows it is taken to be " <FEFF> .charsheet .sheet-KItem-Type-New " instead of " .charsheet .sheet-KItem-Type-New " and since .charsheet isn't contained inside of an element named <FEFF>, that style definition isn't considered to exist for the purposes of rendering. And since this is for hiding a default-hidden element in my layout, it's causing something that shouldn't persistently display all the time to persistently display all the time. Maybe this bug's happening for other people and causing inexplicable style failures, or maybe I'm the only special one! But assuming it's part of Roll20's automated processing of user created sheets... maaaayyyybe it should get fixed? In the meantime I'll be putting a dummy style at the top of my file, after that first semicolon, so it can take the hit.