.page-home{
  --home-edge:3px solid var(--line);
  --home-gap:clamp(20px,3.2vw,40px);
  --home-green-ink:#0B7A44;
  background:var(--ink);
  color:var(--white);
  overflow-x:hidden;
}

.page-home .section{
  position:relative;
  padding:clamp(44px,6vw,88px) 0;
}

.page-home h2{
  font-size:clamp(26px,3.4vw,40px);
  line-height:1.15;
  letter-spacing:-.02em;
  font-weight:900;
  margin:12px 0 14px;
  color:inherit;
}

.page-home h3{
  font-size:clamp(19px,2vw,24px);
  line-height:1.3;
  font-weight:700;
  margin:0 0 10px;
}

.page-home .lede{
  max-width:62ch;
  color:#C4CFC7;
  font-size:clamp(15px,1.5vw,17px);
  line-height:1.7;
  margin:0;
}

.page-home .eyebrow{
  display:inline-block;
  font-family:var(--font-mono);
  font-size:12px;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--green);
  margin:0;
}

.page-home .home-head{
  max-width:64ch;
  margin-bottom:clamp(24px,3vw,40px);
}

.page-home .home-footnote{
  margin-top:clamp(22px,3vw,34px);
  font-size:14px;
  line-height:1.7;
  color:var(--muted);
  max-width:70ch;
}

.page-home .home-footnote a{
  color:var(--blue);
  text-decoration:none;
  border-bottom:2px solid rgba(47,168,255,.4);
  padding-bottom:1px;
}

.page-home .home-footnote a:hover{
  border-bottom-color:var(--blue);
}

/* ---------- 01 首屏 ---------- */
.page-home .hero{
  padding:0;
  position:relative;
  overflow:hidden;
  background:var(--ink);
}

.page-home .hero::before{
  content:"";
  position:absolute;
  top:-16%;
  right:-12%;
  width:62%;
  height:132%;
  background:linear-gradient(155deg,var(--green),#0AA855);
  transform:skewX(-13deg);
  z-index:0;
  pointer-events:none;
}

.page-home .hero::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:6px;
  z-index:3;
  background:linear-gradient(90deg,var(--green) 0 42%,var(--neon) 42% 64%,var(--blue) 64% 100%);
}

.page-home .hero .container{
  position:relative;
  z-index:1;
}

.page-home .hero-inner{
  display:grid;
  gap:clamp(28px,4vw,44px);
  padding:clamp(48px,7vw,96px) 0 clamp(28px,4vw,48px);
  align-items:center;
}

.page-home .hero-copy h1{
  font-size:clamp(32px,5.4vw,64px);
  line-height:1.06;
  letter-spacing:-.02em;
  font-weight:900;
  margin:14px 0 18px;
  color:var(--white);
}

.page-home .hero-copy h1 em{
  font-style:normal;
  color:var(--neon);
  box-shadow:inset 0 -0.16em 0 rgba(18,212,106,.55);
}

.page-home .hero-actions{
  display:flex;
  flex-wrap:wrap;
  gap:14px;
  margin-top:26px;
}

.page-home .hero-facts{
  list-style:none;
  margin:26px 0 0;
  padding:0;
  display:flex;
  flex-wrap:wrap;
  gap:10px 24px;
}

.page-home .hero-facts li{
  display:flex;
  align-items:center;
  gap:9px;
  font-family:var(--font-mono);
  font-size:12.5px;
  letter-spacing:.04em;
  color:var(--muted);
}

.page-home .hero-facts li::before{
  content:"";
  width:8px;
  height:8px;
  flex:none;
  background:var(--green);
  transform:rotate(45deg);
}

.page-home .hero-visual{
  position:relative;
}

.page-home .hero-shot{
  margin:0;
  border:3px solid var(--ink);
  box-shadow:var(--shadow-hard);
  overflow:hidden;
  background:var(--panel);
  clip-path:polygon(0 0,100% 7%,100% 100%,0 93%);
}

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

.page-home .hero-caption{
  margin:14px 0 0;
  font-family:var(--font-mono);
  font-size:12px;
  letter-spacing:.1em;
  color:#0A3A21;
  text-transform:uppercase;
}

.page-home .hero .ticker{
  margin-top:clamp(6px,1.4vw,18px);
}

/* ---------- 02 战报 ---------- */
.page-home .home-reports{
  background:var(--ink);
}

.page-home .home-reports::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:.55;
  background-image:repeating-linear-gradient(90deg,rgba(42,51,44,.85) 0 1px,transparent 1px 92px);
}

.page-home .home-reports .container{
  position:relative;
  z-index:1;
}

.page-home .report-grid{
  display:grid;
  gap:var(--home-gap);
}

.page-home .report-card{
  background:var(--panel);
  border:var(--home-edge);
  box-shadow:var(--shadow-soft);
  padding:clamp(18px,2.4vw,26px);
  display:flex;
  flex-direction:column;
  gap:12px;
  outline:none;
  transition:transform var(--ease),box-shadow var(--ease),border-color var(--ease);
}

.page-home .report-card:hover,
.page-home .report-card:focus-visible{
  transform:translate(-4px,-4px);
  box-shadow:var(--shadow-hard);
  border-color:var(--green);
}

.page-home .report-card:focus-visible{
  outline:3px solid var(--green);
  outline-offset:3px;
}

.page-home .report-card__meta{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}

.page-home .report-card__score{
  margin:4px 0 0;
  font-family:var(--font-mono);
  font-size:clamp(32px,4.4vw,46px);
  font-weight:500;
  line-height:1;
  color:var(--white);
  font-variant-numeric:tabular-nums;
}

.page-home .report-card__score span{
  color:var(--green);
  padding:0 .12em;
}

.page-home .report-card__label{
  margin:0;
  font-size:13px;
  letter-spacing:.06em;
  color:var(--muted);
}

.page-home .report-card__stats{
  list-style:none;
  margin:0;
  padding:14px 0 0;
  border-top:1px dashed var(--line);
  display:grid;
  gap:9px;
}

.page-home .report-card__stats li{
  display:flex;
  gap:9px;
  font-size:14px;
  line-height:1.6;
  color:#B9C4BC;
}

.page-home .report-card__stats li::before{
  content:"›";
  flex:none;
  font-family:var(--font-mono);
  color:var(--blue);
}

/* ---------- 03 赛程排期 ---------- */
.page-home .home-slate{
  background:var(--panel);
  border-top:var(--home-edge);
  border-bottom:var(--home-edge);
}

.page-home .slate-grid{
  display:grid;
  gap:var(--home-gap);
}

.page-home .slate-aside .media{
  margin:0 0 14px;
}

.page-home .slate-main .lede{
  margin-bottom:22px;
}

.page-home .filter-row{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:10px;
  margin-bottom:18px;
}

.page-home .filter-row__label{
  font-family:var(--font-mono);
  font-size:12px;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--muted);
}

.page-home .fixture-list{
  list-style:none;
  margin:0;
  padding:0;
  border-top:var(--home-edge);
}

.page-home .fixture{
  display:grid;
  grid-template-columns:auto auto minmax(0,1fr);
  align-items:baseline;
  gap:6px 16px;
  padding:18px 4px;
  border-bottom:1px solid var(--line);
}

.page-home .fixture__day{
  font-family:var(--font-mono);
  font-size:13px;
  letter-spacing:.1em;
  color:var(--green);
}

.page-home .fixture__time{
  font-family:var(--font-mono);
  font-size:clamp(20px,2.6vw,30px);
  font-weight:500;
  line-height:1;
  color:var(--neon);
  font-variant-numeric:tabular-nums;
}

.page-home .fixture__match{
  font-size:15px;
  color:var(--white);
  min-width:0;
}

.page-home .fixture__state{
  grid-column:1 / -1;
  font-size:13px;
  color:var(--muted);
}

.page-home .fixture-gap{
  padding:12px 4px;
  font-size:13.5px;
  color:var(--muted);
  border-bottom:1px dashed var(--line);
  background:repeating-linear-gradient(135deg,rgba(42,51,44,.45) 0 6px,transparent 6px 14px);
}

/* ---------- 04 两步走完 ---------- */
.page-home .home-steps{
  background:var(--mint);
  color:var(--ink);
}

.page-home .home-steps .lede{
  color:#3C463E;
}

.page-home .home-steps .eyebrow{
  color:var(--home-green-ink);
}

.page-home .home-steps .home-footnote{
  color:#4A554C;
}

.page-home .home-steps .home-footnote a{
  color:#0A5F92;
  border-bottom-color:rgba(10,95,146,.35);
}

.page-home .steps{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  gap:var(--home-gap);
}

.page-home .step{
  position:relative;
  background:var(--white);
  border:3px solid var(--ink);
  box-shadow:var(--shadow-soft);
  padding:clamp(20px,2.6vw,32px);
}

.page-home .step__num{
  display:block;
  margin-bottom:12px;
  font-family:var(--font-mono);
  font-size:12px;
  letter-spacing:.16em;
  color:var(--home-green-ink);
}

.page-home .step p{
  margin:0;
  font-size:15px;
  line-height:1.75;
  color:#39423B;
}

/* ---------- 05 PC 端收藏 ---------- */
.page-home .home-pc{
  background:var(--ink);
}

.page-home .pc-grid{
  display:grid;
  gap:var(--home-gap);
  align-items:center;
}

.page-home .pc-copy .lede{
  margin-bottom:24px;
}

.page-home .pc-actions{
  margin-top:24px;
}

.page-home .pc-visual .media{
  margin:0 0 14px;
}

/* ---------- 06 节奏 ---------- */
.page-home .home-rhythm{
  background:var(--panel);
  border-top:var(--home-edge);
  border-bottom:var(--home-edge);
}

.page-home .rhythm-panel{
  display:grid;
  gap:1px;
  background:var(--line);
  border:var(--home-edge);
}

.page-home .rhythm-item{
  background:var(--panel);
  padding:clamp(20px,2.6vw,32px);
}

.page-home .rhythm-item__num{
  font-family:var(--font-mono);
  font-size:clamp(34px,5vw,56px);
  font-weight:500;
  line-height:1;
  color:var(--neon);
  font-variant-numeric:tabular-nums;
}

.page-home .rhythm-item__unit{
  font-family:var(--font-mono);
  font-size:14px;
  letter-spacing:.12em;
  color:var(--green);
  margin-left:8px;
}

.page-home .rhythm-item p{
  margin:12px 0 0;
  font-size:14px;
  line-height:1.7;
  color:#B9C4BC;
}

/* ---------- 07 数据面板 ---------- */
.page-home .home-numbers{
  background:var(--mint);
  color:var(--ink);
}

.page-home .home-numbers .lede{
  color:#3C463E;
}

.page-home .home-numbers .eyebrow{
  color:var(--home-green-ink);
}

.page-home .home-numbers .home-footnote{
  color:#4A554C;
}

.page-home .home-numbers .home-footnote a{
  color:#0A5F92;
  border-bottom-color:rgba(10,95,146,.35);
}

.page-home .numbers-grid{
  display:grid;
  gap:var(--home-gap);
  align-items:center;
}

.page-home .numbers-strip{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1px;
  background:rgba(10,13,11,.22);
  border:3px solid var(--ink);
  margin-top:26px;
}

.page-home .stat{
  background:var(--mint);
  padding:18px 16px;
}

.page-home .stat__num{
  display:block;
  font-family:var(--font-mono);
  font-size:clamp(26px,3.4vw,40px);
  font-weight:500;
  line-height:1;
  color:var(--ink);
  font-variant-numeric:tabular-nums;
}

.page-home .stat__label{
  display:block;
  margin-top:9px;
  font-size:13px;
  line-height:1.5;
  color:#3A443C;
}

.page-home .numbers-visual .media{
  margin:0 0 14px;
}

/* ---------- 08 收束 ---------- */
.page-home .home-cta{
  background:var(--ink);
  padding-bottom:clamp(56px,8vw,104px);
}

.page-home .cta-board{
  position:relative;
  overflow:hidden;
  background:var(--green);
  color:var(--ink);
  border:var(--home-edge);
  box-shadow:var(--shadow-hard);
  padding:clamp(28px,4.4vw,56px);
}

.page-home .cta-board::after{
  content:"";
  position:absolute;
  right:-70px;
  top:-70px;
  width:240px;
  height:240px;
  border:3px solid rgba(10,13,11,.3);
  transform:rotate(45deg);
  pointer-events:none;
}

.page-home .cta-board h2{
  color:var(--ink);
  margin-top:0;
  position:relative;
  z-index:1;
}

.page-home .cta-lede{
  position:relative;
  z-index:1;
  margin:0;
  max-width:56ch;
  font-size:clamp(15px,1.6vw,17px);
  line-height:1.7;
  color:#0A2B19;
}

.page-home .cta-actions{
  position:relative;
  z-index:1;
  display:flex;
  flex-wrap:wrap;
  gap:14px;
  margin-top:28px;
}

.page-home .cta-alt{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:48px;
  padding:0 24px;
  font-size:15px;
  font-weight:700;
  color:var(--ink);
  text-decoration:none;
  border:3px solid var(--ink);
  background:transparent;
  transition:transform var(--ease),box-shadow var(--ease),background var(--ease);
}

.page-home .cta-alt:hover,
.page-home .cta-alt:focus-visible{
  transform:translate(-2px,-2px);
  box-shadow:var(--shadow-soft);
  background:rgba(10,13,11,.08);
}

/* ---------- 响应式 ---------- */
@media (min-width:720px){
  .page-home .rhythm-panel{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
  .page-home .numbers-strip{
    grid-template-columns:repeat(4,minmax(0,1fr));
  }
}

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

@media (min-width:900px){
  .page-home .hero-inner{
    grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);
    gap:clamp(32px,5vw,64px);
  }
  .page-home .slate-grid{
    grid-template-columns:minmax(0,4fr) minmax(0,8fr);
    gap:clamp(28px,4vw,56px);
    align-items:start;
  }
  .page-home .pc-grid{
    grid-template-columns:minmax(0,5fr) minmax(0,7fr);
    gap:clamp(28px,4vw,56px);
  }
  .page-home .numbers-grid{
    grid-template-columns:minmax(0,7fr) minmax(0,5fr);
    gap:clamp(28px,4vw,56px);
  }
  .page-home .steps{
    grid-template-columns:1fr 1fr;
    position:relative;
  }
  .page-home .steps::before{
    content:"";
    position:absolute;
    left:50%;
    top:28px;
    bottom:28px;
    width:3px;
    transform:translateX(-50%);
    background:repeating-linear-gradient(180deg,var(--ink) 0 8px,transparent 8px 18px);
  }
}

@media (min-width:1040px){
  .page-home .report-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
    align-items:start;
  }
  .page-home .report-card:nth-child(2){
    margin-top:36px;
  }
  .page-home .report-card:nth-child(3){
    margin-top:14px;
  }
}

@media (hover:hover) and (min-width:900px){
  .page-home .report-card__stats{
    max-height:0;
    opacity:0;
    overflow:hidden;
    padding-top:0;
    border-top-color:transparent;
    transition:max-height 200ms ease-out,opacity 200ms ease-out,padding-top 200ms ease-out;
  }
  .page-home .report-card:hover .report-card__stats,
  .page-home .report-card:focus-visible .report-card__stats,
  .page-home .report-card:focus-within .report-card__stats{
    max-height:220px;
    opacity:1;
    padding-top:14px;
    border-top-color:var(--line);
  }
}

@media (max-width:919px){
  .page-home .hero::before{
    width:150%;
    right:-64%;
    top:auto;
    bottom:-12%;
    height:58%;
    transform:skewX(-9deg);
    opacity:.55;
  }
  .page-home .hero-caption{
    color:var(--muted);
  }
}

@media (max-width:560px){
  .page-home .fixture{
    grid-template-columns:auto minmax(0,1fr);
  }
  .page-home .fixture__day{
    grid-row:1;
  }
  .page-home .fixture__match{
    grid-row:2;
    grid-column:1 / -1;
  }
  .page-home .cta-actions .btn,
  .page-home .cta-alt,
  .page-home .hero-actions .btn{
    width:100%;
    justify-content:center;
  }
}

@media (prefers-reduced-motion:reduce){
  .page-home *,
  .page-home *::before,
  .page-home *::after{
    transition-duration:.01ms !important;
    animation-duration:.01ms !important;
    animation-iteration-count:1 !important;
  }
}
