.page-news {
  --news-radius: 4px;
  --news-gap: clamp(14px, 2.6vw, 26px);
  --news-ink-soft: rgba(242, 233, 220, 0.74);
  color: var(--c-cream);
  background: var(--c-black);
}

.page-news .wrap {
  width: 100%;
  max-width: var(--wrap);
  margin-inline: auto;
  padding-inline: var(--gut);
}

.page-news img {
  max-width: 100%;
  height: auto;
}

/* ---------- 面包屑 ---------- */
.page-news .breadcrumb {
  padding-block: 14px;
  background: var(--c-black);
  border-bottom: 1px solid var(--line-soft);
}

.page-news .breadcrumb ol {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 10px;
  margin: 0;
  padding: 0;
  list-style: none;
  font-family: var(--font-mono);
  font-size: 12px;
  letter-spacing: 0.1em;
  color: var(--c-ash);
}

.page-news .breadcrumb a {
  color: var(--c-ash);
  text-decoration: none;
}

.page-news .breadcrumb a:hover {
  color: var(--c-lava);
}

.page-news .breadcrumb [aria-current="page"] {
  color: var(--c-gold);
}

/* ---------- 首屏 ---------- */
.page-news .news-hero {
  padding-block: clamp(28px, 5vw, 56px) clamp(30px, 5vw, 60px);
  background:
    radial-gradient(120% 90% at 88% 0%, rgba(255, 90, 31, 0.16), transparent 62%),
    radial-gradient(90% 70% at 0% 100%, rgba(61, 139, 255, 0.1), transparent 66%),
    var(--c-black);
}

.page-news .news-hero .eyebrow {
  font-family: var(--font-mono);
  font-size: 12px;
  letter-spacing: 0.18em;
  color: var(--c-gold);
  margin: 0;
}

.page-news .news-hero h1 {
  margin: 12px 0 0;
  font-size: clamp(2.4rem, 9vw, 5.2rem);
  font-weight: 900;
  letter-spacing: 0.06em;
  line-height: 1.02;
  color: var(--c-cream);
}

.page-news .news-hero h1::after {
  content: "";
  display: block;
  width: clamp(64px, 20vw, 190px);
  height: 3px;
  margin-top: 18px;
  background: linear-gradient(90deg, var(--c-lava), var(--c-lava-2) 55%, transparent);
}

.page-news .news-hero .lede {
  max-width: 60ch;
  margin: 18px 0 0;
  font-size: clamp(1rem, 1.7vw, 1.125rem);
  line-height: 1.8;
  color: var(--news-ink-soft);
}

.page-news .hero-collage {
  display: grid;
  gap: var(--news-gap);
  margin-top: clamp(26px, 4vw, 44px);
  grid-template-columns: 1fr;
  grid-template-areas:
    "lead"
    "mid"
    "small";
}

.page-news .hero-card {
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: clamp(18px, 2.4vw, 28px);
  border: 1px solid var(--line-soft);
  border-radius: var(--news-radius);
  background:
    linear-gradient(135deg, rgba(255, 90, 31, 0.08), transparent 58%),
    var(--c-deep);
  overflow: hidden;
}

.page-news .hero-card--lead {
  grid-area: lead;
  border-color: rgba(255, 90, 31, 0.45);
}

.page-news .hero-card--mid {
  grid-area: mid;
  border-color: rgba(61, 139, 255, 0.4);
}

.page-news .hero-card--small {
  grid-area: small;
  border-color: var(--line-gold);
}

.page-news .hero-card .media-frame {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 9;
  border-radius: 3px;
  overflow: hidden;
  background: var(--c-black);
}

.page-news .hero-card .media-frame img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.page-news .hero-card h2 {
  margin: 0;
  font-size: clamp(1.15rem, 2.4vw, 1.6rem);
  font-weight: 800;
  letter-spacing: 0.02em;
  line-height: 1.38;
  color: var(--c-cream);
}

.page-news .hero-card--lead h2 {
  font-size: clamp(1.4rem, 3.6vw, 2.25rem);
  letter-spacing: 0.04em;
}

.page-news .hero-card p {
  margin: 0;
  font-size: 0.94rem;
  line-height: 1.78;
  color: var(--news-ink-soft);
}

/* ---------- 标签 ---------- */
.page-news .pill {
  align-self: flex-start;
  display: inline-flex;
  align-items: center;
  padding: 4px 10px;
  border: 1px solid currentColor;
  border-radius: 2px;
  font-family: var(--font-mono);
  font-size: 11.5px;
  letter-spacing: 0.14em;
  line-height: 1.4;
}

.page-news .pill--lava { color: var(--c-lava); }
.page-news .pill--blue { color: var(--c-blue); }
.page-news .pill--gold { color: var(--c-gold); }

/* ---------- 目录 ---------- */
.page-news .news-toc {
  position: sticky;
  top: calc(var(--header-h) + 8px);
  z-index: 5;
  margin-top: clamp(24px, 4vw, 40px);
  padding: 10px clamp(12px, 2vw, 18px);
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 16px;
  border: 1px solid var(--line-gold);
  border-radius: var(--news-radius);
  background: rgba(23, 25, 31, 0.88);
  backdrop-filter: blur(8px);
}

.page-news .news-toc .toc__title {
  font-family: var(--font-mono);
  font-size: 11.5px;
  letter-spacing: 0.18em;
  color: var(--c-gold);
  white-space: nowrap;
}

.page-news .news-toc__list {
  display: flex;
  flex-wrap: wrap;
  gap: 4px 14px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.page-news .news-toc__list a {
  display: inline-block;
  padding: 3px 2px;
  font-size: 0.875rem;
  color: var(--news-ink-soft);
  text-decoration: none;
  border-bottom: 1px solid transparent;
  transition: color 0.2s ease, border-color 0.2s ease;
}

.page-news .news-toc__list a:hover,
.page-news .news-toc__list a[aria-current="true"] {
  color: var(--c-lava);
  border-bottom-color: var(--c-lava);
}

/* ---------- 通用区块 ---------- */
.page-news .section {
  padding-block: clamp(44px, 7vw, 92px);
}

.page-news .section--deep {
  background: var(--c-deep);
}

.page-news .section-band {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 8px clamp(12px, 2vw, 22px);
  padding-top: 14px;
  border-top: 2px solid var(--c-lava);
}

.page-news .section-band h2 {
  margin: 0;
  font-size: clamp(1.5rem, 4vw, 2.5rem);
  font-weight: 900;
  letter-spacing: 0.06em;
  line-height: 1.2;
  color: var(--c-cream);
}

.page-news .section-index {
  font-family: var(--font-mono);
  font-size: clamp(1rem, 2vw, 1.3rem);
  letter-spacing: 0.1em;
  color: var(--c-gold);
}

.page-news .section-intro {
  max-width: 64ch;
  margin: clamp(14px, 2vw, 22px) 0 0;
  font-size: 1rem;
  line-height: 1.82;
  color: var(--news-ink-soft);
}

/* ---------- 版本更新日志 ---------- */
.page-news .log-layout {
  display: grid;
  gap: clamp(26px, 4vw, 40px);
  margin-top: clamp(24px, 3.5vw, 40px);
}

.page-news .log-list {
  list-style: none;
  margin: 0;
  padding: 0 0 0 22px;
  border-left: 1px solid var(--line-gold);
}

.page-news .log-item {
  position: relative;
  padding-bottom: clamp(24px, 3.4vw, 36px);
}

.page-news .log-item:last-child {
  padding-bottom: 0;
}

.page-news .log-item::before {
  content: "";
  position: absolute;
  left: -26px;
  top: 9px;
  width: 9px;
  height: 9px;
  background: var(--c-lava);
  transform: rotate(45deg);
  box-shadow: 0 0 0 4px rgba(255, 90, 31, 0.14);
}

.page-news .log-ver {
  display: inline-block;
  margin-bottom: 10px;
  padding: 3px 9px;
  border: 1px solid var(--line-gold);
  border-radius: 2px;
  font-family: var(--font-mono);
  font-size: 11.5px;
  letter-spacing: 0.12em;
  color: var(--c-gold);
}

.page-news .log-item h3 {
  margin: 0;
  font-size: clamp(1.05rem, 2.3vw, 1.35rem);
  font-weight: 800;
  letter-spacing: 0.02em;
  line-height: 1.5;
  color: var(--c-cream);
}

.page-news .log-item p {
  margin: 10px 0 0;
  font-size: 0.94rem;
  line-height: 1.8;
  color: var(--news-ink-soft);
}

.page-news .log-item details {
  margin-top: 12px;
  padding-left: 14px;
  border-left: 1px solid var(--line-gold);
}

.page-news .log-item summary {
  cursor: pointer;
  list-style: none;
  font-family: var(--font-mono);
  font-size: 12px;
  letter-spacing: 0.12em;
  color: var(--c-gold);
}

.page-news .log-item summary::-webkit-details-marker {
  display: none;
}

.page-news .log-item summary::before {
  content: "+ ";
  color: var(--c-lava);
}

.page-news .log-item details[open] summary::before {
  content: "\2212 ";
}

.page-news .log-item details ul {
  margin: 10px 0 0;
  padding-left: 18px;
  font-size: 0.9rem;
  line-height: 1.85;
  color: var(--news-ink-soft);
}

.page-news .log-figure {
  margin: 0;
}

.page-news .log-figure img {
  display: block;
  width: 100%;
  max-width: 420px;
  height: auto;
  border: 1px solid var(--line-soft);
  border-radius: var(--news-radius);
}

.page-news .log-figure figcaption {
  max-width: 42ch;
  margin-top: 12px;
  font-size: 0.82rem;
  line-height: 1.7;
  color: var(--c-ash);
}

/* ---------- 赛季观察 ---------- */
.page-news .watch-list {
  list-style: none;
  margin: clamp(22px, 3vw, 34px) 0 0;
  padding: 0;
  display: grid;
  gap: 1px;
  border: 1px solid var(--line-soft);
  background: var(--line-soft);
}

.page-news .watch-item {
  display: grid;
  gap: 8px;
  padding: clamp(16px, 2.4vw, 26px);
  background: var(--c-black);
}

.page-news .watch-time {
  font-family: var(--font-mono);
  font-size: 12px;
  letter-spacing: 0.14em;
  color: var(--c-blue);
}

.page-news .watch-item h3 {
  margin: 0;
  font-size: clamp(1rem, 2.2vw, 1.24rem);
  font-weight: 800;
  letter-spacing: 0.02em;
  line-height: 1.5;
  color: var(--c-cream);
}

.page-news .watch-item p {
  margin: 8px 0 0;
  font-size: 0.93rem;
  line-height: 1.8;
  color: var(--news-ink-soft);
}

/* ---------- 数据专栏（暖纸区） ---------- */
.page-news .news-paper {
  background: var(--c-paper);
  color: var(--c-paper-ink);
}

.page-news .news-paper .section-band {
  border-top-color: var(--c-lava);
}

.page-news .news-paper .section-band h2 {
  color: var(--c-paper-ink);
}

.page-news .news-paper .section-index {
  color: var(--c-red);
}

.page-news .news-paper .section-intro {
  color: rgba(26, 28, 34, 0.78);
}

.page-news .news-paper .pill--gold {
  color: #7f6209;
}

.page-news .column-list {
  list-style: none;
  margin: clamp(22px, 3vw, 34px) 0 0;
  padding: 0;
  border-top: 1px solid rgba(26, 28, 34, 0.2);
}

.page-news .column-item {
  display: grid;
  gap: 8px;
  padding: 20px 0;
  border-bottom: 1px solid rgba(26, 28, 34, 0.2);
}

.page-news .column-item h3 {
  margin: 0;
  font-size: clamp(1.05rem, 2.3vw, 1.32rem);
  font-weight: 800;
  letter-spacing: 0.02em;
  line-height: 1.48;
  color: var(--c-paper-ink);
}

.page-news .column-item p {
  margin: 0;
  font-size: 0.94rem;
  line-height: 1.82;
  color: rgba(26, 28, 34, 0.76);
}

.page-news .column-figure {
  margin: clamp(24px, 4vw, 38px) 0 0;
}

.page-news .column-figure img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 3px;
}

.page-news .column-figure figcaption {
  margin-top: 10px;
  font-size: 0.8rem;
  line-height: 1.7;
  color: rgba(26, 28, 34, 0.62);
}

.page-news .whitepaper {
  margin: clamp(26px, 4vw, 44px) 0 0;
  padding: clamp(20px, 3vw, 34px);
  border-left: 4px solid var(--c-lava);
  background: rgba(26, 28, 34, 0.06);
}

.page-news .whitepaper__label {
  display: inline-block;
  font-family: var(--font-mono);
  font-size: 11.5px;
  letter-spacing: 0.18em;
  color: var(--c-red);
}

.page-news .whitepaper blockquote {
  margin: 14px 0 0;
}

.page-news .whitepaper blockquote p {
  margin: 0;
  font-size: clamp(1rem, 2vw, 1.1rem);
  line-height: 1.95;
  color: var(--c-paper-ink);
}

.page-news .whitepaper figcaption {
  margin-top: 14px;
  font-family: var(--font-mono);
  font-size: 12px;
  letter-spacing: 0.06em;
  color: rgba(26, 28, 34, 0.6);
}

/* ---------- 战队档案 ---------- */
.page-news .archive-grid {
  display: grid;
  gap: var(--news-gap);
  margin-top: clamp(22px, 3vw, 34px);
  grid-template-columns: 1fr;
}

.page-news .archive-card {
  padding: clamp(16px, 2.2vw, 24px);
  border: 1px solid var(--line-soft);
  border-top: 2px solid var(--c-gold);
  border-radius: var(--news-radius);
  background: var(--c-black);
}

.page-news .archive-card h3 {
  margin: 0;
  font-size: 1.05rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  color: var(--c-cream);
}

.page-news .archive-fields {
  display: grid;
  grid-template-columns: 5.2em minmax(0, 1fr);
  gap: 6px 12px;
  margin: 14px 0 0;
  font-size: 0.82rem;
  line-height: 1.6;
}

.page-news .archive-fields dt {
  font-family: var(--font-mono);
  color: var(--c-ash);
  letter-spacing: 0.04em;
}

.page-news .archive-fields dd {
  margin: 0;
  color: rgba(242, 233, 220, 0.86);
}

.page-news .archive-card p {
  margin: 16px 0 0;
  padding-top: 14px;
  border-top: 1px solid var(--line-soft);
  font-size: 0.88rem;
  line-height: 1.78;
  color: var(--news-ink-soft);
}

/* ---------- 回放索引 ---------- */
.page-news .replay-figure {
  margin: clamp(22px, 3vw, 34px) 0 0;
}

.page-news .replay-figure img {
  display: block;
  width: 100%;
  height: auto;
  border: 1px solid var(--line-soft);
  border-radius: var(--news-radius);
}

.page-news .replay-grid {
  display: grid;
  gap: 10px;
  margin-top: clamp(18px, 3vw, 28px);
  grid-template-columns: repeat(auto-fill, minmax(102px, 1fr));
}

.page-news .replay-week {
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding: 12px 10px;
  border: 1px solid var(--line-soft);
  border-radius: 3px;
  background: var(--c-deep);
  font-family: var(--font-mono);
  font-size: 12px;
  letter-spacing: 0.06em;
  color: rgba(242, 233, 220, 0.86);
  transition: border-color 0.22s ease, transform 0.22s ease;
}

.page-news .replay-week:hover {
  border-color: var(--c-lava);
  transform: translateY(-2px);
}

.page-news .replay-status {
  font-size: 11px;
  letter-spacing: 0.1em;
  color: var(--c-moss);
}

.page-news .replay-week--current {
  border-color: var(--c-lava);
  color: var(--c-cream);
  background: linear-gradient(160deg, rgba(255, 90, 31, 0.22), var(--c-deep) 72%);
}

.page-news .replay-week--current .replay-status {
  color: var(--c-lava-2);
}

/* ---------- 收束 ---------- */
.page-news .next-section {
  border-top: 1px solid var(--line-gold);
}

.page-news .next-steps {
  display: grid;
  gap: var(--news-gap);
  margin-top: clamp(22px, 3vw, 34px);
  grid-template-columns: 1fr;
}

.page-news .next-card {
  display: block;
  padding: clamp(18px, 2.4vw, 26px);
  border: 1px solid var(--line-gold);
  border-radius: var(--news-radius);
  background: var(--c-black);
  color: var(--c-cream);
  text-decoration: none;
  transition: transform 0.24s ease, border-color 0.24s ease, background 0.24s ease;
}

.page-news .next-card:hover,
.page-news .next-card:focus-visible {
  transform: translateY(-3px);
  border-color: var(--c-lava);
  background: linear-gradient(150deg, rgba(255, 90, 31, 0.15), var(--c-black) 72%);
}

.page-news .next-card h3 {
  margin: 0 0 10px;
  font-size: 1.05rem;
  font-weight: 800;
  letter-spacing: 0.03em;
  line-height: 1.45;
  color: var(--c-cream);
}

.page-news .next-card p {
  margin: 0;
  font-size: 0.9rem;
  line-height: 1.78;
  color: var(--news-ink-soft);
}

/* ---------- 响应式 ---------- */
@media (min-width: 640px) {
  .page-news .archive-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

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

@media (min-width: 720px) {
  .page-news .watch-item {
    grid-template-columns: 150px minmax(0, 1fr);
    align-items: start;
    gap: 22px;
  }
}

@media (min-width: 900px) {
  .page-news .hero-collage {
    grid-template-columns: 7fr 5fr;
    grid-template-areas:
      "lead mid"
      "lead small";
    align-items: stretch;
  }

  .page-news .hero-card--lead {
    justify-content: flex-start;
  }

  .page-news .log-layout {
    grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr);
    align-items: start;
  }

  .page-news .log-figure {
    position: sticky;
    top: calc(var(--header-h) + 24px);
  }

  .page-news .replay-week:nth-child(even) {
    transform: translateY(5px);
  }

  .page-news .replay-week:nth-child(even):hover {
    transform: translateY(3px);
  }
}

@media (min-width: 1024px) {
  .page-news .archive-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .page-news .next-steps {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

@media (prefers-reduced-motion: reduce) {
  .page-news .next-card,
  .page-news .replay-week,
  .page-news .news-toc__list a {
    transition: none;
  }

  .page-news .next-card:hover,
  .page-news .next-card:focus-visible {
    transform: none;
  }
}
