css(rules, scope, ext, callback) {
    let hostScope = this._calcHostScope(scope, ext);
    scope = this._calcElementScope(scope);
    let self = this;
    return StyleUtil.toCssText(rules, function(/** StyleNode */rule) {
      if (!rule.isScoped) {
        self.rule(rule, scope, hostScope);
        rule.isScoped = true;
      }
      if (callback) {
        callback(rule, scope, hostScope);
      }
    });
  }
// (e.g. :host) to use the scoping selector.
to use the scoping selector.
to use the scoping selector .
css(rules, scope, ext, callback) {
    let hostScope = this._calcHostScope(scope, ext);
    scope = this._calcElementScope(scope);
    let self = this;
    return StyleUtil.toCssText(rules, function(rule) {
      if (!rule.isScoped) {
        self.rule(rule, scope, hostScope);
        rule.isScoped = true;
      }
      if (callback) {
        callback(rule, scope, hostScope);
      }
    });
  }
css ( rules , scope , ext , callback ) { let hostScope = this . _calcHostScope ( scope , ext ) ; scope = this . _calcElementScope ( scope ) ; let self = this ; return StyleUtil . toCssText ( rules , function ( rule ) { if ( ! rule . isScoped ) { self . rule ( rule , scope , hostScope ) ; rule . isScoped = true ; } if ( callback ) { callback ( rule , scope , hostScope ) ; } } ) ; }
(e.g.
( e . g .
/** StyleNode */