The first thing I would do is use the browser inspector. That will allow you to see the HTML and the CSS they are employing.
Without getting too much into the weeds here which is mostly generalised CSS, a simple solution is to do something like:
body {
background-image: url($myimageurl);
background-repeat: no-repeat;
background-position: center;
}
They seem to be doing something similar.
Make sure you’ve read through all the relevant articles in here: Topics tagged themes
Yes, look around the CSS themes in Topics tagged theme-full for ones with background images and take a look at how they add opaqueness. Always good to draw on prior art. Eg Geometric, a dark theme for Discourse


