/* Immersive RSS article reader */
.news-view.article-open { max-width: none; min-height: calc(100dvh - 150px); padding: 0 0 28px; }
.news-view.article-open .news-heading,
.news-view.article-open .news-toolbar,
.news-view.article-open .news-attribution { display: none; }
.news-view.article-open .news-grid { display: block; }
.news-reader { width: min(100%, 920px); min-height: calc(100dvh - 166px); margin: 0 auto; overflow: hidden; border: var(--border-width) solid var(--line); border-radius: var(--radius-panel); background: var(--surface); box-shadow: var(--shadow-overlay); }
.news-reader-cover { position: relative; min-height: clamp(190px, 29vh, 310px); display: flex; align-items: flex-end; justify-content: space-between; padding: 25px 34px; overflow: hidden; color: var(--news-cover-text); background: radial-gradient(ellipse at 76% 35%, var(--news-cover-soft) 0, transparent 29%), radial-gradient(ellipse at 82% 102%, color-mix(in srgb, var(--green) 34%, var(--bg)) 0, transparent 44%), linear-gradient(125deg, var(--news-cover-deep), var(--surface-raised) 56%, var(--bg)); }
.news-reader-cover::before { position: absolute; inset: 0; background-image: linear-gradient(var(--news-cover-grid) 1px, transparent 1px), linear-gradient(90deg, var(--news-cover-grid) 1px, transparent 1px); background-size: 36px 36px; content: ""; mask-image: linear-gradient(90deg, transparent, #000); }
.news-reader-cover::after { position: absolute; width: 280px; height: 280px; top: -140px; right: 14%; border: 1px solid color-mix(in srgb, var(--green) 25%, transparent); border-radius: 50%; box-shadow: 0 0 0 35px color-mix(in srgb, var(--green) 4%, transparent), 0 0 0 70px color-mix(in srgb, var(--green) 3%, transparent); content: ""; }
.news-reader-cover span, .news-reader-cover i { position: relative; z-index: 1; font: var(--font-size-caption) var(--font-data); letter-spacing: .18em; }
.news-reader-cover i { color: var(--green); font-style: normal; font-size: var(--font-size-small); }
.news-reader-body { max-width: 760px; margin: 0 auto; padding: 25px clamp(20px, 5vw, 54px) 45px; }
.news-back { margin-bottom: 28px; padding: 9px 12px; border: var(--border-width) solid var(--line); border-radius: var(--radius-control); background: var(--surface-raised); color: var(--text); cursor: pointer; font: var(--font-weight-semibold) var(--font-size-small) var(--font-ui); }
.news-back:hover { border-color: var(--green); color: var(--green); }
.news-reader-meta { display: flex; align-items: center; gap: 11px; color: var(--muted-strong, var(--muted)); font: var(--font-size-small) var(--font-data); }
.news-reader-meta time { margin-left: auto; color: var(--text); font-size: var(--font-size-small); }
.news-reader-eyebrow { margin: 34px 0 10px; color: var(--green); font: var(--font-size-caption) var(--font-data); letter-spacing: .11em; }
.news-reader-body > h1 { max-width: 740px; margin: 0; font-size: var(--font-size-display); font-weight: var(--font-weight-bold); letter-spacing: -.045em; line-height: 1.16; }
.news-reader-summary { margin: 22px 0 25px; color: var(--text-secondary, var(--muted)); font-size: clamp(16px, 2.2vw, 19px); line-height: var(--line-height-copy); }
.news-reader-source { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: var(--space-3); margin-top: 30px; padding: 16px 18px; border: var(--border-width) solid var(--line); border-radius: var(--radius-card); background: var(--surface-raised); }
.news-reader-source > span { font-size: var(--font-size-small-plus); font-weight: 700; }
.news-reader-source a { min-height: 36px; display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 0 12px; border: var(--border-width) solid color-mix(in srgb, var(--green) 32%, var(--line)); border-radius: var(--radius-control); color: var(--green); font-size: var(--font-size-small); font-weight: 700; text-decoration: none; transition: background var(--motion-fast) var(--motion-ease), border-color var(--motion-fast) var(--motion-ease); }
.news-reader-source a:hover { border-color: var(--green); background: color-mix(in srgb, var(--green) 9%, transparent); }
.news-reader-source a:focus-visible { outline: var(--border-focus-width) solid var(--focus-ring); outline-offset: 2px; }
.news-related { margin-top: 34px; }
.news-related h2 { margin: 0 0 12px; font-size: var(--font-size-heading-small); }
.news-related > div { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 9px; }
.news-related button { display: grid; gap: 8px; min-height: 96px; padding: 12px; border: var(--border-width) solid var(--line); border-radius: var(--radius-card); background: var(--surface-raised); color: var(--text); text-align: left; cursor: pointer; font: var(--font-weight-semibold) var(--font-size-small)/1.45 var(--font-ui); }
.news-related button > span { color: var(--green); font: var(--font-size-overline) var(--font-data); }
.news-related button i { color: var(--muted); font-style: normal; }
.news-related button:hover { border-color: var(--green); }
.news-open { display: inline-flex; align-items: center; gap: 7px; margin-top: auto; padding: 9px 0 0; border: 0; background: none; color: var(--news-accent); cursor: pointer; font: var(--font-weight-semibold) var(--font-size-caption) var(--font-ui); text-align: left; }
.news-open:hover { text-decoration: underline; }
html[data-theme="light"] .news-reader { box-shadow: var(--shadow-overlay); }
html[data-theme="light"] .news-reader-cover { color: var(--news-cover-text); }
html[dir="rtl"] .news-reader { direction: rtl; }
html[dir="rtl"] .news-reader-cover { flex-direction: row-reverse; }
html[dir="rtl"] .news-reader-meta time { margin-left: 0; margin-right: auto; }
html[dir="rtl"] .news-related button { text-align: right; }
@media (max-width: 680px) {
  .news-view.article-open { padding-top: 0; }
  .news-reader { width: 100%; min-height: calc(100dvh - 125px); border-radius: 0; border-right: 0; border-left: 0; }
  .news-reader-source { align-items: flex-start; flex-direction: column; }
  .news-reader-cover { min-height: 170px; padding: 20px; }
  .news-reader-body { padding: 20px 18px 34px; }
  .news-reader-eyebrow { margin-top: 25px; }
  .news-related > div { grid-template-columns: 1fr; }
}

body.news-reading .ticker-tape, body.news-reading .app-footer, body.news-reading .mobile-nav { display: none; }
body.news-reading .topbar { height: 60px; }
body.news-reading .main-nav { display: none; }

