> What's the best way to simultaneously invert the entire color scheme...
The SugarCube 2.x web-site includes a Bleached download link in it's Stylesheet section, the referenced archive file contains a CSS file which can be used to invert the default colour theme.
> What's the CSS for changing the colors of the error messages?
I will assume you mean the error messages shown when there are issues with the syntax of your TwineScript code. eg. forgetting to add a <</link>> end tag for a <<link>> macro.
If you use your web-browser's built-in Web Developer Tools to Inspect the HTML elements generated for such an error you will it has an HTML element structure like the following
<div class="error-view">
<button class="error-toggle" type="button" tabindex="0" aria-label="Toggle the error view" title="Toggle the error view"></button>
<span class="error">Error: cannot find a closing tag for macro <<link>></span>
<pre class="error-source" aria-hidden="true" hidden="hidden"><code><<link "Some link">>…</code></pre>
</div>
... and that the error's default styling is assigned to the .error-view CSS selector. The CSS rules for this selection can be fould in the core.css file referenced in the Built-in Stylesheets section of the documentation.
> Is there any way for the reader to change the color sheme dynamically?
You can use the Setting API to add Theme selection functionality to your project, there is even an example of this within the documentation of the Setting.addList() function.
note: the example assigns a CSS Classname to the html element, which results in CSS selectors like the following, obviously you can change the classnames used in the example.
html.theme-bright-lights {
}
html.theme-charcoal {
}
html.theme-midnight {
}
html.theme-tinsel-city {
}
> Are all of the CSS classes shown in...
No, that file only includes the default HTML structure of the page, not special use-case ones like Error Message.
Generally Debugging HTML structures like that of the Error Message shouldn't be seen by the end-user, because such errors would of been found during the Author's testing phase.