.page-news{
  --news-gap:clamp(18px,3vw,30px);
  --news-rail:clamp(240px,24vw,304px);
  --news-sticky:calc(var(--header-h) + 28px);
  padding-bottom:clamp(40px,7vw,90px);
}

.page-news img{
  max-width:100%;
  height:auto;
  display:block;
}

/* ---------- 首屏 ---------- */
.page-news .news-hero{
  position:relative;
  padding-block:clamp(20px,3.4vw,40px) clamp(20px,3.6vw,44px);
  overflow:hidden;
}
.page-news .news-hero::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(120% 95% at 86% -10%,rgba(0,229,255,.13),transparent 62%),
    radial-gradient(85% 70% at -5% 105%,rgba(255,122,26,.08),transparent 66%);
  pointer-events:none;
}
.page-news .news-hero-grid{
  position:relative;
  z-index:1;
  display:grid;
  gap:var(--news-gap);
}
.page-news .news-hero-copy{
  min-width:0;
}
.page-news .news-title{
  margin:14px 0 0;
  font-family:var(--font-display);
  font-size:clamp(27px,4.6vw,50px);
  font-weight:800;
  line-height:1.08;
  letter-spacing:-.02em;
}
.page-news .news-lede{
  margin:16px 0 0;
  max-width:58ch;
  font-size:clamp(15px,1.6vw,17px);
  line-height:1.78;
  color:var(--text-dim);
}
.page-news .news-hero-tags{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin:24px 0 0;
  padding:0;
  list-style:none;
}
.page-news .news-hero-tags li{
  padding:6px 13px;
  border:1px solid var(--grid-line);
  border-radius:var(--r-pill);
  background:var(--ink-sub);
  font-family:var(--font-mono);
  font-size:12.5px;
  letter-spacing:.02em;
  color:var(--text-dim);
  font-variant-numeric:tabular-nums;
}
.page-news .news-hero-media{
  margin:0;
}

@media (min-width:900px){
  .page-news .news-hero-grid{
    grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);
    gap:clamp(24px,4vw,56px);
    align-items:center;
  }
}

/* ---------- 筛选条 ---------- */
.page-news .news-filter-wrap{
  border-bottom:1px solid var(--grid-line);
  background:linear-gradient(180deg,rgba(19,34,52,.55),transparent);
}
.page-news .news-filter{
  display:flex;
  gap:10px;
  overflow-x:auto;
  padding:0 0 14px;
  scrollbar-width:none;
}
.page-news .news-filter::-webkit-scrollbar{
  display:none;
}
.page-news .news-filter .chip{
  flex:0 0 auto;
}

/* ---------- 章节通用 ---------- */
.page-news .section{
  padding-block:clamp(34px,5.4vw,68px);
}
.page-news .news-head{
  max-width:74ch;
  margin-bottom:clamp(20px,3vw,34px);
}
.page-news .news-head h2{
  margin:8px 0 0;
  font-family:var(--font-display);
  font-size:clamp(22px,3vw,34px);
  font-weight:760;
  line-height:1.18;
  letter-spacing:-.015em;
}
.page-news .news-head p{
  margin:12px 0 0;
  font-size:15.5px;
  line-height:1.76;
  color:var(--text-dim);
}
.page-news .news-divider{
  height:1px;
  border:0;
  margin:0;
  background:linear-gradient(90deg,transparent,var(--grid-line) 14%,rgba(0,229,255,.55) 50%,var(--grid-line) 86%,transparent);
}
.page-news .news-more{
  margin:6px 0 0;
  font-size:14px;
  line-height:1.7;
  color:var(--text-dim);
}
.page-news .news-more a{
  color:var(--cyan);
  text-decoration:none;
  border-bottom:1px solid rgba(0,229,255,.4);
}
.page-news .news-more a:hover,
.page-news .news-more a:focus-visible{
  color:var(--orange);
  border-bottom-color:rgba(255,122,26,.6);
}

/* ---------- 本阶段重点 ---------- */
.page-news .lead-board{
  display:grid;
  gap:var(--news-gap);
  grid-template-columns:minmax(0,1fr);
}
.page-news .lead-card{
  position:relative;
  display:flex;
  flex-direction:column;
  gap:10px;
  padding:clamp(18px,2.4vw,26px);
  background:linear-gradient(180deg,var(--ink-panel),var(--ink-deep));
  border:1px solid var(--grid-line);
  border-radius:var(--r-lg);
  overflow:hidden;
  transition:border-color .24s ease,transform .24s ease;
}
.page-news .lead-card::after{
  content:"";
  position:absolute;
  inset:0 0 auto 0;
  height:2px;
  background:linear-gradient(90deg,var(--cyan),transparent 72%);
  opacity:.65;
}
.page-news .lead-card--hero::after{
  background:linear-gradient(90deg,var(--orange),var(--cyan) 55%,transparent);
  opacity:.85;
}
.page-news .lead-card:hover{
  border-color:rgba(0,229,255,.45);
  transform:translateY(-3px);
}
.page-news .lead-quote{
  margin:6px 0 0;
  padding-left:16px;
  border-left:2px solid var(--orange);
  font-family:var(--font-serif);
  font-size:clamp(16px,1.9vw,19px);
  line-height:1.7;
  color:var(--text);
}
@media (min-width:720px){
  .page-news .lead-board{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .page-news .lead-card--hero{
    grid-column:1 / -1;
  }
}
@media (min-width:900px){
  .page-news .lead-card--hero{
    display:grid;
    grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);
    gap:clamp(20px,3vw,44px);
    align-items:end;
    padding:clamp(24px,3vw,38px);
  }
  .page-news .lead-card--hero .entry-meta,
  .page-news .lead-card--hero .entry-title{
    grid-column:1;
  }
  .page-news .lead-card--hero .entry-text,
  .page-news .lead-card--hero .lead-quote{
    grid-column:2;
  }
  .page-news .lead-card--hero .entry-text{
    margin:0;
  }
}

/* ---------- 条目通用元件 ---------- */
.page-news .entry-meta{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:10px;
  margin:0;
}
.page-news .entry-time{
  font-family:var(--font-mono);
  font-size:12.5px;
  letter-spacing:.02em;
  color:var(--text-dim);
  font-variant-numeric:tabular-nums;
}
.page-news .entry-title{
  margin:0;
  font-family:var(--font-display);
  font-size:clamp(17px,2vw,21px);
  font-weight:700;
  line-height:1.42;
  letter-spacing:-.005em;
}
.page-news .entry-text{
  margin:0;
  font-size:15px;
  line-height:1.78;
  color:var(--text-dim);
}
.page-news .entry-foot{
  margin:14px 0 0;
  padding-top:12px;
  border-top:1px solid var(--grid-line);
  font-family:var(--font-mono);
  font-size:12.5px;
  line-height:1.6;
  color:var(--text-dim);
  font-variant-numeric:tabular-nums;
}

/* ---------- 非对称栅格 ---------- */
.page-news .news-grid{
  display:grid;
  gap:var(--news-gap);
  align-items:start;
}
.page-news .news-stream{
  display:grid;
  gap:var(--news-gap);
  min-width:0;
}
@media (min-width:1000px){
  .page-news .news-grid{
    grid-template-columns:minmax(0,1fr) var(--news-rail);
    gap:clamp(24px,4vw,52px);
  }
  .page-news .news-rail--sticky{
    position:sticky;
    top:var(--news-sticky);
  }
}

/* ---------- 复盘条目 ---------- */
.page-news .entry{
  position:relative;
  padding:clamp(18px,2.4vw,26px) clamp(18px,2.4vw,28px) clamp(18px,2.4vw,26px) clamp(24px,3vw,36px);
  background:linear-gradient(180deg,var(--ink-panel),var(--ink-deep));
  border:1px solid var(--grid-line);
  border-radius:var(--r-lg);
  transition:border-color .24s ease,transform .24s ease;
}
.page-news .entry::before{
  content:"";
  position:absolute;
  left:0;
  top:20px;
  bottom:20px;
  width:3px;
  border-radius:var(--r-pill);
  background:var(--cyan);
}
.page-news .entry:hover{
  border-color:rgba(0,229,255,.4);
  transform:translateY(-2px);
}
.page-news .entry-body{
  display:grid;
  gap:10px;
}
.page-news .entry--media{
  display:grid;
  gap:var(--news-gap);
}
.page-news .entry-media{
  margin:0;
}
@media (min-width:700px){
  .page-news .entry--media{
    grid-template-columns:minmax(0,1fr) minmax(180px,220px);
    align-items:start;
  }
}

/* ---------- 右侧栏 ---------- */
.page-news .news-rail{
  display:grid;
  gap:var(--news-gap);
  align-content:start;
  min-width:0;
}
.page-news .rail-card{
  padding:clamp(16px,2vw,22px);
  background:var(--ink-panel);
  border:1px solid var(--grid-line);
  border-radius:var(--r-lg);
}
.page-news .rail-list{
  list-style:none;
  margin:12px 0 0;
  padding:0;
  display:grid;
  gap:2px;
}
.page-news .rail-list a{
  display:flex;
  align-items:baseline;
  gap:10px;
  padding:9px 10px;
  border-radius:var(--r-sm);
  color:var(--text-dim);
  font-size:13.5px;
  line-height:1.5;
  text-decoration:none;
  transition:background .2s ease,color .2s ease;
}
.page-news .rail-list a:hover,
.page-news .rail-list a:focus-visible{
  background:var(--ink-sub);
  color:var(--text);
}
.page-news .rail-num{
  font-family:var(--font-mono);
  font-size:12.5px;
  color:var(--cyan);
  min-width:24px;
  font-variant-numeric:tabular-nums;
}
.page-news .rail-media{
  margin:0;
}
.page-news .rail-stats{
  list-style:none;
  margin:12px 0 0;
  padding:0;
  display:grid;
  gap:8px;
}
.page-news .rail-stats li{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:12px;
  padding-bottom:8px;
  border-bottom:1px solid var(--grid-line);
}
.page-news .rail-stats li:last-child{
  border-bottom:0;
  padding-bottom:0;
}
.page-news .rail-stat-num{
  font-family:var(--font-mono);
  font-size:22px;
  font-weight:700;
  color:var(--text);
  font-variant-numeric:tabular-nums;
}
.page-news .rail-stat-label{
  font-size:13px;
  color:var(--text-dim);
}

/* ---------- 窗口期 ---------- */
.page-news .window-media{
  margin:0;
}
.page-news .timeline .timeline-item{
  border-radius:var(--r-lg);
}
.page-news .timeline-item .timeline-title{
  font-family:var(--font-display);
  letter-spacing:-.005em;
}
.page-news .timeline-item .timeline-time{
  font-variant-numeric:tabular-nums;
}
/* ---------- 规则调整 ---------- */
.page-news .rule-list{
  display:grid;
  gap:12px;
}
.page-news .rule-list .disclosure{
  border-left:3px solid rgba(255,77,126,.55);
}
.page-news .rule-list .disclosure summary{
  font-family:var(--font-display);
  font-weight:700;
  letter-spacing:-.005em;
}
.page-news .rule-list .disclosure-body p{
  margin:0 0 10px;
  font-size:14.5px;
  line-height:1.78;
  color:var(--text-dim);
}
.page-news .rule-list .disclosure-body p:last-child{
  margin-bottom:0;
}

/* ---------- 专题 ---------- */
.page-news .topic-grid{
  display:grid;
  gap:var(--news-gap);
  grid-template-columns:minmax(0,1fr);
}
@media (min-width:660px){
  .page-news .topic-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
.page-news .topic-card{
  position:relative;
  display:flex;
  flex-direction:column;
  gap:10px;
  padding:clamp(18px,2.4vw,26px);
  background:var(--ink-panel);
  border:1px solid var(--grid-line);
  border-radius:var(--r-lg);
  transition:border-color .24s ease,transform .24s ease;
}
.page-news .topic-card:hover{
  border-color:rgba(255,122,26,.45);
  transform:translateY(-3px);
}
.page-news .topic-index{
  margin:0;
  font-family:var(--font-mono);
  font-size:13px;
  letter-spacing:.08em;
  color:var(--orange);
  font-variant-numeric:tabular-nums;
}
.page-news .topic-title{
  margin:0;
  font-family:var(--font-display);
  font-size:clamp(17px,2vw,20px);
  font-weight:700;
  line-height:1.4;
}
.page-news .topic-text{
  margin:0;
  font-size:14.5px;
  line-height:1.76;
  color:var(--text-dim);
}
.page-news .topic-cadence{
  margin:auto 0 0;
  padding-top:12px;
  border-top:1px solid var(--grid-line);
  font-family:var(--font-mono);
  font-size:12.5px;
  letter-spacing:.02em;
  color:var(--mint);
  font-variant-numeric:tabular-nums;
}

/* ---------- 回溯与订阅 ---------- */
.page-news .news-recall{
  padding-bottom:clamp(24px,4vw,48px);
}
.page-news .news-recall-grid{
  display:grid;
  gap:var(--news-gap);
  align-items:start;
}
@media (min-width:960px){
  .page-news .news-recall-grid{
    grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);
    gap:clamp(24px,4vw,56px);
  }
}
.page-news .news-recall-main h2{
  margin:8px 0 0;
  font-family:var(--font-display);
  font-size:clamp(22px,3vw,32px);
  font-weight:760;
  line-height:1.2;
  letter-spacing:-.015em;
}
.page-news .news-recall-main > p{
  margin:14px 0 0;
  max-width:56ch;
  font-size:15.5px;
  line-height:1.78;
  color:var(--text-dim);
}
.page-news .news-recall-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:26px;
}
.page-news .news-recall-aside{
  display:grid;
  gap:var(--news-gap);
}
.page-news .placard-text a{
  color:var(--cyan);
  text-decoration:none;
  border-bottom:1px solid rgba(0,229,255,.4);
}
.page-news .placard-text a:hover,
.page-news .placard-text a:focus-visible{
  color:var(--orange);
  border-bottom-color:rgba(255,122,26,.6);
}
.page-news .recall-stages{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  gap:2px;
}
.page-news .recall-stages li{
  display:grid;
  gap:4px;
  padding:12px 14px;
  border:1px solid var(--grid-line);
  border-radius:var(--r-md);
  background:var(--ink-panel);
}
.page-news .recall-range{
  font-family:var(--font-mono);
  font-size:13px;
  letter-spacing:.04em;
  color:var(--cyan);
  font-variant-numeric:tabular-nums;
}
.page-news .recall-desc{
  font-size:13.5px;
  line-height:1.68;
  color:var(--text-dim);
}

@media (prefers-reduced-motion: reduce){
  .page-news .lead-card,
  .page-news .entry,
  .page-news .topic-card{
    transition:none;
  }
  .page-news .lead-card:hover,
  .page-news .entry:hover,
  .page-news .topic-card:hover{
    transform:none;
  }
}
</main>
