/* ===== 更新动态（/news/）页面专属样式 ===== */

.page-news .breadcrumb{
  display:flex;
  align-items:center;
  gap:8px;
  padding-top: calc(var(--header-offset) + 4px);
  font-size:.82rem;
  color: var(--c-ink-faint);
}
.page-news .breadcrumb a{
  color: var(--c-snow);
  text-decoration:none;
  transition: color var(--dur) var(--ease);
}
.page-news .breadcrumb a:hover{ color: var(--c-snow-deep); text-decoration:underline; }

/* ---- 首屏 ---- */
.page-news .page-hero{
  position:relative;
  overflow:hidden;
  padding: 30px 0 56px;
}
.page-news .page-hero::before{
  content:"";
  position:absolute;
  inset:0;
  background-image:
    repeating-linear-gradient(90deg, var(--c-grid) 0 1px, transparent 1px 88px),
    repeating-linear-gradient(0deg, var(--c-grid) 0 1px, transparent 1px 88px);
  -webkit-mask-image: radial-gradient(130% 92% at 16% 0%, #000 0%, transparent 68%);
  mask-image: radial-gradient(130% 92% at 16% 0%, #000 0%, transparent 68%);
  pointer-events:none;
}
.page-news .page-hero__inner{
  position:relative;
  z-index:1;
  max-width: 840px;
}
.page-news .page-hero__meta{
  display:inline-flex;
  align-items:center;
  gap:10px;
  margin:0 0 20px;
  padding:7px 15px;
  border-radius:999px;
  background: var(--c-glass-strong);
  border:1px solid var(--c-line);
  font-size:.82rem;
  color: var(--c-ink-soft);
}
.page-news .page-hero__dot{
  width:6px;
  height:6px;
  border-radius:50%;
  background: var(--c-gold);
}
.page-news .page-hero__title{
  margin:0 0 20px;
  font-family: var(--font-heading);
  font-size: clamp(2.1rem, 4.2vw, 3.4rem);
  font-weight:700;
  line-height:1.2;
  letter-spacing:-.01em;
  color: var(--c-ink);
}
.page-news .page-hero__lead{
  margin:0;
  max-width: 62ch;
  font-size:1.05rem;
  line-height:1.85;
  color: var(--c-ink-soft);
}
.page-news .hero-facts{
  list-style:none;
  display:flex;
  flex-wrap:wrap;
  gap: 34px;
  margin: 36px 0 0;
  padding: 24px 0 0;
  border-top:1px solid var(--c-line);
}
.page-news .hero-facts li{
  display:flex;
  flex-direction:column;
  gap:7px;
}
.page-news .hero-facts__num{
  font-size: 1.85rem;
  font-weight:700;
  line-height:1;
  letter-spacing:.04em;
  color: var(--c-snow);
}
.page-news .hero-facts__label{
  font-size:.82rem;
  color: var(--c-ink-faint);
  line-height:1.5;
}

/* ---- 通用分区 ---- */
.page-news .section{ padding: 66px 0; }
.page-news .section-head{
  display:flex;
  gap:22px;
  margin-bottom: 34px;
}
.page-news .section-head__index{
  flex:0 0 auto;
  padding-top: 9px;
  font-size:.82rem;
  letter-spacing:.1em;
  color: var(--c-grape);
}
.page-news .section-head__body{ max-width: 64ch; }
.page-news .section-head__title{
  margin:0 0 10px;
  font-family: var(--font-heading);
  font-size: clamp(1.5rem, 2.4vw, 2.1rem);
  font-weight:700;
  line-height:1.35;
  color: var(--c-ink);
}
.page-news .section-head__lead{
  margin:0;
  line-height:1.85;
  color: var(--c-ink-soft);
}

/* ---- 通用图片容器 ---- */
.page-news .media{ margin:0; }
.page-news .media__frame{
  position:relative;
  overflow:hidden;
  border-radius: var(--radius-l);
  border:1px solid var(--c-line);
  background: var(--c-snow-soft);
  aspect-ratio: 12 / 7;
}
.page-news .media__frame img{
  display:block;
  width:100%;
  height:100%;
  max-width:100%;
  object-fit:cover;
}
.page-news .media__caption{
  margin: 12px 2px 0;
  font-family: var(--font-mono);
  font-size:.78rem;
  letter-spacing:.04em;
  line-height:1.6;
  color: var(--c-ink-faint);
}

/* ---- 01 节奏刻度带 ---- */
.page-news .ticks{
  list-style:none;
  margin: 0 0 40px;
  padding: 52px 0 0;
  display:flex;
  align-items:flex-end;
  border-bottom:1px solid var(--c-line);
}
.page-news .tick{
  position:relative;
  flex:1 1 0;
  min-width:0;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:9px;
  padding: 0 2px 16px;
}
.page-news .tick::after{
  content:"";
  position:absolute;
  left:50%;
  bottom:0;
  width:1px;
  height:11px;
  background: var(--c-line);
}
.page-news .tick__num{
  font-size:.76rem;
  letter-spacing:.06em;
  color: var(--c-ink-faint);
}
.page-news .tick__dot{
  width:9px;
  height:9px;
  border-radius:50%;
  background: var(--c-grape);
  box-shadow: 0 0 0 4px rgba(107,74,140,.10);
  transition: background var(--dur) var(--ease), box-shadow var(--dur) var(--ease);
}
.page-news .tick:hover .tick__dot{
  background: var(--c-snow);
  box-shadow: 0 0 0 6px rgba(20,112,126,.16);
}
.page-news .tick--now .tick__dot{
  background: var(--c-gold);
  box-shadow: 0 0 0 5px rgba(224,162,43,.22);
}
.page-news .tick__pop{
  position:absolute;
  left:50%;
  bottom: calc(100% + 6px);
  transform: translateX(-50%);
  white-space:nowrap;
  padding:6px 11px;
  border-radius: var(--radius-s);
  background: var(--c-ink);
  color:#fff;
  font-size:.74rem;
  letter-spacing:.02em;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition: opacity var(--dur) var(--ease), visibility var(--dur) var(--ease);
  z-index:3;
}
.page-news .tick:hover .tick__pop{
  opacity:1;
  visibility:visible;
}
.page-news .tick:last-child .tick__pop{
  left:auto;
  right:-12px;
  transform:none;
}
.page-news .news-figure{ margin: 0; }
.page-news .news-figure .media__frame{ aspect-ratio: 12 / 7; }

/* ---- 02 更新条目 ---- */
.page-news .news-layout{
  display:grid;
  grid-template-columns: minmax(0, 1.7fr) minmax(0, 1fr);
  gap: 44px;
  align-items:start;
}
.page-news .news-col{ min-width:0; }

.page-news .news-filter{ position:relative; }
.page-news .filter-input{
  position:absolute;
  width:1px;
  height:1px;
  opacity:0;
  pointer-events:none;
}
.page-news .filter-bar{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-bottom: 24px;
}
.page-news .filter-chip{
  display:inline-flex;
  align-items:center;
  padding:8px 17px;
  border-radius:999px;
  border:1px solid var(--c-line);
  background: var(--c-white);
  color: var(--c-ink);
  font-size:.9rem;
  line-height:1.4;
  cursor:pointer;
  user-select:none;
  transition: background var(--dur) var(--ease), border-color var(--dur) var(--ease), color var(--dur) var(--ease);
}
.page-news .filter-chip:hover{
  border-color: var(--c-snow);
  background: var(--c-gold-mist);
}
.page-news #nf-all:checked ~ .filter-bar label[for="nf-all"],
.page-news #nf-adjust:checked ~ .filter-bar label[for="nf-adjust"],
.page-news #nf-revise:checked ~ .filter-bar label[for="nf-revise"],
.page-news #nf-diff:checked ~ .filter-bar label[for="nf-diff"]{
  background: var(--c-snow);
  border-color: var(--c-snow);
  color:#fff;
}
.page-news #nf-all:focus-visible ~ .filter-bar label[for="nf-all"],
.page-news #nf-adjust:focus-visible ~ .filter-bar label[for="nf-adjust"],
.page-news #nf-revise:focus-visible ~ .filter-bar label[for="nf-revise"],
.page-news #nf-diff:focus-visible ~ .filter-bar label[for="nf-diff"]{
  outline:2px solid var(--c-snow);
  outline-offset:2px;
}
.page-news #nf-adjust:checked ~ .news-list .news-item:not(.n-item--adjust),
.page-news #nf-revise:checked ~ .news-list .news-item:not(.n-item--revise),
.page-news #nf-diff:checked ~ .news-list .news-item:not(.n-item--diff){
  display:none;
}

.page-news .news-list{
  list-style:none;
  margin:0 0 0 7px;
  padding:0;
  border-left:1px solid var(--c-line);
}
.page-news .news-item{
  position:relative;
  padding-left: 26px;
  margin-bottom: 13px;
}
.page-news .news-item:last-child{ margin-bottom:0; }
.page-news .news-item::before{
  content:"";
  position:absolute;
  left:-5px;
  top:20px;
  width:9px;
  height:9px;
  border-radius:50%;
  background: var(--c-white);
  border:2px solid var(--c-snow);
  transition: border-color var(--dur) var(--ease), background var(--dur) var(--ease);
}
.page-news .n-item--revise::before{ border-color: var(--c-gold); }
.page-news .n-item--diff::before{ border-color: var(--c-adil-red); }
.page-news .news-item:hover::before{ background: currentColor; }

.page-news .news-item__summary{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:10px;
  padding:13px 16px;
  border:1px solid var(--c-line);
  border-radius: var(--radius-m);
  background: var(--c-white);
  cursor:pointer;
  list-style:none;
  transition: border-color var(--dur) var(--ease), box-shadow var(--dur) var(--ease), background var(--dur) var(--ease);
}
.page-news .news-item__summary::-webkit-details-marker{ display:none; }
.page-news .news-item__summary::marker{ content:""; }
.page-news .news-item__summary:hover{
  border-color: var(--c-snow);
  box-shadow: var(--shadow-1);
}
.page-news .news-item__summary:focus-visible{
  outline:2px solid var(--c-snow);
  outline-offset:2px;
}
.page-news .news-item__body[open] .news-item__summary{
  border-color: var(--c-snow);
  background: var(--c-snow-soft);
}
.page-news .news-item__num{
  font-size:.76rem;
  letter-spacing:.08em;
  color: var(--c-grape);
}
.page-news .news-item__title{
  flex:1 1 auto;
  min-width: 11ch;
  font-weight:600;
  font-size:.98rem;
  line-height:1.55;
  color: var(--c-ink);
}
.page-news .news-item__when{
  font-size:.76rem;
  letter-spacing:.04em;
  color: var(--c-ink-faint);
}
.page-news .news-item__detail{
  margin: 10px 0 0 6px;
  padding: 14px 18px;
  border-left:2px solid var(--c-gold-mist);
  border-radius: 0 var(--radius-s) var(--radius-s) 0;
  background: var(--c-paper);
}
.page-news .news-item__detail p{
  margin:0;
  font-size:.94rem;
  line-height:1.85;
  color: var(--c-ink-soft);
}
.page-news .news-item__detail a{
  color: var(--c-snow);
  text-decoration:underline;
  text-underline-offset:3px;
}

.page-news .tag{
  display:inline-flex;
  align-items:center;
  padding:3px 10px;
  border-radius:999px;
  font-size:.74rem;
  line-height:1.6;
  white-space:nowrap;
}
.page-news .tag--snow{
  background: var(--c-snow-soft);
  color: var(--c-snow-deep);
}
.page-news .tag--gold{
  background: rgba(224,162,43,.16);
  color: #8A6210;
}
.page-news .tag--diff{
  background: rgba(192,69,59,.12);
  color: var(--c-adil-red);
}

.page-news .news-side{
  position:sticky;
  top: calc(var(--header-offset) + 16px);
  min-width:0;
}
.page-news .news-side .media__frame{ aspect-ratio: 4 / 3; }

/* ---- 03 版本线 ---- */
.page-news .version-wrap{
  display:grid;
  grid-template-columns: minmax(0, 1.12fr) minmax(0, 1fr);
  gap: 44px;
  align-items:center;
}
.page-news .vlines{
  display:grid;
  gap: 26px;
}
.page-news .vline__row{
  display:grid;
  grid-template-columns: 72px minmax(0,1fr);
  gap: 18px;
  align-items:center;
}
.page-news .vline__name{
  margin:0;
  font-size:.82rem;
  letter-spacing:.08em;
  color: var(--c-snow);
}
.page-news .vline--beta .vline__name{ color: var(--c-grape); }
.page-news .vline__rail{
  display:block;
  height:3px;
  border-radius:3px;
  position:relative;
  background: linear-gradient(90deg, var(--c-snow) 0%, rgba(20,112,126,.14) 100%);
}
.page-news .vline__rail::after{
  content:"";
  position:absolute;
  right:0;
  top:50%;
  width:11px;
  height:11px;
  border-radius:50%;
  background: var(--c-snow);
  transform: translate(50%, -50%);
}
.page-news .vline--beta .vline__rail{
  background: repeating-linear-gradient(90deg, rgba(107,74,140,.8) 0 10px, rgba(107,74,140,.16) 10px 20px);
}
.page-news .vline--beta .vline__rail::after{ background: var(--c-grape); }
.page-news .vline__note{
  margin: 12px 0 0;
  font-size:.94rem;
  line-height:1.85;
  color: var(--c-ink-soft);
}
.page-news .vlines__note{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:10px;
  margin: 4px 0 0;
  padding: 16px 18px;
  border-radius: var(--radius-m);
  background: var(--c-gold-mist);
  font-size:.92rem;
  line-height:1.75;
  color: var(--c-ink);
}
.page-news .vlines__note a{
  color: var(--c-snow-deep);
  text-decoration:underline;
  text-underline-offset:3px;
}
.page-news .badge--diff{
  display:inline-flex;
  align-items:center;
  padding:2px 9px;
  border-radius:999px;
  background: var(--c-adil-red);
  color:#fff;
  font-family: var(--font-mono);
  font-size:.78rem;
  letter-spacing:.04em;
}
.page-news .version-media .media__frame{ aspect-ratio: 11 / 7.6; }

/* ---- 04 大类索引 ---- */
.page-news .cat-grid{
  display:grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 22px;
}
.page-news .cat-card{
  position:relative;
  display:block;
  padding: 28px 24px 24px 30px;
  border-radius: var(--radius-l);
  border:1px solid var(--c-line);
  background: var(--c-white);
  color: var(--c-ink);
  text-decoration:none;
  overflow:hidden;
  transition: border-color var(--dur) var(--ease), box-shadow var(--dur) var(--ease);
}
.page-news .cat-card::before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  width:6px;
  background: var(--c-snow);
}
.page-news .cat-card--revise::before{ background: var(--c-gold); }
.page-news .cat-card--diff::before{ background: var(--c-adil-red); }
.page-news .cat-card:hover{
  border-color: var(--c-snow);
  box-shadow: var(--shadow-2);
}
.page-news .cat-card:focus-visible{
  outline:2px solid var(--c-snow);
  outline-offset:3px;
}
.page-news .cat-card__num{
  margin:0 0 12px;
  font-size:.78rem;
  letter-spacing:.1em;
  color: var(--c-grape);
}
.page-news .cat-card__title{
  margin:0 0 10px;
  font-family: var(--font-heading);
  font-size:1.15rem;
  font-weight:600;
  line-height:1.5;
  color: var(--c-ink);
}
.page-news .cat-card__text{
  margin:0 0 16px;
  font-size:.93rem;
  line-height:1.85;
  color: var(--c-ink-soft);
}
.page-news .cat-card__text a{
  color: var(--c-snow);
  text-decoration:underline;
  text-underline-offset:3px;
}
.page-news .cat-card__go{
  font-size:.82rem;
  letter-spacing:.04em;
  color: var(--c-snow);
}

/* ---- 05 获知更新 ---- */
.page-news .follow{
  display:grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr);
  gap: 44px;
  align-items:center;
}
.page-news .follow__body{ min-width:0; }
.page-news .follow__item{
  padding: 22px 0;
  border-bottom:1px dashed var(--c-line);
}
.page-news .follow__item:first-child{ padding-top:0; }
.page-news .follow__item:last-child{ border-bottom:0; padding-bottom:0; }
.page-news .follow__no{
  margin:0 0 8px;
  font-size:.78rem;
  letter-spacing:.1em;
  color: var(--c-grape);
}
.page-news .follow__title{
  margin:0 0 10px;
  font-family: var(--font-heading);
  font-size:1.15rem;
  font-weight:600;
  line-height:1.5;
  color: var(--c-ink);
}
.page-news .follow__text{
  margin:0 0 16px;
  font-size:.95rem;
  line-height:1.85;
  color: var(--c-ink-soft);
}
.page-news .follow__media .media__frame{ aspect-ratio: 12 / 6.8; }

/* ---- 窄屏适配 ---- */
@media (max-width: 1000px){
  .page-news .news-layout{
    grid-template-columns: minmax(0,1fr);
    gap: 34px;
  }
  .page-news .news-side{ position:static; }
  .page-news .version-wrap{
    grid-template-columns: minmax(0,1fr);
    gap: 32px;
  }
  .page-news .follow{
    grid-template-columns: minmax(0,1fr);
    gap: 30px;
  }
  .page-news .cat-grid{
    grid-template-columns: repeat(2, minmax(0,1fr));
  }
}

@media (max-width: 720px){
  .page-news .section{ padding: 50px 0; }
  .page-news .page-hero{ padding: 22px 0 44px; }
  .page-news .hero-facts{ gap: 22px; }
  .page-news .hero-facts__num{ font-size:1.55rem; }
  .page-news .section-head{
    flex-direction: column;
    gap: 8px;
    margin-bottom: 26px;
  }
  .page-news .section-head__index{ padding-top:0; }
  .page-news .ticks{
    flex-wrap: wrap;
    padding-top: 38px;
    row-gap: 12px;
  }
  .page-news .tick{ flex: 1 1 22%; }
  .page-news .tick__pop{ font-size:.7rem; padding:5px 9px; }
  .page-news .cat-grid{ grid-template-columns: minmax(0,1fr); }
  .page-news .news-item{ padding-left: 20px; }
  .page-news .news-item__summary{ padding:12px 13px; gap:8px; }
  .page-news .news-item__title{ flex: 1 1 100%; order: 3; }
  .page-news .vline__row{ grid-template-columns: 60px minmax(0,1fr); gap:12px; }
  .page-news .media__frame{ aspect-ratio: 3 / 2 !important; }
  .page-news .news-side .media__frame{ aspect-ratio: 4 / 3 !important; }
}

@media (prefers-reduced-motion: reduce){
  .page-news *{
    transition: none !important;
  }
  .page-news .news-item__summary:hover,
  .page-news .cat-card:hover{
    box-shadow: none;
  }
}
