In firefox, the background image cannot be customized using the settings. Thankfully, the solution is quite simple.

Disclaimer: This will only go over a simple background image change! If you're looking to do any more than that with the css, then this isn't the right place

1. Go to about:config in the address bar and set toolkit.legacyUserProfileCustomizations.stylesheets to True

2. Go to about:support in the address bar

Under Application Basics, locate your Profile Folder and open it!
Please make sure you aren't opening the update folder or something else! They're easy to confuse

3. Inside your profile folder, create a new folder called chrome (Everything here is case sensitive!! Write as shown)

Inside the chrome folder, create two new files: userChrome.css and userContent.css and then a folder with the name img

Make sure the 'Hide extensions for known file types' setting in File Explorer is disabled. Otherwise your files will end with .txt (click the (...) menu on the File Explorer toolbar ➝ Options ➝ 'View' tab ➝ uncheck 'Hide extensions for known file types' ➝ Apply ➝ OK.)

4. Go to the img folder and insert the pic you want there!

There can be multiple if you're indecisive. The image needs to be here, before we start inserting any code. Otherwise it wont work.

5. Insert the following code into the userContent.css file using an editor of your choice (notepad should also work):

@-moz-document url(about:home), url(about:newtab), url(about:privatebrowsing) {
    .click-target-container *, .top-sites-list * {
        color: #fff !important ;
        text-shadow: 2px 2px 2px #222 !important ;
    }

    body::before {
        content: "" ;
        z-index: -1 ;
        position: fixed ;
        top: 0 ;
        left: 0 ;
        background: #f9a no-repeat url(img/YOUR IMAGE'S NAME.jpeg) center ;
        background-size: cover ;
        width: 100vw ;
        height: 100vh ;
    }
}

The part you'll want to edit is YOUR IMAGE'S NAME.jpeg. The name should correspond to the image you chose and put in the img folder. The file extension also has to match. In my case, it'll be ANIME-PICTURES.NET_-_24836-1280x1024-higurashi+no+naku+koro+ni-studio+deen-ryuuguu+rena-single-looking+at+viewer-fringe.jpeg

Apologies for the long name! I could've edited it. If you put an image in the img folder, you're free to edit the name to something shorter and more comprehensible.

We insert the code, restart firefox and then... there we go! :D

No more boring gray background!

Hope this was of help to you.. Firefox has its own subreddit for CSS, make sure to check it out if you have any struggles.