.article-image{display:block;width:100%;padding:0;cursor:default;border-radius:5px;overflow:hidden;background:transparent}
.article-image img{max-height:1000px;object-fit:contain;width:100%;height:auto}
.article-body .article-image{display:flex;justify-content:center;width:100%;padding:0;background:none;border:0;border-radius:0}
.article-body .article-image img{max-width:100%;width:auto;height:auto;max-height:880px;object-fit:contain;border-radius:0}
.article-body .article-image img{max-height:640px}
.article-body .work-figure .article-image img{max-width:100%;max-height:min(380px,50svh);width:auto;height:auto;object-fit:contain}
.article-body .book-figure .article-image{justify-content:flex-start}
.article-body .book-figure .article-image img{width:auto;height:auto;max-width:180px;max-height:240px;object-fit:contain}
.article-body .book-gallery .article-image{height:240px;align-items:flex-end}
@media(max-width:600px){.article-body .book-gallery .article-image{height:190px}
.article-body .book-figure .article-image img{max-width:100%;max-height:190px}}
.article-body .work-figure .article-image{display:block;width:100%;height:auto;padding:0;background:transparent;border:0;border-radius:0}
.article-body .work-figure .article-image img{display:block;width:100%;height:auto;max-width:100%;max-height:none;object-fit:contain;margin:0}
.article-body .book-gallery .work-figure .article-image{height:auto}
.article-body .book-gallery .work-figure .article-image img{width:auto;max-width:100%;height:auto;max-height:360px;margin:0 auto}
@media(max-width:734px){.article-body .book-gallery .work-figure .article-image img{max-height:240px}}
.public-article{max-width:840px;margin:auto;padding:40px 0 88px}
.public-article-heading{max-width:720px;margin:52px auto 36px}
.public-article-heading h1{font-size:40px;line-height:1.2;font-weight:600;letter-spacing:-.02em;margin:16px 0 24px}
.article-byline{font-size:17px;line-height:1.5}
.article-contents,.public-prose,.article-end{max-width:720px;margin-left:auto;margin-right:auto}
.public-prose{font-size:17px;line-height:1.65;color:#1d1d1f;overflow-wrap:anywhere}
.public-prose p{margin:0 0 22px}
.public-prose h2{font-size:24px;line-height:1.35;font-weight:600;margin:48px 0 20px;scroll-margin-top:120px}
.public-prose .speaker{font-weight:600;margin:32px 0 8px}
.public-prose .article-figure{margin:32px auto;max-width:720px}
.public-prose .article-figure.portrait{max-width:360px}
.article-image{display:block;width:100%;padding:0}
.article-image img{width:100%;height:auto;max-height:560px;object-fit:contain}
.public-prose figcaption{font-size:14px;line-height:1.5;color:#6e6e73;margin-top:12px}
.public-prose .reference{font-size:14px;line-height:1.65;color:#515154;scroll-margin-top:120px}
.public-prose a{color:#365cc9}
.public-prose .article-caption{font-size:14px;line-height:1.5;color:#6e6e73;margin-top:-16px}
@media(max-width:1260px){.public-article{padding-left:24px;padding-right:24px}}
@media(max-width:760px){.public-article-heading{margin-top:32px}
.public-article-heading h1{font-size:32px;line-height:1.25}
.public-prose h2{font-size:24px}
.public-prose .article-figure.portrait{max-width:300px}}
.public-prose .publication-note{font-size:15px;line-height:1.7;color:#6e6e73;border-left:2px solid #d2d2d7;padding-left:20px;margin:0 0 36px}
.public-prose .publication-note p{font-size:inherit;line-height:inherit;margin:0 0 16px}
.public-prose .publication-note p:last-child{margin-bottom:0}
.public-prose .publication-note h2{font-size:15px;line-height:1.7;font-weight:500;color:inherit;margin:0 0 12px}
@media(max-width:760px){.public-prose .publication-note{padding-left:16px}}
/* Public article roles follow editorial meaning, independently of source styling. */
.public-prose h3{font-size:21px;line-height:1.4;font-weight:600;margin:36px 0 16px;scroll-margin-top:110px}
.public-prose h4{font-size:17px;line-height:1.5;font-weight:600;margin:28px 0 12px;scroll-margin-top:110px}
.public-prose h2:has(+.section-subtitle){margin-bottom:6px}
.public-prose .section-subtitle{font-size:21px;line-height:1.4;font-weight:600;color:#515154;margin:0 0 24px}
.public-prose .section-byline,.public-prose .article-credit,.public-prose .article-keywords{font-size:14px;line-height:1.6;font-weight:400;color:#6e6e73;margin-bottom:12px}
.public-prose .article-credits{margin-top:48px;font-size:14px;line-height:1.6;color:#6e6e73}
.public-prose .article-credits p{font-size:inherit;margin-bottom:8px}
.public-prose .article-abstract{font-size:17px;line-height:1.65;color:#515154}
.public-article-heading h1 .title-secondary{font-size:36px;line-height:1.3}
@media(max-width:760px){.public-article-heading h1 .title-secondary{font-size:28px}}
@media(max-width:420px){.public-article-heading h1{font-size:30px}
.public-article-heading h1 .title-secondary{font-size:28px}}
.public-prose .participant-bios{margin-top:64px}
.public-prose .participant-bio{margin:24px 0}
.public-prose .participant-bio h3{font-size:19px;line-height:1.4;font-weight:600;margin:0 0 8px}
.public-prose .participant-bio p{font-size:17px;line-height:1.65;margin:0;color:#515154}
.public-article-heading h1{font-weight:600}
.public-prose .bilingual-answer{margin:0 0 28px}
.public-prose .answer-primary{color:#1d1d1f}
.public-prose .answer-translation{font-family:"Aileron",Arial,sans-serif;font-size:15px;line-height:1.6;font-weight:400;color:#6e6e73;margin-top:16px;padding-inline:20px}
.public-prose .answer-translation p{margin:0 0 14px}
.public-prose .answer-translation p:last-child{margin-bottom:0}
@media(max-width:760px){.public-prose .answer-translation{padding-inline:12px}}
/* Reading paragraphs share alignment across articles and course content. */
:is(.public-prose,.article-body,.course-copy) p:not(.speaker,.section-subtitle,.lesson-subtitle,.article-caption,.section-byline,.article-credit,.article-keywords){text-align:justify;text-align-last:start;text-justify:auto;overflow-wrap:break-word}
:is(.public-prose,.article-body,.course-copy) [lang="en"]{hyphens:auto}
.public-prose .speaker-context{font-size:.88em;font-weight:400;color:var(--text-secondary,#6e6e73)}
.article-image,.detail-poster{cursor:default}
.article-image.is-loading{position:relative;background:#f3f3f5;border-radius:8px;min-height:160px}
.article-image.is-loading img{opacity:0}
.article-image.is-loading::after{content:"";position:absolute;top:50%;left:50%;width:22px;height:22px;margin:-11px;border:2px solid #b7bec9;border-top-color:#365cc9;border-radius:50%;animation:article-image-spin 1s linear infinite}
.article-image.has-image-delay{position:relative;min-height:160px;background:#f3f3f5;border-radius:8px}
.article-image.has-image-delay img{opacity:0}
@media(prefers-reduced-motion:reduce){.article-image.is-loading::after{animation:none}}
/* Author profiles and Latin work titles. */
.public-prose .author-profile{margin-top:64px;padding-top:32px;border-top:1px solid #e5e5e7}
.public-prose .author-profile>img,.public-prose .contributor-profile>img{width:180px;max-width:45%;height:auto;display:block;margin:24px 0}
.public-prose .contributor-portrait{max-width:240px;margin-inline:0}
.public-prose cite[lang="en"],.article-body cite[lang="en"],.public-prose em[lang="en"]{font-family:"Aileron",Arial,sans-serif;font-style:italic}
/* Shared reading layout for article and course illustrations. */
.public-prose img,.article-body img,.article-body .article-image img{border-radius:8px}
.public-prose .article-figure[style*="--figure-width"],.article-body figure[style*="--figure-width"],.article-body .book-gallery .work-figure[style*="--figure-width"]{width:min(100%,var(--figure-width));max-width:100%;margin-left:auto;margin-right:auto}
.public-prose .article-figure[style*="--figure-width"] img,.article-body figure[style*="--figure-width"] .article-image img{display:block;width:100%;height:auto;max-height:none;margin:0}
.public-prose figcaption,.article-body figcaption{text-align:left}
.public-prose .reference,.article-body .reference{font-size:14px;line-height:1.5;margin-bottom:8px;scroll-margin-top:100px}
.public-prose sup:has(>.note-link),.article-body sup:has(>.note-link){font-size:.72em;line-height:0;vertical-align:super;white-space:nowrap}
.public-prose sup .note-link,.article-body sup .note-link{font-size:inherit;vertical-align:baseline}
.public-prose .reference:target,.article-body .reference:target{background:#edf1fb;border-radius:4px}
.article-metadata{display:grid;gap:8px}
.article-metadata p{margin:0}
.article-metadata .article-byline{font-size:17px;line-height:1.5}
.article-context,.article-date{font-size:14px;line-height:1.6;color:#6e6e73}
/* Semantic roles shared by existing articles and future imports. */
.public-prose .publication-note .publication-label{font-size:15px;font-weight:600;margin:0 0 12px;color:inherit}
.public-prose .article-quote,.article-body .article-quote{margin:28px 0;padding:0 0 0 24px;border-left:2px solid #d2d2d7;font-size:17px;line-height:1.7;color:#515154}
.public-prose .article-quote p,.article-body .article-quote p{margin:0 0 16px}
.public-prose .article-quote p:last-child,.article-body .article-quote p:last-child{margin-bottom:0}
.public-prose .article-quote .quote-attribution{font-size:14px;color:#6e6e73;margin-top:12px}
.public-prose .verse-quote p{margin:0;line-height:1.8}
.public-prose .article-abstract{font-size:15px;line-height:1.7;color:#515154;margin:24px 0}
.public-prose .article-abstract p{font-size:inherit;line-height:inherit;margin:0 0 12px}
.public-prose .article-abstract .abstract-label{font-weight:600}
.public-prose .article-keywords,.public-prose .article-credit{font-size:14px;line-height:1.6;color:#6e6e73}
.public-prose .author-profile{font-size:14px;line-height:1.7;color:#6e6e73;margin-top:48px;padding-top:24px}
.public-prose .author-profile p{font-size:inherit;line-height:inherit;margin:0 0 14px}
.public-prose .author-profile .profile-label{font-size:17px;font-weight:600;color:#6e6e73;margin:0 0 24px}
.public-prose .author-profile .contributor-profile+.contributor-profile{margin-top:32px}
.public-prose .author-profile .profile-name{font-size:17px;line-height:1.3;font-weight:600;color:#1d1d1f;margin:0}
.public-prose .author-profile .profile-name-en{font-size:14px;line-height:1.3;margin:0 0 18px}
.public-prose .author-profile>img,.public-prose .contributor-profile>img{width:180px;max-width:60%;height:auto;margin:20px 0}
.public-prose .author-profile .article-figure{width:min(100%,240px);max-width:240px;margin:20px 0}
.public-prose .translator-notes{margin-top:40px}
@media(max-width:760px){.public-prose .article-quote,.article-body .article-quote{padding-left:18px}}
.public-prose h3{font-size:21px;line-height:1.4;font-weight:600;margin:36px 0 18px;scroll-margin-top:100px}
.public-prose h4{font-size:19px;line-height:1.45;font-weight:600;margin:28px 0 16px;scroll-margin-top:100px}
.public-prose .quote-attribution strong{font-weight:400}
.public-prose .book-contents{font-size:15px;line-height:1.65;color:#6e6e73}
.public-prose .book-contents p{font-size:inherit;line-height:inherit;margin:0 0 6px}
.public-prose .book-contents h3{font-size:17px;margin:20px 0 10px}
.public-prose .article-image-pair,.article-body .article-image-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:24px;max-width:720px;margin:32px auto}
.public-prose .article-image-pair>figure,.article-body .article-image-pair>figure{margin-top:0;margin-bottom:0}
@media(max-width:640px){.public-prose .article-image-pair,.article-body .article-image-pair{grid-template-columns:1fr;gap:28px}}
/* Global portrait cap: shrink the figure itself so captions follow its left edge. */
.public-prose figure[data-portrait][style],.article-body figure[data-portrait],.article-body .book-gallery .work-figure[data-portrait]{max-width:min(100%,var(--portrait-width),calc(55svh * var(--image-ratio)))!important}
.public-article{padding-top:20px}
.public-article>.back-link{margin:12px 0 24px}
.public-article-heading{margin-top:40px}
@media(max-width:760px){.public-article-heading{margin-top:28px}}
.public-prose .article-event-details{margin:0 0 40px;padding:20px 24px;border-left:2px solid #d2d2d7;background:#f7f7f8;color:#515154;line-height:1.5}
.public-prose .article-event-details p{text-align:left;text-align-last:auto}
.public-prose .article-event-details .event-series{font-size:14px;line-height:1.5;color:#6e6e73;margin:0 0 5px}
.public-prose .article-event-details .event-title{font-size:17px;line-height:1.45;font-weight:600;color:#1d1d1f;margin:0 0 15px}
.public-prose .event-facts{display:grid;gap:5px;margin:0;font-size:14px;line-height:1.55}
.public-prose .event-facts>div{display:grid;grid-template-columns:3.5em minmax(0,1fr);gap:10px}
.public-prose .event-facts dt{color:#6e6e73}
.public-prose .event-facts dd{margin:0}
.public-article>.back-link{font-size:16px;line-height:1.5}
.public-article{font-family:"PingFang SC","Microsoft YaHei",sans-serif;font-weight:400}
.public-article-heading h1 .title-secondary{display:block;margin-top:12px;font-size:24px;line-height:1.4;font-weight:400;letter-spacing:0}
@media(max-width:760px){.public-article-heading h1 .title-secondary{font-size:20px}}
.public-prose .album-gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px 18px;margin:32px 0}
.public-prose .album-gallery .article-figure{width:100%;max-width:none;margin:0}
.public-prose .album-gallery .article-image{display:flex;align-items:center;justify-content:flex-start;aspect-ratio:1}
.public-prose .album-gallery .article-image img{width:auto;height:auto;max-width:100%;max-height:100%;margin:0;object-fit:contain}
.public-prose .album-gallery figcaption{margin-top:8px;font-size:13px;line-height:1.5}
@media(max-width:600px){.public-prose .album-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 16px}}
.public-prose .reference:target{background:transparent}
.public-prose p.verse{text-align:left;text-align-last:auto}
.public-prose .literary-insert{font-size:15px;line-height:1.65;color:#6e6e73}
.public-prose p.insert-signature{text-align:right;text-align-last:right;margin-top:-14px}
.public-prose .reference.note-highlight{animation:note-highlight 1s ease-out}
@keyframes note-highlight{0%{background:transparent}12%,25%{background:#edf1fb}100%{background:transparent}}
@media(prefers-reduced-motion:reduce){.public-prose .reference.note-highlight{animation-timing-function:step-end}}
