:root { --reader-size:1.125rem; }
.article-heading { max-width:900px; margin-inline:auto; padding:54px 0 40px; text-align:center; }
.article-meta { display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:15px;color:var(--muted);font-size:12px;margin:0 0 25px;letter-spacing:.02em; }
.meta-divider { color:#bbb; }
.article-heading h1 { font-size:clamp(32px,3.8vw,48px);font-weight:400;line-height:1.5;letter-spacing:-.045em; }
.article-excerpt { font-size:17px;line-height:1.85;max-width:670px;margin:24px auto 0;color:var(--muted);text-wrap:pretty; }
.article-author { font-size:13px;letter-spacing:.07em;margin:26px 0 0; }
.article-cover { margin:0; }
.cover-button { display:block;position:relative;width:100%;padding:0;border:0;border-radius:var(--radius);overflow:hidden;background:var(--soft); }
.article-cover img { width:100%;height:auto;aspect-ratio:2.12;object-fit:cover;object-position:center 54%; }
.article-cover .image-expand { width:46px;height:46px;right:22px;bottom:22px; }
.article-cover figcaption { display:flex;align-items:center;justify-content:space-between;gap:18px;padding:15px 4px;color:var(--muted);font:12px var(--mono); }
.text-button { border:0;padding:5px 0;background:transparent;font:13px var(--sans);color:var(--muted); }
.text-button:hover { color:var(--ink); }
.reading-layout { display:grid;grid-template-columns:140px minmax(0,720px) 140px;gap:36px;justify-content:center;margin:55px auto 0; }
.reading-tools { position:sticky;top:32px;align-self:start;display:flex;flex-direction:column;gap:16px; }
.reading-tools .eyebrow { font-size:11px;letter-spacing:.04em; }
.type-controls { display:inline-flex;border:1px solid var(--line);border-radius:var(--pill);padding:3px;width:fit-content;background:var(--surface); }
.type-controls button { border:0;border-radius:var(--pill);background:transparent;min-width:44px;min-height:38px;font-size:14px; }
.type-controls button:hover:not(:disabled) { background:var(--soft); }
.article-body { font-size:var(--reader-size);line-height:2.1;letter-spacing:.015em;line-break:strict;overflow-wrap:break-word; }
.article-body p { margin:0 0 1.85em;white-space:pre-line; }
.article-body p:first-child { color:#2a2a27; }
.article-body blockquote { font-size:calc(var(--reader-size)*1.2);line-height:1.9;letter-spacing:-.02em;padding:26px 30px;margin:44px 0 40px;border-left:2px solid var(--accent);background:var(--accent-soft);border-radius:0 16px 16px 0;white-space:pre-line; }
.article-end { padding:8px 0 75px;display:flex;flex-direction:column;gap:48px; }
.end-mark { display:block;width:5px;height:5px;background:var(--ink); }
.back-link { align-self:flex-start;padding:12px 18px;border:1px solid var(--line);background:var(--surface);border-radius:var(--pill);font-size:14px; }
.back-link:hover { background:var(--soft); }
.reading-progress { position:fixed;inset:0 0 auto;height:2px;z-index:100;pointer-events:none; }
.reading-progress span { display:block;width:100%;height:100%;background:var(--accent);transform:scaleX(0);transform-origin:left; }
#article-status { min-height:50vh;padding:48px 0;color:var(--muted); }
@media(max-width:1100px) { .reading-layout {grid-template-columns:110px minmax(0,680px);gap:35px;padding-right:30px;} }
@media(max-width:760px) {
 .article-heading {padding:40px 0 30px;}.article-heading h1 {font-size:34px;line-height:1.6;}.article-meta {gap:11px;margin-bottom:21px;}.article-excerpt {font-size:15px;line-height:1.9;margin-top:20px;}.article-author {margin-top:23px;}
 .article-cover img {aspect-ratio:4/3;}.article-cover .image-expand {width:38px;height:38px;right:15px;bottom:15px;}
 .reading-layout {grid-template-columns:1fr;gap:28px;margin-top:28px;padding:0;}.reading-tools {position:static;flex-direction:row;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:22px;}.article-body {line-height:2;}.article-body blockquote {padding:22px 24px;margin:32px 0;}.article-end {padding-bottom:50px;gap:34px;}
}
@media(max-width:440px) { .article-heading h1 {font-size:30px;letter-spacing:-.045em;}.article-heading {padding-top:32px;}.article-excerpt {font-size:14px;}.article-meta {font-size:11px;gap:10px;}.article-meta .badge {font-size:11px;}.article-body {letter-spacing:.005em;}.article-body blockquote {font-size:calc(var(--reader-size)*1.12);padding:20px;}.article-cover figcaption {font-size:11px;}.text-button {font-size:12px;} }

.source-reference { display:inline-block;color:var(--accent);font-size:.8em;margin-inline:4px;text-decoration:underline;text-underline-offset:3px; }
.article-sources { border-top:1px solid var(--line);padding-top:25px;margin:36px 0 40px;font-size:13px;line-height:1.85;color:var(--muted); }
.article-sources h2 { font-size:14px;font-weight:500;color:var(--ink);margin:0 0 14px; }
.article-sources ol { padding-left:21px;margin:0; }
.article-sources li { padding:4px 0 8px 4px;scroll-margin-top:35px;overflow-wrap:anywhere; }
.article-sources a { text-decoration:underline;text-underline-offset:3px; }
.article-sources a:hover { color:var(--ink); }

.article-page .article-heading { padding-top:70px; }
.article-page .article-heading h1 { font-weight:620; }
.article-page .article-cover img { aspect-ratio:1.9; object-position:center 34%; background:#dfe86c; }
.article-page .article-body blockquote { border-left:0; border-radius:24px; background:#dfe86c; color:#2d2029; font-weight:560; }
