.page-home{
  --home-tick: repeating-linear-gradient(90deg, var(--c-gold) 0 2px, transparent 2px 18px);
  --home-grid-line: rgba(16,22,19,.055);
  background: var(--paper);
  color: var(--ink);
  font-family: var(--font-sans);
  overflow-x: hidden;
}

.page-home .breadcrumb{
  padding-top: clamp(12px,2vw,20px);
}

/* ---------- 首屏 ---------- */
.page-home .hero{
  position: relative;
  background-image:
    linear-gradient(var(--home-grid-line) 1px, transparent 1px),
    linear-gradient(90deg, var(--home-grid-line) 1px, transparent 1px);
  background-size: 48px 48px, 48px 48px;
  padding-bottom: clamp(36px,5vw,72px);
  border-bottom: 1px solid var(--line-strong);
}

.page-home .hero-grid{
  display: grid;
  gap: clamp(28px,4vw,48px);
  align-items: center;
  padding-top: clamp(20px,3vw,40px);
  min-height: clamp(540px, 78vh, 880px);
}

.page-home .hero-title{
  font-size: clamp(34px, 6.2vw, 66px);
  line-height: 1.12;
  letter-spacing: -.02em;
  font-weight: 900;
  margin: 14px 0 18px;
  max-width: 15em;
}

.page-home .hero-lede{
  font-size: clamp(15px,1.6vw,17px);
  line-height: 1.78;
  color: var(--ink-soft);
  max-width: 36em;
  margin: 0;
}

.page-home .hero-actions{
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: clamp(20px,2.6vw,28px);
}

.page-home .hero-ghost{
  border-color: var(--line-strong);
  color: var(--c-moss);
}

.page-home .hero-chips{
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: clamp(14px,2vw,20px) 0 0;
  padding: 0;
}

.page-home .season-rail{
  list-style: none;
  margin: clamp(22px,3vw,34px) 0 0;
  padding: 0 0 0 18px;
  border-left: 1px solid var(--line-strong);
  display: grid;
  gap: 10px;
  max-width: 34em;
}

.page-home .season-step{
  position: relative;
  display: grid;
  grid-template-columns: 4.2em 1fr;
  gap: 10px;
  align-items: baseline;
  font-size: 14px;
}

.page-home .season-step::before{
  content: "";
  position: absolute;
  left: -22px;
  top: 7px;
  width: 7px;
  height: 7px;
  background: var(--c-red);
  border: 1px solid var(--paper);
}

.page-home .season-step:first-child::before{
  background: var(--c-gold);
}

.page-home .season-year{
  font-family: var(--font-mono);
  font-size: 12px;
  letter-spacing: .12em;
  color: var(--c-red);
}

.page-home .season-step:first-child .season-year{
  color: var(--c-gold-deep);
}

.page-home .season-text{
  color: var(--ink-soft);
  line-height: 1.6;
}

.page-home .hero-stage{
  position: relative;
  min-width: 0;
}

.page-home .hero-frame{
  position: relative;
  background: var(--c-night);
  border: 1px solid var(--line-strong);
  padding: 12px;
  clip-path: polygon(0 4%, 100% 0, 100% 96%, 0 100%);
  box-shadow: 10px 12px 0 rgba(16,22,19,.10);
}

.page-home .hero-frame::before{
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 12px;
  background: var(--home-tick);
  opacity: .85;
}

.page-home .hero-frame img{
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  opacity: .84;
}

.page-home .hero-badge{
  position: absolute;
  left: clamp(12px,2.4vw,24px);
  top: clamp(14px,2.6vw,26px);
  z-index: 3;
  margin: 0;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 12px;
  background: rgba(11,27,43,.86);
  color: var(--c-paper);
  border: 1px solid rgba(217,164,65,.55);
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: .12em;
}

.page-home .hero-badge::before{
  content: "";
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--c-cyan);
  box-shadow: 0 0 0 4px rgba(25,224,200,.18);
}

.page-home .hero-stats{
  list-style: none;
  margin: -18px clamp(0px,2vw,24px) 0;
  padding: 0;
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 1px;
  background: var(--c-ink);
  border: 1px solid var(--c-ink);
}

.page-home .stat{
  background: var(--c-night);
  color: var(--c-paper);
  padding: 14px 16px;
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
}

.page-home .stat-num{
  font-family: var(--font-mono);
  font-variant-numeric: tabular-nums;
  font-size: clamp(22px,3vw,30px);
  line-height: 1.1;
  color: var(--c-gold);
}

.page-home .stat--live .stat-num{
  color: var(--c-cyan);
}

.page-home .stat-label{
  font-size: 12px;
  letter-spacing: .04em;
  color: rgba(246,241,231,.74);
}

/* ---------- 通用区块标题 ---------- */
.page-home .block-title{
  font-size: clamp(25px,3.4vw,40px);
  line-height: 1.22;
  letter-spacing: -.01em;
  font-weight: 900;
  margin: 12px 0 0;
}

.page-home .block-lede{
  color: var(--ink-soft);
  line-height: 1.75;
  margin: 14px 0 0;
  max-width: 40em;
  font-size: 15px;
}

.page-home .eyebrow{
  color: var(--c-red);
}

/* ---------- 三条主题带 ---------- */
.page-home .bands-head{
  display: grid;
  gap: 4px;
  max-width: 760px;
}

.page-home .filter-row{
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: clamp(20px,3vw,30px) 0 clamp(16px,2.4vw,24px);
}

.page-home .band-list{
  display: grid;
  gap: clamp(16px,2.4vw,24px);
}

.page-home [data-filter-item][hidden]{
  display: none;
}

.page-home .band{
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: clamp(20px,3vw,32px);
  background: var(--paper-2);
  border: 1px solid var(--line-strong);
  box-shadow: var(--shadow-paper);
  transition: transform .18s var(--ease), box-shadow .18s var(--ease);
  min-width: 0;
}

.page-home .band::before{
  content: "";
  position: absolute;
  top: -1px;
  left: -1px;
  right: -1px;
  height: 4px;
  background: var(--c-red);
}

.page-home .band--ranking::before{
  background: var(--c-gold);
}

.page-home .band--club::before{
  background: var(--c-grass);
}

.page-home .band:hover{
  transform: translateY(-2px);
  box-shadow: var(--shadow-paper-hover);
}

.page-home .band-num{
  margin: 0;
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: .18em;
  color: var(--ink-mute);
}

.page-home .band-title{
  margin: 0;
  font-size: clamp(19px,2.2vw,24px);
  line-height: 1.32;
  font-weight: 800;
}

.page-home .band-text{
  margin: 0;
  font-size: 15px;
  line-height: 1.75;
  color: var(--ink-soft);
  flex: 1;
}

.page-home .band-link{
  align-self: flex-start;
  font-family: var(--font-mono);
  font-size: 12px;
  letter-spacing: .08em;
  color: var(--c-red);
  text-decoration: none;
  border-bottom: 1px solid currentColor;
  padding-bottom: 2px;
}

.page-home .band-link:hover{
  color: var(--c-red-deep);
}

.page-home .band-empty{
  margin: clamp(16px,2.4vw,24px) 0 0;
  font-size: 14px;
  color: var(--ink-mute);
}

.page-home .band-empty[hidden]{
  display: none;
}

/* ---------- 主客场镜像 ---------- */
.page-home .mirror-section{
  background: var(--paper-2);
  border-block: 1px solid var(--line-strong);
}

.page-home .mirror-grid{
  display: grid;
  gap: clamp(24px,4vw,44px);
  align-items: center;
}

.page-home .mirror-media{
  margin: 0;
}

.page-home .media-frame img{
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.page-home .mirror-body{
  min-width: 0;
}

.page-home .mirror-body .prose{
  margin: 14px 0 0;
  font-size: 15px;
  line-height: 1.78;
  color: var(--ink-soft);
  max-width: 38em;
}

.page-home .mirror-panel{
  display: grid;
  grid-template-columns: minmax(0,1fr) minmax(0,1fr);
  gap: clamp(8px,1.6vw,14px);
  margin-top: clamp(20px,3vw,28px);
}

.page-home .mirror-col{
  padding: 14px;
  border: 1px solid var(--line-soft);
  min-width: 0;
}

.page-home .mirror-col--home{
  background: linear-gradient(180deg, rgba(194,24,43,.12), rgba(194,24,43,.02));
  border-color: rgba(194,24,43,.34);
}

.page-home .mirror-col--away{
  background: linear-gradient(180deg, rgba(46,125,79,.14), rgba(46,125,79,.02));
  border-color: rgba(46,125,79,.4);
  text-align: right;
}

.page-home .mirror-col h3{
  margin: 0;
  font-family: var(--font-mono);
  font-size: 12px;
  letter-spacing: .18em;
  color: var(--c-moss);
}

.page-home .mirror-col--home h3{
  color: var(--c-red);
}

.page-home .mirror-col ul{
  list-style: none;
  margin: 10px 0 0;
  padding: 0;
  display: grid;
  gap: 8px;
  font-size: 13.5px;
  line-height: 1.6;
  color: var(--ink-soft);
}

.page-home .mirror-col li{
  padding-bottom: 8px;
  border-bottom: 1px dashed var(--line-soft);
}

.page-home .mirror-col li:last-child{
  border-bottom: 0;
  padding-bottom: 0;
}

.page-home .mirror-axis{
  display: none;
}

.page-home .mirror-note{
  margin: 14px 0 0;
  font-family: var(--font-mono);
  font-size: 12px;
  letter-spacing: .04em;
  color: var(--ink-mute);
  line-height: 1.7;
}

/* ---------- 射手榜与球队库 ---------- */
.page-home .index-grid{
  display: grid;
  gap: clamp(24px,3vw,36px);
}

.page-home .ladder,
.page-home .club-index{
  min-width: 0;
}

.page-home .ladder-list{
  list-style: none;
  margin: clamp(16px,2.4vw,22px) 0 0;
  padding: 0;
  border-top: 1px solid var(--line-strong);
}

.page-home .ladder-row{
  display: grid;
  grid-template-columns: 3em 1fr auto;
  gap: 12px;
  align-items: center;
  padding: 13px 0;
  border-bottom: 1px solid var(--line-soft);
}

.page-home .ladder-rank{
  font-family: var(--font-mono);
  font-size: 12px;
  letter-spacing: .12em;
  color: var(--c-red);
}

.page-home .ladder-name{
  font-size: 15px;
  color: var(--ink);
  line-height: 1.5;
}

.page-home .ladder-arrow{
  font-family: var(--font-mono);
  font-size: 13px;
  color: var(--ink-mute);
}

.page-home .club-title{
  margin: 12px 0 0;
  font-size: clamp(20px,2.4vw,26px);
  line-height: 1.32;
  font-weight: 800;
}

.page-home .club-text{
  margin: 12px 0 0;
  font-size: 15px;
  line-height: 1.75;
  color: var(--ink-soft);
}

.page-home .club-tags{
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 16px 0 18px;
  padding: 0;
}

.page-home .index-media{
  margin: 0;
}

/* ---------- 数据节奏 ---------- */
.page-home .update-head{
  max-width: 780px;
}

.page-home .update-grid{
  display: grid;
  gap: clamp(20px,3vw,32px);
  margin-top: clamp(22px,3vw,32px);
  align-items: start;
}

.page-home .update-media{
  margin: 0;
}

.page-home .timeline{
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: clamp(12px,2vw,18px);
}

.page-home .timeline-step{
  position: relative;
  padding: 16px 18px;
  background: var(--paper-2);
  border: 1px solid var(--line-strong);
  border-left: 3px solid var(--c-red);
}

.page-home .timeline-step--review{
  border-left-color: var(--c-gold);
}

.page-home .timeline-step--publish{
  border-left-color: var(--c-grass);
}

.page-home .step-time{
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: .16em;
  color: var(--c-red);
}

.page-home .timeline-step--review .step-time{
  color: var(--c-gold-deep);
}

.page-home .timeline-step--publish .step-time{
  color: var(--c-grass);
}

.page-home .step-title{
  margin: 6px 0 6px;
  font-size: 17px;
  font-weight: 800;
}

.page-home .step-text{
  margin: 0;
  font-size: 14px;
  line-height: 1.72;
  color: var(--ink-soft);
}

.page-home .source-panel{
  margin-top: clamp(20px,3vw,32px);
  padding: clamp(20px,3vw,34px);
  border-left: 4px solid var(--c-gold);
}

.page-home .source-panel .eyebrow{
  color: var(--c-gold);
}

.page-home .source-text{
  margin: 12px 0 0;
  line-height: 1.78;
  max-width: 44em;
  font-size: 15px;
}

.page-home .source-stats{
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  gap: 10px 26px;
  margin: 18px 0 0;
  padding: 0;
  font-family: var(--font-mono);
  font-size: 12.5px;
  letter-spacing: .06em;
  color: var(--c-cyan);
}

.page-home .source-panel .source-link{
  margin-top: 18px;
  color: var(--c-gold);
}

.page-home .source-panel .source-link:hover{
  color: var(--c-cyan);
}

/* ---------- 赛季路线 ---------- */
.page-home .route-section{
  background:
    linear-gradient(118deg, rgba(194,24,43,.08) 0%, rgba(246,241,231,0) 44%),
    var(--paper);
  border-top: 1px solid var(--line-strong);
}

.page-home .route-list{
  list-style: none;
  margin: clamp(20px,3vw,32px) 0 0;
  padding: 0;
  display: grid;
  gap: clamp(12px,1.8vw,18px);
}

.page-home .route-item{
  display: grid;
  grid-template-columns: auto minmax(0,1fr);
  gap: 14px;
  padding: 16px 18px;
  background: rgba(246,241,231,.78);
  border: 1px solid var(--line-soft);
  transition: background .18s var(--ease), border-color .18s var(--ease);
}

.page-home .route-item:hover{
  background: var(--paper-2);
  border-color: var(--line-strong);
}

.page-home .route-num{
  font-family: var(--font-mono);
  font-size: clamp(19px,2.4vw,25px);
  line-height: 1;
  color: var(--c-red);
  font-variant-numeric: tabular-nums;
}

.page-home .route-body{
  min-width: 0;
}

.page-home .route-item .route-title{
  margin: 0 0 5px;
  font-size: 16px;
  font-weight: 800;
}

.page-home .route-text{
  margin: 0;
  font-size: 14px;
  line-height: 1.7;
  color: var(--ink-soft);
}

.page-home .route-link{
  display: inline-block;
  margin-top: 8px;
  font-family: var(--font-mono);
  font-size: 12px;
  letter-spacing: .08em;
  color: var(--c-moss);
  text-decoration: none;
  border-bottom: 1px solid rgba(18,59,46,.42);
  padding-bottom: 1px;
}

.page-home .route-link:hover{
  color: var(--c-red);
  border-bottom-color: currentColor;
}

/* ---------- 响应式 ---------- */
@media (min-width: 640px){
  .page-home .mirror-col{
    padding: 18px;
  }
  .page-home .mirror-col ul{
    font-size: 14px;
  }
}

@media (min-width: 900px){
  .page-home .hero-grid{
    grid-template-columns: minmax(0,5.2fr) minmax(0,6.8fr);
  }
  .page-home .hero-stats{
    grid-template-columns: repeat(4, minmax(0,1fr));
  }
  .page-home .band-list{
    grid-template-columns: repeat(3, minmax(0,1fr));
  }
  .page-home .mirror-grid{
    grid-template-columns: minmax(0,5fr) minmax(0,7fr);
  }
  .page-home .mirror-panel{
    grid-template-columns: minmax(0,1fr) 1px minmax(0,1fr);
    gap: clamp(12px,2vw,20px);
  }
  .page-home .mirror-axis{
    display: block;
    background: repeating-linear-gradient(180deg, var(--line-strong) 0 5px, transparent 5px 12px);
  }
  .page-home .index-grid{
    grid-template-columns: minmax(0,5fr) minmax(0,4fr) minmax(0,3fr);
    align-items: start;
  }
  .page-home .update-grid{
    grid-template-columns: minmax(0,4fr) minmax(0,8fr);
  }
  .page-home .route-list{
    grid-template-columns: repeat(2, minmax(0,1fr));
  }
}

@media (min-width: 1200px){
  .page-home .season-rail{
    grid-template-columns: repeat(2, minmax(0,1fr));
    gap: 10px 24px;
  }
}

@media (prefers-reduced-motion: reduce){
  .page-home .band,
  .page-home .route-item{
    transition: none;
  }
  .page-home .band:hover{
    transform: none;
  }
}
<<<END>>>
