Hi Jan, I tend to have a bit more traffic on my cross-posts to dev.to but it's great to have you here!
A <label> wrapping the input and the, well, label for that input is the semantic, idiomatic way to structure your HTML; so I wouldn't recommend trying to remove it. But no matter what I would expect you to need something in the <label> 's place wrapping the two elements in order for sibling and psuedo selectors to work well and give you the styling options needed to make it all look nice.
Jan Coenen
Hi Nathan, is this really the first comment on this excellent article? - I've played a little arround with the code, introduced a class .cbx for the input checkboxes and substituted label > input[type="checkbox"] in the styles with cbx. Works as expected so far, but now I want to eliminate the labels alltogether from the HTML. The whole thing doesn't work without labels and I don't understand why. They are not mentioned in my style section anymore.