.page-news {
  --news-line: var(--bw-stone);
  background: var(--bw-paper);
  color: var(--bw-ink);
  font-family: var(--bw-font-sans);
  font-size: 16px;
  line-height: 1.75;
  overflow-x: hidden;
  padding-bottom: 64px;
}

.page-news a {
  color: inherit;
  text-decoration: none;
}

.page-news .news-crumb,
.page-news .news-hero,
.page-news .news-index,
.page-news .news-season,
.page-news .news-cats,
.page-news .news-review,
.page-news .news-log,
.page-news .news-fix {
  box-sizing: border-box;
  width: 100%;
  max-width: var(--bw-shell);
  margin-left: auto;
  margin-right: auto;
  padding-left: var(--bw-gap);
  padding-right: var(--bw-gap);
}

/* ---------- 面包屑 ---------- */
.page-news .news-crumb {
  padding-top: 18px;
  padding-bottom: 6px;
}

/* ---------- 通用排版 ---------- */
.page-news h1.bw-title {
  font-family: var(--bw-font-display);
  font-size: clamp(29px, 6.4vw, 52px);
  font-weight: 900;
  line-height: 1.14;
  letter-spacing: -0.01em;
  margin: 0 0 16px;
}

.page-news h2.bw-title {
  font-family: var(--bw-font-display);
  font-size: clamp(22px, 3.6vw, 32px);
  font-weight: 800;
  line-height: 1.26;
  letter-spacing: -0.01em;
  margin: 0 0 12px;
}

.page-news .bw-kicker {
  font-family: var(--bw-font-mono);
  font-size: 12px;
  letter-spacing: 0.16em;
  color: var(--bw-green);
  margin: 0 0 10px;
}

.page-news .bw-lede {
  font-family: var(--bw-font-body);
  font-size: clamp(16px, 1.9vw, 18px);
  line-height: 1.85;
  color: var(--bw-ink);
  margin: 0;
  max-width: 64ch;
}

.page-news .bw-mono {
  font-family: var(--bw-font-mono);
  letter-spacing: 0.04em;
}

/* ---------- 首屏 ---------- */
.page-news .news-hero {
  display: grid;
  gap: 22px;
  padding-top: 14px;
  padding-bottom: 44px;
}

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

.page-news .news-hero__actions .bw-btn {
  padding: 11px 20px;
  font-size: 15px;
  font-weight: 600;
}

.page-news .news-hero__figure {
  margin: 0;
  position: relative;
}

.page-news .news-hero__figure img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 3 / 2;
  object-fit: cover;
  background: var(--bw-mist);
  clip-path: var(--bw-cut);
}

.page-news .news-hero__figure::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: 0;
  width: 88px;
  height: 6px;
  background: var(--bw-coral);
}

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

.page-news .news-hero__stats li {
  display: flex;
  flex-direction: column;
  gap: 2px;
  padding: 14px 16px;
  background: var(--bw-paper);
  min-width: 0;
}

.page-news .news-hero__stats li span:first-child {
  font-family: var(--bw-font-mono);
  font-size: 26px;
  font-weight: 700;
  line-height: 1.15;
  color: var(--bw-green);
}

.page-news .news-hero__stats li span:last-child {
  font-size: 12px;
  letter-spacing: 0.08em;
  color: var(--bw-moss);
}

/* ---------- 分类索引条 ---------- */
.page-news .news-index {
  padding-top: 4px;
  padding-bottom: 44px;
}

.page-news .news-index__head {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin-bottom: 16px;
}

.page-news .news-index__hint {
  margin: 0;
  font-size: 13px;
  color: var(--bw-moss);
}

.page-news .news-strip {
  list-style: none;
  display: flex;
  gap: 10px;
  margin: 0;
  padding: 4px 2px 16px;
  overflow-x: auto;
  scroll-snap-type: x proximity;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: thin;
}

.page-news .news-strip > li {
  flex: 0 0 auto;
  display: flex;
  scroll-snap-align: start;
}

.page-news .news-strip__item {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  padding: 10px 16px;
  border: 1px solid var(--news-line);
  background: var(--bw-paper);
  font-size: 14px;
  font-weight: 600;
  white-space: nowrap;
  transition: background-color 0.18s ease, color 0.18s ease, border-color 0.18s ease;
}

.page-news .news-strip__item .bw-mono {
  font-size: 11px;
  color: var(--bw-moss);
}

.page-news .news-strip__item:hover,
.page-news .news-strip__item:focus-visible {
  border-color: var(--bw-green);
  color: var(--bw-green);
}

.page-news .news-strip__item.is-current {
  background: var(--bw-green);
  border-color: var(--bw-green);
  color: var(--bw-paper);
}

.page-news .news-strip__item.is-current .bw-mono {
  color: var(--bw-lift);
}

/* ---------- 当季目录封面 + 说明 ---------- */
.page-news .news-season {
  display: grid;
  gap: 22px;
  padding-top: 4px;
  padding-bottom: 48px;
}

.page-news .news-season__cover {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  padding: 30px 24px 32px;
  background: var(--bw-sand);
  color: var(--bw-sand-deep);
  clip-path: var(--bw-cut);
}

.page-news .news-season__cover img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0.22;
  mix-blend-mode: multiply;
}

.page-news .news-season__cover > * {
  position: relative;
}

.page-news .news-season__badge {
  display: inline-block;
  font-family: var(--bw-font-mono);
  font-size: 12px;
  letter-spacing: 0.14em;
  padding: 4px 10px;
  margin-bottom: 16px;
  border: 1px solid currentColor;
}

.page-news .news-season__cover h2.bw-title {
  color: var(--bw-sand-deep);
  margin-bottom: 14px;
}

.page-news .news-season__cover p {
  margin: 0 0 12px;
  font-size: 15px;
  line-height: 1.8;
  max-width: 52ch;
}

.page-news .news-season__stamp {
  margin: 18px 0 0;
  font-size: 12px;
  letter-spacing: 0.08em;
  padding-top: 12px;
  border-top: 1px solid rgba(138, 95, 22, 0.35);
}

.page-news .news-season__rules {
  display: grid;
  gap: 18px;
}

.page-news .news-season__rule {
  border-left: 3px solid var(--bw-lift);
  padding: 2px 0 2px 16px;
}

.page-news .news-season__rule h3 {
  margin: 0 0 8px;
  font-family: var(--bw-font-display);
  font-size: 17px;
  font-weight: 800;
  letter-spacing: 0.01em;
  color: var(--bw-green);
}

.page-news .news-season__rule ul {
  margin: 0;
  padding-left: 18px;
  font-size: 14.5px;
  line-height: 1.8;
  color: var(--bw-ink);
}

.page-news .news-season__rule li {
  margin-bottom: 6px;
}

.page-news .news-season__rule li::marker {
  color: var(--bw-green);
}

/* ---------- 分类体系 ---------- */
.page-news .news-cats {
  padding-top: 4px;
  padding-bottom: 48px;
}

.page-news .news-cats__head {
  margin-bottom: 20px;
}

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

.page-news .news-cats__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 1px;
  background: var(--news-line);
  border-top: 1px solid var(--news-line);
  border-bottom: 1px solid var(--news-line);
}

.page-news .news-cats__item {
  display: grid;
  grid-template-columns: 40px minmax(0, 1fr);
  gap: 10px;
  align-items: start;
  padding: 15px 14px 15px 16px;
  background: var(--bw-paper);
  transition: background-color 0.18s ease;
}

.page-news .news-cats__item:hover,
.page-news .news-cats__item:target {
  background: var(--bw-mist);
}

.page-news .news-cats__item > .bw-mono {
  padding-top: 4px;
  font-size: 11px;
  color: var(--bw-green);
}

.page-news .news-cats__item h3 {
  margin: 0 0 3px;
  font-family: var(--bw-font-display);
  font-size: 17px;
  font-weight: 800;
  letter-spacing: 0.01em;
}

.page-news .news-cats__item p {
  margin: 0;
  font-size: 13.5px;
  line-height: 1.6;
  color: var(--bw-moss);
}

.page-news .news-cats__figure {
  margin: 0;
  padding: 10px;
  background: var(--bw-paper);
  border: 1px solid var(--news-line);
  clip-path: var(--bw-cut-sm);
}

.page-news .news-cats__figure img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: cover;
  background: var(--bw-mist);
}

.page-news .news-cats__figure figcaption {
  padding: 10px 4px 2px;
  font-family: var(--bw-font-mono);
  font-size: 12px;
  letter-spacing: 0.04em;
  color: var(--bw-moss);
}

/* ---------- 评测排期 ---------- */
.page-news .news-review {
  display: grid;
  gap: 20px;
  padding-top: 4px;
  padding-bottom: 48px;
}

.page-news .news-review__intro p {
  margin: 0;
  font-size: 15.5px;
  line-height: 1.8;
  max-width: 60ch;
}

.page-news .news-review__next {
  padding: 22px 22px 24px;
  background: var(--bw-mist);
  border-left: 5px solid var(--bw-coral);
}

.page-news .news-review__next > .bw-mono {
  display: block;
  font-size: 28px;
  font-weight: 700;
  line-height: 1.2;
  color: var(--bw-green);
  margin-bottom: 8px;
}

.page-news .news-review__next p {
  margin: 0;
  font-size: 14.5px;
  line-height: 1.75;
}

.page-news .news-review__next .news-fix__link {
  margin-top: 14px;
}

/* ---------- 更新记录 ---------- */
.page-news .news-log {
  position: relative;
  padding-top: 4px;
  padding-bottom: 52px;
}

.page-news .news-log__texture {
  position: absolute;
  top: 24px;
  left: 0;
  width: 100%;
  height: 100%;
  max-height: 460px;
  object-fit: cover;
  opacity: 0.07;
  pointer-events: none;
}

.page-news .news-log__inner {
  position: relative;
}

.page-news .news-log__head {
  margin-bottom: 18px;
}

.page-news .news-tabs__bar {
  display: flex;
  gap: 4px;
  overflow-x: auto;
  border-bottom: 1px solid var(--news-line);
}

.page-news .news-tabs__tab {
  appearance: none;
  background: transparent;
  border: 0;
  border-bottom: 3px solid transparent;
  padding: 12px 20px;
  font-family: var(--bw-font-sans);
  font-size: 15px;
  font-weight: 600;
  color: var(--bw-moss);
  cursor: pointer;
  white-space: nowrap;
  transition: color 0.18s ease, background-color 0.18s ease, border-color 0.18s ease;
}

.page-news .news-tabs__tab:hover {
  color: var(--bw-green);
}

.page-news .news-tabs__tab[aria-selected="true"] {
  color: var(--bw-green);
  border-bottom-color: var(--bw-green);
  background: var(--bw-mist);
}

.page-news .news-tabs__panel {
  padding-top: 8px;
}

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

.page-news .news-log__list::before {
  content: "";
  position: absolute;
  left: 12px;
  top: 20px;
  bottom: 10px;
  width: 2px;
  background: linear-gradient(to bottom, var(--bw-lift), var(--news-line));
}

.page-news .news-log__row {
  position: relative;
  padding: 0 0 22px 34px;
}

.page-news .news-log__row::before {
  content: "";
  position: absolute;
  left: 6px;
  top: 8px;
  box-sizing: content-box;
  width: 10px;
  height: 10px;
  border: 2px solid var(--bw-paper);
  border-radius: 50%;
  background: var(--bw-green);
}

.page-news .news-log__meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin-bottom: 6px;
}

.page-news .news-log__when {
  font-family: var(--bw-font-mono);
  font-size: 12px;
  letter-spacing: 0.06em;
  padding: 3px 9px;
  background: var(--bw-green);
  color: var(--bw-paper);
}

.page-news .news-log__tag {
  font-size: 12px;
  padding: 2px 9px;
  color: var(--bw-moss);
  border: 1px solid var(--news-line);
}

.page-news .news-log__row p {
  margin: 0;
  font-size: 15px;
  line-height: 1.75;
}

/* ---------- 纠错与收录 ---------- */
.page-news .news-fix {
  padding-top: 4px;
}

.page-news .news-fix__head {
  margin-bottom: 20px;
}

.page-news .news-fix__cards {
  display: grid;
  gap: 16px;
}

.page-news .news-fix__card {
  padding: 26px 22px 24px;
  clip-path: var(--bw-cut-sm);
}

.page-news .news-fix__card h3 {
  margin: 0 0 10px;
  font-family: var(--bw-font-display);
  font-size: 19px;
  font-weight: 800;
  letter-spacing: 0.01em;
}

.page-news .news-fix__card p {
  margin: 0;
  font-size: 14.5px;
  line-height: 1.78;
}

.page-news .news-fix__card--a {
  background: var(--bw-mist);
  border: 1px solid var(--bw-lift);
  color: var(--bw-ink);
}

.page-news .news-fix__card--b {
  background: var(--bw-green);
  border: 1px solid var(--bw-green-dark);
  color: var(--bw-paper);
}

.page-news .news-fix__link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-top: 16px;
  padding-bottom: 2px;
  font-size: 14px;
  font-weight: 600;
  color: var(--bw-green);
  border-bottom: 2px solid var(--bw-green);
}

.page-news .news-fix__card--a .news-fix__link {
  color: var(--bw-green-dark);
  border-bottom-color: var(--bw-coral);
}

.page-news .news-fix__card--b .news-fix__link {
  color: var(--bw-paper);
  border-bottom-color: var(--bw-sand);
}

.page-news .news-fix__link:hover,
.page-news .news-fix__link:focus-visible {
  border-bottom-width: 3px;
}

.page-news .news-fix__foot {
  margin: 18px 0 0;
  font-size: 13.5px;
  color: var(--bw-moss);
}

.page-news .news-fix__foot a {
  color: var(--bw-green);
  border-bottom: 1px solid var(--bw-lift);
}

.page-news .news-fix__foot a:hover {
  border-bottom-color: var(--bw-green);
}

/* ---------- 中等及以上视口 ---------- */
@media (min-width: 720px) {
  .page-news .news-hero {
    gap: 26px;
  }

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

  .page-news .news-season__rules {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 24px;
  }

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

  .page-news .news-cats__figure {
    padding: 14px;
  }
}

/* ---------- 桌面视口 ---------- */
@media (min-width: 940px) {
  .page-news {
    padding-bottom: 88px;
  }

  .page-news .news-crumb {
    padding-top: 26px;
  }

  .page-news .news-hero {
    display: grid;
    grid-template-columns: minmax(0, 1.18fr) minmax(0, 0.82fr);
    grid-template-rows: auto auto;
    column-gap: clamp(28px, 4vw, 56px);
    row-gap: 24px;
    align-items: start;
    padding-top: 20px;
    padding-bottom: 56px;
  }

  .page-news .news-hero__text {
    grid-column: 1;
    grid-row: 1;
  }

  .page-news .news-hero__stats {
    grid-column: 1;
    grid-row: 2;
    margin-top: 0;
  }

  .page-news .news-hero__figure {
    grid-column: 2;
    grid-row: 1 / span 2;
    align-self: stretch;
    display: flex;
  }

  .page-news .news-hero__figure img {
    aspect-ratio: auto;
    height: 100%;
    min-height: 360px;
  }

  .page-news .news-season {
    grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
    column-gap: clamp(24px, 3vw, 40px);
    align-items: start;
    padding-bottom: 64px;
  }

  .page-news .news-season__cover {
    padding: 40px 36px 42px;
  }

  .page-news .news-season__rules {
    grid-template-columns: minmax(0, 1fr);
    gap: 26px;
    padding-top: 8px;
  }

  .page-news .news-cats__body {
    grid-template-columns: minmax(0, 1.08fr) minmax(0, 0.92fr);
    column-gap: clamp(28px, 3vw, 44px);
    align-items: start;
  }

  .page-news .news-review {
    grid-template-columns: minmax(0, 1.25fr) minmax(0, 0.75fr);
    column-gap: clamp(28px, 3vw, 44px);
    align-items: center;
    padding-bottom: 64px;
  }

  .page-news .news-index > .news-strip {
    padding-bottom: 22px;
  }

  .page-news .news-log {
    padding-bottom: 68px;
  }

  .page-news .news-log__inner {
    max-width: 100%;
  }
}

/* ---------- 动效降级 ---------- */
@media (prefers-reduced-motion: reduce) {
  .page-news * {
    transition: none !important;
    scroll-behavior: auto !important;
  }
}
<<<END>>>

等等，我加了个 `<<<END>>>` —— 那不是要求的格式。要把那个去掉。

还有，我在 `news-review` 里给 `.news-fix__link` 用了 `margin-top: 14px` —— 那个类定义在更下面，但在 CSS 里是没问题的。

另外 `news-review__next` 里的链接用了 `news-fix__link` 类，它会渲染成绿色加下划线 —— 在浅雾色背景上应该还行。

还有个问题：CSS 里 `<li>` 的 `::marker` —— `.news-season__rule li::marker` —— 但那些 `ul` 应该有 list-style 吧？我设了 `padding-left: 18px` 但没设 list-style。默认的圆点可能会显示出来，或者有可能被重置掉。设成 `list-style: none` 的话标记就没了。其实我也可以保留默认的 `disc` —— 嗯，还是把 list-style 显式设一下，让圆点可见。

算了，那就用自定义标记吧：

```css
.page-news .news-season__rule ul {
  list-style: none;
  ...
}
.page-news .news-season__rule li {
  position: relative;
  padding-left: 14px;
}
.page-news .news-season__rule li::before {
  content: "";
  position: absolute;
  left: 0; top: 10px;
  width: 5px; height: 5px;
  background: var(--bw-green);
}
```

好，就这样定。

另外 `.page-news h1.bw-title` —— 它是按标签选择器写的，但限定在 `.page-news` 作用域内了，没问题。

我还得再检查一下 `.page-news .news-strip` 的 padding —— 这里其实用的是 `ul`，但我在选择器里写成了 `.news-strip`，没毛病。

还有 `news-hero__actions .bw-btn` —— `bw-btn` 是全局共享类，给它追加 padding 没问题。

页脚锚点那件事搞定了。

还有一点：`.page-news .news-review__next .news-fix__link` 里用了 `margin-top: 14px`，这个类定义在更后面，不影响。

等等，`.news-review__next .news-fix__link` —— 我是用 `.page-news .news-review__next .news-fix__link` 写的，没问题。

好，再来就是 `news-fix__card--a .news-fix__link` 的颜色要处理一下。

定稿吧。

现在把完整的块输出出来，去掉 END 标记。
<main id="main-content" class="page-news">

  <nav class="bw-breadcrumb news-crumb" aria-label="面包屑导航">
    <span class="bw-breadcrumb__item"><a href="/">首页</a></span>
    <span class="bw-breadcrumb__item">厂商目录与资讯</span>
  </nav>

  <section class="news-hero" data-reveal="0">
    <div class="news-hero__text">
      <p class="bw-kicker">当季目录 · 春季版</p>
      <h1 class="bw-title">当季厂商目录与季度更新记录</h1>
      <p class="bw-lede">按分类找到在营厂商，看清单这一季动了什么。博万游艺把 1,280 条厂商条目归入九个一级分类，每季度出一版当季厂商列表导航，条目字段、评测排期与站点改版记录都能逐条翻看。</p>
      <div class="news-hero__actions">
        <a class="bw-btn bw-btn--accent" href="#catalog">浏览当季目录</a>
        <a class="bw-btn bw-btn--outline" href="/tools/">看订阅查询对比评测</a>
      </div>
    </div>
    <figure class="news-hero__figure">
      <img src="{zhanqunpic:h:800w:1200}" width="1200" height="800" alt="城市夜景灯光虚化成的青绿色块，侧边立着一枚目录编号牌">
    </figure>
    <ul class="news-hero__stats">
      <li><span>1,280</span><span>厂商条目</span></li>
      <li><span>9</span><span>一级分类</span></li>
      <li><span>28</span><span>二级标签</span></li>
      <li><span>46</span><span>期评测清单</span></li>
    </ul>
  </section>

  <section class="news-index" id="catalog" aria-labelledby="catalog-h">
    <div class="news-index__head">
      <div>
        <p class="bw-kicker">分类索引</p>
        <h2 class="bw-title" id="catalog-h">九个一级分类，横向翻一翻</h2>
      </div>
      <p class="news-index__hint">左右滑动浏览，点一下跳到该分类下的条目与标签。</p>
    </div>
    <ul class="news-strip">
      <li><a class="news-strip__item is-current" href="#cat-theme"><span class="bw-mono">01</span>主题乐园</a></li>
      <li><a class="news-strip__item" href="#cat-arcade"><span class="bw-mono">02</span>电玩城</a></li>
      <li><a class="news-strip__item" href="#cat-family"><span class="bw-mono">03</span>亲子游乐</a></li>
      <li><a class="news-strip__item" href="#cat-water"><span class="bw-mono">04</span>水上乐园</a></li>
      <li><a class="news-strip__item" href="#cat-ice"><span class="bw-mono">05</span>冰雪场馆</a></li>
      <li><a class="news-strip__item" href="#cat-show"><span class="bw-mono">06</span>演艺剧场</a></li>
      <li><a class="news-strip__item" href="#cat-complex"><span class="bw-mono">07</span>文旅综合体</a></li>
      <li><a class="news-strip__item" href="#cat-outdoor"><span class="bw-mono">08</span>户外营地</a></li>
      <li><a class="news-strip__item" href="#cat-expo"><span class="bw-mono">09</span>会展赛事</a></li>
    </ul>
  </section>

  <section class="news-season" aria-labelledby="season-h">
    <div class="news-season__cover" data-reveal="60">
      <img src="{zhanqunpic:h:700w:1200}" width="1200" height="700" alt="沙金与青绿交叠的抽象册页封面，压着一枚季度编号牌" loading="lazy" decoding="async">
      <span class="news-season__badge">2025 春季版</span>
      <h2 class="bw-title" id="season-h">这一版收录约 320 条在营厂商</h2>
      <p>每季度推出一版，在上一季的基础上重新核对分类归属与运营状态，字段和标签一起对齐后再发布。当季厂商列表导航可以直接按分类往下翻，也能用二级标签收窄范围。</p>
      <p class="news-season__stamp bw-mono">更新至 2025 年 6 月</p>
    </div>
    <div class="news-season__rules" data-reveal="120">
      <div class="news-season__rule">
        <h3>收录与下架怎么处理</h3>
        <ul>
          <li>来源可追溯、字段完整的在营场所进入当季目录。</li>
          <li>运营状态发生变化、暂无法确认的条目转入观察名单，不占当季正式条目。</li>
          <li>每个条目都要过来源核验、字段校验、分类复核与人工校对四道工序。</li>
        </ul>
      </div>
      <div class="news-season__rule">
        <h3>一条厂商条目里有哪些信息</h3>
        <ul>
          <li>场所名称、所在城市与一级分类，决定您能从哪个入口找到它。</li>
          <li>二级标签，用来说明它属于哪类玩法或业态，方便横向比较。</li>
          <li>运营状态与最近一次字段复核时间，帮您判断这条信息还有没有参考价值。</li>
        </ul>
      </div>
    </div>
  </section>

  <section class="news-cats" aria-labelledby="cats-h">
    <div class="news-cats__head">
      <p class="bw-kicker">分类体系</p>
      <h2 class="bw-title" id="cats-h">九个一级分类，28 个二级标签</h2>
      <p class="bw-lede">同一套分类名称在目录、工具中心与首页保持一致。看到同一个分类，指的就是同一批厂商。</p>
    </div>
    <div class="news-cats__body">
      <ol class="news-cats__list">
        <li class="news-cats__item" id="cat-theme">
          <span class="bw-mono">01</span>
          <div><h3>主题乐园</h3><p>大型机械游乐、沉浸式园区、夜场运营</p></div>
        </li>
        <li class="news-cats__item" id="cat-arcade">
          <span class="bw-mono">02</span>
          <div><h3>电玩城</h3><p>街机、音游、奖品机、竞技赛事</p></div>
        </li>
        <li class="news-cats__item" id="cat-family">
          <span class="bw-mono">03</span>
          <div><h3>亲子游乐</h3><p>软体乐园、职业体验、沙池</p></div>
        </li>
        <li class="news-cats__item" id="cat-water">
          <span class="bw-mono">04</span>
          <div><h3>水上乐园</h3><p>造浪池、滑道、恒温配套</p></div>
        </li>
        <li class="news-cats__item" id="cat-ice">
          <span class="bw-mono">05</span>
          <div><h3>冰雪场馆</h3><p>室内滑雪、冰场、雪具租赁</p></div>
        </li>
        <li class="news-cats__item" id="cat-show">
          <span class="bw-mono">06</span>
          <div><h3>演艺剧场</h3><p>沉浸演出、马戏、灯光秀</p></div>
        </li>
        <li class="news-cats__item" id="cat-complex">
          <span class="bw-mono">07</span>
          <div><h3>文旅综合体</h3><p>商业配套、酒店联动、研学</p></div>
        </li>
        <li class="news-cats__item" id="cat-outdoor">
          <span class="bw-mono">08</span>
          <div><h3>户外营地</h3><p>露营地、山地轨道、无动力设施</p></div>
        </li>
        <li class="news-cats__item" id="cat-expo">
          <span class="bw-mono">09</span>
          <div><h3>会展赛事</h3><p>展陈搭建、赛事承办、票务</p></div>
        </li>
      </ol>
      <figure class="news-cats__figure">
        <img src="{zhanqunpic:h:600w:1000}" width="1000" height="600" alt="九个色块与标签条组成的分类体系抽象示意图" loading="lazy" decoding="async">
        <figcaption>一级分类负责定位，二级标签负责说明业态</figcaption>
      </figure>
    </div>
  </section>

  <section class="news-review" aria-labelledby="review-h">
    <div class="news-review__intro" data-reveal="0">
      <p class="bw-kicker">评测排期</p>
      <h2 class="bw-title" id="review-h">每两个月出一期，已经发到第 46 期</h2>
      <p>四维打分分别看价格透明度、更新频率、记录完整度和移动端体验。分数跟着目录条目逐项对照出来，所以清单更新，评测结论也跟着更新。</p>
    </div>
    <div class="news-review__next" data-reveal="80">
      <span class="bw-mono">第 47 期</span>
      <p>下个月发布。四个维度继续沿用，其中移动端体验一项在本期权重上调，用于回应手机访问占多数的情况。</p>
      <a class="news-fix__link" href="/tools/">查看对比方法</a>
    </div>
  </section>

  <section class="news-log" aria-labelledby="log-h">
    <img class="news-log__texture" src="{zhanqunpic:h:500w:1000}" width="1000" height="500" alt="等距刻度与弧线构成的时间轴浅色纹理" loading="lazy" decoding="async">
    <div class="news-log__inner">
      <div class="news-log__head">
        <p class="bw-kicker">更新记录</p>
        <h2 class="bw-title" id="log-h">这一季，目录、评测、站点各自动了什么</h2>
      </div>
      <div class="bw-tabs news-tabs" data-tabs>
        <div class="news-tabs__bar" role="tablist" aria-label="更新记录分类">
          <button type="button" class="bw-tab news-tabs__tab" role="tab" id="tab-dir" aria-controls="panel-dir" aria-selected="true">目录</button>
          <button type="button" class="bw-tab news-tabs__tab" role="tab" id="tab-rev" aria-controls="panel-rev" aria-selected="false" tabindex="-1">评测</button>
          <button type="button" class="bw-tab news-tabs__tab" role="tab" id="tab-ver" aria-controls="panel-ver" aria-selected="false" tabindex="-1">版本</button>
        </div>

        <div class="bw-tabpanel news-tabs__panel" id="panel-dir" role="tabpanel" aria-labelledby="tab-dir">
          <ol class="news-log__list">
            <li class="news-log__row" data-reveal="0">
              <div class="news-log__meta"><span class="news-log__when">春季版</span><span class="news-log__tag">目录</span></div>
              <p>当季目录发布，收录约 320 条在营厂商，九个一级分类同步校准，字段与标签一次性对齐。</p>
            </li>
            <li class="news-log__row" data-reveal="60">
              <div class="news-log__meta"><span class="news-log__when">上季度</span><span class="news-log__tag">目录</span></div>
              <p>新增一批在营场所，运营状态暂无法确认的条目转入观察名单，不再占用当季正式条目位置。</p>
            </li>
            <li class="news-log__row" data-reveal="120">
              <div class="news-log__meta"><span class="news-log__when">本季度</span><span class="news-log__tag">目录</span></div>
              <p>28 个二级标签完成一轮归属复核，几处跨类现象统一归到最能说明业态的那一类。</p>
            </li>
            <li class="news-log__row" data-reveal="180">
              <div class="news-log__meta"><span class="news-log__when">本月</span><span class="news-log__tag">目录</span></div>
              <p>周二例行巡检照常进行，发现的字段偏差在当期回填，纠错入口收到的反馈同步进入处理队列。</p>
            </li>
          </ol>
        </div>

        <div class="bw-tabpanel news-tabs__panel" id="panel-rev" role="tabpanel" aria-labelledby="tab-rev" hidden>
          <ol class="news-log__list">
            <li class="news-log__row">
              <div class="news-log__meta"><span class="news-log__when">第 46 期</span><span class="news-log__tag">评测</span></div>
              <p>四维打分清单发布，价格透明度、更新频率、记录完整度、移动端体验四项各自给出判断依据。</p>
            </li>
            <li class="news-log__row">
              <div class="news-log__meta"><span class="news-log__when">本月</span><span class="news-log__tag">评测</span></div>
              <p>移动端体验一项权重上调，小屏版主页的加载表现与排版适配计入这一维度。</p>
            </li>
            <li class="news-log__row">
              <div class="news-log__meta"><span class="news-log__when">上个月</span><span class="news-log__tag">评测</span></div>
              <p>完成数家厂商的字段复核，价格透明度相关字段按最新公开信息更新。</p>
            </li>
            <li class="news-log__row">
              <div class="news-log__meta"><span class="news-log__when">下个月</span><span class="news-log__tag">评测</span></div>
              <p>第 47 期进入编辑排期并按期发布，评分方法与四维权重延续本期设置。</p>
            </li>
          </ol>
        </div>

        <div class="bw-tabpanel news-tabs__panel" id="panel-ver" role="tabpanel" aria-labelledby="tab-ver" hidden>
          <ol class="news-log__list">
            <li class="news-log__row">
              <div class="news-log__meta"><span class="news-log__when">上季度</span><span class="news-log__tag">版本</span></div>
              <p>侧边索引导航与标签切换组件上线，栏目页的翻找路径明显缩短，长清单不必一口气刷到底。</p>
            </li>
            <li class="news-log__row">
              <div class="news-log__meta"><span class="news-log__when">春季版</span><span class="news-log__tag">版本</span></div>
              <p>小屏版主页按 320–480 像素宽视口重新排版，4G 环境下首屏加载中位数为 1.2 秒。</p>
            </li>
            <li class="news-log__row">
              <div class="news-log__meta"><span class="news-log__when">本月</span><span class="news-log__tag">版本</span></div>
              <p>使用指南新增 4 篇操作说明，累计发布 78 篇，覆盖订阅、查询、设备切换与记录导出。</p>
            </li>
            <li class="news-log__row">
              <div class="news-log__meta"><span class="news-log__when">本季度</span><span class="news-log__tag">版本</span></div>
              <p>2025 年上半年完成 2 次信息安全自查整改，账号校验与查询记录访问权限都在范围内。</p>
            </li>
          </ol>
        </div>
      </div>
    </div>
  </section>

  <section class="news-fix" aria-labelledby="fix-h">
    <div class="news-fix__head">
      <p class="bw-kicker">纠错与收录</p>
      <h2 class="bw-title" id="fix-h">条目对不上，从这两个入口说一声</h2>
      <p class="bw-lede">客服团队工作日 9:00–18:00 在线，平均首次响应约 11 分钟。反馈到手后会进入当期处理队列，处理结果在下一版目录里体现。</p>
    </div>
    <div class="news-fix__cards">
      <article class="news-fix__card news-fix__card--a" data-reveal="0">
        <h3>目录纠错</h3>
        <p>发现分类归属、运营状态或字段与实际不符，把条目名称和偏差写清楚就够了。核实完成后当场回填，不留在待办里过夜。</p>
        <a class="news-fix__link" href="/contact/">提交纠错说明</a>
      </article>
      <article class="news-fix__card news-fix__card--b" data-reveal="80">
        <h3>厂商收录申请</h3>
        <p>运营状态清楚、分类归属明确、字段齐全的场所可以申请收录。提交时附上名称、分类与运营状态三项，之后按常规流程走完校对再上线。</p>
        <a class="news-fix__link" href="/contact/">发起收录申请</a>
      </article>
    </div>
    <p class="news-fix__foot">换机后想确认记录的去向，可以先看<a href="/guide/">使用指南</a>里的分步说明；想了解目录怎么梳理，可翻阅<a href="/mission/">品牌愿景</a>。</p>
  </section>

</main>

.page-news {
  --news-line: var(--bw-stone);
  background: var(--bw-paper);
  color: var(--bw-ink);
  font-family: var(--bw-font-sans);
  font-size: 16px;
  line-height: 1.75;
  overflow-x: hidden;
  padding-bottom: 64px;
}

.page-news a {
  color: inherit;
  text-decoration: none;
}

.page-news .news-crumb,
.page-news .news-hero,
.page-news .news-index,
.page-news .news-season,
.page-news .news-cats,
.page-news .news-review,
.page-news .news-log,
.page-news .news-fix {
  box-sizing: border-box;
  width: 100%;
  max-width: var(--bw-shell);
  margin-left: auto;
  margin-right: auto;
  padding-left: var(--bw-gap);
  padding-right: var(--bw-gap);
}

/* ---------- 面包屑 ---------- */
.page-news .news-crumb {
  padding-top: 18px;
  padding-bottom: 6px;
}

/* ---------- 通用排版 ---------- */
.page-news h1.bw-title {
  font-family: var(--bw-font-display);
  font-size: clamp(29px, 6.4vw, 52px);
  font-weight: 900;
  line-height: 1.14;
  letter-spacing: -0.01em;
  margin: 0 0 16px;
}

.page-news h2.bw-title {
  font-family: var(--bw-font-display);
  font-size: clamp(22px, 3.6vw, 32px);
  font-weight: 800;
  line-height: 1.26;
  letter-spacing: -0.01em;
  margin: 0 0 12px;
}

.page-news .bw-kicker {
  font-family: var(--bw-font-mono);
  font-size: 12px;
  letter-spacing: 0.16em;
  color: var(--bw-green);
  margin: 0 0 10px;
}

.page-news .bw-lede {
  font-family: var(--bw-font-body);
  font-size: clamp(16px, 1.9vw, 18px);
  line-height: 1.85;
  color: var(--bw-ink);
  margin: 0;
  max-width: 64ch;
}

.page-news .bw-mono {
  font-family: var(--bw-font-mono);
  letter-spacing: 0.04em;
}

/* ---------- 首屏 ---------- */
.page-news .news-hero {
  display: grid;
  gap: 22px;
  padding-top: 14px;
  padding-bottom: 44px;
}

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

.page-news .news-hero__actions .bw-btn {
  padding: 11px 20px;
  font-size: 15px;
  font-weight: 600;
}

.page-news .news-hero__figure {
  margin: 0;
  position: relative;
}

.page-news .news-hero__figure img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 3 / 2;
  object-fit: cover;
  background: var(--bw-mist);
  clip-path: var(--bw-cut);
}

.page-news .news-hero__figure::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: 0;
  width: 88px;
  height: 6px;
  background: var(--bw-coral);
}

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

.page-news .news-hero__stats li {
  display: flex;
  flex-direction: column;
  gap: 2px;
  padding: 14px 16px;
  background: var(--bw-paper);
  min-width: 0;
}

.page-news .news-hero__stats li span:first-child {
  font-family: var(--bw-font-mono);
  font-size: 26px;
  font-weight: 700;
  line-height: 1.15;
  color: var(--bw-green);
  word-break: break-word;
}

.page-news .news-hero__stats li span:last-child {
  font-size: 12px;
  letter-spacing: 0.08em;
  color: var(--bw-moss);
}

/* ---------- 分类索引条 ---------- */
.page-news .news-index {
  padding-top: 4px;
  padding-bottom: 44px;
}

.page-news .news-index__head {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin-bottom: 16px;
}

.page-news .news-index__hint {
  margin: 0;
  font-size: 13px;
  color: var(--bw-moss);
}

.page-news .news-strip {
  list-style: none;
  display: flex;
  gap: 10px;
  margin: 0;
  padding: 4px 2px 16px;
  overflow-x: auto;
  scroll-snap-type: x proximity;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: thin;
}

.page-news .news-strip > li {
  flex: 0 0 auto;
  display: flex;
  scroll-snap-align: start;
}

.page-news .news-strip__item {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  padding: 10px 16px;
  border: 1px solid var(--news-line);
  background: var(--bw-paper);
  font-size: 14px;
  font-weight: 600;
  white-space: nowrap;
  transition: background-color 0.18s ease, color 0.18s ease, border-color 0.18s ease;
}

.page-news .news-strip__item .bw-mono {
  font-size: 11px;
  color: var(--bw-moss);
}

.page-news .news-strip__item:hover,
.page-news .news-strip__item:focus-visible {
  border-color: var(--bw-green);
  color: var(--bw-green);
}

.page-news .news-strip__item.is-current {
  background: var(--bw-green);
  border-color: var(--bw-green);
  color: var(--bw-paper);
}

.page-news .news-strip__item.is-current .bw-mono {
  color: var(--bw-lift);
}

/* ---------- 当季目录封面 + 说明 ---------- */
.page-news .news-season {
  display: grid;
  gap: 22px;
  padding-top: 4px;
  padding-bottom: 48px;
}

.page-news .news-season__cover {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  padding: 30px 24px 32px;
  background: var(--bw-sand);
  color: var(--bw-sand-deep);
  clip-path: var(--bw-cut);
}

.page-news .news-season__cover img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0.22;
  mix-blend-mode: multiply;
}

.page-news .news-season__cover > * {
  position: relative;
}

.page-news .news-season__badge {
  display: inline-block;
  font-family: var(--bw-font-mono);
  font-size: 12px;
  letter-spacing: 0.14em;
  padding: 4px 10px;
  margin-bottom: 16px;
  border: 1px solid currentColor;
}

.page-news .news-season__cover h2.bw-title {
  color: var(--bw-sand-deep);
  margin-bottom: 14px;
}

.page-news .news-season__cover p {
  margin: 0 0 12px;
  font-size: 15px;
  line-height: 1.8;
  max-width: 52ch;
}

.page-news .news-season__stamp {
  margin: 18px 0 0;
  font-size: 12px;
  letter-spacing: 0.08em;
  padding-top: 12px;
  border-top: 1px solid rgba(138, 95, 22, 0.35);
}

.page-news .news-season__rules {
  display: grid;
  gap: 18px;
}

.page-news .news-season__rule {
  border-left: 3px solid var(--bw-lift);
  padding: 2px 0 2px 16px;
}

.page-news .news-season__rule h3 {
  margin: 0 0 8px;
  font-family: var(--bw-font-display);
  font-size: 17px;
  font-weight: 800;
  letter-spacing: 0.01em;
  color: var(--bw-green);
}

.page-news .news-season__rule ul {
  list-style: none;
  margin: 0;
  padding: 0;
  font-size: 14.5px;
  line-height: 1.8;
  color: var(--bw-ink);
}

.page-news .news-season__rule li {
  position: relative;
  padding-left: 14px;
  margin-bottom: 7px;
}

.page-news .news-season__rule li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 11px;
  width: 5px;
  height: 5px;
  background: var(--bw-green);
}

/* ---------- 分类体系 ---------- */
.page-news .news-cats {
  padding-top: 4px;
  padding-bottom: 48px;
}

.page-news .news-cats__head {
  margin-bottom: 20px;
}

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

.page-news .news-cats__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 1px;
  background: var(--news-line);
  border-top: 1px solid var(--news-line);
  border-bottom: 1px solid var(--news-line);
}

.page-news .news-cats__item {
  display: grid;
  grid-template-columns: 40px minmax(0, 1fr);
  gap: 10px;
  align-items: start;
  padding: 15px 14px 15px 16px;
  background: var(--bw-paper);
  transition: background-color 0.18s ease;
}

.page-news .news-cats__item:hover,
.page-news .news-cats__item:target {
  background: var(--bw-mist);
}

.page-news .news-cats__item > .bw-mono {
  padding-top: 4px;
  font-size: 11px;
  color: var(--bw-green);
}

.page-news .news-cats__item h3 {
  margin: 0 0 3px;
  font-family: var(--bw-font-display);
  font-size: 17px;
  font-weight: 800;
  letter-spacing: 0.01em;
}

.page-news .news-cats__item p {
  margin: 0;
  font-size: 13.5px;
  line-height: 1.6;
  color: var(--bw-moss);
}

.page-news .news-cats__figure {
  margin: 0;
  padding: 10px;
  background: var(--bw-paper);
  border: 1px solid var(--news-line);
  clip-path: var(--bw-cut-sm);
}

.page-news .news-cats__figure img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: cover;
  background: var(--bw-mist);
}

.page-news .news-cats__figure figcaption {
  padding: 10px 4px 2px;
  font-family: var(--bw-font-mono);
  font-size: 12px;
  letter-spacing: 0.04em;
  color: var(--bw-moss);
}

/* ---------- 评测排期 ---------- */
.page-news .news-review {
  display: grid;
  gap: 20px;
  padding-top: 4px;
  padding-bottom: 48px;
}

.page-news .news-review__intro p {
  margin: 0;
  font-size: 15.5px;
  line-height: 1.8;
  max-width: 60ch;
}

.page-news .news-review__next {
  padding: 22px 22px 24px;
  background: var(--bw-mist);
  border-left: 5px solid var(--bw-coral);
}

.page-news .news-review__next > .bw-mono {
  display: block;
  font-size: 28px;
  font-weight: 700;
  line-height: 1.2;
  color: var(--bw-green);
  margin-bottom: 8px;
}

.page-news .news-review__next p {
  margin: 0;
  font-size: 14.5px;
  line-height: 1.75;
}

/* ---------- 更新记录 ---------- */
.page-news .news-log {
  position: relative;
  padding-top: 4px;
  padding-bottom: 52px;
}

.page-news .news-log__texture {
  position: absolute;
  top: 24px;
  left: 0;
  display: block;
  width: 100%;
  height: 100%;
  max-height: 460px;
  object-fit: cover;
  opacity: 0.07;
  pointer-events: none;
}

.page-news .news-log__inner {
  position: relative;
}

.page-news .news-log__head {
  margin-bottom: 18px;
}

.page-news .news-tabs__bar {
  display: flex;
  gap: 4px;
  overflow-x: auto;
  border-bottom: 1px solid var(--news-line);
}

.page-news .news-tabs__tab {
  appearance: none;
  background: transparent;
  border: 0;
  border-bottom: 3px solid transparent;
  padding: 12px 20px;
  font-family: var(--bw-font-sans);
  font-size: 15px;
  font-weight: 600;
  color: var(--bw-moss);
  cursor: pointer;
  white-space: nowrap;
  transition: color 0.18s ease, background-color 0.18s ease, border-color 0.18s ease;
}

.page-news .news-tabs__tab:hover {
  color: var(--bw-green);
}

.page-news .news-tabs__tab[aria-selected="true"] {
  color: var(--bw-green);
  border-bottom-color: var(--bw-green);
  background: var(--bw-mist);
}

.page-news .news-tabs__panel {
  padding-top: 8px;
}

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

.page-news .news-log__list::before {
  content: "";
  position: absolute;
  left: 12px;
  top: 20px;
  bottom: 10px;
  width: 2px;
  background: linear-gradient(to bottom, var(--bw-lift), var(--news-line));
}

.page-news .news-log__row {
  position: relative;
  padding: 0 0 22px 34px;
}

.page-news .news-log__row::before {
  content: "";
  position: absolute;
  left: 6px;
  top: 8px;
  box-sizing: content-box;
  width: 10px;
  height: 10px;
  border: 2px solid var(--bw-paper);
  border-radius: 50%;
  background: var(--bw-green);
}

.page-news .news-log__meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin-bottom: 6px;
}

.page-news .news-log__when {
  font-family: var(--bw-font-mono);
  font-size: 12px;
  letter-spacing: 0.06em;
  padding: 3px 9px;
  background: var(--bw-green);
  color: var(--bw-paper);
}

.page-news .news-log__tag {
  font-size: 12px;
  padding: 2px 9px;
  color: var(--bw-moss);
  border: 1px solid var(--news-line);
}

.page-news .news-log__row p {
  margin: 0;
  font-size: 15px;
  line-height: 1.75;
}

/* ---------- 纠错与收录 ---------- */
.page-news .news-fix {
  padding-top: 4px;
}

.page-news .news-fix__head {
  margin-bottom: 20px;
}

.page-news .news-fix__cards {
  display: grid;
  gap: 16px;
}

.page-news .news-fix__card {
  padding: 26px 22px 24px;
  clip-path: var(--bw-cut-sm);
}

.page-news .news-fix__card h3 {
  margin: 0 0 10px;
  font-family: var(--bw-font-display);
  font-size: 19px;
  font-weight: 800;
  letter-spacing: 0.01em;
}

.page-news .news-fix__card p {
  margin: 0;
  font-size: 14.5px;
  line-height: 1.78;
}

.page-news .news-fix__card--a {
  background: var(--bw-mist);
  border: 1px solid var(--bw-lift);
  color: var(--bw-ink);
}

.page-news .news-fix__card--b {
  background: var(--bw-green);
  border: 1px solid var(--bw-green-dark);
  color: var(--bw-paper);
}

.page-news .news-fix__link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-top: 16px;
  padding-bottom: 2px;
  font-size: 14px;
  font-weight: 600;
  color: var(--bw-green);
  border-bottom: 2px solid var(--bw-green);
}

.page-news .news-fix__card--a .news-fix__link {
  color: var(--bw-green-dark);
  border-bottom-color: var(--bw-coral);
}

.page-news .news-fix__card--b .news-fix__link {
  color: var(--bw-paper);
  border-bottom-color: var(--bw-sand);
}

.page-news .news-fix__link:hover,
.page-news .news-fix__link:focus-visible {
  border-bottom-width: 3px;
}

.page-news .news-review__next .news-fix__link {
  margin-top: 14px;
}

.page-news .news-fix__foot {
  margin: 18px 0 0;
  font-size: 13.5px;
  color: var(--bw-moss);
}

.page-news .news-fix__foot a {
  color: var(--bw-green);
  border-bottom: 1px solid var(--bw-lift);
}

.page-news .news-fix__foot a:hover {
  border-bottom-color: var(--bw-green);
}

/* ---------- 中等及以上视口 ---------- */
@media (min-width: 720px) {
  .page-news .news-hero {
    gap: 26px;
  }

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

  .page-news .news-season__rules {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 24px;
  }

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

  .page-news .news-cats__figure {
    padding: 14px;
  }
}

/* ---------- 桌面视口 ---------- */
@media (min-width: 940px) {
  .page-news {
    padding-bottom: 88px;
  }

  .page-news .news-crumb {
    padding-top: 26px;
  }

  .page-news .news-hero {
    grid-template-columns: minmax(0, 1.18fr) minmax(0, 0.82fr);
    grid-template-rows: auto auto;
    column-gap: clamp(28px, 4vw, 56px);
    row-gap: 24px;
    align-items: start;
    padding-top: 20px;
    padding-bottom: 56px;
  }

  .page-news .news-hero__text {
    grid-column: 1;
    grid-row: 1;
  }

  .page-news .news-hero__stats {
    grid-column: 1;
    grid-row: 2;
    margin-top: 0;
  }

  .page-news .news-hero__figure {
    grid-column: 2;
    grid-row: 1 / span 2;
    align-self: stretch;
    display: flex;
  }

  .page-news .news-hero__figure img {
    aspect-ratio: auto;
    height: 100%;
    min-height: 360px;
  }

  .page-news .news-season {
    grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
    column-gap: clamp(24px, 3vw, 40px);
    align-items: start;
    padding-bottom: 64px;
  }

  .page-news .news-season__cover {
    padding: 40px 36px 42px;
  }

  .page-news .news-season__rules {
    grid-template-columns: minmax(0, 1fr);
    gap: 26px;
    padding-top: 8px;
  }

  .page-news .news-cats__body {
    grid-template-columns: minmax(0, 1.08fr) minmax(0, 0.92fr);
    column-gap: clamp(28px, 3vw, 44px);
    align-items: start;
  }

  .page-news .news-review {
    grid-template-columns: minmax(0, 1.25fr) minmax(0, 0.75fr);
    column-gap: clamp(28px, 3vw, 44px);
    align-items: center;
    padding-bottom: 64px;
  }

  .page-news .news-strip {
    padding-bottom: 22px;
  }

  .page-news .news-log {
    padding-bottom: 68px;
  }
}

/* ---------- 动效降级 ---------- */
@media (prefers-reduced-motion: reduce) {
  .page-news * {
    transition: none !important;
    scroll-behavior: auto !important;
  }
}
