Unfortunately, the only way to achieve this with css is to break of the text into different <span> elements in order to apply the required different styles.
Note the added margin-left on the spans. This is because the way the html is built there is extra white space on each of the first 4 spans that you need to account for. The other option is just to add spaces between the last three characters to get even (but broader) spacing that way:
- component: div
config: {}
slots:
default:
- component: span
config:
content: P
- component: span
config:
content: ▲
style:
color: red
- component: span
config:
content: R
- component: span
config:
content: ▲
style:
color: green
- component: span
config:
content: D O X