You’re right; I thought it worked on my side, but I guess not. ![]()
Here an alternative: setting a custom CSS property via js.
document.documentElement.style.setProperty(
"--hat-url",
`url(${settings.theme_uploads[settings.hat_type]}`
);
body {
background: var(--hat-url);
}
settings.theme_uploads will contain a list of your uploads.
For example:

Then, based on your setting, you set the custom property.
Note that, from my testing, it doesn’t work doing url(var(--hat-url)), that’s why I passed the url() directly in the custom property.