.page-news {
  --news-line: rgba(31, 23, 18, 0.16);
  --news-line-strong: rgba(31, 23, 18, 0.4);
  --news-grid: rgba(159, 192, 255, 0.1);
  display: block;
  background: var(--cream);
  color: var(--ink);
}

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

.page-news .news-crumb {
  padding-top: 18px;
  padding-bottom: 6px;
}

.page-news .news-crumb .breadcrumb {
  font-family: var(--font-mono);
  font-size: 12px;
  letter-spacing: 0.12em;
  color: var(--slate);
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}

.page-news .news-crumb .breadcrumb a {
  color: var(--electric);
  text-decoration: none;
  border-bottom: 1px solid transparent;
}

.page-news .news-crumb .breadcrumb a:hover,
.page-news .news-crumb .breadcrumb a:focus-visible {
  border-bottom-color: var(--electric);
}

/* ---------- 首屏拼贴 ---------- */
.page-news .news-mast {
  position: relative;
  overflow: hidden;
  background: var(--deep);
  color: var(--cream);
  padding: 34px 0 40px;
  border-bottom: 5px solid var(--gold);
}

.page-news .news-mast::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(var(--news-grid) 1px, transparent 1px),
    linear-gradient(90deg, var(--news-grid) 1px, transparent 1px);
  background-size: 46px 46px;
  pointer-events: none;
}

.page-news .news-mast::after {
  content: "";
  position: absolute;
  top: -70px;
  right: -70px;
  width: 240px;
  height: 240px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(43, 109, 246, 0.34), transparent 68%);
  pointer-events: none;
}

.page-news .news-mast__grid {
  position: relative;
  z-index: 1;
  display: grid;
  gap: 26px;
}

.page-news .news-mast__kicker {
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--gold);
  margin: 0 0 14px;
}

.page-news .news-mast h1 {
  font-size: 32px;
  line-height: 1.2;
  letter-spacing: 0.05em;
  font-weight: 800;
  margin: 0 0 16px;
  max-width: 22ch;
}

.page-news .news-mast .lead {
  color: var(--mist);
  margin: 0 0 22px;
  max-width: 62ch;
}

.page-news .news-mast__acts {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.page-news .news-mast__side {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.page-news .mastcell {
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 14px 14px 16px;
  background: rgba(255, 255, 255, 0.045);
  border: 1px solid var(--rail-line);
  border-left: 3px solid var(--electric);
}

.page-news .mastcell--wide {
  grid-column: 1 / -1;
  border-left-color: var(--gold);
}

.page-news .mastcell__k {
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: 0.14em;
  color: var(--mist);
}

.page-news .mastcell__v {
  font-size: 30px;
  font-weight: 700;
  letter-spacing: 0.02em;
  color: var(--cream);
}

.page-news .mastcell--wide .mastcell__v {
  font-size: 52px;
  line-height: 1;
  color: var(--gold);
}

.page-news .mastcell__u {
  font-size: 12px;
  color: var(--mist);
  line-height: 1.5;
}

/* ---------- 区块骨架 ---------- */
.page-news .news-sec {
  padding: 44px 0 8px;
}

.page-news .news-sec + .news-sec {
  padding-top: 40px;
}

/* ---------- 头条索引 ---------- */
.page-news .headline-strip {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 12px;
}

.page-news .headline {
  background: var(--cream);
  border: 1px solid var(--news-line-strong);
  border-left: 4px solid var(--electric);
  box-shadow: var(--shadow-print);
}

.page-news .headline:nth-child(2) { border-left-color: var(--gold); }
.page-news .headline:nth-child(3) { border-left-color: var(--ember); }
.page-news .headline:nth-child(4) { border-left-color: var(--tropic); }

.page-news .headline__link {
  display: block;
  padding: 16px 18px 18px;
  color: inherit;
  text-decoration: none;
}

.page-news .headline__link:hover,
.page-news .headline__link:focus-visible {
  background: rgba(43, 109, 246, 0.06);
}

.page-news .headline__meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin-bottom: 10px;
}

.page-news .headline__stage {
  font-size: 11px;
  letter-spacing: 0.1em;
  color: var(--slate);
}

.page-news .headline__title {
  font-size: 18px;
  line-height: 1.4;
  font-weight: 700;
  letter-spacing: 0.02em;
  margin: 0 0 8px;
}

.page-news .headline__desc {
  display: block;
  font-size: 14px;
  line-height: 1.7;
  color: var(--slate);
}

/* ---------- 轮次条目流 ---------- */
.page-news .roundflow-figure {
  margin: 0 0 20px;
  border: 1px solid var(--news-line-strong);
  background: var(--deep);
}

.page-news .roundflow-figure img {
  width: 100%;
  object-fit: cover;
  aspect-ratio: 16 / 9;
}

.page-news .roundflow-figure .media__cap {
  padding: 12px 14px;
  background: var(--deep-soft);
  color: var(--mist);
  font-size: 13px;
  line-height: 1.6;
}

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

.page-news .roundflow__item {
  display: grid;
  gap: 10px;
  padding: 18px 18px 20px;
  background: var(--cream);
  border: 1px solid var(--news-line-strong);
  box-shadow: var(--shadow-print);
}

.page-news .roundflow__idx {
  font-size: 20px;
  font-weight: 700;
  letter-spacing: 0.1em;
  color: var(--gold);
  border-bottom: 2px solid rgba(243, 160, 60, 0.45);
  padding-bottom: 6px;
}

.page-news .roundflow__top {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  margin-bottom: 8px;
}

.page-news .roundflow__stage {
  font-size: 11px;
  letter-spacing: 0.12em;
  color: var(--slate);
}

.page-news .roundflow__title {
  font-size: 19px;
  line-height: 1.4;
  font-weight: 700;
  letter-spacing: 0.02em;
  margin: 0 0 8px;
}

.page-news .roundflow__desc {
  font-size: 15px;
  line-height: 1.75;
  margin: 0 0 14px;
  max-width: 60ch;
}

.page-news .roundflow__stats {
  list-style: none;
  margin: 0 0 14px;
  padding: 12px 0 0;
  border-top: 1px dashed var(--news-line);
  display: flex;
  flex-wrap: wrap;
  gap: 10px 26px;
}

.page-news .roundflow__stats li {
  display: flex;
  align-items: baseline;
  gap: 6px;
}

.page-news .roundflow__stats b {
  font-size: 24px;
  font-weight: 700;
  color: var(--deep);
  line-height: 1;
}

.page-news .roundflow__stats span {
  font-size: 12px;
  color: var(--slate);
}

.page-news .roundflow .expander {
  border-top: 1px solid var(--news-line);
  padding-top: 10px;
}

.page-news .roundflow .expander__inner p {
  font-size: 14px;
  line-height: 1.8;
  margin: 0 0 10px;
  color: var(--ink);
}

.page-news .roundflow .expander__inner a {
  color: var(--electric);
}

.page-news .roundflow__sum {
  margin: 18px 0 0;
  padding: 14px 16px;
  background: var(--paper);
  border-left: 4px solid var(--tropic);
  font-size: 14px;
  line-height: 1.8;
  color: var(--ink);
}

.page-news .roundflow__sum b {
  font-weight: 700;
  color: var(--deep);
}

/* ---------- 转会双栏 ---------- */
.page-news .ledger__intro {
  display: grid;
  gap: 16px;
  margin-bottom: 20px;
}

.page-news .ledger__fig {
  margin: 0;
  border: 1px solid var(--news-line-strong);
  background: var(--deep-soft);
}

.page-news .ledger__fig img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
}

.page-news .ledger__note p {
  font-size: 15px;
  line-height: 1.8;
  margin: 0 0 12px;
  max-width: 58ch;
}

.page-news .pairgrid {
  display: grid;
  gap: 18px;
}

.page-news .pair {
  background: var(--cream);
  border: 1px solid var(--news-line-strong);
  border-top: 6px solid var(--gold);
  box-shadow: var(--shadow-print);
  padding: 18px 18px 8px;
}

.page-news .pair--squad {
  border-top-color: var(--tropic);
}

.page-news .pair__head {
  margin-bottom: 14px;
}

.page-news .pair__head h3 {
  font-size: 18px;
  font-weight: 700;
  letter-spacing: 0.02em;
  margin: 10px 0 0;
}

.page-news .pair__list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.page-news .pair__item {
  border-top: 1px solid var(--news-line);
  padding: 12px 0;
}

.page-news .pair__label {
  display: block;
  font-size: 12px;
  letter-spacing: 0.12em;
  color: var(--electric);
  margin-bottom: 4px;
}

.page-news .pair--squad .pair__label {
  color: var(--tropic);
}

.page-news .pair__text {
  display: block;
  font-size: 14px;
  line-height: 1.75;
  color: var(--ink);
}

.page-news .ledger__foot {
  margin: 20px 0 0;
  font-size: 14px;
  line-height: 1.75;
  color: var(--slate);
}

.page-news .ledger__foot b {
  font-weight: 700;
  color: var(--deep);
}

.page-news .ledger__foot a {
  color: var(--electric);
}

/* ---------- 专题连载 ---------- */
.page-news .serialgrid {
  display: grid;
  gap: 18px;
}

.page-news .serialgrid__fig {
  margin: 0;
  border: 1px solid var(--news-line-strong);
  border-bottom: 4px solid var(--gold);
}

.page-news .serialgrid__fig img {
  width: 100%;
  aspect-ratio: 14 / 9;
  object-fit: cover;
}

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

.page-news .serial {
  padding: 14px 16px 16px;
  background: var(--paper);
  border: 1px solid var(--news-line);
}

.page-news .serial__no {
  font-size: 11px;
  letter-spacing: 0.16em;
  color: var(--ember);
}

.page-news .serial h3 {
  font-size: 16px;
  font-weight: 700;
  margin: 8px 0 6px;
  letter-spacing: 0.02em;
}

.page-news .serial p {
  font-size: 14px;
  line-height: 1.75;
  margin: 0;
  color: var(--ink);
}

.page-news .serialgrid__foot {
  margin: 18px 0 0;
  font-size: 13px;
  line-height: 1.75;
  color: var(--slate);
}

/* ---------- 裁判月报 ---------- */
.page-news .refgrid {
  display: grid;
  gap: 18px;
  margin-bottom: 22px;
}

.page-news .refgrid__text p {
  font-size: 15px;
  line-height: 1.85;
  margin: 0 0 12px;
  max-width: 62ch;
}

.page-news .refgrid__text b {
  font-weight: 700;
  color: var(--deep);
}

.page-news .refgrid__fig {
  margin: 0;
  border: 1px solid var(--news-line-strong);
  background: var(--deep);
}

.page-news .refgrid__fig img {
  width: 100%;
  aspect-ratio: 3 / 2;
  object-fit: cover;
}

.page-news .monthgrid {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}

.page-news .monthcell {
  display: grid;
  gap: 2px;
  padding: 10px 10px 8px;
  background: var(--paper);
  border: 1px solid var(--news-line);
}

.page-news .monthcell--dense {
  background: var(--gold);
  border-color: rgba(31, 23, 18, 0.3);
}

.page-news .monthcell__no {
  font-size: 16px;
  font-weight: 700;
  color: var(--deep);
}

.page-news .monthcell__r {
  font-size: 10px;
  letter-spacing: 0.08em;
  color: var(--slate);
}

.page-news .monthcell--dense .monthcell__r {
  color: rgba(31, 23, 18, 0.72);
}

.page-news .monthcell__bar {
  display: block;
  height: 4px;
  margin-top: 6px;
  background: var(--electric);
  opacity: 0.35;
}

.page-news .monthcell--dense .monthcell__bar {
  background: var(--deep);
  opacity: 0.8;
}

.page-news .monthgrid__cap {
  margin: 12px 0 0;
  font-size: 12px;
  line-height: 1.7;
  color: var(--slate);
}

/* ---------- 节奏与归档 ---------- */
.page-news .cadence {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 14px;
}

.page-news .cadence__row {
  display: grid;
  gap: 6px;
  padding: 16px 18px;
  background: var(--cream);
  border: 1px solid var(--news-line);
  border-left: 4px solid var(--deep);
}

.page-news .cadence__when {
  font-size: 12px;
  letter-spacing: 0.16em;
  color: var(--electric);
}

.page-news .cadence__row h3 {
  font-size: 16px;
  font-weight: 700;
  margin: 0;
  letter-spacing: 0.02em;
}

.page-news .cadence__row p {
  font-size: 14px;
  line-height: 1.8;
  margin: 0;
  color: var(--ink);
}

.page-news .cadence__foot {
  margin: 20px 0 0;
  padding-top: 16px;
  border-top: 1px solid var(--news-line-strong);
  font-size: 14px;
  line-height: 1.8;
  color: var(--slate);
}

.page-news .cadence__foot a {
  color: var(--electric);
}

/* ---------- 栏目入口 ---------- */
.page-news .news-sec--lanes {
  padding-bottom: 56px;
}

.page-news .lanes {
  display: grid;
  gap: 10px;
}

.page-news .lane {
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding: 16px 16px 18px;
  background: var(--deep);
  color: var(--cream);
  text-decoration: none;
  border-bottom: 3px solid var(--electric);
  transition: transform 180ms var(--ease), border-color 180ms var(--ease);
}

.page-news .lane:hover,
.page-news .lane:focus-visible {
  transform: translateY(-3px);
  border-bottom-color: var(--gold);
}

.page-news .lane__k {
  font-size: 11px;
  letter-spacing: 0.16em;
  color: var(--gold);
}

.page-news .lane__t {
  font-size: 15px;
  line-height: 1.5;
  color: var(--mist);
}

/* ---------- 响应式 ---------- */
@media (min-width: 700px) {
  .page-news .news-mast {
    padding: 46px 0 52px;
  }

  .page-news .news-mast h1 {
    font-size: 42px;
  }

  .page-news .headline-strip {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .page-news .headline:first-child {
    grid-column: 1 / -1;
  }

  .page-news .ledger__intro {
    grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr);
    align-items: start;
  }

  .page-news .serialgrid {
    grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);
    align-items: start;
  }

  .page-news .serialgrid__list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .page-news .refgrid {
    grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr);
    align-items: center;
  }

  .page-news .monthgrid {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }

  .page-news .cadence {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .page-news .lanes {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

@media (min-width: 1024px) {
  .page-news .news-mast__grid {
    grid-template-columns: minmax(0, 1.35fr) minmax(0, 0.9fr);
    align-items: start;
    gap: 40px;
  }

  .page-news .news-mast h1 {
    font-size: 50px;
    letter-spacing: 0.07em;
  }

  .page-news .roundflow__item {
    grid-template-columns: 86px minmax(0, 1fr);
    gap: 24px;
    padding: 22px 26px 24px;
  }

  .page-news .roundflow__idx {
    font-size: 26px;
    border-bottom: 0;
    border-right: 2px solid rgba(243, 160, 60, 0.5);
    padding: 0 14px 0 0;
    text-align: right;
  }

  .page-news .pairgrid {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 24px;
    align-items: start;
  }

  .page-news .pair--squad {
    margin-top: 38px;
  }

  .page-news .roundflow-figure img {
    aspect-ratio: 16 / 8;
  }
}

@media (prefers-reduced-motion: reduce) {
  .page-news .lane {
    transition: none;
  }
}
