/* ===== 内容中心 · 页面专属样式（作用域 .page-news） ===== */

.page-news {
  --news-stripe: rgba(18, 36, 74, 0.42);
  --news-tick: rgba(143, 163, 196, 0.30);
  --news-ink-soft: rgba(23, 18, 12, 0.66);
}

/* ---------- 首屏框景 ---------- */
.page-news .breadcrumb {
  margin-bottom: 22px;
}

.page-news .news-head {
  position: relative;
  border: 1px solid var(--line-mid);
  border-radius: var(--r-lg);
  padding: clamp(52px, 8vw, 68px) clamp(20px, 4vw, 56px) clamp(26px, 4vw, 40px);
  background:
    radial-gradient(120% 140% at 88% -20%, rgba(53, 242, 208, 0.10), transparent 58%),
    linear-gradient(178deg, rgba(18, 36, 74, 0.92), rgba(10, 23, 48, 0.55));
  overflow: hidden;
}

.page-news .news-head::before {
  content: "";
  position: absolute;
  inset: 0 0 auto 0;
  height: 16px;
  background-image: repeating-linear-gradient(90deg, var(--news-tick) 0 1px, transparent 1px 16px);
  opacity: 0.55;
  pointer-events: none;
}

.page-news .news-head::after {
  content: "";
  position: absolute;
  inset: auto 0 0 0;
  height: 22px;
  background-image: repeating-linear-gradient(90deg, var(--news-tick) 0 1px, transparent 1px 9px);
  opacity: 0.35;
  pointer-events: none;
}

.page-news .news-head__rail {
  position: absolute;
  top: 78px;
  left: 12px;
  writing-mode: vertical-rl;
  font-family: var(--f-mono);
  font-size: var(--t-12);
  letter-spacing: 0.3em;
  color: var(--c-mist);
  opacity: 0.62;
  pointer-events: none;
}

.page-news .news-head .h1 {
  margin: 12px 0 18px;
  max-width: 20ch;
  line-height: var(--lh-tight);
}

.page-news .news-head__lede {
  margin: 0 0 12px;
  max-width: 62ch;
  font-size: var(--t-17);
  line-height: var(--lh-body);
  color: var(--c-bright);
}

.page-news .news-head__lede--sub {
  color: var(--c-mist);
}

.page-news .lane-line {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 18px;
  margin: 24px 0 0;
  padding: 0;
  list-style: none;
  font-family: var(--f-mono);
  font-size: var(--t-12);
  letter-spacing: 0.14em;
  color: var(--c-amber);
}

.page-news .lane-line li {
  position: relative;
  padding-left: 14px;
}

.page-news .lane-line li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.65em;
  width: 8px;
  height: 1px;
  background: var(--c-amber);
}

.page-news .stat-line {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 26px;
  margin: 26px 0 0;
  padding: 16px 0 0;
  list-style: none;
  border-top: 1px dashed var(--line-soft);
  font-size: var(--t-14);
  color: var(--c-mist);
}

.page-news .stat-line .num {
  color: var(--c-cyan);
}

/* ---------- 双列骨架 ---------- */
.page-news .news-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 34px;
  margin-top: 46px;
}

.page-news .news-main {
  min-width: 0;
}

.page-news .flow-block {
  margin-bottom: 56px;
}

.page-news .flow-block:last-child {
  margin-bottom: 0;
}

.page-news .flow-block__head {
  margin-bottom: 4px;
}

.page-news .flow-block__head .h2 {
  margin: 8px 0 0;
}

.page-news .flow-block__intro {
  margin: 14px 0 0;
  color: var(--c-mist);
}

/* ---------- 标签筛选条 ---------- */
.page-news .tagfilter {
  margin-top: 22px;
}

.page-news .tagfilter__bar {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  padding-bottom: 4px;
  border-radius: var(--r-sm);
}

.page-news .tagfilter__bar .chip {
  cursor: pointer;
  user-select: none;
  transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.page-news .tagfilter__bar .chip:hover {
  border-color: var(--c-cyan);
  color: var(--c-cyan);
}

.page-news #nf-all:checked ~ .tagfilter__bar [for="nf-all"],
.page-news #nf-eval:checked ~ .tagfilter__bar [for="nf-eval"],
.page-news #nf-version:checked ~ .tagfilter__bar [for="nf-version"],
.page-news #nf-league:checked ~ .tagfilter__bar [for="nf-league"],
.page-news #nf-guide:checked ~ .tagfilter__bar [for="nf-guide"] {
  background: var(--c-cyan);
  border-color: var(--c-cyan);
  color: var(--c-deep);
  font-weight: 700;
}

.page-news #nf-all:focus-visible ~ .tagfilter__bar,
.page-news #nf-eval:focus-visible ~ .tagfilter__bar,
.page-news #nf-version:focus-visible ~ .tagfilter__bar,
.page-news #nf-league:focus-visible ~ .tagfilter__bar,
.page-news #nf-guide:focus-visible ~ .tagfilter__bar {
  outline: 2px solid var(--c-cyan);
  outline-offset: 4px;
}

/* ---------- 条目列表 ---------- */
.page-news .newslist {
  list-style: none;
  margin: 22px 0 0;
  padding: 0;
  border-top: 1px solid var(--line-soft);
}

.page-news .newslist__item {
  border-bottom: 1px solid var(--line-soft);
}

.page-news .newslist__item:nth-child(odd) {
  background: var(--news-stripe);
}

.page-news .newslist__item:nth-child(even) {
  background: transparent;
}

.page-news .newslist__link {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr);
  gap: 14px;
  padding: 20px 14px;
  border-left: 3px solid transparent;
  text-decoration: none;
  color: inherit;
  transition: border-color 0.2s ease, background 0.2s ease;
}

.page-news .newslist__link:hover,
.page-news .newslist__link:focus-visible {
  border-left-color: var(--c-cyan);
  background: rgba(53, 242, 208, 0.07);
}

.page-news .newslist__no {
  font-size: var(--t-14);
  color: var(--c-brick);
  letter-spacing: 0.06em;
  padding-top: 2px;
}

.page-news .newslist__thumb {
  display: none;
}

.page-news .newslist__thumb img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: var(--r-sm);
  border: 1px solid var(--line-soft);
  object-fit: cover;
}

.page-news .newslist__body {
  display: block;
  min-width: 0;
}

.page-news .newslist__tag {
  display: inline-block;
  margin-bottom: 8px;
  padding: 2px 9px;
  border: 1px solid var(--c-brick);
  border-radius: 999px;
  font-family: var(--f-mono);
  font-size: var(--t-12);
  letter-spacing: 0.1em;
  color: var(--c-amber);
}

.page-news .newslist__title {
  display: block;
  font-size: var(--t-21);
  font-weight: 700;
  letter-spacing: -0.01em;
  line-height: 1.42;
  color: var(--c-bright);
}

.page-news .newslist__sum {
  display: block;
  margin-top: 8px;
  font-size: var(--t-14);
  line-height: 1.78;
  color: var(--c-mist);
}

.page-news .newslist__meta {
  display: block;
  margin-top: 10px;
  font-size: var(--t-12);
  letter-spacing: 0.08em;
  color: var(--c-cyan);
}

.page-news .newslist__link:hover .newslist__title,
.page-news .newslist__link:focus-visible .newslist__title {
  color: var(--c-cyan);
}

/* 单选筛选：全部 */
.page-news #nf-all:checked ~ .newslist > .newslist__item {
  display: block;
}

/* 单选筛选：按栏目隐藏 */
.page-news #nf-eval:checked ~ .newslist > .newslist__item,
.page-news #nf-version:checked ~ .newslist > .newslist__item,
.page-news #nf-league:checked ~ .newslist > .newslist__item,
.page-news #nf-guide:checked ~ .newslist > .newslist__item {
  display: none;
}

/* 单选筛选：按栏目显示 */
.page-news #nf-eval:checked ~ .newslist > .newslist__item.is-eval,
.page-news #nf-version:checked ~ .newslist > .newslist__item.is-version,
.page-news #nf-league:checked ~ .newslist > .newslist__item.is-league,
.page-news #nf-guide:checked ~ .newslist > .newslist__item.is-guide {
  display: block;
}

/* ---------- 评测专题（奶油纸长文） ---------- */
.page-news .feature-paper {
  margin-top: 26px;
  background: var(--c-paper);
  color: var(--c-ink);
  border: 1px solid rgba(23, 18, 12, 0.18);
  border-radius: var(--r-lg);
  overflow: hidden;
  box-shadow: var(--shadow-card);
}

.page-news .feature-paper__media {
  margin: 0;
  border-radius: 0;
  border-bottom: 1px solid rgba(23, 18, 12, 0.18);
}

.page-news .feature-paper__media img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: cover;
}

.page-news .feature-paper .media__caption {
  color: var(--news-ink-soft);
  font-family: var(--f-serif);
}

.page-news .feature-paper__body {
  padding: clamp(24px, 4vw, 48px);
}

.page-news .feature-paper__body p {
  margin: 0 0 18px;
  font-size: var(--t-17);
  line-height: var(--lh-body);
  color: var(--c-ink);
  max-width: 70ch;
}

.page-news .feature-paper__body strong {
  color: var(--c-brick);
  font-weight: 700;
}

.page-news .feature-paper .serif-note {
  font-family: var(--f-serif);
  font-size: var(--t-14);
  line-height: 1.8;
  color: var(--news-ink-soft);
  border-left: 3px solid var(--c-brick);
  padding: 2px 0 2px 14px;
  margin-bottom: 26px;
  max-width: 62ch;
}

.page-news .feature-paper__foot {
  margin-top: 26px;
  padding-top: 20px;
  border-top: 1px solid rgba(23, 18, 12, 0.16);
  font-size: var(--t-14) !important;
  color: var(--news-ink-soft) !important;
}

.page-news .feature-paper__foot a {
  color: var(--c-brick);
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* ---------- 对比表格 ---------- */
.page-news .cmp-table {
  width: 100%;
  min-width: 620px;
  border-collapse: collapse;
  font-size: var(--t-14);
  margin: 8px 0 0;
}

.page-news .cmp-table caption {
  text-align: left;
  padding-bottom: 12px;
  font-family: var(--f-mono);
  font-size: var(--t-12);
  letter-spacing: 0.14em;
  color: var(--news-ink-soft);
}

.page-news .cmp-table th,
.page-news .cmp-table td {
  text-align: left;
  padding: 13px 15px;
  vertical-align: top;
  border-bottom: 1px solid rgba(23, 18, 12, 0.14);
  line-height: 1.7;
}

.page-news .cmp-table thead th {
  border-bottom: 2px solid var(--c-brick);
  font-family: var(--f-mono);
  font-size: var(--t-12);
  letter-spacing: 0.1em;
  color: var(--c-ink);
  white-space: nowrap;
}

.page-news .cmp-table tbody th {
  font-weight: 700;
  color: var(--c-ink);
  background: var(--c-paper);
  position: sticky;
  left: 0;
  z-index: 1;
}

.page-news .cmp-table tbody td {
  color: var(--news-ink-soft);
}

.page-news .cmp-table tbody tr:hover td,
.page-news .cmp-table tbody tr:hover th {
  background: rgba(200, 69, 43, 0.07);
  color: var(--c-ink);
}

/* ---------- 前瞻分组 ---------- */
.page-news .preview-wrap {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 26px;
  margin-top: 26px;
}

.page-news .preview-groups {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 16px;
}

.page-news .preview-group {
  border: 1px solid var(--line-soft);
  border-radius: var(--r-md);
  padding: 20px 20px 16px;
  background: var(--c-panel);
}

.page-news .preview-group__title {
  margin: 0;
  font-size: var(--t-21);
  font-weight: 700;
  letter-spacing: -0.01em;
  color: var(--c-bright);
}

.page-news .preview-group__meta {
  margin: 8px 0 14px;
  font-size: var(--t-12);
  letter-spacing: 0.06em;
  color: var(--c-amber);
}

.page-news .preview-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.page-news .preview-list li + li {
  border-top: 1px dashed var(--line-soft);
}

.page-news .preview-list a {
  display: block;
  padding: 11px 2px 11px 16px;
  position: relative;
  font-size: var(--t-14);
  line-height: 1.72;
  color: var(--c-mist);
  text-decoration: none;
  transition: color 0.2s ease, padding-left 0.2s ease;
}

.page-news .preview-list a::before {
  content: "";
  position: absolute;
  left: 0;
  top: 1.35em;
  width: 9px;
  height: 1px;
  background: var(--c-brick);
  transition: width 0.2s ease, background 0.2s ease;
}

.page-news .preview-list a:hover,
.page-news .preview-list a:focus-visible {
  color: var(--c-cyan);
  padding-left: 20px;
}

.page-news .preview-list a:hover::before,
.page-news .preview-list a:focus-visible::before {
  width: 14px;
  background: var(--c-cyan);
}

.page-news .preview-wrap__figure {
  margin: 0;
  align-self: start;
}

.page-news .preview-wrap__figure img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: var(--r-md);
  border: 1px solid var(--line-soft);
  object-fit: cover;
}

/* ---------- 归档 ---------- */
.page-news .archive-figure {
  margin: 26px 0 30px;
}

.page-news .archive-figure img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: var(--r-md);
  border: 1px solid var(--line-soft);
  object-fit: cover;
}

.page-news .archive-list {
  list-style: none;
  margin: 0;
  padding: 0;
  border-top: 1px solid var(--line-soft);
  counter-reset: none;
}

.page-news .archive-row {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr);
  gap: 12px 14px;
  padding: 20px 6px;
  border-bottom: 1px solid var(--line-soft);
  transition: background 0.2s ease;
}

.page-news .archive-row:hover {
  background: var(--news-stripe);
}

.page-news .archive-row__no {
  font-size: var(--t-14);
  color: var(--c-brick);
  padding-top: 3px;
}

.page-news .archive-row__title {
  margin: 0;
  font-size: var(--t-21);
  font-weight: 700;
  color: var(--c-bright);
  letter-spacing: -0.01em;
}

.page-news .archive-row__sum {
  margin: 8px 0 0;
  font-size: var(--t-14);
  line-height: 1.78;
  color: var(--c-mist);
}

.page-news .archive-row__badge {
  grid-column: 2 / -1;
  justify-self: start;
  padding: 3px 10px;
  border: 1px solid var(--line-mid);
  border-radius: 999px;
  font-family: var(--f-mono);
  font-size: var(--t-12);
  letter-spacing: 0.09em;
  color: var(--c-amber);
}

.page-news .archive-cta {
  margin-top: 30px;
  padding: 24px 22px;
  border: 1px solid var(--line-mid);
  border-left: 3px solid var(--c-cyan);
  border-radius: var(--r-md);
  background: linear-gradient(100deg, rgba(18, 36, 74, 0.9), rgba(10, 23, 48, 0.5));
}

.page-news .archive-cta__text {
  margin: 0 0 16px;
  max-width: 60ch;
  font-size: var(--t-14);
  line-height: 1.8;
  color: var(--c-mist);
}

.page-news .archive-cta__btns {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin: 0;
}

/* ---------- 侧栏 ---------- */
.page-news .news-aside {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 18px;
  align-self: start;
}

.page-news .aside-nav__title,
.page-news .rhythm-card__title,
.page-news .stage-card__title {
  margin: 0 0 14px;
  font-family: var(--f-mono);
  font-size: var(--t-12);
  letter-spacing: 0.22em;
  color: var(--c-amber);
}

.page-news .aside-nav {
  border: 1px solid var(--line-soft);
  border-radius: var(--r-md);
  padding: 18px 18px 14px;
  background: var(--c-panel);
}

.page-news .aside-nav__list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.page-news .aside-nav__list li + li {
  border-top: 1px dashed var(--line-soft);
}

.page-news .aside-nav__list a {
  display: flex;
  gap: 10px;
  padding: 11px 0;
  font-size: var(--t-14);
  line-height: 1.6;
  color: var(--c-mist);
  text-decoration: none;
  transition: color 0.2s ease, transform 0.2s ease;
}

.page-news .aside-nav__list a .num {
  color: var(--c-brick);
  font-size: var(--t-12);
  padding-top: 3px;
}

.page-news .aside-nav__list a:hover,
.page-news .aside-nav__list a:focus-visible {
  color: var(--c-cyan);
  transform: translateX(3px);
}

.page-news .rhythm-card {
  border: 1px solid var(--line-soft);
  border-radius: var(--r-md);
  padding: 20px 18px;
  background: var(--c-panel);
}

.page-news .rhythm-card__num {
  display: flex;
  align-items: baseline;
  gap: 8px;
  margin: 0 0 6px;
  font-size: var(--t-34);
  font-weight: 700;
  letter-spacing: -0.02em;
  color: var(--c-bright);
  line-height: 1.1;
}

.page-news .rhythm-card__num .num {
  color: var(--c-cyan);
}

.page-news .rhythm-card__unit {
  font-size: var(--t-14);
  font-weight: 400;
  color: var(--c-mist);
}

.page-news .rhythm-card__chart {
  display: block;
  width: 100%;
  height: auto;
  margin: 10px 0 16px;
}

.page-news .rhythm-card__chart rect {
  fill: var(--c-teal);
  transition: fill 0.2s ease;
}

.page-news .rhythm-card__chart rect.is-peak {
  fill: var(--c-cyan);
}

.page-news .rhythm-card__facts {
  list-style: none;
  margin: 0;
  padding: 14px 0 0;
  border-top: 1px dashed var(--line-soft);
}

.page-news .rhythm-card__facts li {
  position: relative;
  padding-left: 14px;
  margin-bottom: 9px;
  font-size: var(--t-14);
  line-height: 1.7;
  color: var(--c-mist);
}

.page-news .rhythm-card__facts li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.72em;
  width: 7px;
  height: 1px;
  background: var(--c-brick);
}

.page-news .rhythm-card__facts li:last-child {
  margin-bottom: 0;
}

.page-news .rhythm-card__facts .num {
  color: var(--c-cyan);
}

.page-news .stage-card {
  border: 1px solid var(--line-soft);
  border-radius: var(--r-md);
  padding: 20px 18px;
  background: linear-gradient(180deg, rgba(200, 69, 43, 0.10), rgba(18, 36, 74, 0.6));
}

.page-news .stage-card__list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.page-news .stage-card__list li {
  position: relative;
  padding: 9px 0 9px 20px;
  font-size: var(--t-14);
  color: var(--c-mist);
  border-bottom: 1px dashed var(--line-soft);
}

.page-news .stage-card__list li:last-child {
  border-bottom: 0;
}

.page-news .stage-card__list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 1.05em;
  width: 10px;
  height: 10px;
  border: 1px solid var(--line-mid);
  border-radius: 50%;
}

.page-news .stage-card__list li.is-current {
  color: var(--c-bright);
  font-weight: 700;
}

.page-news .stage-card__list li.is-current::before {
  background: var(--c-cyan);
  border-color: var(--c-cyan);
  box-shadow: 0 0 0 4px var(--cyan-dim);
}

/* ---------- 断点 ---------- */
@media (min-width: 700px) {
  .page-news .newslist__link {
    padding: 22px 20px;
  }

  .page-news .newslist__item--lead .newslist__link {
    grid-template-columns: 34px 168px minmax(0, 1fr);
    align-items: start;
  }

  .page-news .newslist__item--lead .newslist__thumb {
    display: block;
  }

  .page-news .preview-groups {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .page-news .archive-row {
    grid-template-columns: 34px minmax(0, 1fr) auto;
    align-items: center;
    padding: 20px 12px;
  }

  .page-news .archive-row__badge {
    grid-column: auto;
    justify-self: end;
    align-self: center;
  }
}

@media (min-width: 980px) {
  .page-news .news-grid {
    grid-template-columns: minmax(0, 1fr) 288px;
    gap: 44px;
    margin-top: 58px;
  }

  .page-news .news-aside {
    position: sticky;
    top: 92px;
  }

  .page-news .flow-block {
    margin-bottom: 72px;
  }

  .page-news .preview-wrap {
    grid-template-columns: minmax(0, 1fr) 268px;
    gap: 30px;
  }

  .page-news .preview-groups {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (min-width: 1160px) {
  .page-news .preview-groups {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 480px) {
  .page-news .news-head__rail {
    display: none;
  }

  .page-news .newslist__title {
    font-size: var(--t-17);
  }

  .page-news .archive-row__title {
    font-size: var(--t-17);
  }

  .page-news .rhythm-card__num {
    font-size: var(--t-28);
  }
}

@media (prefers-reduced-motion: reduce) {
  .page-news .newslist__link,
  .page-news .aside-nav__list a,
  .page-news .preview-list a,
  .page-news .tagfilter__bar .chip {
    transition: none;
  }
}
