I'm pretty sure setting the height of <html> doesn't do anything. You'd want to set the height (and width, if that's not just 100%) of the <body>. And height doesn't like to just work in my experience, you have to use different units like vh (view height, percent of the window's height) or px (pixels). That said, i also didn't think you could set a background image by styling <html> and you made that work. So feel free to not listen to me, i don't know what i'm doing.
Since the width of the flexbox and mainbox are supposed to be 950px, you could try just setting that in px. That will make the site harder to use on very small screens, but i think anything bigger than a cell phone or NDS should still display it fine.
And i think i see your problem. The mainbox is set to be 400px wide in index.css. Changing that to 100% makes it take up the full flexbox, at least here in LibreWolf (and Firefox).