The following CSS does paragraph indentation in Source and Live Preview mode quite well. Subsequent text paragraphs, and only text paragraphs, are indented. If you add an empty line between two paragraphs, indentation is reset and the next paragraph does not indent. Other content, such as lists and tables, also resets indentation.
[class="cm-line"]:not(:has(> br:only-child)) + [class="cm-line"],
[class="cm-line"]:not(:has(> br:only-child)) + [class="cm-active cm-line"],
[class="cm-active cm-line"]:not(:has(> br:only-child)) + [class="cm-line"],
[class="cm-active cm-line"]:not(:has(> br:only-child)) + [class="cm-active cm-line"] {
text-indent: 2em;
}
Unfortunately, I can’t get the same behaviour in Reading View because paragraphs there are separated by <br>
elements with no other targetable markup. If anyone has any ideas, please let me know!