The CSSRule interface represents a single CSS rule. There are several types of rules which inherit properties from CSSRule.
CSSGroupingRuleCSSStyleRuleCSSImportRuleCSSMediaRuleCSSFontFaceRuleCSSFunctionDeclarationsCSSPageRuleCSSNamespaceRuleCSSKeyframesRuleCSSKeyframeRuleCSSCounterStyleRuleCSSSupportsRuleCSSFontFeatureValuesRuleCSSFontPaletteValuesRuleCSSLayerBlockRuleCSSLayerStatementRuleCSSPropertyRuleCSSNestedDeclarationsCSSViewTransitionRuleThe CSSRule interface specifies the properties common to all rules, while properties unique to specific rule types are specified in the more specialized interfaces for those rules' respective types.
CSSRule.cssTextRepresents the textual representation of the rule, e.g., "h1,h2 { font-size: 16pt }" or "@import 'url'". To access or modify parts of the rule (e.g., the value of "font-size" in the example) use the properties on the specialized interface for the rule's type (see above).
CSSRule.parentRule Read onlyReturns the containing rule, otherwise null. E.g. if this rule is a style rule inside an @media block, the parent rule would be that CSSMediaRule.
CSSRule.parentStyleSheet Read onlyReturns the CSSStyleSheet object for the style sheet that contains this rule
CSSRule.type Read only Returns one of the Type constants to determine which type of rule is represented.
References to a CSSRule may be obtained by looking at a CSSStyleSheet's cssRules list.
let myRules = document.styleSheets[0].cssRules; // Returns a CSSRuleList
console.log(myRules);