Thank you for the detailed answer. I can definitely see you’ve crossed the line of adding subtle interactivity to the dom :)
The behaviors you describe are intricate and contain interconnected components which are probably managed by something like vuex (or the react equivalent)