It’s coming from Modernizr.
“Looking through the Modernizr download page, it looks like the “hidden” class is added when Modernizr is checking for and detects support for the [hidden] attribute.”
I can of course customize Modernizr to remove that attribute. But it seems like maybe it’s better in the future to use a less likely conflict name like .gd-hidden or similar in your plugin? .hidden class is likely to be a pretty popular name to hide things and could lead to issues like this. Thanks for helping me identify though–your comment about the HTML tag (I had missed that) led me in the right direction.