/* Ruled reading lines: dark bubbles need a soft light rule, not a darker one. */
:root { --reading-rule:#e6d3f242; }
.speech-bubble, .office-reply-bubble { isolation:isolate; }
.body p, .body li, .office-reply-text p, .office-reply-text li { position:relative; background-image:none; }
.body p::after, .body li::after, .office-reply-text p::after, .office-reply-text li::after {
  content:''; position:absolute; inset:0; z-index:-1; pointer-events:none;
  background:linear-gradient(transparent calc(100% - 1px),var(--reading-rule) 0) 0 0/100% 1lh repeat-y;
}
.body li:has(> p, > ul, > ol)::after, .office-reply-text li:has(> p, > ul, > ol)::after { display:none; }
/* 밑줄이 매 줄 그어지므로, 문단·목록 사이는 한 줄보다 확실히 넓게 띄워 이야기가 바뀌는 곳이 보이게 한다 */
.messages .body p, .office-reply-text p { margin:0 0 1.3em; }
.messages .body ul, .messages .body ol, .office-reply-text ul, .office-reply-text ol { margin:-.4em 0 1.3em; }
.messages .body li + li, .office-reply-text li + li { margin-top:.15em; }
.messages .body > :last-child, .office-reply-text > :last-child { margin-bottom:0; }
