.page-news{
  --news-rail-w:236px;
  --news-gap:clamp(22px,3.4vw,44px);
  background:var(--cream);
  color:var(--ink);
  font-family:var(--sans);
  font-size:18px;
  line-height:1.8;
  padding-bottom:clamp(48px,8vw,104px);
}

.page-news .news-crumbs{
  padding-top:clamp(16px,2.6vw,26px);
}

.page-news h1,
.page-news h2,
.page-news h3{
  font-family:var(--serif);
  font-weight:700;
  color:var(--ink);
  line-height:1.14;
  letter-spacing:-.01em;
}

.page-news h1{
  font-size:clamp(32px,6.4vw,62px);
  line-height:1.08;
  margin:14px 0 0;
}

.page-news h2{
  font-size:clamp(23px,3.4vw,34px);
  margin:0;
}

.page-news h3{
  font-size:clamp(19px,2.2vw,23px);
  margin:0;
}

.page-news p{
  margin:0;
}

/* ---------- 首屏 ---------- */
.page-news .news-hero{
  display:grid;
  gap:clamp(22px,3.4vw,40px);
  padding-block:clamp(14px,2.4vw,22px) clamp(30px,5vw,58px);
  align-items:end;
}

@media (min-width:900px){
  .page-news .news-hero{
    grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);
  }
}

.page-news .news-hero__lede{
  margin:18px 0 0;
  max-width:34em;
  font-size:clamp(17px,1.6vw,19px);
  line-height:1.8;
  color:var(--graphite);
}

.page-news .news-hero__tags{
  list-style:none;
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin:20px 0 0;
  padding:0;
}

.page-news .news-hero__meta{
  margin:16px 0 0;
  padding-left:12px;
  border-left:3px solid var(--copper-light);
  font-size:15px;
  line-height:1.7;
  color:var(--graphite);
}

/* ---------- 图片框 ---------- */
.page-news .news-fig{
  position:relative;
  margin:0;
  overflow:hidden;
  border-radius:var(--r-md);
  background:linear-gradient(150deg,var(--copper-light),var(--apple-mist));
  box-shadow:0 18px 40px -30px rgba(20,42,58,.55);
}

.page-news .news-fig img{
  display:block;
  width:100%;
  height:100%;
  max-width:100%;
  object-fit:cover;
}

.page-news .news-hero__fig{
  aspect-ratio:1000 / 650;
}

.page-news .news-fig--rules{
  aspect-ratio:900 / 600;
  margin-top:clamp(18px,2.6vw,26px);
}

.page-news .news-fig--history{
  aspect-ratio:900 / 600;
  margin-top:clamp(16px,2.4vw,24px);
}

.page-news .news-fig--gear{
  aspect-ratio:1200 / 800;
  margin-top:clamp(20px,3vw,30px);
}

/* ---------- 主布局 ---------- */
.page-news .news-layout{
  display:grid;
  gap:var(--news-gap);
  align-items:start;
}

@media (min-width:980px){
  .page-news .news-layout{
    grid-template-columns:var(--news-rail-w) minmax(0,1fr);
    gap:clamp(28px,4vw,60px);
  }
  .page-news .news-rail{
    position:sticky;
    top:22px;
  }
}

.page-news .news-body{
  min-width:0;
}

/* ---------- 左侧目录 ---------- */
.page-news .news-rail{
  background:var(--paper);
  border:1px solid var(--apple-mist);
  border-radius:var(--r-md);
  padding:18px 18px 16px;
  box-shadow:0 14px 30px -26px rgba(20,42,58,.55);
}

.page-news .news-rail__head{
  margin:0 0 10px;
  font-size:12px;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--copper);
}

.page-news .news-rail__list{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  gap:2px;
}

.page-news .news-rail__list a{
  display:flex;
  align-items:center;
  gap:10px;
  padding:9px 10px;
  border-radius:var(--r-pill);
  color:var(--graphite);
  text-decoration:none;
  font-size:15px;
  line-height:1.4;
  transition:background .18s ease,color .18s ease;
}

.page-news .news-rail__list a:hover,
.page-news .news-rail__list a:focus-visible{
  background:var(--apple-mist);
  color:var(--apple-deep);
}

.page-news .news-rail__list a[aria-current="true"]{
  background:var(--apple);
  color:var(--paper);
}

.page-news .news-rail__list a[aria-current="true"] .num{
  color:var(--copper-light);
}

.page-news .news-rail__note{
  margin:14px 0 0;
  padding-top:12px;
  border-top:1px dashed var(--copper-light);
  font-size:13px;
  line-height:1.65;
  color:var(--graphite);
}

/* ---------- 章节 ---------- */
.page-news .news-sec{
  padding-bottom:clamp(34px,5vw,60px);
}

.page-news .news-sec + .news-sec{
  border-top:1px dashed var(--copper-light);
  padding-top:clamp(30px,4.6vw,54px);
}

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

.page-news .news-sec__head{
  display:flex;
  align-items:flex-start;
  gap:12px;
  margin-bottom:14px;
}

.page-news .news-sec__head .num{
  flex:none;
  margin-top:4px;
}

.page-news .news-sec__lede{
  margin:0 0 clamp(18px,2.6vw,26px);
  max-width:38em;
  color:var(--graphite);
  font-size:clamp(16px,1.5vw,17.5px);
  line-height:1.8;
}

/* ---------- 三类索引 ---------- */
.page-news .news-kinds{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  gap:14px;
}

@media (min-width:720px){
  .page-news .news-kinds{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .page-news .news-kinds > li:first-child{
    grid-column:1 / -1;
  }
}

.page-news .news-kind{
  display:grid;
  align-content:start;
  gap:12px;
  padding:18px 18px 16px;
  background:var(--paper);
  border:1px solid var(--apple-mist);
  border-left:4px solid var(--apple);
  border-radius:var(--r-md);
  transition:border-color .2s ease,box-shadow .2s ease;
}

.page-news .news-kind:hover,
.page-news .news-kind:focus-within{
  border-color:var(--copper);
  box-shadow:0 16px 34px -30px rgba(20,42,58,.6);
}

.page-news .news-kind__head{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:10px;
}

.page-news .news-kind__id{
  font-family:var(--serif);
  font-size:20px;
  font-weight:700;
  letter-spacing:.08em;
  color:var(--copper);
}

.page-news .news-kind__desc{
  color:var(--graphite);
  font-size:15.5px;
  line-height:1.75;
}

.page-news .news-rules{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  gap:10px;
}

.page-news .news-rules li{
  display:grid;
  gap:8px;
  padding:11px 13px;
  background:var(--apple-mist);
  border-radius:var(--r-md);
  font-size:15px;
  line-height:1.65;
  color:var(--ink);
}

@media (min-width:620px){
  .page-news .news-rules li{
    grid-template-columns:auto minmax(0,1fr) auto;
    align-items:center;
    gap:12px;
  }
}

.page-news .news-rules__code{
  justify-self:start;
  padding:2px 10px;
  border:1px solid rgba(183,121,60,.4);
  border-radius:var(--r-pill);
  background:var(--paper);
  color:var(--apple-deep);
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace;
  font-size:13.5px;
  letter-spacing:.04em;
  white-space:nowrap;
}

.page-news .news-copybtn{
  justify-self:start;
  font:inherit;
  font-size:12.5px;
  letter-spacing:.08em;
  padding:4px 12px;
  color:var(--copper-deep);
  background:transparent;
  border:1px dashed rgba(183,121,60,.65);
  border-radius:var(--r-pill);
  cursor:pointer;
  white-space:nowrap;
  transition:background .18s ease,color .18s ease,border-color .18s ease;
}

.page-news .news-copybtn:hover,
.page-news .news-copybtn:focus-visible{
  background:var(--copper);
  border-color:var(--copper);
  color:var(--paper);
}

/* ---------- 版本对照 ---------- */
.page-news .news-pairs{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  gap:14px;
}

.page-news .news-pair{
  display:grid;
  gap:12px;
  padding:16px;
  background:var(--paper);
  border:1px solid var(--apple-mist);
  border-radius:var(--r-lg);
}

@media (min-width:760px){
  .page-news .news-pair{
    grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);
    align-items:stretch;
    gap:16px;
    padding:18px 20px;
  }
}

.page-news .news-pair__card{
  display:grid;
  align-content:start;
  gap:8px;
  padding:14px 16px;
  border-radius:var(--r-md);
  background:var(--cream);
  color:var(--graphite);
  font-size:15.5px;
  line-height:1.75;
}

.page-news .news-pair__card--now{
  background:var(--apple-mist);
  color:var(--ink);
}

.page-news .news-pair__arrow{
  position:relative;
  align-self:center;
  justify-self:center;
  width:34px;
  height:2px;
  background:var(--copper);
  transform:rotate(90deg);
}

@media (min-width:760px){
  .page-news .news-pair__arrow{
    width:42px;
    transform:none;
  }
}

.page-news .news-pair__arrow::after{
  content:"";
  position:absolute;
  right:-1px;
  top:50%;
  width:9px;
  height:9px;
  border-top:2px solid var(--copper);
  border-right:2px solid var(--copper);
  transform:translateY(-50%) rotate(45deg);
}

/* ---------- 时间轴 ---------- */
.page-news .news-tl{
  display:flex;
  gap:0;
  overflow-x:auto;
  overflow-y:hidden;
  margin:0 0 clamp(16px,2.4vw,22px);
  padding:38px 4px 18px;
  border-bottom:2px solid var(--apple-mist);
  scrollbar-width:thin;
}

.page-news .news-tl__node{
  position:relative;
  flex:0 0 auto;
  width:112px;
  display:grid;
  justify-items:center;
  align-content:start;
  gap:9px;
  text-align:center;
  outline-offset:4px;
}

.page-news .news-tl__node::before{
  content:"";
  position:absolute;
  top:15px;
  left:0;
  right:0;
  height:2px;
  background:var(--copper-light);
}

.page-news .news-tl__node:first-child::before{
  left:50%;
}

.page-news .news-tl__node:last-child::before{
  right:50%;
}

.page-news .news-tl__gear{
  position:relative;
  z-index:1;
  width:30px;
  height:30px;
  box-sizing:border-box;
  border:5px dashed var(--copper-deep);
  border-radius:50%;
  background:radial-gradient(circle,var(--copper-light) 0 36%,var(--copper) 37% 100%);
  box-shadow:0 0 0 4px var(--cream);
  transition:border-color .18s ease,transform .18s ease;
}

.page-news .news-tl__node:hover .news-tl__gear,
.page-news .news-tl__node:focus .news-tl__gear{
  border-color:var(--apple-deep);
  transform:rotate(12deg);
}

.page-news .news-tl__label{
  font-size:13px;
  font-weight:600;
  line-height:1.4;
  color:var(--ink);
}

.page-news .news-tl__tip{
  position:absolute;
  top:38px;
  left:50%;
  transform:translate(-50%,-4px);
  padding:6px 11px;
  border-radius:var(--r-pill);
  background:var(--ink);
  color:var(--paper);
  font-size:12px;
  line-height:1.4;
  white-space:nowrap;
  opacity:0;
  pointer-events:none;
  transition:opacity .18s ease,transform .18s ease;
  z-index:2;
}

.page-news .news-tl__node:hover .news-tl__tip,
.page-news .news-tl__node:focus .news-tl__tip{
  opacity:1;
  transform:translate(-50%,0);
}

/* ---------- 更新手记列表 ---------- */
.page-news .news-log{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  gap:10px;
}

.page-news .news-log > li{
  overflow:hidden;
  background:var(--paper);
  border:1px solid var(--apple-mist);
  border-radius:var(--r-md);
  transition:border-color .2s ease;
}

.page-news .news-log > li:hover{
  border-color:var(--copper);
}

.page-news .news-log__row{
  flex:1 1 auto;
  min-width:0;
  display:grid;
  gap:5px 12px;
  text-align:left;
}

@media (min-width:640px){
  .page-news .news-log__row{
    grid-template-columns:auto minmax(0,1fr) auto;
    align-items:center;
  }
}

.page-news .news-log__tag{
  justify-self:start;
  padding:2px 9px;
  border-radius:var(--r-pill);
  background:var(--apple-mist);
  color:var(--apple-deep);
  font-size:12px;
  letter-spacing:.1em;
  white-space:nowrap;
}

.page-news .news-log__tag--copper{
  background:rgba(183,121,60,.16);
  color:var(--copper-deep);
}

.page-news .news-log__tag--ink{
  background:var(--ink);
  color:var(--copper-light);
}

.page-news .news-log__title{
  min-width:0;
  font-family:var(--serif);
  font-size:16.5px;
  font-weight:700;
  line-height:1.5;
  color:var(--ink);
}

.page-news .news-log__when{
  font-size:13px;
  color:var(--graphite);
  white-space:nowrap;
  font-variant-numeric:tabular-nums;
}

.page-news .news-log .fold__body p{
  color:var(--graphite);
  font-size:15.5px;
  line-height:1.75;
}

/* ---------- 维护节奏 ---------- */
.page-news .news-rhythm{
  display:grid;
  gap:18px;
  padding:clamp(20px,3vw,34px);
}

.page-news .news-rhythm__grid{
  display:grid;
  gap:14px;
}

@media (min-width:720px){
  .page-news .news-rhythm__grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}

.page-news .news-rhythm__item{
  padding:14px 16px;
  background:var(--paper);
  border-top:3px solid var(--copper);
  border-radius:var(--r-md);
}

.page-news .news-rhythm__num{
  display:block;
  font-family:var(--serif);
  font-size:clamp(20px,2.4vw,26px);
  font-weight:700;
  line-height:1.25;
  color:var(--apple-deep);
}

.page-news .news-rhythm__item p{
  margin:8px 0 0;
  font-size:15px;
  line-height:1.7;
  color:var(--graphite);
}

.page-news .news-rhythm__tail{
  font-size:15.5px;
  line-height:1.8;
  color:var(--ink);
}

.page-news .news-rhythm__tail a,
.page-news .news-help__fine a{
  color:var(--apple-deep);
  text-decoration:none;
  border-bottom:2px solid var(--copper-light);
  transition:border-color .18s ease,color .18s ease;
}

.page-news .news-rhythm__tail a:hover,
.page-news .news-rhythm__tail a:focus-visible,
.page-news .news-help__fine a:hover,
.page-news .news-help__fine a:focus-visible{
  color:var(--copper-deep);
  border-color:var(--copper);
}

/* ---------- 客服 ---------- */
.page-news .news-help__board{
  display:grid;
  gap:16px;
  padding:clamp(22px,3.4vw,38px);
  color:var(--paper);
}

.page-news .news-help__board h2{
  color:var(--paper);
}

.page-news .news-help__list{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  gap:12px;
}

@media (min-width:640px){
  .page-news .news-help__list{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

.page-news .news-help__link{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:4px 10px;
  width:100%;
  padding:12px 16px;
  font:inherit;
  text-align:left;
  color:var(--paper);
  background:rgba(255,253,248,.08);
  border:1px solid rgba(233,201,156,.45);
  border-radius:var(--r-md);
  cursor:pointer;
  transition:background .18s ease,border-color .18s ease;
}

.page-news .news-help__link:hover,
.page-news .news-help__link:focus-visible{
  background:rgba(233,201,156,.2);
  border-color:var(--copper-light);
}

.page-news .news-help__label{
  font-size:12px;
  letter-spacing:.14em;
  color:var(--copper-light);
}

.page-news .news-help__value{
  font-family:var(--serif);
  font-size:clamp(17px,1.7vw,19px);
  font-weight:600;
  line-height:1.4;
  word-break:break-word;
}

.page-news .news-help__note{
  font-size:14.5px;
  line-height:1.7;
  color:rgba(255,253,248,.82);
}

.page-news .news-help__sub{
  font-family:var(--serif);
  font-size:17px;
  font-weight:700;
  color:var(--copper-light);
}

.page-news .news-help__steps{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  gap:10px;
}

.page-news .news-help__steps li{
  display:flex;
  align-items:baseline;
  gap:10px;
  font-size:15.5px;
  line-height:1.7;
  color:rgba(255,253,248,.9);
}

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

.page-news .news-help__fine{
  font-size:13.5px;
  line-height:1.7;
  color:rgba(255,253,248,.7);
}

.page-news .news-help__fine a{
  color:var(--copper-light);
  border-bottom-color:rgba(233,201,156,.45);
}
<<<END>>>
