.page-news{
  --news-card:#FBF8F1;
  --news-hair:rgba(27,31,28,.13);
  --news-body:#3C4A43;
  background: var(--paper);
  color: var(--black);
  font-family: var(--font-body);
  overflow-x:clip;
}

/* ---------- 页头 ---------- */
.page-news .news-mast{
  position:relative;
  border-bottom:1px solid var(--news-hair);
  background:
    radial-gradient(90% 70% at 8% 0%, rgba(36,92,78,.10), transparent 62%),
    repeating-linear-gradient(0deg, rgba(27,31,28,.018) 0 1px, transparent 1px 6px),
    var(--paper);
}
.page-news .news-mast .breadcrumb{ padding-top: clamp(14px,2vw,24px); }

.page-news .hero-grid{
  display:grid;
  gap: clamp(26px,4vw,54px);
  grid-template-columns: minmax(0,1fr);
  align-items:end;
  padding-block: clamp(18px,3vw,32px) clamp(40px,5.5vw,72px);
}
.page-news .hero-copy{ min-width:0; }
.page-news .hero-title{
  margin:0 0 18px;
  font-family: var(--font-display);
  font-weight:700;
  font-size: clamp(30px,5vw,54px);
  line-height:1.18;
  letter-spacing:-.01em;
  color: var(--ink);
}
.page-news .hero-lead{
  margin:0;
  max-width:34em;
  font-size: clamp(15px,1.5vw,17px);
  line-height:1.85;
  color: var(--news-body);
}
.page-news .hero-meta{
  display:flex;
  flex-wrap:wrap;
  gap:10px 22px;
  margin:24px 0 0;
  padding:0;
  list-style:none;
  font-size:11.5px;
  letter-spacing:.1em;
  color: var(--sage);
}
.page-news .hero-meta li{ position:relative; padding-left:14px; }
.page-news .hero-meta li::before{
  content:"";
  position:absolute;
  left:0; top:50%;
  width:6px; height:6px;
  margin-top:-3px;
  background: var(--brass);
}
.page-news .hero-actions{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:14px 22px;
  margin-top:26px;
}
.page-news .hero-link{
  display:inline-block;
  font-size:13.5px;
  letter-spacing:.04em;
  color: var(--ink-700);
  text-decoration:none;
  border-bottom:1px solid var(--line-brass);
  padding-bottom:2px;
  transition: color .25s var(--ease), border-color .25s var(--ease);
}
.page-news .hero-link:hover{ color: var(--brass); border-bottom-color: var(--brass); }

.page-news .hero-figure{
  position:relative;
  margin:0;
  min-width:0;
}
.page-news .hero-figure::before{
  content:"";
  position:absolute;
  inset:16px -14px -14px 16px;
  border:1px solid var(--line-brass);
  pointer-events:none;
}
.page-news .hero-figure img{
  position:relative;
  z-index:1;
  display:block;
  width:100%;
  height:auto;
  max-width:100%;
  object-fit:cover;
  box-shadow: var(--shadow);
  transform: rotate(-1.2deg);
  filter: saturate(.94) contrast(1.02);
}
.page-news .hero-caption{
  position:absolute;
  z-index:2;
  left: clamp(10px,2vw,18px);
  bottom: clamp(14px,2.4vw,24px);
  margin:0;
  padding:8px 12px;
  font-family: var(--font-mono);
  font-size:10.5px;
  letter-spacing:.14em;
  color: var(--ink);
  backdrop-filter: blur(6px);
}

/* ---------- 笔记列表 ---------- */
.page-news .notes{
  padding-block: clamp(44px,6vw,88px);
  background: var(--paper);
}
.page-news .notes-head{
  max-width:46em;
  margin-bottom: clamp(24px,3.4vw,44px);
}
.page-news .notes-head h2,
.page-news .focus h2,
.page-news .archive h2,
.page-news .city h2,
.page-news .further h2{
  margin:8px 0 16px;
  font-family: var(--font-display);
  font-weight:700;
  font-size: clamp(24px,3.2vw,34px);
  line-height:1.3;
  letter-spacing:-.005em;
}
.page-news .notes-intro,
.page-news .city-head p,
.page-news .further-head p{
  margin:0;
  max-width:42em;
  font-size:15px;
  line-height:1.85;
  color: var(--news-body);
}

.page-news .notes-body{
  position:relative;
  display:grid;
  gap: clamp(20px,3vw,44px);
  grid-template-columns: minmax(0,1fr);
}
.page-news .filter-input{
  position:absolute;
  width:1px; height:1px;
  opacity:0;
  pointer-events:none;
  clip-path: inset(50%);
}

.page-news .rail-title{
  margin:0 0 12px;
  font-size:10.5px;
  letter-spacing:.18em;
  color: var(--sage);
}
.page-news .filter-bar{
  display:flex;
  gap:8px;
  overflow-x:auto;
  padding-bottom:6px;
  scrollbar-width:thin;
}
.page-news .filter-bar label{
  display:flex;
  align-items:center;
  gap:8px;
  flex:0 0 auto;
  padding:9px 13px;
  border:1px solid var(--news-hair);
  border-left:2px solid var(--line-brass);
  background: rgba(255,255,255,.42);
  font-size:13.5px;
  letter-spacing:.02em;
  color: var(--ink-700);
  white-space:nowrap;
  cursor:pointer;
  transition: background .25s var(--ease), border-color .25s var(--ease), color .25s var(--ease);
}
.page-news .filter-bar label:hover{
  background: var(--paper-2);
  border-left-color: var(--brass);
}
.page-news .filter-bar label .mono{
  font-size:10.5px;
  letter-spacing:.12em;
  color: var(--sage);
}
.page-news .filter-bar label::after{
  content:"";
  width:6px; height:6px;
  border-radius:50%;
  background:transparent;
  margin-left:auto;
  transition: background .25s var(--ease);
}
.page-news .rail-note{
  margin:14px 0 0;
  font-size:12.5px;
  line-height:1.75;
  color: var(--sage);
}

.page-news .notes-body > #nf-all:checked ~ .notes-rail [for="nf-all"],
.page-news .notes-body > #nf-route:checked ~ .notes-rail [for="nf-route"],
.page-news .notes-body > #nf-version:checked ~ .notes-rail [for="nf-version"],
.page-news .notes-body > #nf-visit:checked ~ .notes-rail [for="nf-visit"],
.page-news .notes-body > #nf-city:checked ~ .notes-rail [for="nf-city"],
.page-news .notes-body > #nf-notice:checked ~ .notes-rail [for="nf-notice"]{
  background: var(--paper-2);
  border-left-color: var(--brass);
  color: var(--ink);
}
.page-news .notes-body > #nf-all:checked ~ .notes-rail [for="nf-all"]::after,
.page-news .notes-body > #nf-route:checked ~ .notes-rail [for="nf-route"]::after,
.page-news .notes-body > #nf-version:checked ~ .notes-rail [for="nf-version"]::after,
.page-news .notes-body > #nf-visit:checked ~ .notes-rail [for="nf-visit"]::after,
.page-news .notes-body > #nf-city:checked ~ .notes-rail [for="nf-city"]::after,
.page-news .notes-body > #nf-notice:checked ~ .notes-rail [for="nf-notice"]::after{
  background: var(--cinnabar);
}

.page-news .notes-body > #nf-route:checked ~ .notes-main .note:not([data-cat~="route"]),
.page-news .notes-body > #nf-version:checked ~ .notes-main .note:not([data-cat~="version"]),
.page-news .notes-body > #nf-visit:checked ~ .notes-main .note:not([data-cat~="visit"]),
.page-news .notes-body > #nf-city:checked ~ .notes-main .note:not([data-cat~="city"]),
.page-news .notes-body > #nf-notice:checked ~ .notes-main .note:not([data-cat~="notice"]){
  display:none;
}

.page-news .notes-main{ min-width:0; }
.page-news .note-list{
  display:grid;
  gap: clamp(14px,2vw,22px);
  grid-template-columns: minmax(0,1fr);
  margin:0;
  padding:0;
  list-style:none;
}
.page-news .note{
  display:flex;
  flex-direction:column;
  gap:10px;
  min-width:0;
  padding: clamp(18px,2.2vw,26px);
  background: var(--news-card);
  border:1px solid var(--news-hair);
  border-left:2px solid var(--line-brass);
  transition: transform .3s var(--ease), border-color .3s var(--ease), box-shadow .3s var(--ease);
}
.page-news .note:hover{
  border-left-color: var(--brass);
  transform: translateY(-2px);
  box-shadow: var(--shadow);
}
.page-news .note__meta{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px 12px;
}
.page-news .note .tag{
  font-size:11px;
  letter-spacing:.12em;
  padding:3px 9px;
  border:1px solid var(--line-brass);
  color: var(--brass);
  background: transparent;
  border-radius: var(--radius);
}
.page-news .note__when{
  font-size:11px;
  letter-spacing:.12em;
  color: var(--sage);
}
.page-news .note__idx{
  margin-left:auto;
  font-size:11px;
  letter-spacing:.14em;
  color: var(--sage);
}
.page-news .note__title{
  margin:0;
  font-family: var(--font-display);
  font-weight:700;
  font-size: clamp(18px,2vw,20px);
  line-height:1.42;
  color: var(--ink);
}
.page-news .note__link{
  color:inherit;
  text-decoration:none;
  border-bottom:1px solid var(--line-brass);
  transition: color .25s var(--ease), border-color .25s var(--ease);
}
.page-news .note__link:hover{ color: var(--ink-500); border-bottom-color: var(--brass); }
.page-news .note__excerpt{
  margin:0;
  font-size:14.5px;
  line-height:1.78;
  color: var(--news-body);
}
.page-news .note__media{ margin:2px 0 0; }
.page-news .note__media img{
  display:block;
  width:100%;
  height:auto;
  max-width:100%;
  aspect-ratio: 3 / 2;
  object-fit: cover;
}
.page-news .note__foot{
  margin:auto 0 0;
  padding-top:6px;
  font-size:11px;
  letter-spacing:.1em;
  color: var(--sage);
}
.page-news .note__inline{
  color: var(--ink-500);
  text-decoration:none;
  border-bottom:1px solid var(--line-brass);
}
.page-news .note__inline:hover{ color: var(--brass); }

.page-news .note--lead{
  grid-column: 1 / -1;
  padding: clamp(22px,3vw,38px);
  background: linear-gradient(120deg, var(--ink) 0%, var(--ink-700) 66%, var(--ink-500) 100%);
  border-color: transparent;
  border-left:2px solid var(--brass);
  color: var(--paper);
}
.page-news .note--lead .note__title{
  font-size: clamp(22px,2.7vw,31px);
  color: var(--paper);
}
.page-news .note--lead .note__link{ border-bottom-color: var(--line-paper); }
.page-news .note--lead .note__link:hover{ color: var(--brass-soft); }
.page-news .note--lead .note__excerpt{ color: rgba(244,239,228,.8); }
.page-news .note--lead .note__foot{ color: var(--brass-soft); }
.page-news .note--lead .note__idx{ color: rgba(228,192,138,.8); }
.page-news .note--lead .tag{
  color: var(--brass-soft);
  border-color: var(--line-paper);
  background: rgba(228,192,138,.12);
}

/* ---------- 本期重点 ---------- */
.page-news .focus{
  position:relative;
  background: var(--ink);
  color: var(--paper);
}
.page-news .focus .index-label{ color: var(--brass-soft); }
.page-news .focus-grid{
  display:grid;
  gap: clamp(26px,4vw,50px);
  grid-template-columns: minmax(0,1fr);
  padding-block: clamp(42px,6vw,84px);
}
.page-news .focus-copy{ min-width:0; }
.page-news .focus h2{ color: var(--paper); }
.page-news .focus-lead{
  margin:0 0 16px;
  max-width:36em;
  font-size: clamp(15px,1.5vw,16.5px);
  line-height:1.85;
  color: rgba(244,239,228,.86);
}
.page-news .focus-text{
  margin:0;
  max-width:38em;
  font-size:14.5px;
  line-height:1.85;
  color: rgba(244,239,228,.7);
}
.page-news .focus-stats{
  display:grid;
  gap:16px 24px;
  grid-template-columns: minmax(0,1fr);
  margin:28px 0 0;
  padding-top:22px;
  border-top:1px solid var(--line-paper);
}
.page-news .focus-stat dt{
  font-size:11.5px;
  letter-spacing:.1em;
  color: rgba(244,239,228,.55);
}
.page-news .focus-stat dd{
  margin:6px 0 0;
  font-family: var(--font-display);
  font-size:18px;
  color: var(--brass-soft);
}
.page-news .focus-stat dd .mono{ font-size:25px; letter-spacing:.02em; }

.page-news .focus .route-axis{
  margin-top:30px;
  padding-left:0;
  list-style:none;
}
.page-news .focus .route-axis__item{
  display:grid;
  grid-template-columns: 42px minmax(0,1fr);
  gap:14px;
  padding:16px 0;
  border-top:1px solid var(--line-paper);
}
.page-news .focus .route-axis__num{
  font-size:12px;
  letter-spacing:.12em;
  color: var(--brass);
}
.page-news .focus .route-axis__item h3{
  margin:0 0 6px;
  font-family: var(--font-display);
  font-size:16.5px;
  color: var(--paper);
}
.page-news .focus .route-axis__item p{
  margin:0;
  font-size:14px;
  line-height:1.78;
  color: rgba(244,239,228,.72);
}

.page-news .focus-figure{
  position:relative;
  margin:0;
  min-width:0;
}
.page-news .focus-figure img{
  display:block;
  width:100%;
  height:auto;
  max-width:100%;
  object-fit:cover;
  border:1px solid var(--line-paper);
}
.page-news .focus-caption{
  position:absolute;
  left:12px;
  bottom:12px;
  margin:0;
  padding:7px 11px;
  font-family: var(--font-mono);
  font-size:10.5px;
  letter-spacing:.12em;
  color: var(--paper);
  background: rgba(14,42,36,.72);
  backdrop-filter: blur(6px);
}

.page-news .resp-strip{
  padding-block: 16px 22px;
  border-top:1px solid var(--line-paper);
  background: rgba(0,0,0,.14);
}
.page-news .resp-strip__text{
  margin:0 0 10px;
  font-size:10.5px;
  letter-spacing:.14em;
  color: var(--brass-soft);
}
.page-news .resp-bar{
  position:relative;
  height:3px;
  background: rgba(228,192,138,.16);
  overflow:hidden;
}
.page-news .resp-bar::after{
  content:"";
  position:absolute;
  top:0; bottom:0; left:0;
  width:34%;
  background: linear-gradient(90deg, rgba(192,138,62,0) 0%, var(--brass) 55%, var(--brass-soft) 100%);
  animation: news-scan 9s var(--ease) infinite;
}
@keyframes news-scan{
  0%{ transform: translateX(-110%); }
  100%{ transform: translateX(320%); }
}

/* ---------- 版本档案 ---------- */
.page-news .archive{
  padding-block: clamp(44px,6vw,92px);
  background: var(--paper);
}
.page-news .archive-grid{
  display:grid;
  gap: clamp(24px,4vw,52px);
  grid-template-columns: minmax(0,1fr);
  align-items:start;
}
.page-news .archive-figure{
  position:relative;
  margin:0;
  min-width:0;
}
.page-news .archive-figure img{
  display:block;
  width:100%;
  height:auto;
  max-width:100%;
  object-fit:cover;
  border:1px solid var(--news-hair);
  transform: rotate(-1deg);
  box-shadow: var(--shadow);
}
.page-news .archive-figure figcaption{
  margin-top:12px;
  font-size:10.5px;
  letter-spacing:.12em;
  color: var(--sage);
}
.page-news .archive-copy p{
  margin:0 0 20px;
  max-width:38em;
  font-size:15px;
  line-height:1.85;
  color: var(--news-body);
}
.page-news .archive-list{
  margin:0 0 26px;
  padding:0;
  list-style:none;
}
.page-news .archive-list li{
  display:grid;
  grid-template-columns: 34px minmax(0,1fr);
  gap:12px;
  padding:14px 0;
  border-top:1px solid var(--news-hair);
}
.page-news .archive-list li .mono{
  font-size:11.5px;
  letter-spacing:.12em;
  color: var(--brass);
  padding-top:3px;
}
.page-news .archive-list h3{
  margin:0 0 5px;
  font-family: var(--font-display);
  font-size:16px;
  color: var(--ink);
}
.page-news .archive-list p{
  margin:0;
  font-size:14px;
  line-height:1.75;
  color: var(--news-body);
}
.page-news .archive-actions{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:14px 22px;
}

/* ---------- 城市笔记 ---------- */
.page-news .city{
  padding-block: clamp(44px,6vw,88px);
  background: var(--paper-2);
  border-top:1px solid var(--news-hair);
  border-bottom:1px solid var(--news-hair);
}
.page-news .city-head{ max-width:46em; margin-bottom: clamp(22px,3vw,38px); }
.page-news .city-grid{
  display:grid;
  gap: clamp(22px,3.4vw,44px);
  grid-template-columns: minmax(0,1fr);
  align-items:start;
}
.page-news .city-figure{
  position:relative;
  margin:0;
  min-width:0;
}
.page-news .city-figure img{
  display:block;
  width:100%;
  height:auto;
  max-width:100%;
  object-fit:cover;
  border:1px solid rgba(27,31,28,.16);
  transform: rotate(1deg);
  box-shadow: var(--shadow);
}
.page-news .city-figure figcaption{
  margin-top:12px;
  font-size:10.5px;
  letter-spacing:.12em;
  color: var(--sage);
}
.page-news .city-list{
  margin:0;
  padding:0;
  list-style:none;
}
.page-news .city-list li{
  padding:16px 0;
  border-top:1px solid rgba(27,31,28,.16);
}
.page-news .city-list li:first-child{ border-top:0; padding-top:0; }
.page-news .city-list .tag{
  display:inline-block;
  font-size:10.5px;
  letter-spacing:.12em;
  padding:2px 8px;
  border:1px solid var(--line-brass);
  color: var(--brass);
  border-radius: var(--radius);
}
.page-news .city-list h3{
  margin:8px 0 6px;
  font-family: var(--font-display);
  font-size:16.5px;
  color: var(--ink);
}
.page-news .city-list p{
  margin:0;
  font-size:14px;
  line-height:1.78;
  color: var(--news-body);
}

/* ---------- 延伸阅读 ---------- */
.page-news .further{
  padding-block: clamp(44px,6vw,92px);
  background: var(--paper);
}
.page-news .further-head{ max-width:46em; margin-bottom: clamp(22px,3vw,38px); }
.page-news .further-grid{
  display:grid;
  gap:14px;
  grid-template-columns: minmax(0,1fr);
}
.page-news .further-card{
  display:flex;
  flex-direction:column;
  gap:8px;
  padding: clamp(18px,2.2vw,24px);
  background: var(--news-card);
  border:1px solid var(--news-hair);
  border-top:2px solid var(--line-brass);
  color:inherit;
  text-decoration:none;
  transition: transform .28s var(--ease), border-color .28s var(--ease), box-shadow .28s var(--ease);
}
.page-news .further-card:hover{
  transform: translateY(-3px);
  border-top-color: var(--brass);
  box-shadow: var(--shadow);
}
.page-news .further-card__idx{
  font-size:11px;
  letter-spacing:.14em;
  color: var(--brass);
}
.page-news .further-card h3{
  margin:0;
  font-family: var(--font-display);
  font-size:17px;
  color: var(--ink);
}
.page-news .further-card p{
  margin:0;
  font-size:13.5px;
  line-height:1.75;
  color: var(--news-body);
}
.page-news .further-card__go{
  margin-top:auto;
  padding-top:8px;
  font-size:10.5px;
  letter-spacing:.14em;
  color: var(--ink-500);
}

.page-news .subscribe{
  margin-top: clamp(28px,4vw,46px);
  background: var(--news-card);
  border:1px solid var(--news-hair);
  border-left:2px solid var(--brass);
}
.page-news .subscribe__summary{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:16px clamp(16px,2.2vw,24px);
  font-family: var(--font-display);
  font-size:16.5px;
  color: var(--ink);
  cursor:pointer;
  list-style:none;
}
.page-news .subscribe__summary::-webkit-details-marker{ display:none; }
.page-news .subscribe__summary::after{
  content:"+";
  font-family: var(--font-mono);
  font-size:16px;
  color: var(--brass);
  flex:0 0 auto;
}
.page-news .subscribe[open] .subscribe__summary::after{ content:"−"; }
.page-news .subscribe__body{
  padding:0 clamp(16px,2.2vw,24px) 20px;
  border-top:1px solid var(--news-hair);
  padding-top:16px;
}
.page-news .subscribe__body p{
  margin:0 0 10px;
  max-width:44em;
  font-size:14px;
  line-height:1.8;
  color: var(--news-body);
}
.page-news .subscribe__body p:last-child{ margin-bottom:0; }

/* ---------- 响应式 ---------- */
@media (min-width: 700px){
  .page-news .note-list{ grid-template-columns: repeat(2, minmax(0,1fr)); }
  .page-news .further-grid{ grid-template-columns: repeat(2, minmax(0,1fr)); }
  .page-news .focus-stats{ grid-template-columns: repeat(3, minmax(0,1fr)); }
}

@media (min-width: 880px){
  .page-news .hero-grid{
    grid-template-columns: minmax(0,7fr) minmax(0,5fr);
    align-items:center;
  }
  .page-news .archive-grid{
    grid-template-columns: minmax(0,5fr) minmax(0,6fr);
    align-items:center;
  }
  .page-news .city-grid{
    grid-template-columns: minmax(0,6fr) minmax(0,5fr);
  }
  .page-news .further-grid{ grid-template-columns: repeat(3, minmax(0,1fr)); }
}

@media (min-width: 900px){
  .page-news .notes-body{
    grid-template-columns: 210px minmax(0,1fr);
    align-items:start;
  }
  .page-news .notes-rail{
    position:sticky;
    top:112px;
    align-self:start;
  }
  .page-news .filter-bar{
    display:flex;
    flex-direction:column;
    gap:2px;
    overflow:visible;
    padding-bottom:0;
  }
  .page-news .filter-bar label{ width:100%; }
  .page-news .note--lead{
    display:grid;
    grid-template-columns: minmax(0,1.3fr) minmax(0,1fr);
    align-items:start;
    column-gap: clamp(20px,3vw,36px);
  }
  .page-news .note--lead .note__meta{ grid-column:1 / -1; }
  .page-news .note--lead .note__title{ grid-column:1; }
  .page-news .note--lead .note__excerpt{ grid-column:2; grid-row: 2 / span 2; }
  .page-news .note--lead .note__foot{ grid-column:1; }
}

@media (min-width: 940px){
  .page-news .focus-grid{
    grid-template-columns: minmax(0,1.3fr) minmax(0,.85fr);
    align-items:start;
  }
}

@media (prefers-reduced-motion: reduce){
  .page-news *,
  .page-news *::before,
  .page-news *::after{
    animation-duration:.001ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.001ms !important;
  }
  .page-news .resp-bar::after{
    animation:none;
    transform:none;
    width:34%;
  }
  .page-news .hero-figure img,
  .page-news .archive-figure img,
  .page-news .city-figure img{ transform:none; }
}
