Found it:

there was a configuration problem. The <base> tag in the header had a / missing from it, breaking the paths to the CSS files. The cause was these settings in the configuration file:

define('DIR_WS_CATALOG', '/store/');
define('DIR_WS_HTTPS_CATALOG', '/store/');

They originally had the trailing / missing from them, which is required (a comment in the configuration file confirms this).