anchor.diff:  
     void visitMediaRule(MediaRule node) {
       var queryIterable = node.queries.map(_visitMediaQuery);
  -    var queries = _mediaRule == null
  +    var queries = _mediaQueries == null
           ? new List<CssMediaQuery>.unmodifiable(queryIterable)
  -        : _mergeMediaQueries(_mediaRule.queries, queryIterable);
  +        : _mergeMediaQueries(_mediaQueries, queryIterable);
       if (queries.isEmpty) return;
   
  -    var rule = new CssMediaRule(queries, span: node.span);
       _withParent(
  -        rule,
  -        () => _withMediaRule(rule, () => super.visitMediaRule(node)),
  +        new CssMediaRule(queries, span: node.span),
  +        () => _withMediaQueries(queries, () => super.visitMediaRule(node)),
           through: (node) => node is CssStyleRule || node is CssMediaRule,
           removeIfEmpty: true);
     }
  
positive.code:         new Parser(selectorText.value).parseSelector(),
          span: node.selector.span);
  
      var rule = new CssStyleRule(selector, span: node.span);
      _withParent(
          rule,
          () => _withStyleRule(rule, () => super.visitStyleRule(node)),
          through: (node) => node is CssStyleRule,
          removeIfEmpty: true);
    }
  
negative.code:   final Environment _environment;
    final PerformExpressionVisitor _expressionVisitor;
  
    /// The current selector, if any.
    CssValue<SelectorList> _selector;
  
    /// The current media queries, if any.
    List<CssMediaQuery> _mediaQueries;
  
    /// The root stylesheet node.
    CssStylesheet _root;
  