/* ============================================================================
   Luminesca News — 共享显示层 v20260915a
   命名空间：body.news-refresh（仅在本类存在时生效，不影响旧样式）
   放置：所有页面旧内联 <style> 之后
   主题：浅色；颜色取自各页已有 CSS 变量，缺省时回退
   ============================================================================ */

body.news-refresh {
  --nr-accent: var(--primary, #1e6fd9);
  --nr-accent-dark: var(--primary-dark, #164a8a);
  --nr-accent-soft: var(--primary-soft, #eaf2fd);
  --nr-ink: var(--ink, #16233b);
  --nr-muted: var(--muted, #5d6b85);
  --nr-line: var(--line, #e3e9f2);
  --nr-nav-h: 62px;
  /* 站内既有约定：顶栏 .inner 与内容 .wrap 同宽同内边距。
     阅读页 wrap 被本层放宽到 1120，顶栏必须跟着放宽，否则吸顶栏会比正文右移 60px。
     辅助页/404 的实际容器更窄（780/820/560），由页面内 <style id="nr-shell"> 覆写本变量。 */
  --nr-shell-w: 1000px;
}
body.page-directory.news-refresh { --nr-shell-w: 1280px; }
body.page-article.news-refresh { --nr-shell-w: 1120px; }

/* ---------- 跳过导航（键盘/读屏） ---------- */
body.news-refresh .skip-link {
  position: absolute;
  left: -9999px;
  top: 0;
  z-index: 300;
  background: #fff;
  color: var(--nr-accent-dark);
  font-weight: 700;
  font-size: 14px;
  padding: 11px 18px;
  border-radius: 0 0 10px 0;
  box-shadow: 0 3px 14px rgba(15, 23, 42, .22);
  text-decoration: none;
}
body.news-refresh .skip-link:focus,
body.news-refresh .skip-link:focus-visible {
  left: 0;
  outline: 3px solid var(--nr-accent);
  outline-offset: 2px;
}
body.news-refresh main:focus { outline: none; }

/* ---------- 顶栏：当前分类改用 aria-current，保持原配色 ---------- */
body.news-refresh .topnav nav[aria-label] { display: flex; }
body.news-refresh .topnav .cat[aria-current="page"] { cursor: default; }
/* 顶栏与内容同宽（内边距仍由各页原有规则决定，此处只统一宽度） */
body.news-refresh .topnav .inner { max-width: var(--nr-shell-w); }
/* 原站 logo 是 <span>，本层改为回首页的 <a>（键盘可达）→ 必须去掉默认下划线，
   其余颜色/字重仍沿用各页自己的 .logo 规则，不改配色 */
body.news-refresh .topnav .logo { text-decoration: none; }

/* 原站点 96 页自带 .topnav 样式，另 14 页（9 阅读页 + 4 辅助页 + 404）从未有过顶栏，
   补上顶栏标记后必须同时补齐样式，否则会退化成浏览器默认蓝色链接并折行。
   本节为该壳层的规范版本，与站内既有 .topnav 规则逐条一致（配色沿用各页变量与回退值）。 */
body.nr-nav-bare.news-refresh .topnav {
  background: #fff;
  border-bottom: 1px solid var(--nr-line);
  padding: 14px 0;
  position: sticky;
  top: 0;
  z-index: 10;
  box-shadow: 0 2px 8px rgba(20, 40, 80, .04);
}
body.nr-nav-bare.news-refresh .topnav .inner {
  max-width: var(--nr-shell-w);
  margin: 0 auto;
  padding: 0 24px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  flex-wrap: wrap;
}
body.nr-nav-bare.news-refresh .topnav .logo {
  font-weight: 800;
  font-size: 16px;
  color: var(--nr-accent-dark);
  white-space: nowrap;
  text-decoration: none;
}
body.nr-nav-bare.news-refresh .topnav .cats {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
  overflow-x: auto;
  scrollbar-width: none;
}
body.nr-nav-bare.news-refresh .topnav .cats::-webkit-scrollbar { display: none; }
body.nr-nav-bare.news-refresh .topnav .cat {
  text-decoration: none;
  font-size: 13px;
  font-weight: 600;
  color: var(--nr-muted);
  padding: 7px 14px;
  border-radius: 999px;
  border: 1px solid var(--nr-line);
  transition: all .2s;
  white-space: nowrap;
}
body.nr-nav-bare.news-refresh .topnav .cat:hover {
  color: var(--nr-ink);
  border-color: var(--nr-ink);
  background: #f0f3f8;
}
body.nr-nav-bare.news-refresh .topnav .cat.active { color: #fff; border-color: transparent; }
body.nr-nav-bare.news-refresh .topnav .cat.cat-all.active { background: #475569; }
body.nr-nav-bare.news-refresh .topnav .cat.cat-tech.active { background: #7b4fd0; }
body.nr-nav-bare.news-refresh .topnav .cat.cat-energy.active { background: #d64545; }
body.nr-nav-bare.news-refresh .topnav .cat.cat-politics.active { background: #1e3a8a; }
body.nr-nav-bare.news-refresh .topnav .cat.cat-disaster.active { background: #0d9488; }
body.nr-nav-bare.news-refresh .topnav .cat.cat-sports.active { background: #059669; }
@media (max-width: 640px) {
  body.nr-nav-bare.news-refresh .topnav .inner { gap: 12px; }
  body.nr-nav-bare.news-refresh .topnav .logo { font-size: 14px; }
  body.nr-nav-bare.news-refresh .topnav .cat { padding: 6px 11px; font-size: 12.5px; }
}

/* ---------- 面包屑 ---------- */
body.news-refresh .crumb {
  max-width: var(--nr-shell-w);
  margin: 0 auto;
  padding: 16px 24px 0;
  font-size: 12.5px;
  color: var(--nr-muted);
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}
body.news-refresh .crumb a {
  color: var(--nr-muted);
  font-weight: 600;
  text-decoration: none;
}
body.news-refresh .crumb a:hover {
  color: var(--nr-accent-dark);
  text-decoration: underline;
}
body.news-refresh .crumb .sep { opacity: .55; }
body.news-refresh .crumb .now {
  color: var(--nr-ink);
  font-weight: 600;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  max-width: 46ch;
}
body.page-directory.news-refresh .crumb { padding-left: 28px; padding-right: 28px; }
@media (max-width: 640px) {
  body.news-refresh .crumb { padding: 12px 16px 0; }
  body.page-directory.news-refresh .crumb { padding-left: 16px; padding-right: 16px; }
  body.news-refresh .crumb .now { white-space: normal; max-width: 100%; }
}

/* ---------- 阅读页双栏：235px 目录 + 70px 间隔 + ≤760px 正文 ---------- */
/* 阅读列 235+70+760=1065，加内边距后 wrap 放宽到 1120，保证正文不缩水 */
body.page-article.news-refresh .wrap { max-width: 1120px; }
body.news-refresh .reading-layout {
  display: grid;
  grid-template-columns: 235px minmax(0, 1fr);
  gap: 70px;
  align-items: start;
}
body.news-refresh .reading-body { max-width: 760px; min-width: 0; }
@media (max-width: 960px) {
  body.news-refresh .reading-layout { display: block; }
  body.news-refresh .reading-body { max-width: 100%; }
}

/* 目录：原生 details/summary，无 JS 也能展开 */
body.news-refresh .reading-toc {
  position: sticky;
  top: calc(var(--nr-nav-h) + 16px);
  min-width: 0;
}
body.news-refresh .reading-toc details {
  background: #fff;
  border: 1px solid var(--nr-line);
  border-radius: 14px;
  padding: 13px 15px;
  box-shadow: 0 2px 8px rgba(20, 40, 80, .05);
}
body.news-refresh .reading-toc summary {
  cursor: pointer;
  font-size: 12.5px;
  font-weight: 800;
  letter-spacing: .8px;
  text-transform: uppercase;
  color: var(--nr-accent-dark);
  list-style-position: inside;
}
body.news-refresh .reading-toc summary:focus-visible { outline: 3px solid var(--nr-accent); outline-offset: 2px; border-radius: 4px; }
body.news-refresh .reading-toc ol {
  margin: 11px 0 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 2px;
  counter-reset: nr-toc;
}
body.news-refresh .reading-toc li { counter-increment: nr-toc; min-width: 0; }
body.news-refresh .reading-toc a {
  display: block;
  position: relative;
  padding: 5px 8px 5px 27px;
  border-radius: 7px;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.45;
  color: var(--nr-muted);
  text-decoration: none;
}
body.news-refresh .reading-toc a::before {
  content: counter(nr-toc);
  position: absolute;
  left: 8px;
  top: 5px;
  font-weight: 700;
  opacity: .5;
  font-variant-numeric: tabular-nums;
}
body.news-refresh .reading-toc a:hover { color: var(--nr-ink); background: #f1f4f9; }
body.news-refresh .reading-toc a.is-current {
  color: var(--nr-accent-dark);
  background: var(--nr-accent-soft);
}
body.news-refresh .reading-toc a:focus-visible { outline: 3px solid var(--nr-accent); outline-offset: 1px; }
@media (max-width: 960px) {
  body.news-refresh .reading-toc { position: static; margin: 0 0 20px; }
}

/* 标题锚点避开吸顶导航 */
body.news-refresh :is(h1, h2, h3)[id] { scroll-margin-top: calc(var(--nr-nav-h) + 18px); }

/* ---------- 正文排版：图不再缩在卡片中央 ---------- */
body.news-refresh .reading-body .fig img { max-width: 100%; }
body.news-refresh .reading-body .lead { margin-top: 18px; }
body.news-refresh .content > h2:first-child { margin-top: 26px; }
body.news-refresh .reading-body .sources,
body.news-refresh .reading-body .faq,
body.news-refresh .reading-body .related,
body.news-refresh .reading-body .other { max-width: 760px; }

/* 长表格/代码局部滚动，不把整页撑宽 */
body.news-refresh .table-scroll { max-width: 100%; overflow: auto; }
body.news-refresh .table-scroll table { min-width: 520px; }
body.news-refresh .table-scroll:focus-visible { outline: 3px solid var(--nr-accent); outline-offset: 2px; }

/* ---------- 目录页：搜索 / 计数 / 空态 ---------- */
body.news-refresh .news-tools {
  background: #fff;
  border: 1px solid var(--nr-line);
  border-radius: 16px;
  padding: 14px 18px;
  margin: 20px 0 18px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px 12px;
  box-shadow: 0 2px 10px rgba(20, 40, 80, .05);
}
body.news-refresh .news-tools .nt-label {
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .8px;
  text-transform: uppercase;
  color: var(--nr-accent-dark);
  flex: 0 0 auto;
}
body.news-refresh .news-tools input[type="search"] {
  flex: 1 1 260px;
  min-width: 0;
  font: inherit;
  font-size: 14.5px;
  padding: 10px 13px;
  border: 1px solid var(--nr-line);
  border-radius: 10px;
  background: #fbfcfe;
  color: var(--nr-ink);
}
body.news-refresh .news-tools input[type="search"]:focus {
  border-color: var(--nr-accent);
  outline: 3px solid var(--nr-accent-soft);
  outline-offset: 0;
}
body.news-refresh .news-tools .nt-btn {
  font: inherit;
  font-size: 13.5px;
  font-weight: 700;
  padding: 10px 16px;
  border-radius: 10px;
  border: 1px solid var(--nr-line);
  background: #fff;
  color: var(--nr-ink);
  cursor: pointer;
}
body.news-refresh .news-tools .nt-btn:hover { border-color: var(--nr-accent); color: var(--nr-accent-dark); }
body.news-refresh .news-tools .nt-btn[hidden] { display: none !important; }
body.news-refresh .news-tools .news-count {
  flex: 1 1 100%;
  margin: 0;
  font-size: 13px;
  color: var(--nr-muted);
}
body.news-refresh .news-empty {
  background: #fff;
  border: 1px dashed var(--nr-line);
  border-radius: 16px;
  padding: 30px 24px;
  text-align: center;
  color: var(--nr-muted);
}
body.news-refresh .news-empty strong { display: block; color: var(--nr-ink); font-size: 16px; margin-bottom: 6px; }
body.news-refresh .news-empty[hidden] { display: none !important; }

/* ---------- 目录页卡片：桌面 3 列 / 中屏 2 列 / 手机 1 列 ---------- */
@media (min-width: 700px) {
  body.page-directory.news-refresh .list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 1100px) {
  body.page-directory.news-refresh .list { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (min-width: 700px) {
  body.page-directory.news-refresh .list > .item { flex-direction: column; gap: 14px; }
  body.page-directory.news-refresh .list > .item > .body {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-width: 0;
  }
  body.page-directory.news-refresh .list > .item .foot { margin-top: auto; padding-top: 12px; }
  body.page-directory.news-refresh .list > .item .thumb { width: 100%; height: 172px; }
  body.page-directory.news-refresh .list > .item h2 { font-size: 19.5px; }
  body.page-directory.news-refresh .list > .item p { font-size: 13px; line-height: 1.7; }
}
body.news-refresh .list > .item { min-width: 0; }

/* ---------- 页脚：公共页与首页一致 ---------- */
body.news-refresh footer .site-network a { white-space: nowrap; }
