/* 본문에만 적용: 편집기 HTML의 임의 스타일 없이 일관된 읽기 간격을 유지한다. */
.report-content.report-content { min-width: 0; font-size: 16px; line-height: 1.85; overflow-wrap: anywhere; }
.report-content.report-content small { font-size: 13.3333px; }
.report-content.report-content a[href]:not(.post-map-link),
.report-content.report-content a[href]:not(.post-map-link):visited { color: #fd9a44; text-decoration: underline; text-underline-offset: 3px; }
.report-content.report-content a[href]:not(.post-map-link):hover,
.report-content.report-content a[href]:not(.post-map-link):focus { color: #ffc184; }
.report-content.report-content a[href]:not(.post-map-link):focus-visible { outline: 2px solid currentColor; outline-offset: 3px; }
.report-content .post-body-blocks { min-width: 0; max-width: 100%; }
.report-content.report-content h2 { font-size: clamp(1.4rem, 2.6vw, 1.75rem); font-weight: 700; line-height: 1.45; margin: 2em 0 .75em; }
.report-content.report-content h3 { font-size: clamp(1.2rem, 2.1vw, 1.375rem); font-weight: 700; line-height: 1.5; margin: 1.65em 0 .65em; }
.report-content.report-content p { margin: 0 0 1.2em; }
.report-content.report-content ul, .report-content.report-content ol { margin-top: .8em; margin-bottom: 1.3em; }
.report-content.report-content li + li { margin-top: .4em; }
.report-content.report-content > :first-child { margin-top: 0; }
.report-content.report-content > :last-child { margin-bottom: 0; }
.report-content.report-content > div > :first-child { margin-top: 0; }
.report-content .post-external-image { margin: 1.5rem 0; }
.report-content.report-content .post-map-card { margin: 1.5rem 0; }
.report-content.report-content .post-map-card h3 { margin: 0 0 6px; font-size: 1.05rem; }
.report-content.report-content .post-map-card .post-map-address { margin: 0 0 12px; }
.post-sources { margin: 18px 0 12px; }
.post-sources-button { padding: 6px 12px; border: 1px solid #46525e; border-radius: 6px; background: transparent; color: #b7c2cd; font-size: 12px; cursor: pointer; }
.post-sources-button:hover { background: #26313b; color: #fff; }
.post-sources-dialog { margin: auto; width: min(440px, calc(100vw - 32px)); max-height: 75dvh; overflow: auto; padding: 20px; border: 1px solid #46525e; border-radius: 12px; background: #19222b; color: #edf2f7; box-shadow: 0 20px 60px #0008; }
.post-sources-dialog::backdrop { background: #0009; }
.post-sources-dialog header { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 12px; }
.post-sources-dialog h2 { margin: 0; font-size: 16px; font-weight: 600; }
.post-sources-close { width: 36px; height: 36px; border: 0; border-radius: 6px; background: transparent; color: #b7c2cd; font-size: 24px; cursor: pointer; }
.post-sources-dialog ul { list-style: none; margin: 0; padding: 0; }
.post-sources-dialog li + li { border-top: 1px solid #35404b; }
.post-sources-dialog a { display: block; padding: 10px 4px; font-size: 13px; color: #adc5da; text-decoration: underline; text-underline-offset: 3px; }
.post-sources-dialog a:hover, .post-sources-close:hover { color: #fff; }
.post-sources button:focus-visible, .post-sources-dialog a:focus-visible { outline: 2px solid #85caff; outline-offset: 3px; }
.detail-title.detail-title { line-height: 1.4; margin-bottom: 1rem; overflow-wrap: anywhere; }
.report-content .post-image-unavailable { display: block; padding: 1.5rem; margin: 1rem 0; border: 1px solid #46525e; border-radius: 8px; color: #b7c2cd; background: #19222b; font-size: .9rem; text-align: center; }
@media (max-width: 600px) { .report-content.report-content { padding: 22px 18px; } }
