Ultimately, I like to keep things simple. You’ve touched upon 2 different realms of interface design in your post: presentation and functionality. I’ll mainly talk about my process for the presentation of Twine games.
In the few half-finished Twine projects I’ve worked on, I designed the interface by identifying the main visual components. I open Inkscape and make a story screenshot encompassing all of those elements. So, yes, I do add more CSS.
My Twine designs usually cover these basic components:
- Background Colour
- Story Width, Background Colour
- Story Font, Size, Colour (readability is key)
- Game Title Font or Graphic
- Chapter/Scene Header Font, Size, Colour
- Divider (a horizontal line to separate content)
- Button (used for non-story navigation: continue, restart, back, etc.)
- Link (within story paragraphs - usually optional prose)
- Choices (links below story paragraphs - critical decisions have more presence)
- Information Font, Size, Colour (information conveyed outside of the story prose)
I use lorem ipsum text to help flesh out the design and all I’ve done is pick fonts and colours. I try to use background gradients and shadows sparingly, if at all. Sometimes a button looks cooler with a bevelled edge, but that’s about as frisky as I get. 
It’s way easier to drag things around in Inkscape and change colours than to try and figure it out with code at the first go. Do it in PowerPoint if that’s what you know how to use.
Then I translate that look into CSS code and Bob’s your uncle.
I think it’s important to make an IF story have an identity. Using the default presentation always feels like only half the work was done to me. Having a legible story font is most important though. There are typically better ones than what is set by default.
Regarding designing the interface around the theme of a specific story, I don’t think it’s as useful as most people would think. I’d approach the design to that of an application. What would your ultimate default IF presentation look like. Colours can promote mood, but the less distracting to the story, the better. Neutral tones are best.
If you made IF that had a certain way to the presentation of all your stories, seeing that in future works would create a sense of familiarity. Think of it as a brand of sorts; an identity that feels unique to your stories.
As far as functionality goes, for a simple Twine game, you won’t really need any complicated settings. Less is more. The browser can zoom in to increase font size. The device has it’s own volume control (have a sound on/off though). Light / dark mode is pretty straight forward to do in CSS. Any other kinds of interface elements are more integral/connected to the game itself.
Interface elements should be unobtrusive and never present an inconvenience.
I guess I’m sharing more of a philosophy on the matter.