.page-news{
  --nw-line:linear-gradient(90deg,transparent 0%,var(--magenta) 18%,var(--blue) 52%,var(--green) 82%,transparent 100%);
  --nw-shadow-light:4px 4px 0 rgba(244,239,230,.16);
  --nw-shadow-light-2:6px 6px 0 rgba(244,239,230,.22);
  background:var(--ink);
  color:var(--on-dark);
  overflow-x:hidden;
}

/* ---------- 面包屑 ---------- */
.page-news .breadcrumbs{
  padding-top:clamp(14px,2vw,22px);
}
.page-news .breadcrumb-list{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px;
  margin:0;
  padding:0;
  list-style:none;
  font-family:var(--font-mono);
  font-size:13px;
  letter-spacing:.04em;
  color:var(--on-dark-mute);
}
.page-news .breadcrumb-item + .breadcrumb-item::before{
  content:"/";
  margin-right:8px;
  color:var(--violet);
}
.page-news .breadcrumb-item a{
  color:var(--on-dark-mute);
  text-decoration:none;
}
.page-news .breadcrumb-item a:hover,
.page-news .breadcrumb-item a:focus-visible{
  color:var(--green);
}
.page-news .breadcrumb-item [aria-current="page"]{
  color:var(--on-dark);
}

/* ---------- 头部拼贴 ---------- */
.page-news .news-hero{
  position:relative;
  padding-bottom:clamp(28px,4vw,48px);
  overflow:hidden;
}
.page-news .news-hero::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 10% 12%,rgba(255,46,147,.16),transparent 52%),
    radial-gradient(circle at 92% 4%,rgba(44,123,255,.20),transparent 46%),
    var(--scan);
  pointer-events:none;
}
.page-news .news-hero-inner{
  position:relative;
  display:grid;
  gap:clamp(20px,3vw,34px);
  grid-template-areas:
    "media"
    "text"
    "rail";
  padding-top:clamp(20px,3vw,34px);
}
.page-news .news-hero-media{
  grid-area:media;
  display:block;
  margin:0;
  border:2px solid var(--hair-dark);
  box-shadow:var(--nw-shadow-light);
}
.page-news .news-hero-media img{
  display:block;
  width:100%;
  height:auto;
  aspect-ratio:21/9;
  object-fit:cover;
}
.page-news .news-hero-media figcaption{
  margin-top:0;
  padding:10px 14px;
  background:var(--ink-2);
  font-family:var(--font-mono);
  font-size:12px;
  letter-spacing:.06em;
  color:var(--on-dark-mute);
  border-top:2px solid var(--hair-dark);
}
.page-news .news-hero-text{
  grid-area:text;
}
.page-news .news-kicker{
  display:inline-block;
  margin:0 0 16px;
  padding:4px 10px;
  border:2px solid var(--magenta);
  font-family:var(--font-mono);
  font-size:13px;
  letter-spacing:.18em;
  color:var(--paper-2);
}
.page-news .news-hero h1{
  margin:0 0 18px;
  font-size:clamp(34px,5.6vw,70px);
  line-height:1.04;
  font-weight:900;
  letter-spacing:-.02em;
  color:var(--paper-2);
  max-width:19ch;
}
.page-news .news-lede{
  margin:0;
  max-width:64ch;
  font-size:clamp(16px,1.4vw,17px);
  line-height:1.78;
  color:var(--on-dark-mute);
}
.page-news .news-hero-rail{
  grid-area:rail;
  padding-left:16px;
  border-left:2px solid var(--magenta);
}
.page-news .news-rail-label{
  margin:0 0 12px;
  font-family:var(--font-mono);
  font-size:12px;
  letter-spacing:.16em;
  color:var(--green);
}
.page-news .news-rail-list{
  margin:0;
}
.page-news .news-rail-list > div{
  padding:8px 0;
  border-bottom:1px solid var(--hair-dark);
}
.page-news .news-rail-list dt{
  font-family:var(--font-mono);
  font-size:12px;
  letter-spacing:.08em;
  color:var(--violet);
}
.page-news .news-rail-list dd{
  margin:2px 0 0;
  font-family:var(--font-mono);
  font-size:15px;
  letter-spacing:.02em;
  color:var(--on-dark);
}

/* ---------- 标签索引条 ---------- */
.page-news .news-tags{
  background:var(--ink);
  border-top:1px solid var(--hair-dark);
  border-bottom:1px solid var(--hair-dark);
  padding:16px 0;
}
.page-news .news-tags-inner{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:space-between;
  gap:14px 26px;
}
.page-news .news-tag-list{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:10px;
  margin:0;
  padding:0;
  list-style:none;
}
.page-news .news-tag{
  position:relative;
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:7px 12px;
  border:2px solid var(--hair-dark);
  color:var(--on-dark);
  font-size:14px;
  line-height:1.2;
  text-decoration:none;
  transition:border-color var(--dur) var(--ease),color var(--dur) var(--ease);
}
.page-news .news-tag::after{
  content:"";
  position:absolute;
  left:-2px;
  right:-2px;
  bottom:-2px;
  height:3px;
  background:var(--spectrum);
  transform:scaleX(0);
  transform-origin:left center;
  transition:transform var(--dur-2) var(--ease);
}
.page-news .news-tag:hover,
.page-news .news-tag:focus-visible{
  border-color:var(--on-dark);
}
.page-news .news-tag:hover::after,
.page-news .news-tag:focus-visible::after{
  transform:scaleX(1);
}
.page-news .news-tag--all{
  border-color:var(--on-dark);
}
.page-news .news-tag--all::after{
  transform:scaleX(1);
}
.page-news .news-tag-count{
  font-family:var(--font-mono);
  font-size:12px;
  letter-spacing:.02em;
  color:var(--green);
}
.page-news .news-tag-note{
  margin:0;
  font-family:var(--font-mono);
  font-size:12px;
  letter-spacing:.06em;
  color:var(--on-dark-mute);
}

/* ---------- 条目流 ---------- */
.page-news .news-feed{
  position:relative;
  background:var(--paper);
  color:var(--on-light);
  padding:clamp(34px,5vw,64px) 0 clamp(44px,6vw,84px);
}
.page-news .news-feed::before{
  content:"";
  position:absolute;
  top:0;
  left:0;
  right:0;
  height:2px;
  background:var(--spectrum);
}
.page-news .news-list{
  margin:0;
  padding:0;
  list-style:none;
  border-top:2px solid var(--brown);
}
.page-news .news-item{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:12px;
  padding:clamp(20px,2.8vw,30px) 0;
  border-bottom:1px solid var(--hair-light);
  scroll-margin-top:96px;
}
.page-news .news-item-side{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:10px 14px;
}
.page-news .news-item-time{
  font-family:var(--font-mono);
  font-size:13px;
  font-weight:700;
  letter-spacing:.08em;
  color:var(--brown);
}
.page-news .news-item-body{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:clamp(14px,2vw,26px);
}
.page-news .news-item-title{
  margin:0 0 10px;
  font-size:clamp(19px,2.2vw,25px);
  line-height:1.3;
  font-weight:800;
  letter-spacing:-.01em;
}
.page-news .news-item-title a{
  color:var(--on-light);
  text-decoration:none;
  background-image:linear-gradient(90deg,var(--magenta),var(--blue),var(--green));
  background-repeat:no-repeat;
  background-position:0 100%;
  background-size:0% 2px;
  transition:background-size var(--dur-2) var(--ease);
}
.page-news .news-item-title a:hover,
.page-news .news-item-title a:focus-visible{
  background-size:100% 2px;
}
.page-news .news-item-title::after{
  content:"→";
  display:inline-block;
  margin-left:8px;
  color:var(--magenta);
  opacity:0;
  transform:translateX(-6px);
  transition:opacity var(--dur) var(--ease),transform var(--dur) var(--ease);
}
.page-news .news-item:hover .news-item-title::after,
.page-news .news-item:focus-within .news-item-title::after{
  opacity:1;
  transform:translateX(0);
}
.page-news .news-item-summary{
  margin:0;
  font-size:16px;
  line-height:1.75;
  color:var(--on-light-mute);
  transition:color var(--dur) var(--ease);
}
.page-news .news-item:hover .news-item-summary,
.page-news .news-item:focus-within .news-item-summary{
  color:var(--on-light);
}
.page-news .news-item-meta{
  margin:12px 0 0;
  font-family:var(--font-mono);
  font-size:13px;
  letter-spacing:.02em;
  color:var(--violet);
}
.page-news .news-item-meta a{
  color:var(--blue);
  text-decoration:none;
  border-bottom:1px solid transparent;
  transition:border-color var(--dur) var(--ease);
}
.page-news .news-item-meta a:hover,
.page-news .news-item-meta a:focus-visible{
  border-bottom-color:var(--magenta);
}
.page-news .news-item-media{
  margin:0;
  border:2px solid var(--brown);
  box-shadow:var(--shadow-1);
  background:var(--paper-2);
  align-self:start;
}
.page-news .news-item-media img{
  display:block;
  width:100%;
  height:auto;
  aspect-ratio:4/3;
  object-fit:cover;
}

/* 光带分隔 */
.page-news .news-band{
  list-style:none;
  padding:clamp(16px,2.4vw,24px) 0;
  border-bottom:1px solid var(--hair-light);
}
.page-news .news-band-inner{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:12px 18px;
}
.page-news .news-band-line{
  flex:1 1 90px;
  height:3px;
  background:var(--nw-line);
}
.page-news .news-band-text{
  flex:0 1 auto;
  margin:0;
  font-family:var(--font-mono);
  font-size:13px;
  letter-spacing:.02em;
  color:var(--brown);
}

/* 列表收束 */
.page-news .news-feed-end{
  height:4px;
  background:var(--spectrum);
  margin-top:clamp(26px,4vw,44px);
}
.page-news .news-feed-endnote{
  margin:14px 0 0;
  font-family:var(--font-mono);
  font-size:13px;
  letter-spacing:.04em;
  color:var(--on-light-mute);
}

/* ---------- 专题系列 ---------- */
.page-news .news-series{
  position:relative;
  background:var(--ink-2);
  color:var(--on-dark);
  padding:clamp(44px,6vw,84px) 0;
  overflow:hidden;
}
.page-news .news-series-bg{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  opacity:.2;
  pointer-events:none;
}
.page-news .news-series > .wrap{
  position:relative;
}
.page-news .news-series-head{
  display:grid;
  gap:14px;
  margin-bottom:clamp(22px,3.4vw,38px);
}
.page-news .news-series-head h2{
  margin:0;
  font-size:clamp(28px,3.8vw,44px);
  line-height:1.08;
  font-weight:900;
  letter-spacing:-.02em;
  color:var(--paper-2);
}
.page-news .news-series-head p{
  margin:0;
  max-width:56ch;
  font-size:16px;
  line-height:1.75;
  color:var(--on-dark-mute);
}
.page-news .news-rail{
  display:grid;
  grid-auto-flow:column;
  grid-auto-columns:minmax(258px,84%);
  gap:18px;
  margin:0;
  padding:4px 4px 16px;
  list-style:none;
  overflow-x:auto;
  scroll-snap-type:x mandatory;
  -webkit-overflow-scrolling:touch;
  scrollbar-color:var(--magenta) transparent;
}
.page-news .news-rail:focus-visible{
  outline:2px solid var(--magenta);
  outline-offset:4px;
}
.page-news .news-series-card{
  scroll-snap-align:start;
  display:flex;
  flex-direction:column;
  gap:12px;
  padding:clamp(18px,2.4vw,26px);
  background:var(--ink);
  border:2px solid var(--magenta);
  box-shadow:var(--nw-shadow-light);
  transition:transform var(--dur) var(--ease),box-shadow var(--dur) var(--ease);
}
.page-news .news-series-card--blue{
  border-color:var(--blue);
}
.page-news .news-series-card--green{
  border-color:var(--green);
}
.page-news .news-series-card:hover{
  transform:translateY(-2px);
  box-shadow:var(--nw-shadow-light-2);
}
.page-news .news-series-no{
  margin:0;
  font-size:13px;
  letter-spacing:.18em;
  color:var(--on-dark-mute);
}
.page-news .news-series-card h3{
  margin:0;
  font-size:clamp(20px,2.2vw,24px);
  line-height:1.25;
  font-weight:800;
  color:var(--paper-2);
}
.page-news .news-series-card p{
  margin:0;
  font-size:15px;
  line-height:1.7;
  color:var(--on-dark-mute);
}
.page-news .news-series-freq{
  margin-top:auto;
  padding-top:10px;
  border-top:1px solid var(--hair-dark);
  font-size:12px;
  letter-spacing:.06em;
  color:var(--green);
}

/* ---------- 节奏与归档 ---------- */
.page-news .news-cadence{
  background:var(--paper);
  color:var(--on-light);
  padding:clamp(44px,6vw,84px) 0;
}
.page-news .news-cadence-grid{
  display:grid;
  gap:clamp(26px,4vw,52px);
}
.page-news .news-cadence-main h2{
  margin:0 0 14px;
  font-size:clamp(26px,3.4vw,40px);
  line-height:1.1;
  font-weight:900;
  letter-spacing:-.02em;
  color:var(--on-light);
}
.page-news .news-cadence-lede{
  margin:0 0 clamp(20px,3vw,32px);
  max-width:60ch;
  font-size:16px;
  line-height:1.75;
  color:var(--on-light-mute);
}
.page-news .news-cadence-list{
  margin:0;
  border-top:2px solid var(--brown);
}
.page-news .news-cadence-list > div{
  display:grid;
  gap:6px;
  padding:16px 0;
  border-bottom:1px solid var(--hair-light);
}
.page-news .news-cadence-list dt{
  font-family:var(--font-mono);
  font-size:13px;
  font-weight:700;
  letter-spacing:.08em;
  color:var(--brown);
}
.page-news .news-cadence-list dd{
  margin:0;
  font-size:16px;
  line-height:1.75;
  color:var(--on-light-mute);
}
.page-news .news-cadence-rail{
  padding-left:16px;
  border-left:2px solid var(--amber);
}
.page-news .news-cadence-rail .news-rail-label{
  color:var(--amber);
}
.page-news .news-cadence-rail p{
  margin:0 0 12px;
  font-size:15px;
  line-height:1.75;
  color:var(--on-light-mute);
}
.page-news .news-cadence-rail-link a{
  font-family:var(--font-mono);
  font-size:14px;
  color:var(--blue);
  text-decoration:none;
  border-bottom:1px solid transparent;
  transition:border-color var(--dur) var(--ease);
}
.page-news .news-cadence-rail-link a:hover,
.page-news .news-cadence-rail-link a:focus-visible{
  border-bottom-color:var(--magenta);
}

/* ---------- 订阅与回访 ---------- */
.page-news .news-subscribe{
  position:relative;
  background:var(--ink);
  color:var(--on-dark);
  padding:clamp(46px,6.4vw,90px) 0;
  overflow:hidden;
}
.page-news .news-subscribe::before{
  content:"";
  position:absolute;
  top:0;
  left:0;
  right:0;
  height:2px;
  background:var(--spectrum);
}
.page-news .news-subscribe::after{
  content:"";
  position:absolute;
  inset:0;
  background:radial-gradient(circle at 82% 96%,rgba(56,248,176,.14),transparent 48%);
  pointer-events:none;
}
.page-news .news-subscribe > .wrap{
  position:relative;
}
.page-news .news-subscribe h2{
  margin:0 0 14px;
  font-size:clamp(26px,3.6vw,42px);
  line-height:1.1;
  font-weight:900;
  letter-spacing:-.02em;
  color:var(--paper-2);
}
.page-news .news-sub-lede{
  margin:0;
  max-width:58ch;
  font-size:16px;
  line-height:1.78;
  color:var(--on-dark-mute);
}
.page-news .news-sub-grid{
  display:grid;
  gap:18px;
  margin-top:clamp(22px,3.2vw,36px);
}
.page-news .news-sub-card{
  display:flex;
  flex-direction:column;
  gap:12px;
  align-items:flex-start;
  padding:clamp(18px,2.4vw,28px);
  background:var(--ink-2);
  border:2px solid var(--hair-dark);
  transition:transform var(--dur) var(--ease),box-shadow var(--dur) var(--ease),border-color var(--dur) var(--ease);
}
.page-news .news-sub-card:hover{
  transform:translateY(-2px);
  border-color:var(--blue);
  box-shadow:var(--nw-shadow-light-2);
}
.page-news .news-sub-card h3{
  margin:0;
  font-size:clamp(19px,2vw,22px);
  font-weight:800;
  color:var(--paper-2);
}
.page-news .news-sub-card p{
  margin:0;
  font-size:15px;
  line-height:1.75;
  color:var(--on-dark-mute);
}
.page-news .news-sub-mail{
  font-family:var(--font-mono);
  font-size:14px;
  letter-spacing:.02em;
  color:var(--green);
  word-break:break-all;
}
.page-news .news-sub-note{
  font-size:13px;
  line-height:1.7;
  color:var(--violet);
}
.page-news .news-sub-card .btn{
  margin-top:4px;
}

/* ---------- 回到顶部 ---------- */
.page-news .news-top{
  position:fixed;
  right:clamp(12px,3vw,28px);
  bottom:clamp(12px,3vw,28px);
  z-index:20;
  display:grid;
  place-items:center;
  width:46px;
  height:46px;
  border:2px solid var(--magenta);
  background:var(--ink);
  color:var(--paper-2);
  box-shadow:4px 4px 0 rgba(255,46,147,.34);
  font-size:18px;
  line-height:1;
  text-decoration:none;
  transition:transform var(--dur) var(--ease),box-shadow var(--dur) var(--ease);
}
.page-news .news-top:hover,
.page-news .news-top:focus-visible{
  transform:translateY(-2px);
  box-shadow:6px 6px 0 rgba(255,46,147,.46);
}

/* ---------- 断点 ---------- */
@media (min-width:720px){
  .page-news .news-item-body{
    grid-template-columns:minmax(0,1fr);
  }
  .page-news .news-cadence-list > div{
    grid-template-columns:minmax(0,156px) minmax(0,1fr);
    gap:24px;
    align-items:baseline;
  }
  .page-news .news-sub-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media (min-width:820px){
  .page-news .news-item{
    grid-template-columns:minmax(0,180px) minmax(0,1fr);
    gap:clamp(20px,3vw,42px);
    align-items:start;
  }
  .page-news .news-item-side{
    flex-direction:column;
    align-items:flex-start;
    gap:10px;
  }
  .page-news .news-item--with-media .news-item-body{
    grid-template-columns:minmax(0,1fr) minmax(0,30%);
    align-items:start;
  }
}

@media (min-width:900px){
  .page-news .news-hero-inner{
    grid-template-columns:minmax(0,7fr) minmax(0,2.6fr);
    grid-template-areas:
      "media media"
      "text  rail";
    align-items:end;
    gap:clamp(24px,3vw,40px);
  }
  .page-news .news-tag-list{
    gap:12px;
  }
  .page-news .news-rail{
    grid-auto-flow:row;
    grid-template-columns:repeat(3,minmax(0,1fr));
    grid-auto-columns:auto;
    overflow-x:visible;
    scroll-snap-type:none;
    padding:4px;
  }
  .page-news .news-series-head{
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    align-items:end;
    gap:32px;
  }
  .page-news .news-cadence-grid{
    grid-template-columns:minmax(0,7.4fr) minmax(0,2.6fr);
    align-items:start;
  }
}

@media (min-width:1200px){
  .page-news .news-item{
    grid-template-columns:minmax(0,206px) minmax(0,1fr);
  }
  .page-news .news-hero h1{
    max-width:16ch;
  }
}

@media (prefers-reduced-motion:reduce){
  .page-news .news-tag,
  .page-news .news-tag::after,
  .page-news .news-item-title a,
  .page-news .news-item-title::after,
  .page-news .news-item-summary,
  .page-news .news-series-card,
  .page-news .news-sub-card,
  .page-news .news-top{
    transition:none;
  }
  .page-news .news-series-card:hover,
  .page-news .news-sub-card:hover,
  .page-news .news-top:hover{
    transform:none;
  }
}
