@supports (animation-name: test) {
  foo {
    a: b;
  }
}
@supports (transform-origin: 5% 5%) {
  foo {
    a: b;
  }
}
@supports selector(A > B) {
  foo {
    a: b;
  }
}
@supports not (transform-origin: 10em 10em 10em) {
  foo {
    a: b;
  }
}
@supports not (not (transform-origin: 2px)) {
  foo {
    a: b;
  }
}
@supports (display: grid) and (display: inline-grid) {
  foo {
    a: b;
  }
}
@supports (display: grid) and (not (display: inline-grid)) {
  foo {
    a: b;
  }
}
@supports (display: table-cell) and (display: list-item) {
  foo {
    a: b;
  }
}
@supports (display: table-cell) and (display: list-item) and (display:run-in) {
  foo {
    a: b;
  }
}
@supports (display: table-cell) and ((display: list-item) and (display:run-in)) {
  foo {
    a: b;
  }
}
@supports (display: table-cell) and ((display: list-item) or (display:run-in)) {
  foo {
    a: b;
  }
}
@supports (transform-style: preserve) or (-moz-transform-style: preserve) {
  foo {
    a: b;
  }
}
@supports (transform-style: preserve) or (-moz-transform-style: preserve) or (-o-transform-style: preserve) or (-webkit-transform-style: preserve) {
  foo {
    a: b;
  }
}
@supports (transform-style: preserve-3d) or ((-moz-transform-style: preserve-3d) or ((-o-transform-style: preserve-3d) or (-webkit-transform-style: preserve-3d))) {
  foo {
    a: b;
  }
}
@supports not ((text-align-last: justify) or (-moz-text-align-last: justify)) {
  foo {
    a: b;
  }
}
@supports (--foo: green) {
  foo {
    a: b;
  }
}
@supports not selector(:is(a, b)) {
  foo {
    a: b;
  }
}
@supports selector(:nth-child(1n of a, b)) {
  foo {
    a: b;
  }
}
@supports (feature1: val) {
  foo {
    a: b;
  }
}
@supports ((feature1: val)) {
  foo {
    a: b;
  }
}
@supports (feature2: val) {
  foo {
    a: b;
  }
}
@supports (not (feature23: val4)) {
  foo {
    a: b;
  }
}
@supports ((feature1: val) and (feature2: val)) {
  foo {
    a: b;
  }
}
@supports ((feature1: val) and (feature2: val)) or (not (feature23: val4)) {
  foo {
    a: b;
  }
}
