I'm not sure if you are still interested in code feedback, but since I opened it up I figured I should post. If you are not, ignore this post 🙂.
I opened it up to look at how feasible it would be to add a 'compare' function, showing the differences between saves. (Answer: Pretty hard in current format). This is an impressive amount of HTML/javascript!
The biggest thing that stood out to me was the using of the HTML code as a datastore: Things would be a lot cleaner in a data-driven model: ie, a javascript variable with all of the user decisions/buttons selected/not selected, that is automatically updated when the html is pressed and auto-updates the HTML when the variable is changed. It would vastly simplify the interaction logic (especially for things like saves), as well as better separating the code. Such data binding could be done in raw JS, but would be pretty trivial using a framework (such as Angular, which is designed for this kind of data binding, or even NodeJS, which has databinding support).
Feeding on top of that, this project is complex enough that a javascript framework would make life a lot easier. Unfortunately, there are dozens of frameworks all for slightly different use-cases, so it is a project itself to identify what would be best, doing so should make it both easier to write new code, easier for the code to read, and give more options for doing logic updates. You may be able to take it further with a template based solution, but there is probably diminishing returns there.
Anyway, impressive amount of code! Given its size, I'm shocked that maintaining across updates doesn't become unwieldly.
Again, these are not criticisms, i just happened to be reading the code so i figured I'd type up my thoughts.