What if I want the website to work even when JavaScript is not turned on? I'd need a backend server and some frontend logic handling that case.
You can make the left pane a list of links to dedicated pages, and then add an htmx attribute to indicate that when the user has JavaScript to instead fetch a html snippet with just full article and swap it into the right pane.
If you had a reasonably bounded set of articles you could statically generate all the /article/id.html and the /article/id/snippet.html files, though a backend probably makes sense.
Certain things like Nav menu drop downs and folding text can’t be done with native CSS and HTML.
Here’s an example: https://codepen.io/daviddarnes/pen/abVaGG