.page-news {
  background: var(--paper);
  color: var(--ink);
  overflow-x: clip;
}

/* ---------- 面包屑 ---------- */
.page-news .breadcrumbs {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0;
  margin: 0;
  padding: 0;
  list-style: none;
  font-family: var(--font-mono);
  font-size: .78rem;
  letter-spacing: .03em;
  color: var(--slate);
}

.page-news .breadcrumbs__item {
  display: flex;
  align-items: center;
}

.page-news .breadcrumbs__item + .breadcrumbs__item::before {
  content: "/";
  margin: 0 .5rem;
  color: var(--rule);
}

.page-news .breadcrumbs__link {
  color: var(--slate);
  text-decoration: none;
  border-bottom: 1px solid transparent;
  transition: color var(--dur) var(--ease), border-color var(--dur) var(--ease);
}

.page-news .breadcrumbs__link:hover,
.page-news .breadcrumbs__link:focus-visible {
  color: var(--signal);
  border-bottom-color: var(--signal);
}

/* ---------- 首屏 ---------- */
.news-intro {
  padding: 1.1rem 0 clamp(1.5rem, 4vw, 2.6rem);
  background:
    radial-gradient(circle at 10% 16%, rgba(242, 166, 90, .18), transparent 44%),
    var(--paper);
  border-bottom: 1px solid var(--rule);
}

.news-hero {
  display: grid;
  gap: 1.6rem;
  margin-top: 1.3rem;
}

.news-hero__text {
  border-left: 3px solid var(--signal);
  padding-left: clamp(.85rem, 2.4vw, 1.5rem);
}

.news-hero__eyebrow {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .5rem;
  margin: 0 0 .9rem;
  font-family: var(--font-mono);
  font-size: .74rem;
  letter-spacing: .1em;
  color: var(--slate);
}

.news-hero__title {
  margin: 0 0 .85rem;
  font-family: var(--font-display);
  font-weight: 900;
  font-size: clamp(1.85rem, 5.2vw, 3.3rem);
  line-height: 1.18;
  letter-spacing: -.01em;
}

.page-news .lede {
  margin: 0 0 1.25rem;
  max-width: 42em;
  font-size: clamp(.95rem, 1.6vw, 1.06rem);
  line-height: 1.85;
  color: var(--ink-soft);
}

/* ---------- 版本轴 ---------- */
.news-axis {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  gap: .45rem .9rem;
  padding: .9rem 0 .3rem;
  margin-bottom: 1.4rem;
}

.news-axis__line {
  position: absolute;
  left: 0;
  right: 0;
  top: 1.55rem;
  height: 1px;
  background: linear-gradient(90deg, var(--rule), var(--amber) 78%, var(--signal));
}

.news-axis__node {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: .18rem;
  padding: .5rem .6rem .4rem;
  border-radius: var(--radius-md);
  background: var(--paper-card);
  border: 1px solid var(--rule);
  min-width: 4.6rem;
  transition: border-color var(--dur) var(--ease), transform var(--dur) var(--ease);
}

.news-axis__node:hover {
  border-color: var(--signal);
  transform: translateY(-2px);
}

.news-axis__node.is-current {
  background: var(--signal);
  border-color: var(--signal);
}

.news-axis__ver {
  font-family: var(--font-mono);
  font-size: .82rem;
  font-weight: 600;
  letter-spacing: .06em;
  color: var(--archive);
}

.news-axis__year {
  font-family: var(--font-mono);
  font-size: .66rem;
  letter-spacing: .04em;
  color: var(--slate);
}

.news-axis__node.is-current .news-axis__ver,
.news-axis__node.is-current .news-axis__year {
  color: #FFF7EE;
}

.news-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: .65rem;
}

/* ---------- 首屏图 ---------- */
.page-news .news-hero__media {
  margin: 0;
}

.news-hero__media .media__frame {
  border: 1px solid var(--rule);
  border-radius: var(--radius-lg);
  overflow: hidden;
}

.news-hero__media img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 5 / 2;
  object-fit: cover;
}

.page-news .media__caption {
  margin-top: .6rem;
  font-family: var(--font-mono);
  font-size: .72rem;
  letter-spacing: .04em;
  color: var(--slate);
}

/* ---------- 跳转条 ---------- */
.news-filter {
  background: var(--paper-deep);
  border-bottom: 1px solid var(--rule);
  padding: .7rem 0;
}

.news-filter__inner {
  display: flex;
  align-items: center;
  gap: .8rem;
  min-width: 0;
}

.news-filter__label {
  flex: none;
  font-family: var(--font-mono);
  font-size: .7rem;
  letter-spacing: .14em;
  color: var(--archive);
}

.news-filter__list {
  flex: 1 1 auto;
  min-width: 0;
  display: flex;
  gap: .5rem;
  margin: 0;
  padding: 0 0 .2rem;
  list-style: none;
  overflow-x: auto;
  scrollbar-width: thin;
  scrollbar-color: var(--rule) transparent;
  -webkit-overflow-scrolling: touch;
}

.news-filter__pill {
  display: inline-block;
  white-space: nowrap;
  padding: .42rem .95rem;
  border: 1px solid var(--rule);
  border-radius: var(--radius-pill);
  background: var(--paper-card);
  font-size: .82rem;
  color: var(--slate);
  text-decoration: none;
  transition: color var(--dur) var(--ease), border-color var(--dur) var(--ease), background var(--dur) var(--ease);
}

.news-filter__pill:hover,
.news-filter__pill:focus-visible {
  border-color: var(--signal);
  background: var(--amber);
  color: var(--ink);
}

/* ---------- 通用区块 ---------- */
.news-section {
  padding: clamp(1.9rem, 5vw, 3.2rem) 0;
}

.news-section + .news-section {
  border-top: 1px solid var(--rule);
}

.page-news .section-head {
  margin-bottom: 1.4rem;
}

.page-news .section-head__index {
  font-family: var(--font-mono);
  font-size: clamp(1.6rem, 4.5vw, 2.6rem);
  font-weight: 600;
  letter-spacing: .04em;
  color: var(--archive);
  opacity: .55;
  display: block;
  line-height: 1;
  margin-bottom: .3rem;
}

.page-news .section-head__title {
  margin: 0 0 .35rem;
  font-family: var(--font-display);
  font-size: clamp(1.25rem, 3.1vw, 1.85rem);
  font-weight: 900;
  letter-spacing: -.005em;
}

.page-news .section-head__note {
  margin: 0;
  max-width: 46em;
  font-size: .88rem;
  line-height: 1.75;
  color: var(--slate);
}

/* ---------- 更新条目列表 ---------- */
.news-list {
  list-style: none;
  margin: 0;
  padding: 0;
  border-top: 1px solid var(--rule);
}

.news-item {
  display: grid;
  grid-template-columns: 2.4rem minmax(0, 1fr);
  gap: .55rem .8rem;
  padding: 1.1rem .7rem 1.15rem .5rem;
  border-bottom: 1px solid var(--rule);
  transition: background var(--dur) var(--ease), box-shadow var(--dur) var(--ease), transform var(--dur) var(--ease);
}

.news-item__index {
  font-family: var(--font-mono);
  font-size: .95rem;
  font-weight: 600;
  letter-spacing: .04em;
  color: var(--rule);
  line-height: 1.4;
  transition: color var(--dur) var(--ease);
}

.news-item__body {
  min-width: 0;
}

.news-item__meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .45rem;
  margin-bottom: .45rem;
}

.news-item__ver {
  font-family: var(--font-mono);
  font-size: .78rem;
  font-weight: 600;
  letter-spacing: .08em;
  color: var(--ink);
  background: var(--paper-deep);
  border: 1px solid var(--rule);
  border-radius: var(--radius-pill);
  padding: .1rem .55rem;
}

.news-item__stage {
  font-family: var(--font-mono);
  font-size: .72rem;
  letter-spacing: .04em;
  color: var(--slate);
}

.news-item__title {
  margin: 0 0 .4rem;
  font-family: var(--font-display);
  font-size: clamp(1rem, 2.4vw, 1.18rem);
  font-weight: 900;
  line-height: 1.45;
}

.news-item__text {
  margin: 0;
  font-size: .9rem;
  line-height: 1.8;
  color: var(--slate);
}

.news-item:hover {
  background: var(--paper-card);
  box-shadow: inset 3px 0 0 var(--signal);
  transform: translateY(-2px);
}

.news-item:hover .news-item__index,
.news-item:focus-within .news-item__index {
  color: var(--signal);
}

/* ---------- 专题系列 ---------- */
.news-topics__grid {
  display: grid;
  gap: 1.05rem;
}

.news-topic {
  display: flex;
  flex-direction: column;
  background: var(--paper-card);
  border: 1px solid var(--rule);
  border-radius: var(--radius-lg);
  overflow: hidden;
  transition: transform var(--dur) var(--ease), border-color var(--dur) var(--ease), box-shadow var(--dur) var(--ease);
}

.news-topic:hover,
.news-topic:focus-within {
  transform: translateY(-3px);
  border-color: var(--signal);
  box-shadow: 0 12px 26px rgba(15, 27, 45, .09);
}

.news-topic--text {
  border-left: 3px solid var(--amber);
  justify-content: center;
}

.page-news .news-topic__media {
  margin: 0;
}

.news-topic__media .media__frame {
  border: 0;
  border-bottom: 1px solid var(--rule);
  border-radius: 0;
  overflow: hidden;
}

.news-topic__media img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 3 / 2;
  object-fit: cover;
}

.news-topic__body {
  display: flex;
  flex-direction: column;
  gap: .5rem;
  flex: 1 1 auto;
  padding: 1.1rem 1.2rem 1.3rem;
}

.news-topic__no {
  font-family: var(--font-mono);
  font-size: .7rem;
  letter-spacing: .14em;
  color: var(--archive);
}

.news-topic__title {
  margin: 0;
  font-family: var(--font-display);
  font-size: clamp(1.05rem, 2.6vw, 1.2rem);
  font-weight: 900;
}

.news-topic__text {
  margin: 0;
  font-size: .89rem;
  line-height: 1.8;
  color: var(--slate);
}

.news-topic__link {
  margin-top: auto;
  padding-top: .5rem;
  align-self: flex-start;
  font-family: var(--font-mono);
  font-size: .78rem;
  letter-spacing: .03em;
  color: var(--signal);
  text-decoration: none;
  border-bottom: 1px solid rgba(255, 107, 53, .4);
  transition: border-color var(--dur) var(--ease), color var(--dur) var(--ease);
}

.news-topic__link:hover,
.news-topic__link:focus-visible {
  color: var(--ink);
  border-bottom-color: var(--ink);
}

/* ---------- 更新节奏 ---------- */
.news-cadence {
  position: relative;
  overflow: hidden;
  padding: clamp(1.5rem, 4.2vw, 2.9rem);
  background: var(--ink);
  border-radius: var(--radius-lg);
  color: var(--on-ink-strong);
}

.news-cadence::after {
  content: "";
  position: absolute;
  right: -70px;
  bottom: -90px;
  width: 240px;
  height: 240px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(255, 107, 53, .3), transparent 68%);
  pointer-events: none;
}

.news-cadence .section-head__index {
  color: var(--amber);
  opacity: .9;
}

.news-cadence .section-head__title {
  color: var(--on-ink-strong);
}

.news-cadence .section-head__note {
  color: var(--on-ink-soft);
}

.news-cadence__grid {
  position: relative;
  z-index: 1;
  display: grid;
  gap: .9rem;
  margin-top: 1.4rem;
}

.news-cadence__item {
  padding: 1.05rem 1.1rem 1.2rem;
  border: 1px solid var(--hairline);
  border-radius: var(--radius-md);
  background: rgba(245, 240, 230, .045);
  transition: border-color var(--dur) var(--ease), background var(--dur) var(--ease);
}

.news-cadence__item:hover {
  border-color: var(--amber);
  background: rgba(245, 240, 230, .08);
}

.news-cadence__no {
  display: block;
  margin-bottom: .5rem;
  font-family: var(--font-mono);
  font-size: .7rem;
  letter-spacing: .13em;
  color: var(--amber);
}

.news-cadence__title {
  margin: 0 0 .45rem;
  font-family: var(--font-display);
  font-size: 1.05rem;
  font-weight: 900;
  color: var(--on-ink-strong);
}

.news-cadence__text {
  margin: 0;
  font-size: .88rem;
  line-height: 1.8;
  color: var(--on-ink-soft);
}

/* ---------- 订阅 ---------- */
.news-subscribe {
  display: grid;
  gap: 1.1rem;
  padding: clamp(1.3rem, 3.8vw, 2.3rem);
  background: var(--paper-card);
  border: 1px dashed var(--rule);
  border-radius: var(--radius-lg);
}

.news-subscribe__eyebrow {
  display: inline-block;
  margin-bottom: .6rem;
  padding: .16rem .7rem;
  font-family: var(--font-mono);
  font-size: .7rem;
  letter-spacing: .14em;
  color: var(--ink);
  background: var(--amber);
  border-radius: var(--radius-pill);
}

.news-subscribe__title {
  margin: 0 0 .55rem;
  font-family: var(--font-display);
  font-size: clamp(1.2rem, 3vw, 1.6rem);
  font-weight: 900;
}

.news-subscribe__desc {
  margin: 0;
  max-width: 44em;
  font-size: .9rem;
  line-height: 1.85;
  color: var(--slate);
}

.news-subscribe__actions {
  display: flex;
  flex-wrap: wrap;
  gap: .6rem;
}

/* ---------- 显现 ---------- */
.page-news [data-reveal] {
  opacity: .55;
  transform: translateY(8px);
  transition: opacity 300ms ease-out, transform 300ms ease-out;
}

.page-news [data-reveal].is-visible {
  opacity: 1;
  transform: none;
}

:not(.has-js) .page-news [data-reveal] {
  opacity: 1;
  transform: none;
}

/* ---------- 焦点可见 ---------- */
.page-news a:focus-visible,
.page-news [tabindex]:focus-visible {
  outline: 2px solid var(--focus);
  outline-offset: 2px;
  border-radius: 4px;
}

/* ---------- 桌面 ---------- */
@media (min-width: 720px) {
  .news-topics__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 760px) {
  .news-item {
    grid-template-columns: 4.2rem minmax(0, 1fr);
    gap: .6rem 1.4rem;
    padding: 1.25rem .9rem 1.3rem .6rem;
  }

  .news-item__index {
    font-size: 1.35rem;
  }

  .news-cadence__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
  }
}

@media (min-width: 900px) {
  .news-hero {
    grid-template-columns: minmax(0, 1.02fr) minmax(0, .98fr);
    align-items: center;
    gap: clamp(1.8rem, 4.5vw, 3.6rem);
  }

  .news-subscribe {
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 2rem;
  }

  .news-subscribe__actions {
    justify-content: flex-end;
  }
}

/* ---------- 减少动效 ---------- */
@media (prefers-reduced-motion: reduce) {
  .page-news [data-reveal] {
    opacity: 1;
    transform: none;
    transition: none;
  }

  .news-item,
  .news-topic,
  .news-axis__node,
  .news-cadence__item,
  .news-filter__pill {
    transition: none;
  }

  .news-item:hover,
  .news-topic:hover,
  .news-axis__node:hover {
    transform: none;
  }
}
