background-transform should have been a better idea but it seems that no browsers support <transform-list> value right now (when registering a new custom properties). So it's easier to play with background-rotate

Support: mostly Chrome/Opera (paint worklet), Chrome with flags (for --background-rotate)

CSS is awesome


.el {
  background: url(...);
} {
  background: paint(background);
  --background-opacity: 1;
  --background-rotate: 0deg;
  --background-filter: hue-rotate(var(--hue-rotate)) grayscale(var(--grayscale)) blur(var(--blur));
  --blur: 0px;
  --grayscale: 0%;
  --hue-rotate: 320deg;