opacity(), brightness(), contrast(), and invert() apply as real PDF color math - opacity() reuses the same isolated transparency group as the opacity property, the other three compose into one ExtGState /TR transfer function - not a rasterized approximation. (docs/html-css-support.md#filters-and-blend-modes)
Peach baseline (no filter) filter: none | Peach brightness filter: brightness(1.6) | Peach contrast filter: contrast(1.8) | Peach invert filter: invert(1) |
Multiple native functions in one filter: value compose into a single PDF transfer function, so a whole native-only chain still costs one PDF object, the same as one function alone.
Peach brightness + contrast filter: brightness(1.3) contrast(1.4) | Peach brightness + invert filter: brightness(0.9) invert(1) | Peach opacity + brightness filter: opacity(0.6) brightness(1.4) | Peach all four together filter: opacity(0.85) brightness(1.2) contrast(1.3) invert(0.15) |