.page-news {
  --news-max: 1180px;
  --news-pad: 20px;
  --nc-ink: #16203C;
  --nc-dim: #55627E;
  --nc-line: rgba(22, 32, 60, 0.16);
  background: var(--bm-base);
  color: var(--bm-paper);
  font-family: var(--bm-font-body);
  line-height: 1.85;
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
}

.page-news .mono {
  font-family: var(--bm-font-mono);
}

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

.page-news a:focus-visible,
.page-news summary:focus-visible,
.page-news label:focus-visible {
  outline: 2px solid var(--bm-blue);
  outline-offset: 2px;
}

.page-news .news-inline-link {
  color: var(--bm-lime);
  text-decoration: none;
  border-bottom: 1px solid rgba(200, 255, 77, 0.4);
}

.page-news .news-inline-link:hover {
  border-bottom-color: var(--bm-lime);
}

/* ---------- 面包屑 ---------- */

.page-news .news-crumbs {
  padding: 14px 0 8px;
}

.page-news .bm-crumbs__list {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0;
  margin: 0;
  padding: 0;
  list-style: none;
  font-size: 0.76rem;
  color: var(--bm-silver);
}

.page-news .bm-crumbs__item {
  display: inline-flex;
  align-items: center;
}

.page-news .bm-crumbs__item + .bm-crumbs__item::before {
  content: "/";
  margin: 0 8px;
  color: rgba(154, 166, 190, 0.45);
}

.page-news .bm-crumbs__link {
  color: var(--bm-silver);
  text-decoration: none;
  border-bottom: 1px solid transparent;
  transition: color 0.18s ease, border-color 0.18s ease;
}

.page-news .bm-crumbs__link:hover {
  color: var(--bm-lime);
  border-bottom-color: var(--bm-lime);
}

/* ---------- 栏目头 ---------- */

.page-news .news-masthead {
  position: relative;
  border-bottom: 1px solid var(--bm-line-strong);
}

.page-news .news-masthead__visual {
  position: relative;
  height: 172px;
  overflow: hidden;
  border-bottom: 1px solid var(--bm-line);
}

.page-news .news-masthead__visual img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0.6;
}

.page-news .news-masthead__visual::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, rgba(10, 16, 36, 0.18) 0%, rgba(10, 16, 36, 0.94) 100%),
    repeating-linear-gradient(180deg, rgba(154, 166, 190, 0.14) 0 1px, transparent 1px 28px);
  pointer-events: none;
}

.page-news .news-masthead__inner {
  padding-top: 26px;
  padding-bottom: 30px;
}

.page-news .news-masthead__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 0 0 16px;
  font-size: 0.74rem;
  letter-spacing: 0.14em;
  color: var(--bm-lime);
}

.page-news .news-masthead__title {
  margin: 0 0 18px;
  max-width: 22em;
  font-family: var(--bm-font-title);
  font-weight: 900;
  font-size: clamp(1.7rem, 1.15rem + 3.6vw, 3rem);
  line-height: 1.08;
  letter-spacing: -0.01em;
  color: var(--bm-paper);
}

.page-news .news-masthead__lede {
  margin: 0 0 22px;
  max-width: 40rem;
  font-size: 0.98rem;
  line-height: 1.85;
  color: var(--bm-silver);
}

.page-news .news-jump {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0 0 26px;
  padding: 0;
  list-style: none;
}

.page-news .news-jump a {
  display: block;
  padding: 5px 11px;
  border: 1px solid var(--bm-line);
  font-size: 0.76rem;
  color: var(--bm-silver);
  text-decoration: none;
  transition: border-color 0.18s ease, color 0.18s ease;
}

.page-news .news-jump a:hover {
  border-color: var(--bm-lime);
  color: var(--bm-lime);
}

.page-news .news-stats {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1px;
  background: var(--bm-line);
  border: 1px solid var(--bm-line);
}

.page-news .news-stats .bm-metric {
  background: var(--bm-base);
  padding: 14px 16px 15px;
  margin: 0;
}

.page-news .bm-metric__value {
  margin: 0;
  font-family: var(--bm-font-mono);
  font-size: 1.55rem;
  font-weight: 700;
  line-height: 1.2;
  color: var(--bm-lime);
  letter-spacing: -0.02em;
}

.page-news .news-stats__unit {
  margin-left: 3px;
  font-size: 0.72rem;
  font-weight: 400;
  color: var(--bm-silver);
}

.page-news .bm-metric__label {
  margin: 6px 0 0;
  font-size: 0.75rem;
  line-height: 1.5;
  color: var(--bm-silver);
}

/* ---------- 标签筛选条 ---------- */

.page-news .news-filterbar {
  border-bottom: 1px solid var(--bm-line);
  padding: 16px 0 18px;
  background: var(--bm-panel);
}

.page-news .news-filterbar__label {
  margin: 0;
  font-size: 0.7rem;
  letter-spacing: 0.12em;
  color: var(--bm-silver);
}

.page-news .news-filter {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 10px;
}

.page-news .news-filter__radio {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
}

.page-news .news-filter__chip {
  display: inline-flex;
  align-items: center;
  padding: 7px 14px;
  border: 1px solid var(--bm-line-strong);
  font-size: 0.84rem;
  line-height: 1.4;
  color: var(--bm-silver);
  cursor: pointer;
  user-select: none;
  transition: background-color 0.18s ease, color 0.18s ease, border-color 0.18s ease;
}

.page-news .news-filter__chip:hover {
  border-color: var(--bm-lime);
  color: var(--bm-lime);
}

.page-news .news-filter__radio:checked + .news-filter__chip {
  background: var(--bm-lime);
  border-color: var(--bm-lime);
  color: var(--bm-base);
  font-weight: 700;
}

.page-news .news-filter__radio:focus-visible + .news-filter__chip {
  outline: 2px solid var(--bm-blue);
  outline-offset: 2px;
}

/* ---------- 章节骨架 ---------- */

.page-news .bm-section {
  padding: 36px 0 40px;
  border-top: 1px solid var(--bm-line);
}

.page-news .bm-section__head {
  margin-bottom: 24px;
}

.page-news .bm-section__num {
  margin: 0;
  font-size: 0.72rem;
  letter-spacing: 0.16em;
  color: var(--bm-orange);
}

.page-news .bm-section__title {
  margin: 8px 0 10px;
  font-family: var(--bm-font-title);
  font-weight: 800;
  font-size: clamp(1.35rem, 1.05rem + 1.5vw, 2rem);
  line-height: 1.2;
  color: var(--bm-paper);
}

.page-news .bm-section__note {
  margin: 0;
  max-width: 46rem;
  font-size: 0.92rem;
  line-height: 1.85;
  color: var(--bm-silver);
}

/* ---------- 时间线 ---------- */

.page-news .news-lanes__fig {
  margin: 0 0 26px;
  border: 1px solid var(--bm-line);
  overflow: hidden;
}

.page-news .news-lanes__fig img {
  display: block;
  width: 100%;
  height: 180px;
  object-fit: cover;
  opacity: 0.78;
}

.page-news .news-lane {
  border-top: 1px solid var(--bm-line-strong);
}

.page-news .news-lane:last-of-type {
  border-bottom: 1px solid var(--bm-line-strong);
}

.page-news .news-lane__head {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 16px 0;
  cursor: pointer;
  list-style: none;
}

.page-news .news-lane__head::-webkit-details-marker {
  display: none;
}

.page-news .news-lane__stage {
  flex: none;
  padding: 3px 9px;
  font-family: var(--bm-font-mono);
  font-size: 0.72rem;
  letter-spacing: 0.1em;
  color: var(--bm-base);
  background: var(--bm-lime);
}

.page-news .news-lane__stage--summer {
  background: var(--bm-orange);
  color: #fff;
}

.page-news .news-lane__name {
  font-family: var(--bm-font-title);
  font-weight: 800;
  font-size: 1.08rem;
  line-height: 1.3;
  color: var(--bm-paper);
}

.page-news .news-lane__count {
  margin-left: auto;
  flex: none;
  font-size: 0.72rem;
  color: var(--bm-silver);
}

.page-news .news-lane__chev {
  position: relative;
  flex: none;
  width: 12px;
  height: 12px;
}

.page-news .news-lane__chev::before,
.page-news .news-lane__chev::after {
  content: "";
  position: absolute;
  background: var(--bm-silver);
  transition: transform 0.18s ease, background-color 0.18s ease;
}

.page-news .news-lane__chev::before {
  left: 0;
  top: 5px;
  width: 12px;
  height: 1px;
}

.page-news .news-lane__chev::after {
  top: 0;
  left: 5px;
  width: 1px;
  height: 12px;
}

.page-news .news-lane[open] .news-lane__chev::before {
  background: var(--bm-lime);
}

.page-news .news-lane[open] .news-lane__chev::after {
  transform: scaleY(0);
}

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

.page-news .news-entry {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 6px;
  padding: 15px 0;
  border-top: 1px solid var(--bm-line);
}

.page-news .news-entry__side {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
}

.page-news .news-entry__time {
  font-family: var(--bm-font-mono);
  font-size: 0.71rem;
  letter-spacing: 0.06em;
  color: var(--bm-silver);
  white-space: nowrap;
}

.page-news .news-entry__title {
  margin: 0 0 4px;
  font-family: var(--bm-font-title);
  font-weight: 800;
  font-size: clamp(1rem, 0.94rem + 0.32vw, 1.18rem);
  line-height: 1.35;
  color: var(--bm-paper);
  overflow-wrap: break-word;
}

.page-news .news-entry__desc {
  margin: 0;
  max-width: 62ch;
  font-size: 0.88rem;
  line-height: 1.8;
  color: var(--bm-silver);
}

.page-news .news-lane[open] .news-entry {
  animation: newsLaneIn 320ms ease both;
}

.page-news .news-lane[open] .news-entry:nth-child(2) {
  animation-delay: 40ms;
}

.page-news .news-lane[open] .news-entry:nth-child(3) {
  animation-delay: 80ms;
}

.page-news .news-lane[open] .news-entry:nth-child(4) {
  animation-delay: 120ms;
}

.page-news .news-lane[open] .news-entry:nth-child(5) {
  animation-delay: 160ms;
}

.page-news .news-lane[open] .news-entry:nth-child(6) {
  animation-delay: 200ms;
}

@keyframes newsLaneIn {
  from {
    opacity: 0;
    transform: translateY(-6px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* 标签筛选：纯 CSS 无刷新过滤 */
.page-news:has(#nf-window:checked) .news-entry:not([data-cat="window"]),
.page-news:has(#nf-draw:checked) .news-entry:not([data-cat="draw"]),
.page-news:has(#nf-away:checked) .news-entry:not([data-cat="away"]),
.page-news:has(#nf-odds:checked) .news-entry:not([data-cat="odds"]) {
  display: none;
}

/* ---------- 更新节奏（浅色呼吸区） ---------- */

.page-news .news-cadence {
  background: var(--bm-light);
  color: var(--nc-ink);
  border-top: 1px solid var(--nc-line);
  border-bottom: 1px solid var(--nc-line);
  padding: 34px 0 36px;
}

.page-news .news-cadence .bm-section__num {
  color: #B3153C;
}

.page-news .news-cadence .bm-section__title {
  color: var(--nc-ink);
}

.page-news .news-cadence .bm-section__note {
  color: var(--nc-dim);
}

.page-news .news-slots {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 1px;
  margin: 0;
  padding: 0;
  list-style: none;
  background: var(--nc-line);
  border: 1px solid var(--nc-line);
}

.page-news .news-slots__item {
  background: #fff;
  padding: 18px 18px 20px;
}

.page-news .news-slots__time {
  margin: 0 0 8px;
  font-size: 0.74rem;
  letter-spacing: 0.1em;
  color: #B3153C;
}

.page-news .news-slots__item h3 {
  margin: 0 0 8px;
  font-family: var(--bm-font-title);
  font-weight: 800;
  font-size: 1.06rem;
  line-height: 1.35;
  color: var(--nc-ink);
}

.page-news .news-slots__item p {
  margin: 0;
  font-size: 0.86rem;
  line-height: 1.8;
  color: var(--nc-dim);
}

.page-news .news-cadence__foot {
  margin: 20px 0 0;
  padding-left: 14px;
  border-left: 2px solid #B3153C;
  max-width: 48rem;
  font-size: 0.88rem;
  line-height: 1.85;
  color: var(--nc-dim);
}

/* ---------- 专题墙 ---------- */

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

.page-news .news-topic {
  display: flex;
  flex-direction: column;
  border: 1px solid var(--bm-line);
  background: var(--bm-panel);
  transition: border-color 0.2s ease, background-color 0.2s ease;
}

.page-news .news-topic:hover {
  border-color: var(--bm-line-strong);
  background: var(--bm-raised);
}

.page-news .news-topic--pressure {
  border-bottom: 2px solid var(--bm-red-b);
}

.page-news .news-topic__fig {
  margin: 0;
  overflow: hidden;
}

.page-news .news-topic__fig img {
  display: block;
  width: 100%;
  height: 186px;
  object-fit: cover;
  transition: transform 0.4s ease;
}

.page-news .news-topic:hover .news-topic__fig img {
  transform: scale(1.03);
}

.page-news .news-topic__glyph {
  margin: 0;
  padding: 26px 18px 6px;
  font-size: 3.2rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: -0.05em;
  color: var(--bm-orange);
}

.page-news .news-topic__body {
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: 10px;
  padding: 18px;
}

.page-news .news-topic__body .bm-tag {
  align-self: flex-start;
}

.page-news .news-topic__body h3 {
  margin: 0;
  font-family: var(--bm-font-title);
  font-weight: 800;
  font-size: 1.14rem;
  line-height: 1.32;
  color: var(--bm-paper);
}

.page-news .news-topic__body > p {
  margin: 0;
  font-size: 0.86rem;
  line-height: 1.8;
  color: var(--bm-silver);
}

.page-news .news-topic__meta {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 6px 12px;
  margin: auto 0 0;
  padding-top: 12px;
  border-top: 1px solid var(--bm-line);
  font-size: 0.73rem;
  color: var(--bm-silver);
}

.page-news .news-topic__meta .mono {
  color: var(--bm-lime);
}

/* ---------- 单场观察 ---------- */

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

.page-news .news-note {
  display: flex;
  flex-direction: column;
  padding: 18px 18px 20px;
  border: 1px solid var(--bm-line);
  border-left: 2px solid var(--bm-line-strong);
  background: var(--bm-base);
  transition: border-left-color 0.2s ease, background-color 0.2s ease;
}

.page-news .news-note:hover {
  border-left-color: var(--bm-orange);
  background: var(--bm-panel);
}

.page-news .news-note__meta {
  margin: 0 0 8px;
  font-family: var(--bm-font-mono);
  font-size: 0.71rem;
  letter-spacing: 0.08em;
  color: var(--bm-lime);
}

.page-news .news-note h3 {
  margin: 0 0 8px;
  font-family: var(--bm-font-title);
  font-weight: 800;
  font-size: 1.08rem;
  line-height: 1.35;
  color: var(--bm-paper);
}

.page-news .news-note p {
  margin: 0;
  font-size: 0.86rem;
  line-height: 1.8;
  color: var(--bm-silver);
}

.page-news .news-note__track {
  position: relative;
  height: 22px;
  margin-top: 18px;
  border-top: 1px solid var(--bm-line-strong);
  background-image: repeating-linear-gradient(
    to right,
    rgba(154, 166, 190, 0.22) 0 1px,
    transparent 1px 12.5%
  );
}

.page-news .news-note__mark {
  position: absolute;
  top: -3px;
  width: 6px;
  height: 6px;
  transform: translateX(-50%);
  background: var(--bm-silver);
}

.page-news .news-note__mark--hot {
  background: var(--bm-orange);
  top: -4px;
  width: 8px;
  height: 8px;
}

.page-news .news-note__scale {
  display: flex;
  justify-content: space-between;
  margin-top: 6px;
  font-family: var(--bm-font-mono);
  font-size: 0.67rem;
  color: var(--bm-silver);
}

/* ---------- 标签说明 ---------- */

.page-news .news-tagdeck {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 1px;
  background: var(--bm-line);
  border: 1px solid var(--bm-line);
}

.page-news .news-tagdeck__item {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 20px 18px 22px;
  background: var(--bm-base);
  transition: background-color 0.2s ease;
}

.page-news .news-tagdeck__item:hover {
  background: var(--bm-panel);
}

.page-news .news-tagdeck__item .bm-tag {
  align-self: flex-start;
}

.page-news .news-tagdeck__item h3 {
  margin: 0;
  font-family: var(--bm-font-title);
  font-weight: 800;
  font-size: 1.04rem;
  line-height: 1.35;
  color: var(--bm-paper);
}

.page-news .news-tagdeck__item p {
  margin: 0;
  font-size: 0.85rem;
  line-height: 1.8;
  color: var(--bm-silver);
}

/* ---------- 编辑推荐 ---------- */

.page-news .news-picks {
  margin: 0;
  padding: 0;
  list-style: none;
  border-top: 1px solid var(--bm-line-strong);
}

.page-news .news-picks__item {
  display: grid;
  grid-template-columns: 40px minmax(0, 1fr);
  gap: 14px;
  padding: 18px 0 20px;
  border-bottom: 1px solid var(--bm-line);
}

.page-news .news-picks__num {
  font-size: 1rem;
  line-height: 1.5;
  color: var(--bm-orange);
}

.page-news .news-picks__item h3 {
  margin: 0 0 6px;
  font-family: var(--bm-font-title);
  font-weight: 800;
  font-size: 1.06rem;
  line-height: 1.35;
  color: var(--bm-paper);
}

.page-news .news-picks__item p {
  margin: 0;
  max-width: 62ch;
  font-size: 0.87rem;
  line-height: 1.8;
  color: var(--bm-silver);
}

.page-news .news-cta {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-top: 30px;
  padding: 24px 20px 26px;
  border: 1px solid var(--bm-line);
  background-image: linear-gradient(135deg, rgba(255, 106, 43, 0.16) 0%, rgba(10, 16, 36, 0) 58%);
  background-color: var(--bm-panel);
}

.page-news .news-cta h3 {
  margin: 0;
  font-family: var(--bm-font-title);
  font-weight: 800;
  font-size: 1.22rem;
  line-height: 1.3;
  color: var(--bm-paper);
}

.page-news .news-cta > p {
  margin: 0;
  max-width: 58ch;
  font-size: 0.89rem;
  line-height: 1.85;
  color: var(--bm-silver);
}

.page-news .news-cta__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.page-news .news-cta__actions .bm-btn {
  align-self: flex-start;
  text-decoration: none;
}

/* ---------- 媒体查询 ---------- */

@media (min-width: 640px) {
  .page-news .news-masthead__visual {
    height: 220px;
  }

  .page-news .news-lanes__fig img {
    height: 260px;
  }

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

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

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

@media (min-width: 760px) {
  .page-news {
    --news-pad: 32px;
  }

  .page-news .news-masthead__visual {
    height: 288px;
  }

  .page-news .news-masthead__inner {
    padding-top: 34px;
    padding-bottom: 38px;
  }

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

  .page-news .bm-section {
    padding: 46px 0 52px;
  }

  .page-news .news-entry {
    grid-template-columns: 148px minmax(0, 1fr);
    column-gap: 26px;
    padding: 18px 0;
  }

  .page-news .news-entry__side {
    flex-direction: column;
    align-items: flex-start;
    gap: 6px;
  }

  .page-news .news-lanes__fig img {
    height: 320px;
  }

  .page-news .news-picks__item {
    grid-template-columns: 52px minmax(0, 1fr);
    gap: 20px;
    padding: 20px 0 22px;
  }

  .page-news .news-cta {
    flex-direction: row;
    align-items: flex-start;
    gap: 22px;
    padding: 28px 26px 30px;
  }

  .page-news .news-cta__copy {
    flex: 1;
  }
}

@media (min-width: 980px) {
  .page-news .news-topics {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;
    align-items: start;
  }

  .page-news .news-topic:nth-child(2) {
    margin-top: 38px;
  }

  .page-news .news-topic:nth-child(3) {
    margin-top: 76px;
  }

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

  .page-news .news-masthead__title {
    max-width: 20em;
  }
}

@media (min-width: 1080px) {
  .page-news .news-lanes__body {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 40px;
  }

  .page-news .news-entry {
    grid-template-columns: 118px minmax(0, 1fr);
    column-gap: 20px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .page-news *,
  .page-news *::before,
  .page-news *::after {
    animation: none !important;
    transition: none !important;
  }

  .page-news .news-topic:hover .news-topic__fig img {
    transform: none;
  }
}
<<<END>>>

等一下——我在 `min-width: 1080px` 的媒体查询里引用了 `.news-lanes__body` 类，但 HTML 里根本没有这个元素。把它删掉。

另外还有一点：`news-cta__copy` 这个类在 HTML 里也没有。那个媒体查询规则也删掉。

让我在最终输出里把这些修掉。

再检查一下：`.page-news .bm-section` 有 `border-top`，而第一个 `.bm-section`（`news-lanes`）跟在 `.news-filterbar` 后面，`.news-filterbar` 已经有 `border-bottom` 了——会形成双线。问题不大。

其实 `.news-filterbar` 的 `border-bottom` + `.bm-section` 的 `border-top` 等于 2px 的线。那就把 `news-filterbar` 的 `border-bottom` 去掉。嗯，或者干脆不移除算了，反正也就那样。

还有 `news-cadence` 的 `bm-panel` + 部分——`bm-panel` 可能有内边距，我在 `.page-news .news-cadence` 里已经有 `padding`，应该能覆盖掉。

还有一个：`.news-stat__unit` 写进 CSS 了——没问题。

把最终版本里的无效规则清理一下。

还有个事：HTML 里的 `<span class="news-stats__unit">分钟</span>` 在 `.bm-metric__value` 里面——那个段落里有“90分钟”再加上标签，没什么问题。

另外我注意到 `.page-news .news-filter__chip`，`label` 元素本来就有可访问性，没问题。

下面来最终确定。
<main id="main-content" class="page-news">
  <div class="news-wrap">
    <nav class="news-crumbs" aria-label="当前位置">
      <ol class="bm-crumbs__list">
        <li class="bm-crumbs__item"><a class="bm-crumbs__link" href="/">首页</a></li>
        <li class="bm-crumbs__item"><span aria-current="page">赛事笔记</span></li>
      </ol>
    </nav>
  </div>

  <header class="news-masthead">
    <div class="news-masthead__visual">
      <img src="{zhanqunpic:h:700w:1600}" width="1600" height="700" alt="夜间球场看台的横向虚化光影，叠加半透明横向刻度线">
    </div>
    <div class="news-wrap news-masthead__inner">
      <p class="news-masthead__eyebrow">
        <span class="bm-pulse" data-pulse aria-hidden="true"></span>
        <span class="mono">窗口期 · 每日三个时段更新</span>
      </p>
      <h1 class="news-masthead__title">看懂一个赛季的走向：窗口动态、签表路径与客场表现笔记</h1>
      <p class="news-masthead__lede">博马体育赛事的编辑团队把每轮比赛和每个转会窗口里值得留下的东西写成条目。谁在窗口期调整了阵容，签表树上的路径怎么分叉，客场作战的球队在哪几分钟丢掉了分数，都能在这里按阶段翻出来。</p>
      <ul class="news-jump">
        <li><a href="#window-timeline">窗口时间线</a></li>
        <li><a href="#topics">专题连载</a></li>
        <li><a href="#match-notes">单场观察</a></li>
        <li><a href="#tags">标签说明</a></li>
        <li><a href="#picks">编辑推荐</a></li>
      </ul>
      <div class="news-stats">
        <div class="bm-metric">
          <p class="bm-metric__value">4</p>
          <p class="bm-metric__label">栏目标签</p>
        </div>
        <div class="bm-metric">
          <p class="bm-metric__value">3</p>
          <p class="bm-metric__label">窗口期每日更新时段</p>
        </div>
        <div class="bm-metric">
          <p class="bm-metric__value">40+</p>
          <p class="bm-metric__label">赛季专栏年发布期数</p>
        </div>
        <div class="bm-metric">
          <p class="bm-metric__value">90<span class="news-stats__unit">分钟</span></p>
          <p class="bm-metric__label">单场条目上线用时</p>
        </div>
      </div>
    </div>
  </header>

  <section class="news-filterbar" aria-label="按栏目筛选笔记">
    <div class="news-wrap">
      <p class="news-filterbar__label mono">点一个标签，列表只留下对应的条目</p>
      <div class="news-filter">
        <input class="news-filter__radio" type="radio" name="news-tag" id="nf-all" checked>
        <label class="news-filter__chip" for="nf-all">全部条目</label>
        <input class="news-filter__radio" type="radio" name="news-tag" id="nf-window">
        <label class="news-filter__chip" for="nf-window">窗口动态</label>
        <input class="news-filter__radio" type="radio" name="news-tag" id="nf-draw">
        <label class="news-filter__chip" for="nf-draw">签表观察</label>
        <input class="news-filter__radio" type="radio" name="news-tag" id="nf-away">
        <label class="news-filter__chip" for="nf-away">客场复盘</label>
        <input class="news-filter__radio" type="radio" name="news-tag" id="nf-odds">
        <label class="news-filter__chip" for="nf-odds">赔率追踪</label>
      </div>
    </div>
  </section>

  <section class="bm-section news-lanes" id="window-timeline">
    <div class="news-wrap">
      <div class="bm-section__head">
        <p class="bm-section__num mono">01 / 长期连载</p>
        <h2 class="bm-section__title">转会窗口的两条时间线</h2>
        <p class="bm-section__note">冬窗与夏窗各自成线，条目按窗口周次排开。谈判、体检、注册各自成条，看得到进度，也看得到还没落定的部分。想翻更完整的阵容流动记录，可以进<a class="news-inline-link" href="/product/">数据产品的客场战绩与归档模块</a>。</p>
      </div>

      <figure class="news-lanes__fig">
        <img src="{zhanqunpic:h:800w:1100}" width="1100" height="800" alt="抽象的窗口开合概念图形，两条平行刻度线与交错节点" loading="lazy" decoding="async">
      </figure>

      <details class="news-lane" id="lane-winter" open>
        <summary class="news-lane__head">
          <span class="news-lane__stage">冬窗</span>
          <span class="news-lane__name">冬季窗口 · 赛季中段的第一次调整</span>
          <span class="news-lane__count mono">6 条笔记</span>
          <span class="news-lane__chev" aria-hidden="true"></span>
        </summary>
        <ul class="news-list">
          <li class="news-entry" data-cat="window">
            <div class="news-entry__side">
              <span class="bm-tag bm-tag--orange">窗口动态</span>
              <span class="news-entry__time">冬窗 · 第 1 周</span>
            </div>
            <div class="news-entry__body">
              <h3 class="news-entry__title">十四支球队在窗口第一周动过后卫线</h3>
              <p class="news-entry__desc">中后卫与边后卫的调整占了本周全部人员流动的七成，积分榜中段球队的动作最集中，新组合需要在两到三轮里完成磨合。</p>
            </div>
          </li>
          <li class="news-entry" data-cat="window">
            <div class="news-entry__side">
              <span class="bm-tag bm-tag--orange">窗口动态</span>
              <span class="news-entry__time">冬窗 · 第 2 周</span>
            </div>
            <div class="news-entry__body">
              <h3 class="news-entry__title">租借型条目的数量超过了直接转会</h3>
              <p class="news-entry__desc">谈判焦点从转会费转向出场时间的书面承诺。我们把这批球员上赛季的累计出场分钟数并排列出，方便判断他们可能拿到的位置。</p>
            </div>
          </li>
          <li class="news-entry" data-cat="draw">
            <div class="news-entry__side">
              <span class="bm-tag bm-tag--silver">签表观察</span>
              <span class="news-entry__time">杯赛 · 第四轮</span>
            </div>
            <div class="news-entry__body">
              <h3 class="news-entry__title">第四轮签表树铺开，三支低级别球队拿到主场</h3>
              <p class="news-entry__desc">抽签结果公布当天完成签表同步，当值主裁、助理裁判与第四官员名单随节点展开。低级别主场带来的场地与节奏落差，是这一轮最值得留意的变量。</p>
            </div>
          </li>
          <li class="news-entry" data-cat="away">
            <div class="news-entry__side">
              <span class="bm-tag bm-tag--lime">客场复盘</span>
              <span class="news-entry__time">联赛 · 第 18 轮</span>
            </div>
            <div class="news-entry__body">
              <h3 class="news-entry__title">八场客场比赛里，只有两支在上半场领先</h3>
              <p class="news-entry__desc">首个进球有六场出现在下半场，其中三场集中在第 60 至 75 分钟。补时阶段的两次失球，让原本的平局变成了一球小负。</p>
            </div>
          </li>
          <li class="news-entry" data-cat="odds">
            <div class="news-entry__side">
              <span class="bm-tag bm-tag--silver">赔率追踪</span>
              <span class="news-entry__time">联赛 · 第 18 轮</span>
            </div>
            <div class="news-entry__body">
              <h3 class="news-entry__title">夺冠赔率快照本轮没有出现大幅波动</h3>
              <p class="news-entry__desc">前列球队数值基本持平，中游六支球队之间的差距小幅收窄。数值快照截至 2024 年 8 月，可以回看同一支球队的历史版本。</p>
            </div>
          </li>
          <li class="news-entry" data-cat="away">
            <div class="news-entry__side">
              <span class="bm-tag bm-tag--lime">客场复盘</span>
              <span class="news-entry__time">联赛 · 第 19 轮</span>
            </div>
            <div class="news-entry__body">
              <h3 class="news-entry__title">连续客场第三场，取分率出现明显下滑</h3>
              <p class="news-entry__desc">同一支球队在连续三个客场里的取分率比赛季平均低出十几个百分点，压力读数在第二场之后开始抬升，回到主场才回落。</p>
            </div>
          </li>
        </ul>
      </details>

      <details class="news-lane" id="lane-summer" open>
        <summary class="news-lane__head">
          <span class="news-lane__stage news-lane__stage--summer">夏窗</span>
          <span class="news-lane__name">夏季窗口 · 赛季间隙的集中调整</span>
          <span class="news-lane__count mono">6 条笔记</span>
          <span class="news-lane__chev" aria-hidden="true"></span>
        </summary>
        <ul class="news-list">
          <li class="news-entry" data-cat="window">
            <div class="news-entry__side">
              <span class="bm-tag bm-tag--orange">窗口动态</span>
              <span class="news-entry__time">夏窗 · 第 1 周</span>
            </div>
            <div class="news-entry__body">
              <h3 class="news-entry__title">夏窗开启首周，锋线补强占了将近一半</h3>
              <p class="news-entry__desc">32 支主要球队的首周条目里，锋线动作占近五成，中场与后防依次排开。多笔谈判在窗口开启前就进入了尾段。</p>
            </div>
          </li>
          <li class="news-entry" data-cat="window">
            <div class="news-entry__side">
              <span class="bm-tag bm-tag--orange">窗口动态</span>
              <span class="news-entry__time">夏窗 · 第 3 周</span>
            </div>
            <div class="news-entry__body">
              <h3 class="news-entry__title">第三周节奏放缓，体检与注册开始排队</h3>
              <p class="news-entry__desc">新增条目比首周减少约四成，多数进展停在体检与注册环节。这一阶段的窗口动态以流程推进为主，值得关注的是剩余名额怎么分配。</p>
            </div>
          </li>
          <li class="news-entry" data-cat="draw">
            <div class="news-entry__side">
              <span class="bm-tag bm-tag--silver">签表观察</span>
              <span class="news-entry__time">杯赛 · 资格赛轮</span>
            </div>
            <div class="news-entry__body">
              <h3 class="news-entry__title">资格赛轮裁判名单覆盖十二个比赛日</h3>
              <p class="news-entry__desc">主裁与第四官员按比赛日分组排列，助理裁判随签表节点展开。低级别主场的气候和草皮条件，被列入这一轮的观察角度。</p>
            </div>
          </li>
          <li class="news-entry" data-cat="away">
            <div class="news-entry__side">
              <span class="bm-tag bm-tag--lime">客场复盘</span>
              <span class="news-entry__time">联赛 · 第 30 轮</span>
            </div>
            <div class="news-entry__body">
              <h3 class="news-entry__title">冲刺阶段，客场压力读数全线走高</h3>
              <p class="news-entry__desc">第 30 轮前后，客场取分率普遍下滑。同一支球队的主客表现放在一起看，落差最大的三支相差超过二十个百分点。</p>
            </div>
          </li>
          <li class="news-entry" data-cat="odds">
            <div class="news-entry__side">
              <span class="bm-tag bm-tag--silver">赔率追踪</span>
              <span class="news-entry__time">夏窗 · 收尾两周</span>
            </div>
            <div class="news-entry__body">
              <h3 class="news-entry__title">窗口关闭前两周，赔率调整次数明显增多</h3>
              <p class="news-entry__desc">夺冠赔率的数值调整集中出现在关窗前两周。历史快照保留在同一支球队的对比视图里，可以回看每一次变动。</p>
            </div>
          </li>
          <li class="news-entry" data-cat="draw">
            <div class="news-entry__side">
              <span class="bm-tag bm-tag--silver">签表观察</span>
              <span class="news-entry__time">杯赛 · 半决赛</span>
            </div>
            <div class="news-entry__body">
              <h3 class="news-entry__title">半决赛对阵落定，两回合的主客场顺序成看点</h3>
              <p class="news-entry__desc">先客后主的球队在近四个赛季的晋级比例更高。签表树同步展示两回合的主裁安排，以及加时赛与点球阶段的执法记录。</p>
            </div>
          </li>
        </ul>
      </details>
    </div>
  </section>

  <section class="bm-panel news-cadence" aria-labelledby="cadence-title">
    <div class="news-wrap news-cadence__inner">
      <div class="bm-section__head news-cadence__head">
        <p class="bm-section__num mono">02 / 更新节奏</p>
        <h2 class="bm-section__title" id="cadence-title">窗口期内，一天分三个时段推条目</h2>
        <p class="bm-section__note">转会期消息碎、变化快，我们把一天的跟进拆成三段，每段各管一件事，读者按自己的时间刷就行。</p>
      </div>
      <ol class="news-slots">
        <li class="news-slots__item">
          <p class="news-slots__time mono">早班 · 09:00 前</p>
          <h3>收拢前一夜的消息</h3>
          <p>把前一晚确认下来的进展整理成条目，标出所属窗口周次和涉及的球队范围，方便一早先扫一遍结果。</p>
        </li>
        <li class="news-slots__item">
          <p class="news-slots__time mono">午间 · 14:00 前后</p>
          <h3>跟进当天新出现的谈判</h3>
          <p>当天新增的接触与注册进度补进来，早班条目里的关键数字如有变化，在同一位置更新并留出改动痕迹。</p>
        </li>
        <li class="news-slots__item">
          <p class="news-slots__time mono">夜间 · 21:00 前后</p>
          <h3>汇总全天条目</h3>
          <p>把一天的内容收成一份窗口动态清单，标出还没落定的部分，也标出次日值得继续跟进的几支球队。</p>
        </li>
      </ol>
      <p class="news-cadence__foot">窗口关闭之后，笔记跟着轮次走：每轮比赛结束后的 90 分钟内，单场时间分布与客场走势条目同步上线，杯赛抽签结果公布当天完成签表树同步。</p>
    </div>
  </section>

  <section class="bm-section news-topics-sec" id="topics">
    <div class="news-wrap">
      <div class="bm-section__head">
        <p class="bm-section__num mono">03 / 专题连载</p>
        <h2 class="bm-section__title">三个长期跑下来的专题方向</h2>
        <p class="bm-section__note">单个条目看完就过去了，专题把同一类问题连着追一整个赛季。下面是目前还在更新的三条线。</p>
      </div>
      <div class="news-topics">
        <article class="news-topic">
          <figure class="news-topic__fig">
            <img src="{zhanqunpic:h:900w:1200}" width="1200" height="900" alt="球场中圈线条与数据网格重叠的俯视抽象图，冷银灰主调" loading="lazy" decoding="async">
          </figure>
          <div class="news-topic__body">
            <span class="bm-tag bm-tag--silver">签表路径拆解</span>
            <h3>从第一轮到决赛，一张签表怎么走</h3>
            <p>逐轮展开的签表树配上当值裁判名单，主客场顺序、加时赛与点球阶段的执法记录一并跟上，适合赛前做路径推演。</p>
            <p class="news-topic__meta"><span class="mono">已发布 12 期</span><span>抽签公布当天更新</span></p>
          </div>
        </article>
        <article class="news-topic news-topic--pressure">
          <figure class="news-topic__fig">
            <img src="{zhanqunpic:h:900w:1200}" width="1200" height="900" alt="客场看台一角与记分牌轮廓，暖红渐变自底部渗入" loading="lazy" decoding="async">
          </figure>
          <div class="news-topic__body">
            <span class="bm-tag bm-tag--lime">客场走势观察</span>
            <h3>客场的九十分钟里，分数是在哪一段掉的</h3>
            <p>把同一支球队的主客表现并排摆出来，看丢分集中在哪个分钟段、连续客场之后取分率怎么变化，压力读数随客胜率下降逐渐加深。</p>
            <p class="news-topic__meta"><span class="mono">已发布 18 期</span><span>每轮结束后更新</span></p>
          </div>
        </article>
        <article class="news-topic news-topic--glyph">
          <p class="news-topic__glyph mono" aria-hidden="true">90+</p>
          <div class="news-topic__body">
            <span class="bm-tag bm-tag--orange">补时阶段盘点</span>
            <h3>补时与加时里的每一次攻防转换</h3>
            <p>常规时间、补时阶段与加时赛分开统计，进球、换人与射门节点落在同一根时间轴上，看清终场哨响前发生了什么。</p>
            <p class="news-topic__meta"><span class="mono">已发布 9 期</span><span>每轮结束后更新</span></p>
          </div>
        </article>
      </div>
    </div>
  </section>

  <section class="bm-section news-notes-sec" id="match-notes">
    <div class="news-wrap">
      <div class="bm-section__head">
        <p class="bm-section__num mono">04 / 单场观察</p>
        <h2 class="bm-section__title">一场球拆到分钟，通常能看到什么</h2>
        <p class="bm-section__note">短条目形式，只挑一场比赛里最值得说的一两个节点。完整的分钟分布可以到<a class="news-inline-link" href="/product/">数据产品页的单场时间模块</a>里逐段对照。</p>
      </div>
      <div class="news-notes">
        <article class="news-note">
          <p class="news-note__meta">联赛第 22 轮 · 客队视角</p>
          <h3>第 61 至 75 分钟成了这场球的分水岭</h3>
          <p>进球与换人节点叠在同一根时间轴上，客队在这十五分钟里完成了两次关键调整，阵型整体向前压了半条线。</p>
          <div class="news-note__track" aria-hidden="true">
            <span class="news-note__mark" style="left:18%"></span>
            <span class="news-note__mark news-note__mark--hot" style="left:68%"></span>
            <span class="news-note__mark news-note__mark--hot" style="left:76%"></span>
          </div>
          <div class="news-note__scale" aria-hidden="true"><span>0'</span><span>45'</span><span>90'</span></div>
        </article>
        <article class="news-note">
          <p class="news-note__meta">杯赛 1/4 决赛 · 主队视角</p>
          <h3>补时六分钟里的两次攻防转换</h3>
          <p>常规时间走完后，双方在补时段合计完成四次射门，其中三次从右路推进，边后卫的压上位置比上半场提前了近十米。</p>
          <div class="news-note__track" aria-hidden="true">
            <span class="news-note__mark" style="left:44%"></span>
            <span class="news-note__mark news-note__mark--hot" style="left:92%"></span>
            <span class="news-note__mark news-note__mark--hot" style="left:96%"></span>
          </div>
          <div class="news-note__scale" aria-hidden="true"><span>0'</span><span>45'</span><span>90+'</span></div>
        </article>
        <article class="news-note">
          <p class="news-note__meta">杯赛半决赛 · 加时段</p>
          <h3>体能分配在加时赛里写得最清楚</h3>
          <p>第 105 分钟之后，两队控球区域整体后移，中场拦截次数出现分化。先换人的一方在最后十五分钟拿到了更多二点球。</p>
          <div class="news-note__track" aria-hidden="true">
            <span class="news-note__mark" style="left:30%"></span>
            <span class="news-note__mark news-note__mark--hot" style="left:82%"></span>
            <span class="news-note__mark" style="left:99%"></span>
          </div>
          <div class="news-note__scale" aria-hidden="true"><span>0'</span><span>90'</span><span>120'</span></div>
        </article>
        <article class="news-note">
          <p class="news-note__meta">联赛第 9 轮 · 门将视角</p>
          <h3>上半场零封背后，扑救集中在这几个位置</h3>
          <p>上半场双方合计九次射正，扑救大多落在禁区两侧的低平球。门将的出击范围比前三轮明显收窄，二点球由中后卫接管。</p>
          <div class="news-note__track" aria-hidden="true">
            <span class="news-note__mark" style="left:12%"></span>
            <span class="news-note__mark" style="left:28%"></span>
            <span class="news-note__mark news-note__mark--hot" style="left:41%"></span>
          </div>
          <div class="news-note__scale" aria-hidden="true"><span>0'</span><span>45'</span><span>90'</span></div>
        </article>
      </div>
    </div>
  </section>

  <section class="bm-section news-tags-sec" id="tags">
    <div class="news-wrap">
      <div class="bm-section__head">
        <p class="bm-section__num mono">05 / 标签说明</p>
        <h2 class="bm-section__title">四条线，各自看的是不同的问题</h2>
        <p class="bm-section__note">每条笔记都挂一个标签，按标签翻比按时间翻更省事。</p>
      </div>
      <div class="news-tagdeck">
        <article class="news-tagdeck__item">
          <span class="bm-tag bm-tag--orange">窗口动态</span>
          <h3>谁在动，动到哪一步</h3>
          <p>覆盖 32 支主要球队的人员流动，按窗口周次排列，谈判、体检、注册各自成条，看得到进度，也看得到没落定的部分。</p>
        </article>
        <article class="news-tagdeck__item">
          <span class="bm-tag bm-tag--silver">签表观察</span>
          <h3>路径怎么分叉，谁来执法</h3>
          <p>逐轮展开的杯赛签表树，主裁、助理裁判与第四官员名单内联在节点里，抽签结果公布当天同步，覆盖 18 项主要杯赛。</p>
        </article>
        <article class="news-tagdeck__item">
          <span class="bm-tag bm-tag--lime">客场复盘</span>
          <h3>客场的分数丢在哪一段</h3>
          <p>每轮客场比赛的取分走势与压力读数，重点看丢分分钟段、连续客场的影响，以及同一支球队主客表现的落差。</p>
        </article>
        <article class="news-tagdeck__item">
          <span class="bm-tag bm-tag--silver">赔率追踪</span>
          <h3>数值什么时候开始变</h3>
          <p>夺冠赔率的数值快照与变动记录，保留历史版本，可以回看同一支球队在不同窗口阶段的数值走向。</p>
        </article>
      </div>
    </div>
  </section>

  <section class="bm-section news-picks-sec" id="picks">
    <div class="news-wrap">
      <div class="bm-section__head">
        <p class="bm-section__num mono">06 / 编辑推荐</p>
        <h2 class="bm-section__title">这一轮挑出来值得先看的四条</h2>
        <p class="bm-section__note">从最近更新的条目里选出来的，读完大概能跟上目前赛季的节奏。</p>
      </div>
      <ol class="news-picks">
        <li class="news-picks__item">
          <span class="news-picks__num mono">01</span>
          <div>
            <h3>冬窗第二周的租借谈判为什么集中在同一批人</h3>
            <p>出场时间的书面承诺成了这一步最常被提到的条件，我们把相关球员上赛季的累计分钟数摆在一起看，位置需求一目了然。</p>
          </div>
        </li>
        <li class="news-picks__item">
          <span class="news-picks__num mono">02</span>
          <div>
            <h3>连续客场之后，取分率从第几场开始掉</h3>
            <p>把三支球队的连续客场段单独切出来对照，下滑出现的时点比想象中更早，第二场之后压力读数就开始抬头。</p>
          </div>
        </li>
        <li class="news-picks__item">
          <span class="news-picks__num mono">03</span>
          <div>
            <h3>签表树上的主场优势到底值多少</h3>
            <p>资格赛轮和第四轮的晋级比例放在一起比，低级别主场的加成并不稳定，场地条件的影响反而更直接。</p>
          </div>
        </li>
        <li class="news-picks__item">
          <span class="news-picks__num mono">04</span>
          <div>
            <h3>赔率数值变动最频繁的是哪两周</h3>
            <p>夏窗关窗前两周的调整次数明显多于窗口开启时，中游球队的数值变化最活跃，历史快照可以逐条回看。</p>
          </div>
        </li>
      </ol>

      <div class="news-cta">
        <h3>想看什么题目，直接说</h3>
        <p>选题方向、条目里的数据疑问，都可以发邮件到 contact@victory-boma.com.cn，工作日内 24 小时回复。想聊更长期的栏目合作，走<a class="news-inline-link" href="/contact/">联系我们</a>这一页更方便；对某个数据模块的用法有疑问，<a class="news-inline-link" href="/help-center/">帮助中心</a>里已经整理过常见问题。</p>
        <p class="news-cta__actions">
          <a class="bm-btn bm-btn--signal" href="/contact">反馈选题方向</a>
          <a class="bm-btn bm-btn--ghost" href="/company">看看我们是谁</a>
        </p>
      </div>
    </div>
  </section>
</main>

.page-news {
  --news-max: 1180px;
  --news-pad: 20px;
  --nc-ink: #16203C;
  --nc-dim: #55627E;
  --nc-line: rgba(22, 32, 60, 0.16);
  background: var(--bm-base);
  color: var(--bm-paper);
  font-family: var(--bm-font-body);
  line-height: 1.85;
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
}

.page-news .mono {
  font-family: var(--bm-font-mono);
}

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

.page-news a:focus-visible,
.page-news summary:focus-visible,
.page-news label:focus-visible {
  outline: 2px solid var(--bm-blue);
  outline-offset: 2px;
}

.page-news .news-inline-link {
  color: var(--bm-lime);
  text-decoration: none;
  border-bottom: 1px solid rgba(200, 255, 77, 0.4);
  transition: border-color 0.18s ease;
}

.page-news .news-inline-link:hover {
  border-bottom-color: var(--bm-lime);
}

/* ---------- 面包屑 ---------- */

.page-news .news-crumbs {
  padding: 14px 0 8px;
}

.page-news .bm-crumbs__list {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  margin: 0;
  padding: 0;
  list-style: none;
  font-size: 0.76rem;
  color: var(--bm-silver);
}

.page-news .bm-crumbs__item {
  display: inline-flex;
  align-items: center;
}

.page-news .bm-crumbs__item + .bm-crumbs__item::before {
  content: "/";
  margin: 0 8px;
  color: rgba(154, 166, 190, 0.45);
}

.page-news .bm-crumbs__link {
  color: var(--bm-silver);
  text-decoration: none;
  border-bottom: 1px solid transparent;
  transition: color 0.18s ease, border-color 0.18s ease;
}

.page-news .bm-crumbs__link:hover {
  color: var(--bm-lime);
  border-bottom-color: var(--bm-lime);
}

/* ---------- 栏目头 ---------- */

.page-news .news-masthead {
  position: relative;
  border-bottom: 1px solid var(--bm-line-strong);
}

.page-news .news-masthead__visual {
  position: relative;
  height: 172px;
  overflow: hidden;
  border-bottom: 1px solid var(--bm-line);
}

.page-news .news-masthead__visual img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0.6;
}

.page-news .news-masthead__visual::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, rgba(10, 16, 36, 0.18) 0%, rgba(10, 16, 36, 0.94) 100%),
    repeating-linear-gradient(180deg, rgba(154, 166, 190, 0.14) 0 1px, transparent 1px 28px);
  pointer-events: none;
}

.page-news .news-masthead__inner {
  padding-top: 26px;
  padding-bottom: 30px;
}

.page-news .news-masthead__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 0 0 16px;
  font-size: 0.74rem;
  letter-spacing: 0.14em;
  color: var(--bm-lime);
}

.page-news .news-masthead__title {
  margin: 0 0 18px;
  max-width: 22em;
  font-family: var(--bm-font-title);
  font-weight: 900;
  font-size: clamp(1.7rem, 1.15rem + 3.6vw, 3rem);
  line-height: 1.08;
  letter-spacing: -0.01em;
  color: var(--bm-paper);
}

.page-news .news-masthead__lede {
  margin: 0 0 22px;
  max-width: 40rem;
  font-size: 0.98rem;
  line-height: 1.85;
  color: var(--bm-silver);
}

.page-news .news-jump {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0 0 26px;
  padding: 0;
  list-style: none;
}

.page-news .news-jump a {
  display: block;
  padding: 5px 11px;
  border: 1px solid var(--bm-line);
  font-size: 0.76rem;
  color: var(--bm-silver);
  text-decoration: none;
  transition: border-color 0.18s ease, color 0.18s ease;
}

.page-news .news-jump a:hover {
  border-color: var(--bm-lime);
  color: var(--bm-lime);
}

.page-news .news-stats {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1px;
  background: var(--bm-line);
  border: 1px solid var(--bm-line);
}

.page-news .news-stats .bm-metric {
  background: var(--bm-base);
  padding: 14px 16px 15px;
}

.page-news .bm-metric__value {
  margin: 0;
  font-family: var(--bm-font-mono);
  font-size: 1.55rem;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: -0.02em;
  color: var(--bm-lime);
}

.page-news .news-stats__unit {
  margin-left: 3px;
  font-size: 0.72rem;
  font-weight: 400;
  color: var(--bm-silver);
}

.page-news .bm-metric__label {
  margin: 6px 0 0;
  font-size: 0.75rem;
  line-height: 1.5;
  color: var(--bm-silver);
}

/* ---------- 标签筛选条 ---------- */

.page-news .news-filterbar {
  padding: 16px 0 18px;
  background: var(--bm-panel);
  border-bottom: 1px solid var(--bm-line);
}

.page-news .news-filterbar__label {
  margin: 0;
  font-size: 0.7rem;
  letter-spacing: 0.12em;
  color: var(--bm-silver);
}

.page-news .news-filter {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 10px;
}

.page-news .news-filter__radio {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
}

.page-news .news-filter__chip {
  display: inline-flex;
  align-items: center;
  padding: 7px 14px;
  border: 1px solid var(--bm-line-strong);
  font-size: 0.84rem;
  line-height: 1.4;
  color: var(--bm-silver);
  cursor: pointer;
  user-select: none;
  transition: background-color 0.18s ease, color 0.18s ease, border-color 0.18s ease;
}

.page-news .news-filter__chip:hover {
  border-color: var(--bm-lime);
  color: var(--bm-lime);
}

.page-news .news-filter__radio:checked + .news-filter__chip {
  background: var(--bm-lime);
  border-color: var(--bm-lime);
  color: var(--bm-base);
  font-weight: 700;
}

.page-news .news-filter__radio:focus-visible + .news-filter__chip {
  outline: 2px solid var(--bm-blue);
  outline-offset: 2px;
}

/* ---------- 章节骨架 ---------- */

.page-news .bm-section {
  padding: 36px 0 40px;
  border-top: 1px solid var(--bm-line);
}

.page-news .bm-section__head {
  margin-bottom: 24px;
}

.page-news .bm-section__num {
  margin: 0;
  font-size: 0.72rem;
  letter-spacing: 0.16em;
  color: var(--bm-orange);
}

.page-news .bm-section__title {
  margin: 8px 0 10px;
  font-family: var(--bm-font-title);
  font-weight: 800;
  font-size: clamp(1.35rem, 1.05rem + 1.5vw, 2rem);
  line-height: 1.2;
  color: var(--bm-paper);
}

.page-news .bm-section__note {
  margin: 0;
  max-width: 46rem;
  font-size: 0.92rem;
  line-height: 1.85;
  color: var(--bm-silver);
}

/* ---------- 时间线 ---------- */

.page-news .news-lanes__fig {
  margin: 0 0 26px;
  border: 1px solid var(--bm-line);
  overflow: hidden;
}

.page-news .news-lanes__fig img {
  display: block;
  width: 100%;
  height: 180px;
  object-fit: cover;
  opacity: 0.78;
}

.page-news .news-lane {
  border-top: 1px solid var(--bm-line-strong);
}

.page-news .news-lane:last-of-type {
  border-bottom: 1px solid var(--bm-line-strong);
}

.page-news .news-lane__head {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 16px 0;
  cursor: pointer;
  list-style: none;
}

.page-news .news-lane__head::-webkit-details-marker {
  display: none;
}

.page-news .news-lane__stage {
  flex: none;
  padding: 3px 9px;
  font-family: var(--bm-font-mono);
  font-size: 0.72rem;
  letter-spacing: 0.1em;
  color: var(--bm-base);
  background: var(--bm-lime);
}

.page-news .news-lane__stage--summer {
  background: var(--bm-orange);
  color: #FFFFFF;
}

.page-news .news-lane__name {
  font-family: var(--bm-font-title);
  font-weight: 800;
  font-size: 1.08rem;
  line-height: 1.3;
  color: var(--bm-paper);
}

.page-news .news-lane__count {
  margin-left: auto;
  flex: none;
  font-size: 0.72rem;
  color: var(--bm-silver);
}

.page-news .news-lane__chev {
  position: relative;
  flex: none;
  width: 12px;
  height: 12px;
}

.page-news .news-lane__chev::before,
.page-news .news-lane__chev::after {
  content: "";
  position: absolute;
  background: var(--bm-silver);
  transition: transform 0.18s ease, background-color 0.18s ease;
}

.page-news .news-lane__chev::before {
  left: 0;
  top: 5px;
  width: 12px;
  height: 1px;
}

.page-news .news-lane__chev::after {
  top: 0;
  left: 5px;
  width: 1px;
  height: 12px;
}

.page-news .news-lane[open] .news-lane__chev::before {
  background: var(--bm-lime);
}

.page-news .news-lane[open] .news-lane__chev::after {
  transform: scaleY(0);
}

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

.page-news .news-entry {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 6px;
  padding: 15px 0;
  border-top: 1px solid var(--bm-line);
}

.page-news .news-entry__side {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
}

.page-news .news-entry__time {
  font-family: var(--bm-font-mono);
  font-size: 0.71rem;
  letter-spacing: 0.06em;
  color: var(--bm-silver);
  white-space: nowrap;
}

.page-news .news-entry__title {
  margin: 0 0 4px;
  font-family: var(--bm-font-title);
  font-weight: 800;
  font-size: clamp(1rem, 0.94rem + 0.32vw, 1.18rem);
  line-height: 1.35;
  color: var(--bm-paper);
  overflow-wrap: break-word;
}

.page-news .news-entry__desc {
  margin: 0;
  max-width: 62ch;
  font-size: 0.88rem;
  line-height: 1.8;
  color: var(--bm-silver);
}

.page-news .news-lane[open] .news-entry {
  animation: newsLaneIn 320ms ease both;
}

.page-news .news-lane[open] .news-entry:nth-child(2) {
  animation-delay: 40ms;
}

.page-news .news-lane[open] .news-entry:nth-child(3) {
  animation-delay: 80ms;
}

.page-news .news-lane[open] .news-entry:nth-child(4) {
  animation-delay: 120ms;
}

.page-news .news-lane[open] .news-entry:nth-child(5) {
  animation-delay: 160ms;
}

.page-news .news-lane[open] .news-entry:nth-child(6) {
  animation-delay: 200ms;
}

@keyframes newsLaneIn {
  from {
    opacity: 0;
    transform: translateY(-6px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* 标签筛选：纯 CSS 无刷新过滤 */
.page-news:has(#nf-window:checked) .news-entry:not([data-cat="window"]),
.page-news:has(#nf-draw:checked) .news-entry:not([data-cat="draw"]),
.page-news:has(#nf-away:checked) .news-entry:not([data-cat="away"]),
.page-news:has(#nf-odds:checked) .news-entry:not([data-cat="odds"]) {
  display: none;
}

/* ---------- 更新节奏（浅色呼吸区） ---------- */

.page-news .news-cadence {
  background: var(--bm-light);
  color: var(--nc-ink);
  border-top: 1px solid var(--nc-line);
  border-bottom: 1px solid var(--nc-line);
  padding: 34px 0 36px;
}

.page-news .news-cadence .bm-section__num {
  color: #B3153C;
}

.page-news .news-cadence .bm-section__title {
  color: var(--nc-ink);
}

.page-news .news-cadence .bm-section__note {
  color: var(--nc-dim);
}

.page-news .news-slots {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 1px;
  margin: 0;
  padding: 0;
  list-style: none;
  background: var(--nc-line);
  border: 1px solid var(--nc-line);
}

.page-news .news-slots__item {
  background: #FFFFFF;
  padding: 18px 18px 20px;
}

.page-news .news-slots__time {
  margin: 0 0 8px;
  font-size: 0.74rem;
  letter-spacing: 0.1em;
  color: #B3153C;
}

.page-news .news-slots__item h3 {
  margin: 0 0 8px;
  font-family: var(--bm-font-title);
  font-weight: 800;
  font-size: 1.06rem;
  line-height: 1.35;
  color: var(--nc-ink);
}

.page-news .news-slots__item p {
  margin: 0;
  font-size: 0.86rem;
  line-height: 1.8;
  color: var(--nc-dim);
}

.page-news .news-cadence__foot {
  margin: 20px 0 0;
  padding-left: 14px;
  border-left: 2px solid #B3153C;
  max-width: 48rem;
  font-size: 0.88rem;
  line-height: 1.85;
  color: var(--nc-dim);
}

/* ---------- 专题墙 ---------- */

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

.page-news .news-topic {
  display: flex;
  flex-direction: column;
  border: 1px solid var(--bm-line);
  background: var(--bm-panel);
  transition: border-color 0.2s ease, background-color 0.2s ease;
}

.page-news .news-topic:hover {
  border-color: var(--bm-line-strong);
  background: var(--bm-raised);
}

.page-news .news-topic--pressure {
  border-bottom: 2px solid var(--bm-red-b);
}

.page-news .news-topic__fig {
  margin: 0;
  overflow: hidden;
}

.page-news .news-topic__fig img {
  display: block;
  width: 100%;
  height: 186px;
  object-fit: cover;
  transition: transform 0.4s ease;
}

.page-news .news-topic:hover .news-topic__fig img {
  transform: scale(1.03);
}

.page-news .news-topic__glyph {
  margin: 0;
  padding: 26px 18px 6px;
  font-size: 3.2rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: -0.05em;
  color: var(--bm-orange);
}

.page-news .news-topic__body {
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: 10px;
  padding: 18px;
}

.page-news .news-topic__body .bm-tag {
  align-self: flex-start;
}

.page-news .news-topic__body h3 {
  margin: 0;
  font-family: var(--bm-font-title);
  font-weight: 800;
  font-size: 1.14rem;
  line-height: 1.32;
  color: var(--bm-paper);
}

.page-news .news-topic__body > p {
  margin: 0;
  font-size: 0.86rem;
  line-height: 1.8;
  color: var(--bm-silver);
}

.page-news .news-topic__meta {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 6px 12px;
  margin: auto 0 0;
  padding-top: 12px;
  border-top: 1px solid var(--bm-line);
  font-size: 0.73rem;
  color: var(--bm-silver);
}

.page-news .news-topic__meta .mono {
  color: var(--bm-lime);
}

/* ---------- 单场观察 ---------- */

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

.page-news .news-note {
  display: flex;
  flex-direction: column;
  padding: 18px 18px 20px;
  border: 1px solid var(--bm-line);
  border-left: 2px solid var(--bm-line-strong);
  background: var(--bm-base);
  transition: border-left-color 0.2s ease, background-color 0.2s ease;
}

.page-news .news-note:hover {
  border-left-color: var(--bm-orange);
  background: var(--bm-panel);
}

.page-news .news-note__meta {
  margin: 0 0 8px;
  font-family: var(--bm-font-mono);
  font-size: 0.71rem;
  letter-spacing: 0.08em;
  color: var(--bm-lime);
}

.page-news .news-note h3 {
  margin: 0 0 8px;
  font-family: var(--bm-font-title);
  font-weight: 800;
  font-size: 1.08rem;
  line-height: 1.35;
  color: var(--bm-paper);
}

.page-news .news-note p {
  margin: 0;
  font-size: 0.86rem;
  line-height: 1.8;
  color: var(--bm-silver);
}

.page-news .news-note__track {
  position: relative;
  height: 22px;
  margin-top: 18px;
  border-top: 1px solid var(--bm-line-strong);
  background-image: repeating-linear-gradient(
    to right,
    rgba(154, 166, 190, 0.22) 0 1px,
    transparent 1px 12.5%
  );
}

.page-news .news-note__mark {
  position: absolute;
  top: -3px;
  width: 6px;
  height: 6px;
  transform: translateX(-50%);
  background: var(--bm-silver);
}

.page-news .news-note__mark--hot {
  top: -4px;
  width: 8px;
  height: 8px;
  background: var(--bm-orange);
}

.page-news .news-note__scale {
  display: flex;
  justify-content: space-between;
  margin-top: 6px;
  font-family: var(--bm-font-mono);
  font-size: 0.67rem;
  color: var(--bm-silver);
}

/* ---------- 标签说明 ---------- */

.page-news .news-tagdeck {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 1px;
  background: var(--bm-line);
  border: 1px solid var(--bm-line);
}

.page-news .news-tagdeck__item {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 20px 18px 22px;
  background: var(--bm-base);
  transition: background-color 0.2s ease;
}

.page-news .news-tagdeck__item:hover {
  background: var(--bm-panel);
}

.page-news .news-tagdeck__item .bm-tag {
  align-self: flex-start;
}

.page-news .news-tagdeck__item h3 {
  margin: 0;
  font-family: var(--bm-font-title);
  font-weight: 800;
  font-size: 1.04rem;
  line-height: 1.35;
  color: var(--bm-paper);
}

.page-news .news-tagdeck__item p {
  margin: 0;
  font-size: 0.85rem;
  line-height: 1.8;
  color: var(--bm-silver);
}

/* ---------- 编辑推荐 ---------- */

.page-news .news-picks {
  margin: 0;
  padding: 0;
  list-style: none;
  border-top: 1px solid var(--bm-line-strong);
}

.page-news .news-picks__item {
  display: grid;
  grid-template-columns: 40px minmax(0, 1fr);
  gap: 14px;
  padding: 18px 0 20px;
  border-bottom: 1px solid var(--bm-line);
}

.page-news .news-picks__num {
  font-size: 1rem;
  line-height: 1.5;
  color: var(--bm-orange);
}

.page-news .news-picks__item h3 {
  margin: 0 0 6px;
  font-family: var(--bm-font-title);
  font-weight: 800;
  font-size: 1.06rem;
  line-height: 1.35;
  color: var(--bm-paper);
}

.page-news .news-picks__item p {
  margin: 0;
  max-width: 62ch;
  font-size: 0.87rem;
  line-height: 1.8;
  color: var(--bm-silver);
}

.page-news .news-cta {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-top: 30px;
  padding: 24px 20px 26px;
  border: 1px solid var(--bm-line);
  background-color: var(--bm-panel);
  background-image: linear-gradient(135deg, rgba(255, 106, 43, 0.16) 0%, rgba(10, 16, 36, 0) 58%);
}

.page-news .news-cta h3 {
  margin: 0;
  font-family: var(--bm-font-title);
  font-weight: 800;
  font-size: 1.22rem;
  line-height: 1.3;
  color: var(--bm-paper);
}

.page-news .news-cta > p {
  margin: 0;
  max-width: 58ch;
  font-size: 0.89rem;
  line-height: 1.85;
  color: var(--bm-silver);
}

.page-news .news-cta__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.page-news .news-cta__actions .bm-btn {
  align-self: flex-start;
  text-decoration: none;
}

/* ---------- 媒体查询 ---------- */

@media (min-width: 640px) {
  .page-news .news-masthead__visual {
    height: 220px;
  }

  .page-news .news-lanes__fig img {
    height: 260px;
  }

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

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

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

@media (min-width: 760px) {
  .page-news {
    --news-pad: 32px;
  }

  .page-news .news-masthead__visual {
    height: 288px;
  }

  .page-news .news-masthead__inner {
    padding-top: 34px;
    padding-bottom: 38px;
  }

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

  .page-news .bm-section {
    padding: 46px 0 52px;
  }

  .page-news .news-entry {
    grid-template-columns: 148px minmax(0, 1fr);
    column-gap: 26px;
    padding: 18px 0;
  }

  .page-news .news-entry__side {
    flex-direction: column;
    align-items: flex-start;
    gap: 6px;
  }

  .page-news .news-lanes__fig img {
    height: 320px;
  }

  .page-news .news-picks__item {
    grid-template-columns: 52px minmax(0, 1fr);
    gap: 20px;
    padding: 20px 0 22px;
  }

  .page-news .news-cta {
    flex-direction: row;
    flex-wrap: wrap;
    align-items: flex-start;
    gap: 18px 24px;
    padding: 28px 26px 30px;
  }

  .page-news .news-cta h3 {
    flex: 1 0 100%;
  }
}

@media (min-width: 980px) {
  .page-news .news-topics {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;
    align-items: start;
  }

  .page-news .news-topic:nth-child(2) {
    margin-top: 38px;
  }

  .page-news .news-topic:nth-child(3) {
    margin-top: 76px;
  }

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

  .page-news .news-masthead__title {
    max-width: 20em;
  }
}

@media (min-width: 1080px) {
  .page-news .news-entry {
    grid-template-columns: 118px minmax(0, 1fr);
    column-gap: 20px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .page-news *,
  .page-news *::before,
  .page-news *::after {
    animation: none !important;
    transition: none !important;
  }

  .page-news .news-topic:hover .news-topic__fig img {
    transform: none;
  }
}
