thanks a lot for this helpful CSS snippet! I even was able to make slight modifications to my specific needs and create another CSS for header formatting from this template, although I currently understand little about the DOM class hierarchy of Obsidian which is used here.
To my observation, the CSS is effective in preview mode. In reading mode, it is not effective with my installation. With Ctrl+Shift+I i found out that Obsidian is creating a completely different DOM model with just a <br> in case of a new paragraph without an empty line between the paragraphs.
I was able to insert additional line spacing for this case with the CSS code