/* Article-only reading and disclosure styles; shared across server and client. */
/* Reserve the desktop sidebar track before recommendations arrive. Changing
   columns based on :empty moves the article during client hydration. */
.news-article-shell { max-width:1200px; }
.news-article-sidebar:empty { display:none; }
.news-article-meta { color:#aebbc7; }
.news-article-format { color:var(--accent,#6af5bb); font-weight:700; }
.news-article-body[data-article-format="short"] { margin-top:28px; }
.news-inline-illustration { margin:32px 0; }
.news-inline-illustration picture,.news-inline-illustration img { display:block; width:100%; }
.news-inline-illustration img { height:auto; aspect-ratio:16/9; object-fit:cover; border-radius:12px; }
.news-inline-illustration figcaption { margin-top:10px; font:12px/1.6 var(--font-text, sans-serif); color:var(--text-muted,#a0a9ba); }
.news-article-body .news-analysis-block { margin:28px 0; }
.news-uncertainty { border-left:3px solid #8398a8; padding-left:20px; }
.news-source-panel { margin:32px 0; border-top:1px solid #46515c; border-bottom:1px solid #46515c; }
.news-source-panel summary { cursor:pointer; padding:20px 8px; min-height:44px; color:#ecf0f3; font:600 18px/1.5 var(--font-text); }
.news-source-panel summary span { display:inline-block; margin-left:12px; color:#b5c1ca; font-size:13px; font-weight:400; }
.news-source-panel summary:focus-visible { outline:2px solid #6af5bb; outline-offset:3px; }
.news-source-panel-content { padding:0 8px 22px; color:#c5ced6; font:400 15px/1.7 var(--font-text); overflow-wrap:anywhere; }
.news-source-panel-content h3 { margin:24px 0 8px; font:600 18px/1.5 var(--font-text); }
.news-source-panel-content p { margin:12px 0; }
.news-source-panel-content a { color:#75f3bb; text-decoration:underline; text-underline-offset:3px; }
.news-source-records { margin:20px 0; padding-left:24px; }
.news-source-records li { margin:18px 0; padding-left:5px; }
.news-source-records li > a { display:inline-block; padding:6px 0; font-weight:600; }
.news-source-records small { display:block; color:#b5c1ca; font-size:13px; }
.news-corrections { padding:18px; border:1px solid #a5bd87; }
@media(max-width:600px){
 .news-article-header { gap:16px; }
 .news-source-panel summary { font-size:16px; }
 .news-source-panel summary span { display:block; margin-left:18px; }
 .news-article-body { font-size:17px; }
 .news-article-breadcrumb { margin-bottom:20px; }
}
