.page-news {
  --news-sticky-top: 0px;
  background: var(--paper);
  color: var(--text);
}

/* ---------- 面包屑 ---------- */
.page-news .topic-crumb {
  padding-top: clamp(1rem, 2.5vw, 1.5rem);
}

.page-news .topic-crumb ol {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .5rem;
  margin: 0;
  padding: 0;
  list-style: none;
  font-family: var(--font-mono);
  font-size: var(--fs-12);
  letter-spacing: .08em;
}

.page-news .topic-crumb li + li::before {
  content: "/";
  margin-right: .5rem;
  color: var(--shallow);
}

.page-news .topic-crumb a {
  color: var(--shallow);
  text-decoration: none;
  border-bottom: 1px solid transparent;
  transition: border-color 180ms var(--ease), color 180ms var(--ease);
}

.page-news .topic-crumb a:hover,
.page-news .topic-crumb a:focus-visible {
  color: var(--paper);
  border-bottom-color: var(--signal);
}

.page-news .topic-crumb li[aria-current="page"] {
  color: var(--paper);
}

/* ---------- 首屏 ---------- */
.page-news .topic-hero {
  position: relative;
  overflow: hidden;
  background: var(--ink);
  color: var(--paper);
  padding-bottom: clamp(2.5rem, 6vw, 4.5rem);
}

.page-news .topic-hero::after {
  content: "";
  position: absolute;
  right: -90px;
  top: -70px;
  width: 260px;
  height: 260px;
  border: 1px solid rgba(159, 196, 216, .32);
  transform: rotate(16deg);
  pointer-events: none;
}

.page-news .topic-hero__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: clamp(1.75rem, 4vw, 3rem);
  padding-top: clamp(1.75rem, 5vw, 3.25rem);
}

.page-news .topic-hero__lede .eyebrow {
  color: var(--shallow);
}

.page-news .topic-hero h1 {
  margin: .75rem 0 0;
  font-family: var(--font-display);
  font-weight: 800;
  font-size: clamp(1.9rem, 5.4vw, 3.4rem);
  line-height: 1.16;
  letter-spacing: -.02em;
  color: #fff;
  max-width: 22ch;
}

.page-news .topic-hero__intro {
  margin: 1.25rem 0 0;
  max-width: 36ch;
  font-size: var(--fs-16);
  line-height: 1.85;
  color: rgba(248, 245, 239, .84);
}

.page-news .topic-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: .75rem;
  margin-top: 1.75rem;
}

.page-news .topic-hero__actions .btn--ghost {
  color: var(--paper);
  border-color: rgba(159, 196, 216, .55);
}

.page-news .topic-hero__actions .btn--ghost:hover,
.page-news .topic-hero__actions .btn--ghost:focus-visible {
  color: var(--ink);
  background: var(--paper);
  border-color: var(--paper);
}

.page-news .topic-hero__panel {
  padding: 1.25rem 1.25rem 1.5rem;
  color: var(--ink);
  border: 1px solid rgba(255, 255, 255, .38);
  align-self: start;
}

.page-news .topic-hero__panel .meta {
  color: var(--tide);
}

.page-news .topic-hero__issue {
  margin: .35rem 0 1rem;
  font-family: var(--font-mono);
  font-size: var(--fs-40);
  font-weight: 500;
  letter-spacing: .04em;
  line-height: 1;
  color: var(--ink);
}

.page-news .topic-hero__facts {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .75rem;
  margin: 0 0 1rem;
  padding: 0;
  border-top: 1px solid rgba(16, 58, 92, .18);
  padding-top: .9rem;
}

.page-news .topic-hero__facts dt {
  font-family: var(--font-mono);
  font-size: var(--fs-12);
  letter-spacing: .08em;
  color: var(--tide);
}

.page-news .topic-hero__facts dd {
  margin: .3rem 0 0;
  font-size: var(--fs-16);
  font-weight: 700;
  color: var(--ink);
}

.page-news .topic-hero__hint {
  margin: 0;
  font-size: var(--fs-14);
  line-height: 1.75;
  color: var(--text);
}

.page-news .topic-hero__hint a {
  color: var(--tide);
  text-decoration: none;
  border-bottom: 1px solid var(--shallow);
  transition: border-color 180ms var(--ease), color 180ms var(--ease);
}

.page-news .topic-hero__hint a:hover,
.page-news .topic-hero__hint a:focus-visible {
  color: var(--signal-deep);
  border-bottom-color: var(--signal);
}

/* ---------- 章节骨架 ---------- */
.page-news .topic-section {
  padding: clamp(2.5rem, 6vw, 4.5rem) 0;
}

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

.page-news .topic-section--sand {
  background: var(--sand);
}

.page-news .topic-section__head {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: end;
  gap: 0 .9rem;
  margin-bottom: clamp(1.5rem, 3vw, 2.25rem);
}

.page-news .topic-section__head .display-num {
  font-family: var(--font-serif);
  font-weight: 700;
  font-size: clamp(2.4rem, 8vw, 4.25rem);
  line-height: .82;
  color: var(--shallow);
  letter-spacing: -.03em;
}

.page-news .topic-section__head h2 {
  margin: 0;
  font-family: var(--font-display);
  font-weight: 800;
  font-size: clamp(1.35rem, 3.6vw, var(--fs-28));
  line-height: 1.25;
  letter-spacing: -.01em;
  color: var(--ink);
}

.page-news .topic-section__note {
  grid-column: 2;
  margin: .55rem 0 0;
  font-family: var(--font-mono);
  font-size: var(--fs-12);
  letter-spacing: .08em;
  color: var(--tide);
}

/* ---------- 本期看点 ---------- */
.page-news .spotlight {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--gap);
}

.page-news .spotlight__lead {
  border-left: 3px solid var(--signal);
  padding-left: clamp(.9rem, 2.5vw, 1.4rem);
}

.page-news .spotlight__meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .6rem;
  margin-bottom: .75rem;
}

.page-news .spotlight__lead h3 {
  margin: 0 0 .7rem;
  font-family: var(--font-display);
  font-weight: 800;
  font-size: clamp(1.25rem, 3.4vw, var(--fs-28));
  line-height: 1.3;
  letter-spacing: -.01em;
  color: var(--ink);
}

.page-news .spotlight__lead p {
  margin: 0 0 1rem;
  max-width: 34ch;
  font-size: var(--fs-16);
  line-height: 1.85;
}

.page-news .spotlight__link {
  display: inline-block;
  font-family: var(--font-mono);
  font-size: var(--fs-12);
  letter-spacing: .08em;
  color: var(--tide);
  text-decoration: none;
  border-bottom: 1px solid var(--tide);
  padding-bottom: 2px;
  transition: color 180ms var(--ease), border-color 180ms var(--ease);
}

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

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

.page-news .spotlight__media img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: cover;
  aspect-ratio: 12 / 7;
  border: 1px solid var(--line);
}

.page-news .spotlight__media figcaption {
  margin-top: .65rem;
  font-family: var(--font-mono);
  font-size: var(--fs-12);
  letter-spacing: .04em;
  line-height: 1.7;
  color: var(--tide);
}

.page-news .spotlight__rest {
  margin: clamp(1.5rem, 3vw, 2.25rem) 0 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 0;
  border-top: 1px solid var(--line);
}

.page-news .spotlight__rest li {
  padding: 1rem 0;
  border-bottom: 1px solid var(--line);
}

.page-news .spotlight__rest li .meta {
  display: block;
  margin-bottom: .35rem;
  color: var(--tide);
}

.page-news .spotlight__rest h3 {
  margin: 0 0 .35rem;
  font-family: var(--font-display);
  font-weight: 700;
  font-size: var(--fs-16);
  line-height: 1.5;
  color: var(--ink);
}

.page-news .spotlight__rest p {
  margin: 0;
  max-width: 46ch;
  font-size: var(--fs-14);
  line-height: 1.8;
}

/* ---------- 主题浏览 ---------- */
.page-news .topic-range__figure {
  margin: 0 0 clamp(1.25rem, 3vw, 2rem);
}

.page-news .topic-range__figure img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: cover;
  aspect-ratio: 4 / 1;
  border: 1px solid var(--line);
}

.page-news .topic-controls {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
}

.page-news .filter-radio {
  position: absolute;
  opacity: 0;
  width: 1px;
  height: 1px;
  margin: 0;
}

.page-news .topic-range {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--gap);
}

.page-news .topic-card {
  display: grid;
  gap: .45rem;
  padding: 1.1rem 1.15rem 1.25rem;
  background: var(--sand);
  border: 1px solid var(--line);
  border-left: 3px solid var(--line);
  cursor: pointer;
  transition: border-color 160ms var(--ease), background-color 160ms var(--ease);
}

.page-news .topic-card:hover {
  border-color: var(--tide);
  border-left-color: var(--tide);
  background: #fff;
}

.page-news .topic-card__k {
  display: block;
}

.page-news .topic-card__n {
  font-family: var(--font-mono);
  font-size: var(--fs-12);
  letter-spacing: .08em;
  color: var(--tide);
}

.page-news .topic-card__d {
  font-size: var(--fs-14);
  line-height: 1.75;
  color: var(--text);
}

/* 选中态：卡片与筛选胶囊 */
.page-news:has(#topic-office:checked) label[for="topic-office"],
.page-news:has(#topic-commute:checked) label[for="topic-commute"],
.page-news:has(#topic-home:checked) label[for="topic-home"],
.page-news:has(#topic-travel:checked) label[for="topic-travel"],
.page-news:has(#topic-device:checked) label[for="topic-device"] {
  border-color: var(--tide);
  border-left-color: var(--signal);
  background: #fff;
}

.page-news:has(#topic-office:checked) label.filter-pill[for="topic-office"],
.page-news:has(#topic-commute:checked) label.filter-pill[for="topic-commute"],
.page-news:has(#topic-home:checked) label.filter-pill[for="topic-home"],
.page-news:has(#topic-travel:checked) label.filter-pill[for="topic-travel"],
.page-news:has(#topic-device:checked) label.filter-pill[for="topic-device"],
.page-news:has(#topic-all:checked) label.filter-pill[for="topic-all"] {
  background: var(--ink);
  border-color: var(--ink);
  color: var(--paper);
}

/* 条目筛选 */
.page-news:has(#topic-office:checked) .entry:not(.entry--office),
.page-news:has(#topic-commute:checked) .entry:not(.entry--commute),
.page-news:has(#topic-home:checked) .entry:not(.entry--home),
.page-news:has(#topic-travel:checked) .entry:not(.entry--travel),
.page-news:has(#topic-device:checked) .entry:not(.entry--device) {
  display: none;
}

/* ---------- 条目列表 ---------- */
.page-news .filter-bar {
  position: sticky;
  top: var(--news-sticky-top);
  z-index: 4;
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
  padding: .7rem .75rem;
  margin-bottom: .5rem;
  background: var(--glass-strong);
  border: 1px solid var(--line);
  backdrop-filter: blur(10px);
}

.page-news .filter-pill {
  display: inline-block;
  padding: .35rem .8rem;
  font-family: var(--font-mono);
  font-size: var(--fs-12);
  letter-spacing: .08em;
  color: var(--tide);
  background: transparent;
  border: 1px solid var(--line);
  cursor: pointer;
  transition: background-color 160ms var(--ease), color 160ms var(--ease), border-color 160ms var(--ease);
}

.page-news .filter-pill:hover {
  border-color: var(--tide);
  color: var(--ink);
}

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

.page-news .entry {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: .4rem .9rem;
  padding: 1.05rem 0;
  border-bottom: 1px solid var(--line);
}

.page-news .entry:first-child {
  border-top: 1px solid var(--line);
}

.page-news .entry__num {
  display: flex;
  align-items: baseline;
  gap: .5rem;
  font-family: var(--font-mono);
  font-size: var(--fs-12);
  letter-spacing: .08em;
  color: var(--text);
  transition: color 160ms var(--ease);
}

.page-news .entry__time {
  color: var(--shallow);
}

.page-news .entry:hover .entry__num {
  color: var(--tide);
}

.page-news .entry:hover .entry__time {
  color: var(--tide);
}

.page-news .entry__title {
  margin: 0 0 .35rem;
  font-family: var(--font-display);
  font-weight: 700;
  font-size: var(--fs-16);
  line-height: 1.55;
  color: var(--ink);
}

.page-news .entry__desc {
  margin: 0;
  max-width: 44ch;
  font-size: var(--fs-14);
  line-height: 1.8;
}

.page-news .entry .tag {
  justify-self: start;
  align-self: start;
}

/* 分类标签配色 */
.page-news .tag--office {
  background: rgba(46, 127, 168, .12);
  color: var(--tide);
  border: 1px solid rgba(46, 127, 168, .35);
}

.page-news .tag--commute {
  background: rgba(159, 196, 216, .3);
  color: var(--ink);
  border: 1px solid rgba(159, 196, 216, .8);
}

.page-news .tag--home {
  background: rgba(239, 230, 214, .85);
  color: #7a6440;
  border: 1px solid #d8c8ab;
}

.page-news .tag--travel {
  background: transparent;
  color: var(--signal-deep);
  border: 1px solid rgba(217, 85, 31, .45);
}

.page-news .tag--device {
  background: var(--ink);
  color: var(--paper);
  border: 1px solid var(--ink);
}

/* 往期折叠 */
.page-news .archive {
  margin-top: 1.5rem;
  border-top: 1px solid var(--line);
  padding-top: 1rem;
}

.page-news .archive summary {
  cursor: pointer;
  list-style: none;
  font-family: var(--font-mono);
  font-size: var(--fs-12);
  letter-spacing: .08em;
  color: var(--tide);
  padding: .35rem 0;
  transition: color 160ms var(--ease);
}

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

.page-news .archive summary::after {
  content: "＋";
  margin-left: .5rem;
  color: var(--signal);
}

.page-news .archive[open] summary::after {
  content: "－";
}

.page-news .archive summary:hover {
  color: var(--ink);
}

.page-news .archive__list {
  margin: .75rem 0 0;
  padding: 0;
  list-style: none;
}

.page-news .archive__list li {
  display: grid;
  gap: .3rem;
  padding: .7rem 0;
  border-bottom: 1px dashed var(--line);
}

.page-news .archive__list .meta {
  color: var(--shallow);
}

.page-news .archive__list p {
  margin: 0;
  font-size: var(--fs-14);
  line-height: 1.8;
}

/* ---------- 版本演进 ---------- */
.page-news .evolution {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--gap);
}

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

.page-news .evolution__media img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: cover;
  aspect-ratio: 4 / 3;
  border: 1px solid rgba(16, 58, 92, .18);
}

.page-news .timeline {
  margin: 0;
  padding: 0 0 0 1.1rem;
  list-style: none;
  border-left: 1px solid rgba(16, 58, 92, .22);
}

.page-news .timeline li {
  position: relative;
  padding: 0 0 1.3rem 0;
}

.page-news .timeline li:last-child {
  padding-bottom: 0;
}

.page-news .timeline li::before {
  content: "";
  position: absolute;
  left: calc(-1.1rem - 4px);
  top: .5rem;
  width: 7px;
  height: 7px;
  background: var(--paper);
  border: 1.5px solid var(--tide);
  border-radius: 50%;
}

.page-news .timeline li:first-child::before {
  background: var(--signal);
  border-color: var(--signal);
}

.page-news .timeline__b {
  display: inline-block;
  margin-bottom: .35rem;
  font-family: var(--font-mono);
  font-size: var(--fs-12);
  letter-spacing: .08em;
  color: var(--tide);
}

.page-news .timeline__t {
  margin: 0 0 .35rem;
  font-family: var(--font-display);
  font-weight: 700;
  font-size: var(--fs-16);
  line-height: 1.5;
  color: var(--ink);
}

.page-news .timeline p {
  margin: 0;
  max-width: 44ch;
  font-size: var(--fs-14);
  line-height: 1.8;
}

/* ---------- 投稿 ---------- */
.page-news .submit-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--gap);
}

.page-news .submit-copy p {
  margin: 0 0 1rem;
  max-width: 44ch;
  font-size: var(--fs-16);
  line-height: 1.85;
}

.page-news .submit-list {
  margin: 0 0 1.1rem;
  padding: 0;
  list-style: none;
}

.page-news .submit-list li {
  position: relative;
  padding: .55rem 0 .55rem 1.1rem;
  font-size: var(--fs-14);
  line-height: 1.8;
  border-bottom: 1px solid var(--line);
}

.page-news .submit-list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 1.05rem;
  width: 6px;
  height: 6px;
  background: var(--signal);
}

.page-news .submit-note {
  font-size: var(--fs-14);
  line-height: 1.8;
  color: var(--tide);
}

.page-news .submit-actions {
  display: flex;
  flex-wrap: wrap;
  gap: .75rem;
  margin-top: 1.25rem;
}

.page-news .submit-actions .btn--ghost {
  font-family: var(--font-mono);
  font-size: var(--fs-12);
  letter-spacing: .04em;
}

.page-news .submit-media {
  margin: 0;
}

.page-news .submit-media img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: cover;
  aspect-ratio: 3 / 2;
  border: 1px solid var(--line);
  background: var(--sand);
}

.page-news .submit-media figcaption {
  margin-top: .65rem;
  font-family: var(--font-mono);
  font-size: var(--fs-12);
  line-height: 1.7;
  letter-spacing: .04em;
  color: var(--tide);
}

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

  .page-news .entry {
    grid-template-columns: 92px minmax(0, 1fr) auto;
    align-items: start;
    gap: .2rem 1.25rem;
    padding: 1.2rem 0;
  }

  .page-news .entry__num {
    flex-direction: column;
    gap: .2rem;
  }

  .page-news .archive__list li {
    grid-template-columns: 92px minmax(0, 1fr);
    align-items: baseline;
    gap: 1.25rem;
  }
}

@media (min-width: 900px) {
  .page-news {
    --news-sticky-top: 90px;
  }

  .page-news .topic-hero__grid {
    grid-template-columns: minmax(0, 7fr) minmax(0, 4fr);
    align-items: start;
  }

  .page-news .spotlight {
    grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
    align-items: start;
  }

  .page-news .spotlight__media img {
    aspect-ratio: 12 / 8;
  }

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

  .page-news .topic-card:nth-child(even) {
    margin-top: 24px;
  }

  .page-news .evolution {
    grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
    align-items: start;
  }

  .page-news .submit-grid {
    grid-template-columns: minmax(0, 7fr) minmax(0, 4fr);
    align-items: start;
  }

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

  .page-news .spotlight__rest li {
    border-bottom: 0;
    padding: 1.1rem 0 0;
  }

  .page-news .spotlight__rest li + li {
    padding-left: 0;
  }
}

@media (prefers-reduced-motion: reduce) {
  .page-news .topic-crumb a,
  .page-news .topic-card,
  .page-news .filter-pill,
  .page-news .entry__num,
  .page-news .entry__time,
  .page-news .spotlight__link {
    transition: none;
  }
}
<<<PAGE_CSS_END>>>
