Сегодня я узнал, что когда вы пишете
--color: orange !important; в CSS, то это не указание строки, которая потом распарсится как цвет, причём очень важный.Крис Койер в статье поясняет, что на самом деле
!important — это указание каскаду отработать на свойстве, пусть и кастомном. Парсер отделяет импортант от строки. Причём логично ведь, у нас же не CSS Custom String, а CSS Custom Property, значит и каскад со специфичностью они ломать не должны. Но что-то я сначала не понял, а потом как понял!https://frontendmasters.com/blog/important-and-css-custom-properties/