/* ===== 文章中心 / page-news ===== */
.page-news{
  --news-serif:"Songti SC","Source Han Serif SC","Noto Serif CJK SC",Georgia,"Times New Roman",serif;
  --news-gap:clamp(14px,2.2vw,26px);
  position:relative;
  background:var(--space);
  color:var(--body);
  padding-bottom:clamp(56px,8vw,104px);
}

/* --- 面包屑 --- */
.page-news .breadcrumb{
  display:flex;
  align-items:center;
  gap:8px;
  padding:20px 0 4px;
  font-size:13px;
  color:var(--steel);
}
.page-news .breadcrumb a{
  color:var(--cyan);
  text-decoration:none;
}
.page-news .breadcrumb a:hover{ text-decoration:underline; }

/* --- 首屏 --- */
.newshero{
  position:relative;
  overflow:hidden;
  padding:clamp(20px,3.4vw,44px) 0 clamp(34px,5vw,64px);
}
.newshero::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(680px 340px at 84% 6%,rgba(53,242,164,.15),transparent 62%),
    radial-gradient(520px 300px at 4% 94%,rgba(255,122,47,.1),transparent 60%);
}
.newshero__inner{
  position:relative;
  display:grid;
  grid-template-columns:1fr;
  gap:clamp(26px,4vw,56px);
  align-items:start;
}
.newshero h1{
  margin:14px 0 16px;
  font-size:clamp(30px,5.6vw,58px);
  line-height:1.12;
  letter-spacing:-.025em;
  font-weight:800;
  color:#fff;
}
.newshero__lead{
  max-width:62ch;
  font-size:clamp(15px,1.6vw,17px);
  line-height:1.78;
  color:var(--body);
}
.newshero__actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:26px;
}
.newshero__aside{
  display:grid;
  gap:18px;
}

/* 数据面板 */
.stat-dock{
  display:grid;
  gap:1px;
  background:var(--line);
  border:1px solid var(--line);
  border-radius:var(--radius);
  overflow:hidden;
}
.stat-dock__row{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:14px;
  padding:16px 18px;
  background:var(--hull);
}
.stat-dock__num{
  font-family:var(--mono);
  font-size:clamp(24px,3.4vw,34px);
  font-weight:700;
  line-height:1;
  letter-spacing:-.03em;
  color:var(--neon);
}
.stat-dock__num--o{ color:var(--orange); }
.stat-dock__label{
  font-size:13px;
  line-height:1.5;
  text-align:right;
  color:var(--steel);
}

/* 轨迹线 */
.hero-track{
  display:block;
  width:100%;
  height:auto;
}
.hero-track__line{
  fill:none;
  stroke:var(--neon);
  stroke-width:1.6;
  stroke-linejoin:round;
  stroke-linecap:square;
  opacity:.85;
  stroke-dasharray:900;
  stroke-dashoffset:900;
  animation:news-trace 1.5s ease-out .2s forwards;
}
@keyframes news-trace{
  to{ stroke-dashoffset:0; }
}
.hero-track__node{
  fill:var(--space);
  stroke:var(--neon);
  stroke-width:2;
}
.hero-track__node--o{ stroke:var(--orange); }

/* --- 章节标题 --- */
.page-news .band{ margin-bottom:clamp(18px,2.6vw,28px); }
.sec-head{
  max-width:800px;
  margin-bottom:clamp(20px,3vw,34px);
}
.sec-head h2{
  margin:10px 0 12px;
  font-size:clamp(23px,3.4vw,38px);
  line-height:1.18;
  letter-spacing:-.022em;
  font-weight:800;
  color:#fff;
}
.sec-lead{
  margin:0;
  font-size:15.5px;
  line-height:1.78;
  color:var(--body);
}

/* --- 筛选标签 --- */
.nchip-row{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px;
}
.nchip-row + .nchip-row{ margin-top:10px; }
.nchip{
  appearance:none;
  font:inherit;
  font-size:13.5px;
  line-height:1;
  padding:9px 15px;
  border-radius:999px;
  border:1px solid var(--line);
  background:var(--hull);
  color:var(--body);
  white-space:nowrap;
  cursor:pointer;
  transition:background .15s,border-color .15s,color .15s;
}
.nchip:hover{
  border-color:var(--neon);
  color:#fff;
}
.nchip:focus-visible{
  outline:2px solid var(--cyan);
  outline-offset:2px;
}
.nchip.is-active,
.nchip[aria-pressed="true"]{
  background:var(--neon);
  border-color:var(--neon);
  color:var(--on-neon);
  font-weight:700;
}

/* --- 战报 + 阵容 双栏 --- */
.feed-banner{
  margin:0 0 clamp(22px,3vw,32px);
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:var(--radius);
  background:var(--hull);
}
.feed-banner img{
  display:block;
  width:100%;
  height:auto;
  aspect-ratio:16/9;
  object-fit:cover;
}

.news-board{
  display:grid;
  grid-template-columns:1fr;
  gap:clamp(30px,4vw,46px);
}

.col-title{
  margin:0 0 14px;
  padding-left:11px;
  border-left:3px solid var(--neon);
  font-size:16px;
  line-height:1.25;
  letter-spacing:.02em;
  font-weight:700;
  color:#fff;
}

/* 战报列表 */
.brief-list{
  list-style:none;
  margin:0;
  padding:0;
  border-top:1px solid var(--line);
}
.brief{
  position:relative;
  padding:15px 4px 15px 15px;
  border-bottom:1px solid var(--line);
  transition:background .15s;
}
.brief::before{
  content:"";
  position:absolute;
  left:0;
  top:16px;
  bottom:16px;
  width:3px;
  border-radius:2px;
  background:var(--steel);
}
.brief:hover{ background:rgba(28,41,66,.55); }
.brief--f::before{ background:var(--neon); }
.brief--b::before{ background:var(--orange); }
.brief--e::before{ background:var(--cyan); }
.brief--t::before{ background:var(--paper); }
.brief--r::before{ background:var(--steel); }

.brief__head{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px;
  margin-bottom:7px;
}
.brief__tag{
  font-size:11.5px;
  line-height:1;
  padding:5px 8px;
  border:1px solid var(--line);
  border-radius:2px;
  background:var(--glass);
  color:var(--body);
  letter-spacing:.04em;
}
.brief__time{
  margin-left:auto;
  font-family:var(--mono);
  font-size:12.5px;
  color:var(--neon);
  white-space:nowrap;
}
.brief__line{
  margin:0 0 6px;
  font-size:15px;
  line-height:1.65;
  color:#EAF1FB;
}
.brief__meta{
  margin:0;
  font-family:var(--mono);
  font-size:12.5px;
  letter-spacing:.01em;
  color:var(--steel);
}
.feed-note{
  margin:16px 0 0;
  font-size:13px;
  line-height:1.7;
  color:var(--steel);
}

/* 阵容时间轴 */
.squad-lead{
  margin:0 0 18px;
  font-size:14.5px;
  line-height:1.78;
  color:var(--body);
}
.squad-figure{
  margin:0 0 22px;
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:var(--radius);
  background:var(--glass);
}
.squad-figure img{
  display:block;
  width:100%;
  height:auto;
  object-fit:cover;
}
.timeline{
  position:relative;
  list-style:none;
  margin:0;
  padding:0;
}
.timeline::before{
  content:"";
  position:absolute;
  left:5px;
  top:10px;
  bottom:14px;
  width:1px;
  background:linear-gradient(180deg,var(--neon),var(--orange) 62%,var(--line));
  opacity:.75;
}
.tl-node{
  position:relative;
  padding-left:28px;
}
.tl-node::before{
  content:"";
  position:absolute;
  left:0;
  top:14px;
  box-sizing:border-box;
  width:11px;
  height:11px;
  border-radius:50%;
  border:2px solid var(--neon);
  background:var(--space);
}
.tl-node:has(.tl-type--out)::before{ border-color:var(--orange); }
.tl-node:has(.tl-type--inj)::before{ border-color:var(--orange); background:rgba(255,122,47,.35); }
.tl-node:has(.tl-type--adj)::before{ border-color:var(--cyan); }

.tl-sum{
  list-style:none;
  position:relative;
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  align-items:baseline;
  gap:4px 10px;
  padding:11px 28px 12px 0;
  border-bottom:1px solid var(--line);
  cursor:pointer;
}
.tl-sum::-webkit-details-marker{ display:none; }
.tl-sum::after{
  content:"+";
  position:absolute;
  right:2px;
  top:10px;
  font-family:var(--mono);
  font-size:15px;
  line-height:1;
  color:var(--steel);
}
.page-news .tl-node details[open] .tl-sum::after{
  content:"−";
  color:var(--neon);
}
.tl-type{
  font-size:11.5px;
  line-height:1;
  font-weight:700;
  letter-spacing:.04em;
  padding:5px 8px;
  border-radius:2px;
  white-space:nowrap;
}
.tl-type--in{ background:rgba(53,242,164,.16); color:var(--neon); }
.tl-type--out{ background:rgba(255,122,47,.16); color:var(--orange); }
.tl-type--inj{ background:rgba(255,122,47,.1); color:var(--orange); border:1px solid rgba(255,122,47,.5); }
.tl-type--adj{ background:rgba(79,216,255,.14); color:var(--cyan); }
.tl-title{
  font-size:14.5px;
  line-height:1.55;
  color:#EAF1FB;
}
.tl-time{
  grid-column:2;
  font-family:var(--mono);
  font-size:12px;
  color:var(--steel);
}
.tl-body{
  padding:0 28px 14px 0;
  font-size:13.5px;
  line-height:1.72;
  color:var(--steel);
}
.tl-body p{ margin:0; }
.squad-note{
  margin:16px 0 0;
  font-size:13px;
  line-height:1.7;
  color:var(--steel);
}

/* --- 面板更新 --- */
.panel-updates{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  gap:1px;
  background:var(--line);
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}
.panel-update{
  display:grid;
  grid-template-columns:1fr;
  gap:10px 22px;
  padding:22px 4px;
  background:var(--space);
}
.panel-update__ver{
  font-family:var(--mono);
  font-size:22px;
  font-weight:700;
  line-height:1.1;
  letter-spacing:-.02em;
  color:var(--neon);
}
.panel-update__body h3{
  margin:0 0 8px;
  font-size:17px;
  line-height:1.45;
  font-weight:700;
  color:#fff;
}
.panel-update__body p{
  margin:0 0 11px;
  font-size:14.5px;
  line-height:1.72;
  color:var(--body);
}
.mini-tags{
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  flex-wrap:wrap;
  gap:6px;
}
.mini-tags li{
  font-size:12px;
  line-height:1;
  padding:5px 10px;
  border:1px solid var(--line);
  border-radius:999px;
  color:var(--steel);
}
.panel-cta{
  margin:22px 0 0;
  font-size:14px;
  line-height:1.75;
  color:var(--body);
}

/* --- 专题卡片横滑 --- */
.topics-scroller{ position:relative; }
.topics-rail{
  list-style:none;
  margin:0;
  padding:4px 0 18px;
  display:flex;
  gap:var(--news-gap);
  overflow-x:auto;
  scroll-snap-type:x mandatory;
  -webkit-overflow-scrolling:touch;
}
.topics-rail::-webkit-scrollbar{ height:6px; }
.topics-rail::-webkit-scrollbar-track{ background:rgba(38,52,77,.4); }
.topics-rail::-webkit-scrollbar-thumb{ background:var(--line); border-radius:3px; }

.topic-card{
  flex:0 0 min(84vw,340px);
  scroll-snap-align:start;
  display:flex;
  flex-direction:column;
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:var(--radius);
  background:var(--hull);
  transition:transform .15s,border-color .15s;
}
.topic-card:hover{
  transform:translateY(-2px);
  border-color:var(--neon);
}
.topic-card__figure{
  position:relative;
  margin:0;
  aspect-ratio:3/2;
  overflow:hidden;
  background:linear-gradient(160deg,rgba(53,242,164,.09),rgba(28,41,66,.9));
}
.topic-card__figure img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}
.topic-card__glyph{
  position:absolute;
  inset:0;
  display:grid;
  place-items:center;
  font-family:var(--mono);
  font-size:46px;
  font-weight:700;
  letter-spacing:-.05em;
  color:rgba(53,242,164,.34);
  background-image:
    linear-gradient(rgba(38,52,77,.75) 1px,transparent 1px),
    linear-gradient(90deg,rgba(38,52,77,.75) 1px,transparent 1px);
  background-size:30px 30px;
}
.topic-card__body{
  flex:1;
  display:flex;
  flex-direction:column;
  gap:9px;
  padding:17px 18px 20px;
}
.topic-card__title{
  margin:0;
  font-family:var(--news-serif);
  font-size:19px;
  line-height:1.38;
  font-weight:700;
  letter-spacing:.005em;
  color:#fff;
}
.topic-card__desc{
  margin:0;
  font-size:14px;
  line-height:1.72;
  color:var(--body);
}
.topic-card__meta{
  margin:auto 0 0;
  font-family:var(--mono);
  font-size:12px;
  letter-spacing:.02em;
  color:var(--neon);
}

/* --- 订阅与反馈 --- */
.alerts{
  display:grid;
  grid-template-columns:1fr;
  gap:clamp(24px,3vw,40px);
}
.alerts__list{ border-top:1px solid var(--line); }
.alert-item{ border-bottom:1px solid var(--line); }
.alert-sum{
  list-style:none;
  position:relative;
  display:flex;
  align-items:baseline;
  gap:14px;
  padding:16px 30px 16px 0;
  cursor:pointer;
}
.alert-sum::-webkit-details-marker{ display:none; }
.alert-sum::after{
  content:"+";
  position:absolute;
  right:2px;
  top:15px;
  font-family:var(--mono);
  font-size:15px;
  line-height:1;
  color:var(--steel);
}
.alert-item[open] .alert-sum::after{
  content:"−";
  color:var(--neon);
}
.alert-name{
  font-size:15.5px;
  font-weight:700;
  color:#fff;
}
.alert-freq{
  margin-left:auto;
  font-family:var(--mono);
  font-size:12.5px;
  white-space:nowrap;
  color:var(--neon);
}
.alert-body{
  padding:0 30px 17px 0;
  font-size:13.5px;
  line-height:1.75;
  color:var(--steel);
}
.alert-body p{ margin:0; }

.alerts__figure{
  margin:0;
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:var(--radius);
  background:var(--glass);
}
.alerts__figure img{
  display:block;
  width:100%;
  height:auto;
  object-fit:cover;
}

.feedback{
  margin-top:clamp(28px,4vw,44px);
  padding:clamp(20px,3vw,30px);
  border:1px solid var(--line);
  border-left:3px solid var(--orange);
  border-radius:var(--radius);
  background:var(--hull);
}
.feedback h3{
  margin:0 0 10px;
  font-size:18px;
  line-height:1.42;
  font-weight:700;
  color:#fff;
}
.feedback p{
  margin:0 0 8px;
  font-size:14.5px;
  line-height:1.76;
  color:var(--body);
}
.feedback__contact{
  font-family:var(--mono);
  font-size:13.5px;
  color:var(--steel);
}

/* --- 文本内链接 --- */
.page-news p a,
.page-news .squad-note a{
  color:var(--cyan);
  text-decoration:none;
  border-bottom:1px solid rgba(79,216,255,.35);
}
.page-news p a:hover,
.page-news .squad-note a:hover{
  border-bottom-color:var(--cyan);
}
.link-arrow{
  color:var(--cyan);
  text-decoration:none;
  border-bottom:1px solid rgba(79,216,255,.4);
}

/* --- 桌面栅格 --- */
@media (min-width:768px){
  .panel-update{
    grid-template-columns:118px minmax(0,1fr);
    padding:24px 4px;
  }
}

@media (min-width:960px){
  .newshero__inner{
    grid-template-columns:minmax(0,1.5fr) minmax(280px,.85fr);
  }
}

@media (min-width:992px){
  .news-board{
    grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);
    gap:clamp(28px,3vw,48px);
    align-items:start;
  }
  .alerts{
    grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);
    align-items:start;
  }
}

@media (min-width:1200px){
  .topic-card{ flex-basis:380px; }
}

@media (max-width:600px){
  .brief__tag{ font-size:11px; padding:4px 7px; }
  .brief__time{ font-size:11.5px; }
  .stat-dock__row{ padding:14px 15px; }
  .stat-dock__label{ font-size:12px; }
  .panel-update__ver{ font-size:19px; }
  .alert-sum{ flex-wrap:wrap; gap:6px; }
  .alert-freq{ margin-left:0; }
  .feedback__contact{ font-size:12.5px; word-break:break-all; }
}

@media (prefers-reduced-motion:reduce){
  .page-news .hero-track__line{
    animation:none;
    stroke-dashoffset:0;
  }
  .page-news .topic-card{ transition:none; }
  .page-news .topic-card:hover{ transform:none; }
}
