The splash screen image site setting is used for this. You can use var(--primary), var(--secondary), and var(--tertiary) CSS variables within your SVG to reference your theme’s colors and adapt to dark mode.
It is important to note that enabling this functionality may have impacts on your LCP score , so making the change, waiting a while, and checking if it has any impact on LCP or indexing in the Google Search console is the best way to try this out.
We originally attempted to allow SMIL animation elements (<animate>, <animateTransform>, etc) but these animations will be paused by the browser when javascript is executing, causing stutter. Transform and opacity CSS animations are not blocked by JS, and avoid this issue. ↩︎
We don’t currently have a way to add custom CSS because this screen loads before much of the app and there are a lot more constraints. Can you share the SVG image you’re using here (or PM me with it)? I could do some testing and see if our defaults could be more accommodating.
Note that there’s a slight change in what we’re allowing for SVG animation (and I’ve updated OP to reflect this). Originally we were allowing SMIL animations in SVGs, but it turns out these stutter because the browser pauses this type of animation while javascript executes.
So instead the recommendation is to only use CSS transform and opacity animations in your SVGs, as these aren’t blocked by JS.
If you take a look at @ばこん’s SVG above… it provides a good example of an allowable animation:
Also be careful to give your animations unique names so they don’t clash with other animations in Discourse (names like “blink”, “rotate”, “fade” etc could be too generic). Using a prefix like unique- is a great way to avoid this.