https://drafts.csswg.org/selectors-4/#the-lang-pseudo
Each language range in :lang() must be a valid CSS <ident> or <string>. (Language ranges containing asterisks, for example, must be quoted as strings.)
Language ranges containing asterisks can presumably also be written as escaped idents, e.g. :lang(\*-CH), so this parenthetical needs tweaking.