code: function rule() {
          if (!settings.preserveStatic) {
              const balancedMatch = balanced('{', '}', css);
  
              // Skip rulset if it does not contain a :root variable declaration
              // of a variable function value
              if (balancedMatch) {
                  const hasVarDecl = balancedMatch.pre.indexOf(':root') !== -1 && /--\S*\s*:/.test(balancedMatch.body);
                  const hasVarFunc = /var\(/.test(balancedMatch.body);
  
                  if (!hasVarDecl && !hasVarFunc) {
                      css = css.slice(balancedMatch.end + 1);
  
                      return {};
                  }
              }
          }
  
          const sel   = selector() || [];
          const decls = settings.preserveStatic ? declarations() : declarations().filter(decl => {
              const hasVarDecl = sel.some(s => s.indexOf(':root') !== -1) && /^--\S/.test(decl.property);
              const hasVarFunc = /var\(/.test(decl.value);
  
              return hasVarDecl || hasVarFunc;
          });
  
          if (!sel.length) {
              error('selector missing');
          }
  
          return {
              type        : 'rule',
              selectors   : sel,
              declarations: decls
          };
      }
docs: Rules -------------------------------------------------------------------------