.page-news {
  --news-rail-w: 268px;
  --news-hair: 1px solid var(--oy-sand);
  background: var(--oy-cream);
  color: var(--oy-ink);
  font-family: var(--oy-sans);
}

.page-news [id] {
  scroll-margin-top: 118px;
}

.page-news .news-link {
  color: var(--oy-crimson);
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* ---------- 上下文命令条 ---------- */
.page-news .news-cmd {
  background: var(--oy-cream-deep);
  border-bottom: var(--news-hair);
}

.page-news .news-cmd__inner {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px 22px;
  padding-block: 9px;
  font-family: var(--oy-mono);
  font-size: var(--oy-fs-1);
  color: var(--oy-taupe);
}

.page-news .news-cmd__crumbs {
  display: flex;
  align-items: center;
  gap: 6px;
  margin: 0;
  color: var(--oy-taupe);
}

.page-news .news-cmd__crumbs a {
  color: var(--oy-navy);
  text-decoration: none;
}

.page-news .news-cmd__crumbs a:hover {
  text-decoration: underline;
}

.page-news .news-cmd__filter,
.page-news .news-cmd__count {
  margin: 0;
}

.page-news .news-cmd__count {
  margin-left: auto;
  color: var(--oy-navy);
}

/* ---------- 首屏 ---------- */
.page-news .news-hero {
  position: relative;
  overflow: hidden;
  border-bottom: var(--news-hair);
  background: var(--oy-cream);
}

.page-news .news-hero::before {
  content: "";
  position: absolute;
  z-index: 0;
  top: -46%;
  right: -10%;
  width: 56%;
  height: 190%;
  transform: rotate(9deg);
  background: linear-gradient(155deg, var(--oy-navy) 0%, var(--oy-navy-soft) 55%, var(--oy-green) 100%);
  opacity: .08;
  pointer-events: none;
}

.page-news .news-hero__inner {
  position: relative;
  z-index: 1;
  display: grid;
  gap: 30px;
  padding-block: clamp(30px, 6vw, 62px);
}

.page-news .news-hero__kicker {
  margin: 0 0 10px;
  font-family: var(--oy-mono);
  font-size: var(--oy-fs-1);
  letter-spacing: .16em;
  color: var(--oy-ochre);
}

.page-news .news-hero__h1 {
  margin: 0 0 16px;
  max-width: 16em;
  font-size: clamp(28px, 5.4vw, 46px);
  line-height: 1.2;
}

.page-news .news-hero__lede {
  max-width: 34em;
  margin: 0;
  color: var(--oy-taupe);
}

.page-news .news-hero__links {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 22px 0 0;
}

.page-news .news-hero__aside {
  padding: 20px 20px 24px;
  background: var(--oy-navy);
  color: var(--oy-cream);
  clip-path: polygon(0 0, 100% 0, 100% calc(100% - 20px), calc(100% - 20px) 100%, 0 100%);
}

.page-news .news-hero__asideLabel {
  margin: 0 0 14px;
  font-family: var(--oy-mono);
  font-size: var(--oy-fs-1);
  letter-spacing: .14em;
  color: var(--oy-green-soft);
}

.page-news .news-hero__stats {
  display: grid;
  gap: 12px;
  margin: 0 0 16px;
}

.page-news .news-hero__stats > div {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  padding-bottom: 8px;
  border-bottom: 1px solid rgba(244, 237, 225, .18);
}

.page-news .news-hero__stats dt {
  font-size: var(--oy-fs-2);
  color: var(--oy-green-soft);
}

.page-news .news-hero__stats dd {
  margin: 0;
  font-size: var(--oy-fs-5);
  font-variant-numeric: tabular-nums;
  color: var(--oy-cream);
}

.page-news .news-hero__asideNote {
  margin: 0;
  font-size: var(--oy-fs-1);
  line-height: 1.7;
  color: var(--oy-green-soft);
}

/* ---------- 双列专题板 ---------- */
.page-news .news-board {
  display: grid;
  gap: 34px;
  padding-block: clamp(26px, 5vw, 52px) clamp(40px, 7vw, 80px);
}

.page-news .news-rail {
  display: grid;
  gap: 24px;
  align-content: start;
}

.page-news .news-rail__block {
  padding-top: 10px;
  border-top: 2px solid var(--oy-navy);
}

.page-news .news-rail__label {
  margin: 0 0 10px;
  font-family: var(--oy-mono);
  font-size: var(--oy-fs-1);
  letter-spacing: .16em;
  color: var(--oy-ochre);
}

.page-news .news-rail__chapters {
  display: grid;
  gap: 2px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.page-news .news-rail__chapters a {
  display: flex;
  gap: 10px;
  padding: 6px 8px;
  border-left: 2px solid transparent;
  color: var(--oy-ink);
  font-size: var(--oy-fs-2);
  text-decoration: none;
}

.page-news .news-rail__chapters a .oy-num {
  color: var(--oy-taupe);
}

.page-news .news-rail__chapters a:hover,
.page-news .news-rail__chapters a:focus-visible {
  background: var(--oy-cream-deep);
  border-left-color: var(--oy-ochre);
}

.page-news .news-rail__seasons {
  display: grid;
  gap: 0;
  margin: 0;
  padding: 0;
  list-style: none;
}

.page-news .news-rail__seasons .news-season {
  display: block;
  width: 100%;
  padding: 5px 9px;
  border: 0;
  border-left: 3px solid var(--oy-sand);
  background: none;
  color: var(--oy-taupe);
  font-family: var(--oy-mono);
  font-size: var(--oy-fs-1);
  font-variant-numeric: tabular-nums;
  text-align: left;
  cursor: pointer;
  transition: background-color .16s var(--oy-ease), border-color .16s var(--oy-ease), color .16s var(--oy-ease);
}

.page-news .news-rail__seasons .news-season:hover,
.page-news .news-rail__seasons .news-season:focus-visible {
  background: var(--oy-cream-deep);
  color: var(--oy-navy);
}

.page-news .news-rail__seasons .news-season[aria-pressed="true"] {
  border-left-color: var(--oy-navy);
  background: var(--oy-cream-deep);
  color: var(--oy-navy);
  font-weight: 700;
}

.page-news .news-rail__chips {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.page-news .news-rail__chips a {
  display: inline-block;
  padding: 4px 9px;
  border: var(--news-hair);
  color: var(--oy-navy);
  font-family: var(--oy-mono);
  font-size: var(--oy-fs-1);
  text-decoration: none;
}

.page-news .news-rail__chips a:hover,
.page-news .news-rail__chips a:focus-visible {
  background: var(--oy-navy);
  border-color: var(--oy-navy);
  color: var(--oy-cream);
}

/* ---------- 章节 ---------- */
.page-news .news-section {
  margin-bottom: clamp(42px, 7vw, 76px);
}

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

.page-news .news-sec-head {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 2px 14px;
  padding-bottom: 12px;
  margin-bottom: 22px;
  border-bottom: 2px solid var(--oy-navy);
}

.page-news .news-sec-head .oy-section__no {
  margin: 0;
  font-family: var(--oy-mono);
  font-size: var(--oy-fs-4);
  font-weight: 700;
  color: var(--oy-ochre);
  line-height: 1.1;
}

.page-news .news-sec-head .oy-h2 {
  margin: 0;
  font-size: clamp(21px, 3vw, 30px);
}

.page-news .news-sec-head__meta {
  grid-column: 2;
  margin: 0;
  max-width: 40em;
  color: var(--oy-taupe);
}

/* ---------- 轮次色带 ---------- */
.page-news .news-rounds {
  display: grid;
  gap: 1px;
  margin: 0 0 24px;
  padding: 0;
  list-style: none;
}

.page-news .news-rounds__item {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 6px 14px;
  padding: 9px 14px;
  background: var(--oy-cream-deep);
  border-left: 3px solid var(--oy-green);
  font-size: var(--oy-fs-2);
  color: var(--oy-ink);
  clip-path: polygon(0 0, 100% 0, calc(100% - 12px) 100%, 0 100%);
}

.page-news .news-rounds__item .oy-round-band__no {
  font-family: var(--oy-mono);
  font-size: var(--oy-fs-1);
  letter-spacing: .1em;
  color: var(--oy-ochre);
}

/* ---------- 本期专题卡片 ---------- */
.page-news .news-feature {
  display: grid;
  gap: 0;
  border-top: var(--news-hair);
}

.page-news .news-card {
  padding: 20px 0 22px;
  border-bottom: var(--news-hair);
  transition: transform .18s var(--oy-ease);
}

.page-news .news-card:last-child {
  border-bottom: 0;
}

.page-news .news-card:hover {
  transform: translateY(-2px);
}

.page-news .news-card--lead {
  display: grid;
  gap: 18px;
  padding-top: 22px;
}

.page-news .news-card__media {
  position: relative;
  overflow: hidden;
  background: linear-gradient(135deg, var(--oy-navy), var(--oy-green));
  clip-path: polygon(0 0, 100% 0, 100% calc(100% - 20px), calc(100% - 20px) 100%, 0 100%);
}

.page-news .news-card__media img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: cover;
  filter: saturate(.5) contrast(1.06) brightness(.94);
}

.page-news .news-card__media::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(140deg, rgba(15, 46, 76, .5), rgba(46, 107, 79, .3));
  pointer-events: none;
}

.page-news .news-card__top {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 8px 14px;
  margin: 0 0 10px;
}

.page-news .news-card__time {
  font-family: var(--oy-mono);
  font-size: var(--oy-fs-1);
  color: var(--oy-taupe);
}

.page-news .news-card .oy-h3 {
  margin: 0 0 10px;
  font-size: var(--oy-fs-4);
  line-height: 1.4;
}

.page-news .news-card p {
  margin: 0;
  max-width: 34em;
  font-size: var(--oy-fs-2);
  line-height: 1.75;
  color: var(--oy-ink);
}

.page-news .news-card__points {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px 12px;
  margin-top: 12px !important;
  font-family: var(--oy-mono);
  font-size: var(--oy-fs-1);
  color: var(--oy-taupe);
}

.page-news .news-card__points span:first-child {
  padding: 2px 7px;
  background: rgba(46, 107, 79, .12);
  border-left: 2px solid var(--oy-green);
  color: var(--oy-green);
}

.page-news .news-card:hover .news-card__points {
  color: var(--oy-navy);
}

.page-news .news-tag {
  display: inline-block;
  padding: 3px 8px;
  background: rgba(46, 107, 79, .12);
  border-left: 2px solid var(--oy-green);
  color: var(--oy-green);
  font-family: var(--oy-mono);
  font-size: var(--oy-fs-1);
  letter-spacing: .04em;
}

/* ---------- 迷你签表树 ---------- */
.page-news .news-bracket {
  display: block;
  width: 100%;
  max-width: 260px;
  height: auto;
  margin: 16px 0 0;
  overflow: visible;
}

.page-news .news-bracket path {
  fill: none;
  stroke: var(--oy-sand);
  stroke-width: 1.6;
}

.page-news .news-bracket circle {
  fill: var(--oy-navy);
  opacity: .75;
}

.page-news .news-bracket .news-bracket__final {
  fill: var(--oy-green);
  opacity: 1;
}

/* ---------- 赛季查找 ---------- */
.page-news .news-figure {
  margin: 0 0 26px;
}

.page-news .news-figure__frame {
  position: relative;
  overflow: hidden;
  background: linear-gradient(120deg, var(--oy-navy), var(--oy-green));
  clip-path: polygon(0 0, 100% 0, 100% calc(100% - 22px), calc(100% - 22px) 100%, 0 100%);
}

.page-news .news-figure__frame img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: cover;
  filter: saturate(.6) contrast(1.04);
}

.page-news .news-figure .oy-figure__cap {
  margin-top: 10px;
  font-family: var(--oy-mono);
  font-size: var(--oy-fs-1);
  color: var(--oy-taupe);
}

.page-news .news-seasons {
  display: grid;
  gap: 0;
  margin: 0 0 24px;
  padding: 0;
  list-style: none;
  border-top: var(--news-hair);
}

.page-news .news-seasons li {
  border-bottom: var(--news-hair);
}

.page-news .news-season__link {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 4px 16px;
  padding: 12px 6px;
  color: var(--oy-ink);
  text-decoration: none;
  transition: background-color .16s var(--oy-ease), padding-left .16s var(--oy-ease);
}

.page-news .news-season__link:hover,
.page-news .news-season__link:focus-visible {
  background: var(--oy-cream-deep);
  padding-left: 12px;
}

.page-news .news-season__code {
  font-size: var(--oy-fs-3);
  font-weight: 700;
  color: var(--oy-navy);
}

.page-news .news-season__figs {
  display: flex;
  flex-wrap: wrap;
  gap: 4px 18px;
  font-family: var(--oy-mono);
  font-size: var(--oy-fs-1);
  color: var(--oy-taupe);
}

.page-news .news-season__figs b {
  color: var(--oy-ink);
  font-weight: 700;
}

.page-news .news-evidence {
  padding: 14px 16px 16px;
  background: var(--oy-cream-deep);
}

.page-news .news-evidence p:last-child {
  margin: 0;
  max-width: 42em;
  font-size: var(--oy-fs-2);
  line-height: 1.75;
  color: var(--oy-ink);
}

/* ---------- 四条专题线 ---------- */
.page-news .news-lines {
  display: grid;
  gap: 22px;
}

.page-news .news-line {
  padding: 18px 18px 20px;
}

.page-news .news-line p {
  margin: 0 0 12px;
  max-width: 34em;
  font-size: var(--oy-fs-2);
  line-height: 1.75;
}

.page-news .news-line .oy-panel__title {
  margin: 6px 0 12px;
  font-size: var(--oy-fs-4);
}

.page-news .news-line__fields {
  padding-top: 10px;
  border-top: var(--news-hair);
  font-family: var(--oy-mono);
  font-size: var(--oy-fs-1) !important;
  color: var(--oy-taupe);
}

.page-news .news-line__media {
  margin-top: 14px;
  overflow: hidden;
  background: linear-gradient(135deg, var(--oy-navy), var(--oy-green));
  clip-path: polygon(0 0, 100% 0, 100% calc(100% - 16px), calc(100% - 16px) 100%, 0 100%);
}

.page-news .news-line__media img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: cover;
  filter: saturate(.5) contrast(1.05) brightness(.94);
}

.page-news .news-line__media--tall img {
  aspect-ratio: 5 / 7;
}

/* ---------- 近期条目 ---------- */
.page-news .news-entries {
  display: grid;
  gap: 0;
  margin: 0;
  padding: 0;
  list-style: none;
  border-top: 2px solid var(--oy-navy);
  counter-reset: news-entry;
}

.page-news .news-entries li {
  display: grid;
  gap: 6px 18px;
  padding: 16px 4px;
  border-bottom: var(--news-hair);
  counter-increment: news-entry;
}

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

.page-news .news-entries__title {
  position: relative;
  margin: 0;
  padding-left: 2.6em;
  font-size: var(--oy-fs-3);
  line-height: 1.6;
}

.page-news .news-entries__title::before {
  content: counter(news-entry, decimal-leading-zero);
  position: absolute;
  left: 0;
  top: .18em;
  font-family: var(--oy-mono);
  font-size: var(--oy-fs-1);
  font-weight: 400;
  color: var(--oy-ochre);
}

.page-news .news-entries__time {
  margin: 0;
  padding-left: 2.6em;
  font-family: var(--oy-mono);
  font-size: var(--oy-fs-1);
  color: var(--oy-taupe);
}

.page-news .news-entries__foot {
  margin: 20px 0 0;
  max-width: 40em;
  font-size: var(--oy-fs-2);
  line-height: 1.75;
  color: var(--oy-taupe);
}

/* ---------- 更新节奏 ---------- */
.page-news .news-cadence {
  display: grid;
  gap: 18px;
  margin-bottom: 24px;
}

.page-news .news-cadence__item {
  padding: 16px 16px 18px;
  background: var(--oy-cream-deep);
  border-left: 3px solid var(--oy-green);
}

.page-news .news-cadence__key {
  margin: 0 0 8px;
  font-size: var(--oy-fs-5);
  font-weight: 700;
  color: var(--oy-green);
}

.page-news .news-cadence__item .oy-h4 {
  margin: 0 0 8px;
  font-size: var(--oy-fs-3);
}

.page-news .news-cadence__item p:last-child {
  margin: 0;
  font-size: var(--oy-fs-2);
  line-height: 1.75;
  color: var(--oy-ink);
}

.page-news .news-subscribe p:last-child {
  margin: 0;
  max-width: 42em;
  font-size: var(--oy-fs-2);
  line-height: 1.8;
}

/* ---------- 归档与引用 ---------- */
.page-news .news-archive {
  display: grid;
  gap: 26px;
}

.page-news .news-archive .oy-h4 {
  margin: 0 0 12px;
  font-size: var(--oy-fs-3);
}

.page-news .news-list {
  display: grid;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.page-news .news-list li {
  position: relative;
  padding-left: 18px;
  font-size: var(--oy-fs-2);
  line-height: 1.75;
}

.page-news .news-list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: .72em;
  width: 8px;
  height: 1px;
  background: var(--oy-ochre);
}

.page-news .news-cite {
  margin: 0 0 12px;
  padding: 16px 18px;
  background: var(--oy-navy);
  color: var(--oy-cream);
  font-family: var(--oy-mono);
  font-size: var(--oy-fs-2);
  line-height: 1.7;
  overflow-x: auto;
  clip-path: polygon(0 0, 100% 0, 100% calc(100% - 16px), calc(100% - 16px) 100%, 0 100%);
}

.page-news .news-archive__note {
  margin: 0;
  max-width: 38em;
  font-size: var(--oy-fs-2);
  line-height: 1.75;
  color: var(--oy-taupe);
}

/* ---------- 断点 ---------- */
@media (max-width: 1079px) {
  .page-news .news-rail__chapters {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .page-news .news-rail__seasons {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .page-news .news-rail__seasons .news-season {
    text-align: center;
    border-left: 0;
    border-bottom: 3px solid var(--oy-sand);
  }

  .page-news .news-rail__seasons .news-season[aria-pressed="true"] {
    border-left: 0;
    border-bottom-color: var(--oy-navy);
  }
}

@media (min-width: 640px) {
  .page-news .news-seasons {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 28px;
  }

  .page-news .news-cadence {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .page-news .news-entries li {
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: start;
  }

  .page-news .news-entries__tag {
    grid-column: 1 / -1;
  }

  .page-news .news-entries__time {
    grid-column: 2;
    grid-row: 2;
    padding-left: 0;
    text-align: right;
    white-space: nowrap;
  }
}

@media (min-width: 800px) {
  .page-news .news-feature {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 32px;
  }

  .page-news .news-card--lead {
    grid-column: 1 / -1;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr);
    align-items: center;
    column-gap: 30px;
  }

  .page-news .news-lines {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: start;
  }

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

@media (min-width: 1080px) {
  .page-news .news-board {
    grid-template-columns: var(--news-rail-w) minmax(0, 1fr);
    column-gap: 48px;
    align-items: start;
  }

  .page-news .news-rail {
    position: sticky;
    top: 92px;
    max-height: calc(100vh - 120px);
    overflow-y: auto;
  }

  .page-news .news-hero__inner {
    grid-template-columns: minmax(0, 7fr) minmax(0, 4fr);
    align-items: end;
    column-gap: 46px;
  }

  .page-news .news-rounds {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (prefers-reduced-motion: reduce) {
  .page-news .news-card,
  .page-news .news-season__link,
  .page-news .news-rail__seasons .news-season {
    transition: none;
  }

  .page-news .news-card:hover {
    transform: none;
  }
}
</main>
<<<END>>>

抱歉，我输出了标记之外的内容。以下是修正后的严格标记输出：


<main id="main-content" class="page-news">

  <div class="oy-commandbar news-cmd">
    <div class="oy-wrap news-cmd__inner">
      <nav class="oy-crumbs news-cmd__crumbs" aria-label="当前位置">
        <a href="/">首页</a>
        <span class="oy-crumbs__sep">/</span>
        <span aria-current="page">专题中心</span>
      </nav>
      <p class="news-cmd__filter">筛选：全部赛季 · 全部栏目 · 赛事层级不限</p>
      <p class="news-cmd__count">命中 <span class="oy-num">622</span> 篇专题</p>
    </div>
  </div>

  <header class="news-hero">
    <div class="oy-wrap news-hero__inner">
      <div class="news-hero__text">
        <p class="news-hero__kicker">目录 <span class="oy-num">2013/14 — 2024/25</span></p>
        <h1 class="oy-h1 news-hero__h1">专题中心：沿着赛季与轮次把一项杯赛读完</h1>
        <p class="oy-lede news-hero__lede">欧亿体育安装把签表、名单、裁判指派与战报拆成四条持续产出的内容线，每一期只对应一项洲际或地区杯赛的一个阶段，用赛季代码与轮次编号归档。想看某个淘汰轮发生了什么，从这一页顺着目录往下读即可，不必在零散记录之间来回翻找。</p>
        <p class="news-hero__links">
          <a class="oy-btn oy-btn--solid" href="#season-archive">按赛季查找</a>
          <a class="oy-btn oy-btn--ghost" href="/download/">获取安装包</a>
        </p>
      </div>
      <aside class="news-hero__aside" aria-label="归档规模">
        <p class="news-hero__asideLabel">全量归档规模</p>
        <dl class="news-hero__stats">
          <div>
            <dt>专题篇数</dt>
            <dd class="oy-num">622</dd>
          </div>
          <div>
            <dt>签表张数</dt>
            <dd class="oy-num">1,380</dd>
          </div>
          <div>
            <dt>对阵场次</dt>
            <dd class="oy-num">26,400</dd>
          </div>
        </dl>
        <p class="news-hero__asideNote">覆盖 12 个赛季的洲际级 18 项与地区级 43 项赛事，篇数按发布条目计数，修订不重复计数。</p>
      </aside>
    </div>
  </header>

  <div class="oy-wrap news-board">

    <aside class="news-rail" aria-label="专题索引">
      <nav class="news-rail__block" aria-label="章节索引">
        <p class="news-rail__label">章节</p>
        <ol class="news-rail__chapters">
          <li><a href="#current"><span class="oy-num">01</span>本期专题</a></li>
          <li><a href="#season-archive"><span class="oy-num">02</span>按赛季查找</a></li>
          <li><a href="#series"><span class="oy-num">03</span>四条专题线</a></li>
          <li><a href="#entries"><span class="oy-num">04</span>近期条目</a></li>
          <li><a href="#cadence"><span class="oy-num">05</span>更新节奏</a></li>
          <li><a href="#archive"><span class="oy-num">06</span>归档与引用</a></li>
        </ol>
      </nav>

      <div class="news-rail__block">
        <p class="news-rail__label">赛季刻度</p>
        <ul class="news-rail__seasons">
          <li><button type="button" class="oy-seasonscale__item news-season" data-season="2013/14" aria-pressed="false">2013/14</button></li>
          <li><button type="button" class="oy-seasonscale__item news-season" data-season="2014/15" aria-pressed="false">2014/15</button></li>
          <li><button type="button" class="oy-seasonscale__item news-season" data-season="2015/16" aria-pressed="false">2015/16</button></li>
          <li><button type="button" class="oy-seasonscale__item news-season" data-season="2016/17" aria-pressed="false">2016/17</button></li>
          <li><button type="button" class="oy-seasonscale__item news-season" data-season="2017/18" aria-pressed="false">2017/18</button></li>
          <li><button type="button" class="oy-seasonscale__item news-season" data-season="2018/19" aria-pressed="false">2018/19</button></li>
          <li><button type="button" class="oy-seasonscale__item news-season" data-season="2019/20" aria-pressed="false">2019/20</button></li>
          <li><button type="button" class="oy-seasonscale__item news-season" data-season="2020/21" aria-pressed="false">2020/21</button></li>
          <li><button type="button" class="oy-seasonscale__item news-season" data-season="2021/22" aria-pressed="false">2021/22</button></li>
          <li><button type="button" class="oy-seasonscale__item news-season" data-season="2022/23" aria-pressed="false">2022/23</button></li>
          <li><button type="button" class="oy-seasonscale__item news-season" data-season="2023/24" aria-pressed="false">2023/24</button></li>
          <li><button type="button" class="oy-seasonscale__item news-season" data-season="2024/25" aria-pressed="true">2024/25</button></li>
        </ul>
      </div>

      <div class="news-rail__block">
        <p class="news-rail__label">栏目</p>
        <ul class="news-rail__chips">
          <li><a href="#line-draw">抽签解读</a></li>
          <li><a href="#line-loan">租借追踪</a></li>
          <li><a href="#line-referee">裁判指派观察</a></li>
          <li><a href="#line-report">战报汇编</a></li>
        </ul>
      </div>
    </aside>

    <div class="news-stream">

      <section class="oy-section news-section" data-section id="current">
        <div class="news-sec-head">
          <p class="oy-section__no">01</p>
          <h2 class="oy-h2">本期专题</h2>
          <p class="oy-meta news-sec-head__meta">抽签结束后 6 小时内发布签表解读；每轮比赛结束后 12 小时内，把战报与名单变动归入对应对阵。</p>
        </div>

        <ul class="oy-round-band news-rounds" aria-label="轮次归档落点">
          <li class="news-rounds__item"><span class="oy-round-band__no">小组轮</span>名单与战报为主，签表变动少</li>
          <li class="news-rounds__item"><span class="oy-round-band__no">淘汰轮</span>签表对照与裁判指派集中产出</li>
          <li class="news-rounds__item"><span class="oy-round-band__no">决赛轮</span>战报汇编收束，附全季核对表</li>
        </ul>

        <div class="news-feature">

          <article class="news-card news-card--lead">
            <div class="news-card__media">
              <img src="{zhanqunpic:h:900w:1600}" width="1600" height="900" alt="足球场俯拍，中圈与半场线以斜切构图穿过画面，整体色调压冷">
            </div>
            <div class="news-card__body">
              <p class="news-card__top">
                <span class="news-tag">抽签解读</span>
                <span class="news-card__time">抽签结束后 6 小时</span>
              </p>
              <h3 class="oy-h3">洲际杯淘汰轮：两版签表的对阵换位对照</h3>
              <p>把同一轮次的前后两版签表逐位比对，标出换位的对阵编号、受影响的档位归属，以及因换位而顺延的赛程序号。对照结果以签表编号为主键，可回溯到原始录入版本。</p>

              <svg class="news-bracket" viewBox="0 0 200 170" role="img" aria-label="迷你签表树示意：四层节点与斜向连线">
                <path d="M24 20 L88 44" />
                <path d="M24 64 L88 44" />
                <path d="M24 106 L88 126" />
                <path d="M24 150 L88 126" />
                <path d="M100 44 L166 85" />
                <path d="M100 126 L166 85" />
                <circle cx="24" cy="20" r="4" />
                <circle cx="24" cy="64" r="4" />
                <circle cx="24" cy="106" r="4" />
                <circle cx="24" cy="150" r="4" />
                <circle cx="94" cy="44" r="4.5" />
                <circle cx="94" cy="126" r="4.5" />
                <circle cx="166" cy="85" r="5.5" class="news-bracket__final" />
              </svg>

              <p class="news-card__points"><span>要点</span>签表编号 · 轮次编号 · 档位归属</p>
            </div>
          </article>

          <article class="news-card">
            <div class="news-card__body">
              <p class="news-card__top">
                <span class="news-tag">租借追踪</span>
                <span class="news-card__time">上一轮结束后 12 小时内</span>
              </p>
              <h3 class="oy-h3">地区杯赛：本轮租借名单的注册变动</h3>
              <p>本期以租借名单为唯一主角，记录本轮新增与终止的注册条目，并标注变动落在哪一张签表的哪一轮对阵上。</p>
              <p class="news-card__points"><span>要点</span>注册窗口 · 名单版本 · 对阵锚点</p>
            </div>
          </article>

          <article class="news-card">
            <div class="news-card__body">
              <p class="news-card__top">
                <span class="news-tag">战报汇编</span>
                <span class="news-card__time">上一轮结束后 12 小时内</span>
              </p>
              <h3 class="oy-h3">上一轮战报按对阵归位与比分核对</h3>
              <p>这一条只处理战报。按轮次编号把该轮所有比分归入对应对阵，与签表节点交叉验证；出现差异的场次保留修订标记。</p>
              <p class="news-card__points"><span>要点</span>比分核对 · 轮次归位 · 修订标记</p>
            </div>
          </article>

        </div>
      </section>

      <section class="oy-section news-section" data-section id="season-archive">
        <div class="news-sec-head">
          <p class="oy-section__no">02</p>
          <h2 class="oy-h2">按赛季查找</h2>
          <p class="oy-meta news-sec-head__meta">每个赛季列出该季的签表张数、对阵场次与专题篇数，数字与首页、发展历程使用同一套全量校准口径。</p>
        </div>

        <figure class="oy-figure oy-figure--wide news-figure">
          <div class="oy-figure__frame news-figure__frame">
            <img loading="lazy" decoding="async" src="{zhanqunpic:h:675w:1200}" width="1200" height="675" alt="由柱状与折线构成的赛季覆盖量抽象图形，草绿与深蓝双色分层">
          </div>
          <figcaption class="oy-figure__cap">12 个赛季的签表张数与对阵场次分布，早期赛季量级较小，近三个赛季增长明显</figcaption>
        </figure>

        <ol class="news-seasons">
          <li>
            <a class="news-season__link" href="#entries">
              <span class="news-season__code oy-num">2013/14</span>
              <span class="news-season__figs"><span>签表 <b class="oy-num">46</b></span><span>对阵 <b class="oy-num">640</b></span><span>专题 <b class="oy-num">18</b></span></span>
            </a>
          </li>
          <li>
            <a class="news-season__link" href="#entries">
              <span class="news-season__code oy-num">2014/15</span>
              <span class="news-season__figs"><span>签表 <b class="oy-num">62</b></span><span>对阵 <b class="oy-num">880</b></span><span>专题 <b class="oy-num">24</b></span></span>
            </a>
          </li>
          <li>
            <a class="news-season__link" href="#entries">
              <span class="news-season__code oy-num">2015/16</span>
              <span class="news-season__figs"><span>签表 <b class="oy-num">78</b></span><span>对阵 <b class="oy-num">1,120</b></span><span>专题 <b class="oy-num">30</b></span></span>
            </a>
          </li>
          <li>
            <a class="news-season__link" href="#entries">
              <span class="news-season__code oy-num">2016/17</span>
              <span class="news-season__figs"><span>签表 <b class="oy-num">94</b></span><span>对阵 <b class="oy-num">1,520</b></span><span>专题 <b class="oy-num">36</b></span></span>
            </a>
          </li>
          <li>
            <a class="news-season__link" href="#entries">
              <span class="news-season__code oy-num">2017/18</span>
              <span class="news-season__figs"><span>签表 <b class="oy-num">106</b></span><span>对阵 <b class="oy-num">1,860</b></span><span>专题 <b class="oy-num">42</b></span></span>
            </a>
          </li>
          <li>
            <a class="news-season__link" href="#entries">
              <span class="news-season__code oy-num">2018/19</span>
              <span class="news-season__figs"><span>签表 <b class="oy-num">118</b></span><span>对阵 <b class="oy-num">2,180</b></span><span>专题 <b class="oy-num">48</b></span></span>
            </a>
          </li>
          <li>
            <a class="news-season__link" href="#entries">
              <span class="news-season__code oy-num">2019/20</span>
              <span class="news-season__figs"><span>签表 <b class="oy-num">126</b></span><span>对阵 <b class="oy-num">2,300</b></span><span>专题 <b class="oy-num">54</b></span></span>
            </a>
          </li>
          <li>
            <a class="news-season__link" href="#entries">
              <span class="news-season__code oy-num">2020/21</span>
              <span class="news-season__figs"><span>签表 <b class="oy-num">128</b></span><span>对阵 <b class="oy-num">2,400</b></span><span>专题 <b class="oy-num">60</b></span></span>
            </a>
          </li>
          <li>
            <a class="news-season__link" href="#entries">
              <span class="news-season__code oy-num">2021/22</span>
              <span class="news-season__figs"><span>签表 <b class="oy-num">134</b></span><span>对阵 <b class="oy-num">2,600</b></span><span>专题 <b class="oy-num">66</b></span></span>
            </a>
          </li>
          <li>
            <a class="news-season__link" href="#entries">
              <span class="news-season__code oy-num">2022/23</span>
              <span class="news-season__figs"><span>签表 <b class="oy-num">146</b></span><span>对阵 <b class="oy-num">2,900</b></span><span>专题 <b class="oy-num">72</b></span></span>
            </a>
          </li>
          <li>
            <a class="news-season__link" href="#entries">
              <span class="news-season__code oy-num">2023/24</span>
              <span class="news-season__figs"><span>签表 <b class="oy-num">164</b></span><span>对阵 <b class="oy-num">3,800</b></span><span>专题 <b class="oy-num">80</b></span></span>
            </a>
          </li>
          <li>
            <a class="news-season__link" href="#entries">
              <span class="news-season__code oy-num">2024/25</span>
              <span class="news-season__figs"><span>签表 <b class="oy-num">178</b></span><span>对阵 <b class="oy-num">4,200</b></span><span>专题 <b class="oy-num">92</b></span></span>
            </a>
          </li>
        </ol>

        <div class="oy-evidence news-evidence">
          <p class="oy-evidence__label">覆盖边界</p>
          <p>专题篇数以发布条目计数，一条目对应一个数据模块；同一赛季的多轮合辑计为一条。2013/14 赛季起点为一项地区杯赛的 24 支球队，早期赛季的球队覆盖少于当前范围，跨赛季比较时请以签表张数与对阵场次为准，不要直接用在册球队数做比值。存在缺口的部分会在对应条目内写明缺哪一轮、缺哪类字段。</p>
        </div>
      </section>

      <section class="oy-section news-section" data-section id="series">
        <div class="news-sec-head">
          <p class="oy-section__no">03</p>
          <h2 class="oy-h2">四条专题线</h2>
          <p class="oy-meta news-sec-head__meta">四条线各自盯住一类记录，一条条目只讲一个数据模块，避免读者在同一篇里既要看签表又要核对比分。</p>
        </div>

        <div class="news-lines">

          <article class="oy-panel news-line" id="line-draw">
            <p class="oy-panel__eyebrow">线 01 · 随抽签结果产出</p>
            <h3 class="oy-panel__title">抽签解读</h3>
            <p>以签表为唯一主角，处理对阵位置、档位归属与轮次推进关系。抽签结束后 6 小时内发布，先出结构说明，再补跨赛季的口径对齐。</p>
            <p class="news-line__fields">引用字段：签表编号 / 轮次编号 / 对阵序号 / 档位归属 / 赛程序号</p>
            <div class="news-line__media">
              <img loading="lazy" decoding="async" src="{zhanqunpic:h:1000w:1000}" width="1000" height="1000" alt="抽象战术板线条与节点，斜线分割画面，红橙仅标记一个节点">
            </div>
          </article>

          <article class="oy-panel news-line" id="line-loan">
            <p class="oy-panel__eyebrow">线 02 · 随注册窗口产出</p>
            <h3 class="oy-panel__title">租借追踪</h3>
            <p>以名单为唯一主角，记录租借条目的新增、终止与沿用。每条变动都挂到具体的对阵锚点上，方便顺着签表回看名单是在哪一轮变化的。</p>
            <p class="news-line__fields">引用字段：名单版本 / 变动类型 / 生效轮次 / 对阵锚点</p>
            <div class="news-line__media news-line__media--tall">
              <img loading="lazy" decoding="async" src="{zhanqunpic:h:1400w:1000}" width="1000" height="1400" alt="球员背影剪影行走在通道中，面部与队服细节不可辨认">
            </div>
          </article>

          <article class="oy-panel news-line" id="line-referee">
            <p class="oy-panel__eyebrow">线 03 · 每周巡检一次</p>
            <h3 class="oy-panel__title">裁判指派观察</h3>
            <p>只处理指派记录：主裁、助理裁判与第四官员在淘汰轮次中的分布变化，以及同一场次指派的先后修订。观察以分布与次数说话，不做判罚评价。</p>
            <p class="news-line__fields">引用字段：指派编号 / 角色 / 场次编号 / 修订序次</p>
          </article>

          <article class="oy-panel news-line" id="line-report">
            <p class="oy-panel__eyebrow">线 04 · 随轮次结束产出</p>
            <h3 class="oy-panel__title">战报汇编</h3>
            <p>把一轮比赛的比分、阵容与关键记录按对阵归位，形成可直接引用的轮次合辑。合辑附带该轮的核对表，标出仍待确认的字段。</p>
            <p class="news-line__fields">引用字段：场次编号 / 比分 / 阵容条目 / 核对状态</p>
          </article>

        </div>
      </section>

      <section class="oy-section news-section" data-section id="entries">
        <div class="news-sec-head">
          <p class="oy-section__no">04</p>
          <h2 class="oy-h2">近期条目</h2>
          <p class="oy-meta news-sec-head__meta">按发布时间倒序的条目清单，时间一律用相对表述，便于对照你正在追的那一轮。</p>
        </div>

        <ol class="news-entries">
          <li>
            <p class="news-entries__tag"><span class="news-tag">抽签解读</span></p>
            <h3 class="oy-h4 news-entries__title">洲际杯淘汰轮签表变动对照：两处对阵换位与档位影响</h3>
            <p class="news-entries__time">抽签结束后 6 小时</p>
          </li>
          <li>
            <p class="news-entries__tag"><span class="news-tag">租借追踪</span></p>
            <h3 class="oy-h4 news-entries__title">地区杯小组轮租借名单追踪：本轮新增 14 条注册变动</h3>
            <p class="news-entries__time">上一轮结束后 12 小时内</p>
          </li>
          <li>
            <p class="news-entries__tag"><span class="news-tag">裁判指派观察</span></p>
            <h3 class="oy-h4 news-entries__title">淘汰轮次主裁与第四官员的分布变化</h3>
            <p class="news-entries__time">每周口径巡检</p>
          </li>
          <li>
            <p class="news-entries__tag"><span class="news-tag">战报汇编</span></p>
            <h3 class="oy-h4 news-entries__title">地区杯小组轮 36 场战报按对阵归位</h3>
            <p class="news-entries__time">上一轮结束后 12 小时内</p>
          </li>
          <li>
            <p class="news-entries__tag"><span class="news-tag">抽签解读</span></p>
            <h3 class="oy-h4 news-entries__title">跨赛季口径复盘：轮次命名差异与对齐方式</h3>
            <p class="news-entries__time">近 3 个赛季</p>
          </li>
          <li>
            <p class="news-entries__tag"><span class="news-tag">租借追踪</span></p>
            <h3 class="oy-h4 news-entries__title">名单与签表交叉核对：注册窗口前后的条目同步</h3>
            <p class="news-entries__time">本赛季</p>
          </li>
          <li>
            <p class="news-entries__tag"><span class="news-tag">裁判指派观察</span></p>
            <h3 class="oy-h4 news-entries__title">助理裁判与第四官员的字段区分补录说明</h3>
            <p class="news-entries__time">每周口径巡检</p>
          </li>
          <li>
            <p class="news-entries__tag"><span class="news-tag">战报汇编</span></p>
            <h3 class="oy-h4 news-entries__title">比分修订记录：三处更正与保留的修订标记</h3>
            <p class="news-entries__time">本赛季</p>
          </li>
        </ol>

        <p class="news-entries__foot">需要按某一类记录单独回看，可用左侧栏目索引直接跳到对应的专题线；<a class="news-link" href="/knowledge/">知识中心</a>里维护着这四类记录共用的 46 个字段释义。</p>
      </section>

      <section class="oy-section news-section" data-section id="cadence">
        <div class="news-sec-head">
          <p class="oy-section__no">05</p>
          <h2 class="oy-h2">更新节奏</h2>
          <p class="oy-meta news-sec-head__meta">三个固定节点决定了这一页什么时候出现新条目，也决定了你在什么时间回来能看到完整内容。</p>
        </div>

        <div class="news-cadence">
          <div class="news-cadence__item">
            <p class="news-cadence__key oy-num">6h</p>
            <h3 class="oy-h4">抽签结束后 6 小时</h3>
            <p>发布当轮签表与签表解读，先把对阵结构落定，跨赛季对照与口径说明在随后的追加修订中补齐。</p>
          </div>
          <div class="news-cadence__item">
            <p class="news-cadence__key oy-num">12h</p>
            <h3 class="oy-h4">每轮结束后 12 小时</h3>
            <p>把战报按轮次归入对应对阵，同步更新该轮的租借名单变动，两者在同一条对阵锚点上对齐。</p>
          </div>
          <div class="news-cadence__item">
            <p class="news-cadence__key oy-num">7d</p>
            <h3 class="oy-h4">每周口径巡检</h3>
            <p>检查一遍全站口径：轮次命名、赛季代码、字段取值是否一致；发现偏差即刻在原条目追加修订标记。</p>
          </div>
        </div>

        <div class="oy-panel oy-panel--tint news-subscribe">
          <p class="oy-panel__eyebrow">跟进方式</p>
          <h3 class="oy-panel__title">按赛季跟进更新</h3>
          <p>如果你只关心某几个赛季或某一条专题线，把赛季代码与栏目名写清，发送到<a class="news-link" href="/reach-us/">联系入口</a>公布的客服邮箱即可，专员会在工作日 9:00-18:00 处理。页面上也可以直接收藏赛季刻度对应的位置，回来时从同一段刻度继续往下读。关于安装与签表数据的咨询走同一渠道，一般 2 个工作日内答复。</p>
        </div>
      </section>

      <section class="oy-section news-section" data-section id="archive">
        <div class="news-sec-head">
          <p class="oy-section__no">06</p>
          <h2 class="oy-h2">归档与引用</h2>
          <p class="oy-meta news-sec-head__meta">已发布的专题不删除，只追加。条目更新后旧版本仍可回溯，改动处保留修订标记。</p>
        </div>

        <div class="news-archive">
          <div class="news-archive__col">
            <h3 class="oy-h4">归档规则</h3>
            <ul class="news-list">
              <li>专题按赛季代码与轮次编号两级归档，抽签类挂赛季，战报类挂轮次。</li>
              <li>修订采用追加方式：原条目保留，新版本标注修订序次与修改范围。</li>
              <li>每赛季末进行全量校准，赛季归档页上的签表张数与对阵场次以校准后数字为准。</li>
              <li>撤销一条结论时会写明原因与替代口径，不做静默改写。</li>
            </ul>
          </div>
          <div class="news-archive__col">
            <h3 class="oy-h4">引用格式</h3>
            <p class="news-cite">【欧亿体育安装 · 专题中心】《洲际杯淘汰轮签表变动对照》· 2024/25 · 淘汰轮 · champion-ouyi.com.cn/topics/</p>
            <p class="news-archive__note">引用时请连同赛季代码与轮次编号一并写出，便于他人复核到具体的签表节点。若两处数字不一致，可先按<a class="news-link" href="/knowledge/">知识中心</a>给出的排查顺序核对字段，再通过联系入口提交修订。</p>
          </div>
        </div>
      </section>

    </div>
  </div>
</main>

.page-news {
  --news-rail-w: 268px;
  --news-hair: 1px solid var(--oy-sand);
  background: var(--oy-cream);
  color: var(--oy-ink);
  font-family: var(--oy-sans);
}

.page-news [id] {
  scroll-margin-top: 118px;
}

.page-news .news-link {
  color: var(--oy-crimson);
  text-decoration: underline;
  text-underline-offset: 3px;
}

.page-news .news-cmd {
  background: var(--oy-cream-deep);
  border-bottom: var(--news-hair);
}

.page-news .news-cmd__inner {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px 22px;
  padding-block: 9px;
  font-family: var(--oy-mono);
  font-size: var(--oy-fs-1);
  color: var(--oy-taupe);
}

.page-news .news-cmd__crumbs {
  display: flex;
  align-items: center;
  gap: 6px;
  margin: 0;
}

.page-news .news-cmd__crumbs a {
  color: var(--oy-navy);
  text-decoration: none;
}

.page-news .news-cmd__crumbs a:hover {
  text-decoration: underline;
}

.page-news .news-cmd__filter,
.page-news .news-cmd__count {
  margin: 0;
}

.page-news .news-cmd__count {
  margin-left: auto;
  color: var(--oy-navy);
}

.page-news .news-hero {
  position: relative;
  overflow: hidden;
  border-bottom: var(--news-hair);
  background: var(--oy-cream);
}

.page-news .news-hero::before {
  content: "";
  position: absolute;
  z-index: 0;
  top: -46%;
  right: -10%;
  width: 56%;
  height: 190%;
  transform: rotate(9deg);
  background: linear-gradient(155deg, var(--oy-navy) 0%, var(--oy-navy-soft) 55%, var(--oy-green) 100%);
  opacity: .08;
  pointer-events: none;
}

.page-news .news-hero__inner {
  position: relative;
  z-index: 1;
  display: grid;
  gap: 30px;
  padding-block: clamp(30px, 6vw, 62px);
}

.page-news .news-hero__kicker {
  margin: 0 0 10px;
  font-family: var(--oy-mono);
  font-size: var(--oy-fs-1);
  letter-spacing: .16em;
  color: var(--oy-ochre);
}

.page-news .news-hero__h1 {
  margin: 0 0 16px;
  max-width: 16em;
  font-size: clamp(28px, 5.4vw, 46px);
  line-height: 1.2;
}

.page-news .news-hero__lede {
  max-width: 34em;
  margin: 0;
  color: var(--oy-taupe);
}

.page-news .news-hero__links {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 22px 0 0;
}

.page-news .news-hero__aside {
  padding: 20px 20px 24px;
  background: var(--oy-navy);
  color: var(--oy-cream);
  clip-path: polygon(0 0, 100% 0, 100% calc(100% - 20px), calc(100% - 20px) 100%, 0 100%);
}

.page-news .news-hero__asideLabel {
  margin: 0 0 14px;
  font-family: var(--oy-mono);
  font-size: var(--oy-fs-1);
  letter-spacing: .14em;
  color: var(--oy-green-soft);
}

.page-news .news-hero__stats {
  display: grid;
  gap: 12px;
  margin: 0 0 16px;
}

.page-news .news-hero__stats > div {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  padding-bottom: 8px;
  border-bottom: 1px solid rgba(244, 237, 225, .18);
}

.page-news .news-hero__stats dt {
  font-size: var(--oy-fs-2);
  color: var(--oy-green-soft);
}

.page-news .news-hero__stats dd {
  margin: 0;
  font-size: var(--oy-fs-5);
  font-variant-numeric: tabular-nums;
  color: var(--oy-cream);
}

.page-news .news-hero__asideNote {
  margin: 0;
  font-size: var(--oy-fs-1);
  line-height: 1.7;
  color: var(--oy-green-soft);
}

.page-news .news-board {
  display: grid;
  gap: 34px;
  padding-block: clamp(26px, 5vw, 52px) clamp(40px, 7vw, 80px);
}

.page-news .news-rail {
  display: grid;
  gap: 24px;
  align-content: start;
}

.page-news .news-rail__block {
  padding-top: 10px;
  border-top: 2px solid var(--oy-navy);
}

.page-news .news-rail__label {
  margin: 0 0 10px;
  font-family: var(--oy-mono);
  font-size: var(--oy-fs-1);
  letter-spacing: .16em;
  color: var(--oy-ochre);
}

.page-news .news-rail__chapters {
  display: grid;
  gap: 2px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.page-news .news-rail__chapters a {
  display: flex;
  gap: 10px;
  padding: 6px 8px;
  border-left: 2px solid transparent;
  color: var(--oy-ink);
  font-size: var(--oy-fs-2);
  text-decoration: none;
}

.page-news .news-rail__chapters a .oy-num {
  color: var(--oy-taupe);
}

.page-news .news-rail__chapters a:hover,
.page-news .news-rail__chapters a:focus-visible {
  background: var(--oy-cream-deep);
  border-left-color: var(--oy-ochre);
}

.page-news .news-rail__seasons {
  display: grid;
  gap: 0;
  margin: 0;
  padding: 0;
  list-style: none;
}

.page-news .news-rail__seasons .news-season {
  display: block;
  width: 100%;
  padding: 5px 9px;
  border: 0;
  border-left: 3px solid var(--oy-sand);
  background: none;
  color: var(--oy-taupe);
  font-family: var(--oy-mono);
  font-size: var(--oy-fs-1);
  font-variant-numeric: tabular-nums;
  text-align: left;
  cursor: pointer;
  transition: background-color .16s var(--oy-ease), border-color .16s var(--oy-ease), color .16s var(--oy-ease);
}

.page-news .news-rail__seasons .news-season:hover,
.page-news .news-rail__seasons .news-season:focus-visible {
  background: var(--oy-cream-deep);
  color: var(--oy-navy);
}

.page-news .news-rail__seasons .news-season[aria-pressed="true"] {
  border-left-color: var(--oy-navy);
  background: var(--oy-cream-deep);
  color: var(--oy-navy);
  font-weight: 700;
}

.page-news .news-rail__chips {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.page-news .news-rail__chips a {
  display: inline-block;
  padding: 4px 9px;
  border: var(--news-hair);
  color: var(--oy-navy);
  font-family: var(--oy-mono);
  font-size: var(--oy-fs-1);
  text-decoration: none;
}

.page-news .news-rail__chips a:hover,
.page-news .news-rail__chips a:focus-visible {
  background: var(--oy-navy);
  border-color: var(--oy-navy);
  color: var(--oy-cream);
}

.page-news .news-section {
  margin-bottom: clamp(42px, 7vw, 76px);
}

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

.page-news .news-sec-head {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 2px 14px;
  padding-bottom: 12px;
  margin-bottom: 22px;
  border-bottom: 2px solid var(--oy-navy);
}

.page-news .news-sec-head .oy-section__no {
  margin: 0;
  font-family: var(--oy-mono);
  font-size: var(--oy-fs-4);
  font-weight: 700;
  color: var(--oy-ochre);
  line-height: 1.1;
}

.page-news .news-sec-head .oy-h2 {
  margin: 0;
  font-size: clamp(21px, 3vw, 30px);
}

.page-news .news-sec-head__meta {
  grid-column: 2;
  margin: 0;
  max-width: 40em;
  color: var(--oy-taupe);
}

.page-news .news-rounds {
  display: grid;
  gap: 1px;
  margin: 0 0 24px;
  padding: 0;
  list-style: none;
}

.page-news .news-rounds__item {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 6px 14px;
  padding: 9px 14px;
  background: var(--oy-cream-deep);
  border-left: 3px solid var(--oy-green);
  font-size: var(--oy-fs-2);
  color: var(--oy-ink);
  clip-path: polygon(0 0, 100% 0, calc(100% - 12px) 100%, 0 100%);
}

.page-news .news-rounds__item .oy-round-band__no {
  font-family: var(--oy-mono);
  font-size: var(--oy-fs-1);
  letter-spacing: .1em;
  color: var(--oy-ochre);
}

.page-news .news-feature {
  display: grid;
  gap: 0;
  border-top: var(--news-hair);
}

.page-news .news-card {
  padding: 20px 0 22px;
  border-bottom: var(--news-hair);
  transition: transform .18s var(--oy-ease);
}

.page-news .news-card:last-child {
  border-bottom: 0;
}

.page-news .news-card:hover {
  transform: translateY(-2px);
}

.page-news .news-card--lead {
  display: grid;
  gap: 18px;
  padding-top: 22px;
}

.page-news .news-card__media {
  position: relative;
  overflow: hidden;
  background: linear-gradient(135deg, var(--oy-navy), var(--oy-green));
  clip-path: polygon(0 0, 100% 0, 100% calc(100% - 20px), calc(100% - 20px) 100%, 0 100%);
}

.page-news .news-card__media img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: cover;
  filter: saturate(.5) contrast(1.06) brightness(.94);
}

.page-news .news-card__media::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(140deg, rgba(15, 46, 76, .5), rgba(46, 107, 79, .3));
  pointer-events: none;
}

.page-news .news-card__top {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 8px 14px;
  margin: 0 0 10px;
}

.page-news .news-card__time {
  font-family: var(--oy-mono);
  font-size: var(--oy-fs-1);
  color: var(--oy-taupe);
}

.page-news .news-card .oy-h3 {
  margin: 0 0 10px;
  font-size: var(--oy-fs-4);
  line-height: 1.4;
}

.page-news .news-card p {
  margin: 0;
  max-width: 34em;
  font-size: var(--oy-fs-2);
  line-height: 1.75;
  color: var(--oy-ink);
}

.page-news .news-card__points {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px 12px;
  margin-top: 12px !important;
  font-family: var(--oy-mono);
  font-size: var(--oy-fs-1);
  color: var(--oy-taupe);
}

.page-news .news-card__points span:first-child {
  padding: 2px 7px;
  background: rgba(46, 107, 79, .12);
  border-left: 2px solid var(--oy-green);
  color: var(--oy-green);
}

.page-news .news-card:hover .news-card__points {
  color: var(--oy-navy);
}

.page-news .news-tag {
  display: inline-block;
  padding: 3px 8px;
  background: rgba(46, 107, 79, .12);
  border-left: 2px solid var(--oy-green);
  color: var(--oy-green);
  font-family: var(--oy-mono);
  font-size: var(--oy-fs-1);
  letter-spacing: .04em;
}

.page-news .news-bracket {
  display: block;
  width: 100%;
  max-width: 260px;
  height: auto;
  margin: 16px 0 0;
  overflow: visible;
}

.page-news .news-bracket path {
  fill: none;
  stroke: var(--oy-sand);
  stroke-width: 1.6;
}

.page-news .news-bracket circle {
  fill: var(--oy-navy);
  opacity: .75;
}

.page-news .news-bracket .news-bracket__final {
  fill: var(--oy-green);
  opacity: 1;
}

.page-news .news-figure {
  margin: 0 0 26px;
}

.page-news .news-figure__frame {
  position: relative;
  overflow: hidden;
  background: linear-gradient(120deg, var(--oy-navy), var(--oy-green));
  clip-path: polygon(0 0, 100% 0, 100% calc(100% - 22px), calc(100% - 22px) 100%, 0 100%);
}

.page-news .news-figure__frame img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: cover;
  filter: saturate(.6) contrast(1.04);
}

.page-news .news-figure .oy-figure__cap {
  margin-top: 10px;
  font-family: var(--oy-mono);
  font-size: var(--oy-fs-1);
  color: var(--oy-taupe);
}

.page-news .news-seasons {
  display: grid;
  gap: 0;
  margin: 0 0 24px;
  padding: 0;
  list-style: none;
  border-top: var(--news-hair);
}

.page-news .news-seasons li {
  border-bottom: var(--news-hair);
}

.page-news .news-season__link {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 4px 16px;
  padding: 12px 6px;
  color: var(--oy-ink);
  text-decoration: none;
  transition: background-color .16s var(--oy-ease), padding-left .16s var(--oy-ease);
}

.page-news .news-season__link:hover,
.page-news .news-season__link:focus-visible {
  background: var(--oy-cream-deep);
  padding-left: 12px;
}

.page-news .news-season__code {
  font-size: var(--oy-fs-3);
  font-weight: 700;
  color: var(--oy-navy);
}

.page-news .news-season__figs {
  display: flex;
  flex-wrap: wrap;
  gap: 4px 18px;
  font-family: var(--oy-mono);
  font-size: var(--oy-fs-1);
  color: var(--oy-taupe);
}

.page-news .news-season__figs b {
  color: var(--oy-ink);
  font-weight: 700;
}

.page-news .news-evidence {
  padding: 14px 16px 16px;
  background: var(--oy-cream-deep);
}

.page-news .news-evidence p:last-child {
  margin: 0;
  max-width: 42em;
  font-size: var(--oy-fs-2);
  line-height: 1.75;
  color: var(--oy-ink);
}

.page-news .news-lines {
  display: grid;
  gap: 22px;
}

.page-news .news-line {
  padding: 18px 18px 20px;
}

.page-news .news-line p {
  margin: 0 0 12px;
  max-width: 34em;
  font-size: var(--oy-fs-2);
  line-height: 1.75;
}

.page-news .news-line .oy-panel__title {
  margin: 6px 0 12px;
  font-size: var(--oy-fs-4);
}

.page-news .news-line__fields {
  padding-top: 10px;
  border-top: var(--news-hair);
  font-family: var(--oy-mono);
  font-size: var(--oy-fs-1) !important;
  color: var(--oy-taupe);
}

.page-news .news-line__media {
  margin-top: 14px;
  overflow: hidden;
  background: linear-gradient(135deg, var(--oy-navy), var(--oy-green));
  clip-path: polygon(0 0, 100% 0, 100% calc(100% - 16px), calc(100% - 16px) 100%, 0 100%);
}

.page-news .news-line__media img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: cover;
  filter: saturate(.5) contrast(1.05) brightness(.94);
}

.page-news .news-line__media--tall img {
  aspect-ratio: 5 / 7;
}

.page-news .news-entries {
  display: grid;
  gap: 0;
  margin: 0;
  padding: 0;
  list-style: none;
  border-top: 2px solid var(--oy-navy);
  counter-reset: news-entry;
}

.page-news .news-entries li {
  display: grid;
  gap: 6px 18px;
  padding: 16px 4px;
  border-bottom: var(--news-hair);
  counter-increment: news-entry;
}

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

.page-news .news-entries__title {
  position: relative;
  margin: 0;
  padding-left: 2.6em;
  font-size: var(--oy-fs-3);
  line-height: 1.6;
}

.page-news .news-entries__title::before {
  content: counter(news-entry, decimal-leading-zero);
  position: absolute;
  left: 0;
  top: .18em;
  font-family: var(--oy-mono);
  font-size: var(--oy-fs-1);
  font-weight: 400;
  color: var(--oy-ochre);
}

.page-news .news-entries__time {
  margin: 0;
  padding-left: 2.6em;
  font-family: var(--oy-mono);
  font-size: var(--oy-fs-1);
  color: var(--oy-taupe);
}

.page-news .news-entries__foot {
  margin: 20px 0 0;
  max-width: 40em;
  font-size: var(--oy-fs-2);
  line-height: 1.75;
  color: var(--oy-taupe);
}

.page-news .news-cadence {
  display: grid;
  gap: 18px;
  margin-bottom: 24px;
}

.page-news .news-cadence__item {
  padding: 16px 16px 18px;
  background: var(--oy-cream-deep);
  border-left: 3px solid var(--oy-green);
}

.page-news .news-cadence__key {
  margin: 0 0 8px;
  font-size: var(--oy-fs-5);
  font-weight: 700;
  color: var(--oy-green);
}

.page-news .news-cadence__item .oy-h4 {
  margin: 0 0 8px;
  font-size: var(--oy-fs-3);
}

.page-news .news-cadence__item p:last-child {
  margin: 0;
  font-size: var(--oy-fs-2);
  line-height: 1.75;
  color: var(--oy-ink);
}

.page-news .news-subscribe p:last-child {
  margin: 0;
  max-width: 42em;
  font-size: var(--oy-fs-2);
  line-height: 1.8;
}

.page-news .news-archive {
  display: grid;
  gap: 26px;
}

.page-news .news-archive .oy-h4 {
  margin: 0 0 12px;
  font-size: var(--oy-fs-3);
}

.page-news .news-list {
  display: grid;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.page-news .news-list li {
  position: relative;
  padding-left: 18px;
  font-size: var(--oy-fs-2);
  line-height: 1.75;
}

.page-news .news-list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: .72em;
  width: 8px;
  height: 1px;
  background: var(--oy-ochre);
}

.page-news .news-cite {
  margin: 0 0 12px;
  padding: 16px 18px;
  background: var(--oy-navy);
  color: var(--oy-cream);
  font-family: var(--oy-mono);
  font-size: var(--oy-fs-2);
  line-height: 1.7;
  overflow-x: auto;
  clip-path: polygon(0 0, 100% 0, 100% calc(100% - 16px), calc(100% - 16px) 100%, 0 100%);
}

.page-news .news-archive__note {
  margin: 0;
  max-width: 38em;
  font-size: var(--oy-fs-2);
  line-height: 1.75;
  color: var(--oy-taupe);
}

@media (max-width: 1079px) {
  .page-news .news-rail__chapters {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .page-news .news-rail__seasons {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .page-news .news-rail__seasons .news-season {
    text-align: center;
    border-left: 0;
    border-bottom: 3px solid var(--oy-sand);
  }

  .page-news .news-rail__seasons .news-season[aria-pressed="true"] {
    border-left: 0;
    border-bottom-color: var(--oy-navy);
  }
}

@media (min-width: 640px) {
  .page-news .news-seasons {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 28px;
  }

  .page-news .news-cadence {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .page-news .news-entries li {
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: start;
  }

  .page-news .news-entries__tag {
    grid-column: 1 / -1;
  }

  .page-news .news-entries__time {
    grid-column: 2;
    grid-row: 2;
    padding-left: 0;
    text-align: right;
    white-space: nowrap;
  }
}

@media (min-width: 800px) {
  .page-news .news-feature {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 32px;
  }

  .page-news .news-card--lead {
    grid-column: 1 / -1;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr);
    align-items: center;
    column-gap: 30px;
  }

  .page-news .news-lines {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: start;
  }

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

@media (min-width: 1080px) {
  .page-news .news-board {
    grid-template-columns: var(--news-rail-w) minmax(0, 1fr);
    column-gap: 48px;
    align-items: start;
  }

  .page-news .news-rail {
    position: sticky;
    top: 92px;
    max-height: calc(100vh - 120px);
    overflow-y: auto;
  }

  .page-news .news-hero__inner {
    grid-template-columns: minmax(0, 7fr) minmax(0, 4fr);
    align-items: end;
    column-gap: 46px;
  }

  .page-news .news-rounds {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (prefers-reduced-motion: reduce) {
  .page-news .news-card,
  .page-news .news-season__link,
  .page-news .news-rail__seasons .news-season {
    transition: none;
  }

  .page-news .news-card:hover {
    transform: none;
  }
}
