/* Source and model share a reading row; each remains usable on a narrow screen. */
main.wrap { max-width: 1320px; }
.lesson > .txt, .lesson > .refs { max-width: 78ch; }
.source-comparison { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: 26px; align-items: start; margin: 24px 0; }
.source-panel, .model-panel { min-width: 0; }
.source-panel { border-left: 3px solid var(--green); padding: 0 22px 12px; background: rgba(126,231,135,.025); }
.reading-label { font-family: var(--mono); font-size: 14px; line-height: 1.5; color: var(--green); margin: 0 0 14px; }
.model-panel > .reading-label { color: var(--blue); }
.source-panel blockquote { margin: 0 0 18px; font-size: 19px; line-height: 1.65; color: var(--fg); }
.source-panel blockquote p { margin: 0 0 12px; }
.source-panel cite { display: block; font-size: 15px; color: var(--muted); font-style: normal; }
.source-panel details { margin: 14px 0 22px; font-size: 17px; }
.source-panel details p { color: var(--muted); }
.reading-map { margin: 0 0 20px; color: var(--muted); font-size: 17px; }
.reading-map dt { color: var(--fg); font-weight: 600; margin-top: 12px; }
.reading-map dd { margin: 3px 0 0; }
.reading-map code { font-family: var(--mono); font-size: .85em; color: var(--blue); overflow-wrap: anywhere; }
.source-comparison .ex .bar { flex-wrap: wrap; }
.source-comparison .ex .bar .open { font-size: 14px; }
.source-comparison .ex .bar .name { color: var(--muted); }
.lesson .reading-result { max-width: 90ch; padding: 16px 20px; border: 1px solid var(--border); border-radius: 8px; font-size: 18px; }
.source-intro { max-width: 78ch; }
.source-intro p { color: var(--muted); }
@media (max-width: 1000px) { .source-comparison { grid-template-columns: minmax(0,1fr); gap: 18px; } }
@media print { .source-comparison { display: block; } .source-panel { border-color: #444; } }
