.page-home{
  --hp-frame:clamp(16px,2.4vw,34px);
  --hp-rail:88px;
  --hp-line:rgba(201,233,230,.14);
  --hp-line-soft:rgba(201,233,230,.07);
}

/* ============ 首屏 ============ */
.page-home .hero{
  position:relative;
  padding:var(--sp-3) 0 var(--sp-7);
}
.page-home .hero__crumbs{margin-bottom:var(--sp-3)}

.page-home .hero__frame{
  position:relative;
  border:1px solid var(--hp-line);
  background:
    radial-gradient(120% 150% at 86% -10%,rgba(58,46,110,.62) 0%,rgba(7,9,13,0) 58%),
    linear-gradient(165deg,rgba(14,26,31,.97),rgba(7,9,13,.99));
  overflow:hidden;
}
.page-home .hero__frame::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:repeating-linear-gradient(to bottom,rgba(22,224,210,.30) 0 1px,transparent 1px 26px);
  -webkit-mask-image:linear-gradient(to right,#000 0%,transparent 24%);
  mask-image:linear-gradient(to right,#000 0%,transparent 24%);
  opacity:.55;
  z-index:0;
}
.page-home .hero__corner{
  position:absolute;
  width:18px;height:18px;
  border:1px solid var(--c-cyan);
  opacity:.72;
  z-index:2;
}
.page-home .hero__corner--tl{top:9px;left:9px;border-right:0;border-bottom:0}
.page-home .hero__corner--tr{top:9px;right:9px;border-left:0;border-bottom:0}
.page-home .hero__corner--bl{bottom:9px;left:9px;border-right:0;border-top:0}
.page-home .hero__corner--br{bottom:9px;right:9px;border-left:0;border-top:0}

.page-home .hero__body{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:minmax(0,1fr);
}

.page-home .hero__rail{
  display:flex;
  flex-direction:row;
  align-items:center;
  gap:0;
  overflow-x:auto;
  border-bottom:1px solid var(--hp-line-soft);
  position:relative;
  scrollbar-width:none;
}
.page-home .hero__rail::-webkit-scrollbar{display:none}
.page-home .hero__rail-line{display:none}

.page-home .rail__tick{
  flex:0 0 auto;
  width:64px;
  height:46px;
  display:grid;
  place-items:center;
  font-family:var(--font-mono);
  font-size:var(--fs-2);
  color:var(--c-slate);
  position:relative;
  letter-spacing:.02em;
}
.page-home .rail__tick::after{
  content:"";
  position:absolute;
  left:50%;
  bottom:0;
  width:1px;
  height:10px;
  transform:translateX(-50%);
  background:var(--hp-line);
}
.page-home .rail__tick[data-active="true"]{color:var(--c-lime)}
.page-home .rail__tick[data-active="true"]::before{
  content:"";
  position:absolute;
  top:6px;
  left:50%;
  transform:translateX(-50%);
  width:5px;height:5px;
  border-radius:50%;
  background:var(--c-lime);
  box-shadow:0 0 10px rgba(198,255,61,.75);
}

.page-home .hero__copy{
  padding:var(--sp-5) var(--hp-frame);
  display:flex;
  flex-direction:column;
  gap:var(--sp-3);
  justify-content:center;
}
.page-home .h1{
  font-family:var(--font-display);
  font-size:clamp(26px,3.4vw,44px);
  line-height:1.16;
  letter-spacing:.01em;
  color:var(--c-white);
  margin:0;
}
.page-home .lede{
  font-size:var(--fs-3);
  line-height:1.62;
  color:var(--c-mist);
  max-width:38em;
  margin:0;
}
.page-home .lede .num{color:var(--c-cyan)}
.page-home .hero__actions{
  display:flex;
  flex-wrap:wrap;
  gap:var(--sp-2);
  margin-top:var(--sp-1);
}

.page-home .hero__panel{
  position:relative;
  isolation:isolate;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  min-height:300px;
  border-top:1px solid var(--hp-line-soft);
}
.page-home .hero__panel-media{
  position:absolute;
  inset:0;
  z-index:-1;
}
.page-home .hero__panel-media img{
  width:100%;
  height:100%;
  object-fit:cover;
  opacity:.42;
  filter:grayscale(.25) contrast(1.08);
}
.page-home .hero__panel-media::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(200deg,rgba(7,9,13,.30) 0%,rgba(7,9,13,.94) 78%);
}
.page-home .hero__panel-inner{
  padding:var(--sp-5) var(--hp-frame);
  display:flex;
  flex-direction:column;
  gap:var(--sp-3);
}
.page-home .hero__panel-label{
  margin:0;
  font-family:var(--font-display);
  text-transform:uppercase;
  letter-spacing:.14em;
  font-size:var(--fs-1);
  color:var(--c-cyan);
}
.page-home .pulse{
  width:100%;
  height:56px;
  display:block;
}
.page-home .pulse polyline{
  fill:none;
  stroke:var(--c-cyan);
  stroke-width:2;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.page-home .pulse__grid{stroke:rgba(201,233,230,.13);stroke-width:1}

.page-home .hero__stats{
  margin:0;
  display:grid;
  gap:var(--sp-2);
}
.page-home .hero__stat{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:var(--sp-2);
  padding-top:var(--sp-2);
  border-top:1px solid var(--hp-line-soft);
}
.page-home .hero__stat-k{
  font-size:var(--fs-2);
  color:var(--c-slate);
  letter-spacing:.04em;
}
.page-home .hero__stat-v{
  margin:0;
  font-family:var(--font-mono);
  font-size:var(--fs-3);
  color:var(--c-white);
}
.page-home .hero__stat-v .num{color:var(--c-lime)}

/* ============ 轮次速览 ============ */
.page-home .rounds{
  display:grid;
  gap:var(--sp-3);
  grid-template-columns:minmax(0,1fr);
}
.page-home .round-card{
  position:relative;
  overflow:hidden;
  border:1px solid var(--hp-line);
  border-radius:var(--radius);
  background:var(--c-ink-2);
  padding:var(--sp-4);
}
.page-home .round-card::before{
  content:"";
  position:absolute;
  top:0;left:0;
  width:56px;height:3px;
  background:var(--c-cyan);
}
.page-home .round-card--current{
  border-color:var(--line-cy);
  background:linear-gradient(160deg,rgba(58,46,110,.55),rgba(14,26,31,.92));
}
.page-home .round-card--current::before{background:var(--c-lime)}
.page-home .round-card__head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:var(--sp-2);
  margin-bottom:var(--sp-3);
}
.page-home .round-card__no{
  margin:0;
  display:flex;
  align-items:baseline;
  gap:4px;
  font-family:var(--font-mono);
  font-size:var(--fs-5);
  color:var(--c-white);
  line-height:1;
}
.page-home .round-card--current .round-card__no .num{color:var(--c-lime)}
.page-home .round-card__unit{
  font-family:var(--font-body);
  font-size:var(--fs-2);
  color:var(--c-slate);
}
.page-home .round-card__list{
  margin:0;
  padding:0;
  list-style:none;
  display:grid;
  gap:var(--sp-2);
}
.page-home .round-card__list li{
  position:relative;
  padding-left:16px;
  font-size:var(--fs-2);
  line-height:1.6;
  color:var(--c-mist);
}
.page-home .round-card__list li::before{
  content:"";
  position:absolute;
  left:0;top:.6em;
  width:6px;height:1px;
  background:var(--c-cyan);
}
.page-home .rounds__more{margin:var(--sp-4) 0 0}

.page-home .link-more{
  display:inline-block;
  font-family:var(--font-display);
  text-transform:uppercase;
  letter-spacing:.06em;
  font-size:var(--fs-2);
  color:var(--c-cyan);
  text-decoration:none;
  border-bottom:1px solid var(--line-cy);
  padding-bottom:2px;
}
.page-home .link-more:hover,
.page-home .link-more:focus-visible{color:var(--c-lime);border-bottom-color:var(--c-lime)}

/* ============ 呼吸区 ============ */
.page-home .breath{
  background:var(--c-ink);
  padding:var(--sp-7) 0;
}
.page-home .breath__inner{
  border-left:2px solid var(--c-cyan);
  padding-left:var(--sp-4);
}
.page-home .breath__line{
  margin:0;
  font-family:var(--font-serif);
  font-size:clamp(20px,2.5vw,28px);
  line-height:1.55;
  color:var(--c-white);
  max-width:24em;
}

/* ============ 季票 ============ */
.page-home .ticket__inner{
  display:grid;
  gap:var(--sp-5);
  grid-template-columns:minmax(0,1fr);
}
.page-home .ticket__media{
  position:relative;
  margin:0;
  border-radius:var(--radius-lg);
  overflow:hidden;
  aspect-ratio:3 / 4;
  border:1px solid var(--hp-line);
}
.page-home .ticket__media img{
  width:100%;
  height:100%;
  object-fit:cover;
  opacity:.85;
}
.page-home .ticket__media-note{
  position:absolute;
  left:0;right:0;bottom:0;
  padding:var(--sp-4);
  font-family:var(--font-serif);
  font-size:var(--fs-2);
  letter-spacing:.04em;
  color:var(--c-mist);
  background:linear-gradient(0deg,rgba(7,9,13,.92),rgba(7,9,13,0));
}
.page-home .ticket__body{display:flex;flex-direction:column;gap:var(--sp-3)}
.page-home .ticket__body .h2{margin:0}

.page-home .tiers{
  display:grid;
  gap:0;
  margin-top:var(--sp-2);
}
.page-home .tier{
  padding:var(--sp-4) 0;
  border-top:1px solid var(--hp-line);
}
.page-home .tier:last-of-type{border-bottom:1px solid var(--hp-line)}
.page-home .tier__head{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:var(--sp-2);
  margin-bottom:var(--sp-2);
}
.page-home .tier__name{
  margin:0;
  font-family:var(--font-display);
  text-transform:uppercase;
  letter-spacing:.05em;
  font-size:var(--fs-4);
  color:var(--c-white);
}
.page-home .tier__tag{
  flex:0 0 auto;
  font-size:var(--fs-1);
  letter-spacing:.08em;
  color:var(--c-lime);
  border:1px solid rgba(198,255,61,.36);
  border-radius:2px;
  padding:2px 8px;
}
.page-home .tier__desc{
  margin:0;
  font-size:var(--fs-2);
  line-height:1.68;
  color:var(--c-slate);
}
.page-home .tier__desc .num{color:var(--c-mist)}

.page-home .steps{
  margin:var(--sp-3) 0 0;
  padding:0;
  list-style:none;
  display:grid;
  gap:var(--sp-2);
}
.page-home .steps li{
  display:flex;
  align-items:baseline;
  gap:var(--sp-2);
  font-size:var(--fs-2);
  line-height:1.6;
  color:var(--c-mist);
}
.page-home .steps__no{
  font-family:var(--font-mono);
  color:var(--c-cyan);
  flex:0 0 auto;
}
.page-home .ticket__actions{
  display:flex;
  flex-wrap:wrap;
  gap:var(--sp-2);
  margin-top:var(--sp-3);
}

/* ============ 赛程轴 ============ */
.page-home .schedule-scroll{
  overflow-x:auto;
  overflow-y:hidden;
  padding-bottom:var(--sp-3);
  scroll-snap-type:x proximity;
  -webkit-overflow-scrolling:touch;
}
.page-home .schedule-scroll::-webkit-scrollbar{height:6px}
.page-home .schedule-scroll::-webkit-scrollbar-thumb{background:rgba(22,224,210,.35);border-radius:3px}
.page-home .schedule-scroll::-webkit-scrollbar-track{background:rgba(201,233,230,.07)}

.page-home .schedule-track{
  display:flex;
  gap:var(--sp-2);
  min-width:max-content;
  padding:2px 2px var(--sp-2);
}
.page-home .sched-item{
  flex:0 0 168px;
  scroll-snap-align:start;
  display:flex;
  flex-direction:column;
  gap:6px;
  padding:var(--sp-3);
  border:1px solid var(--hp-line);
  border-left:2px solid rgba(22,224,210,.5);
  border-radius:var(--radius);
  background:var(--c-ink-2);
  transition:border-color .2s ease,transform .2s ease;
}
.page-home .sched-item:hover,
.page-home .sched-item:focus-within{
  border-color:var(--line-cy);
  border-left-color:var(--c-lime);
}
.page-home .sched-item__name{
  font-family:var(--font-display);
  text-transform:uppercase;
  letter-spacing:.06em;
  font-size:var(--fs-3);
  color:var(--c-white);
}
.page-home .sched-item__round{
  font-family:var(--font-mono);
  font-size:var(--fs-2);
  color:var(--c-lime);
}
.page-home .sched-item__meta{
  font-size:var(--fs-1);
  letter-spacing:.04em;
  color:var(--c-slate);
}
.page-home .schedule__hint{
  margin:0;
  font-size:var(--fs-2);
  color:var(--c-slate);
  letter-spacing:.02em;
}
.page-home .schedule__hint .num{color:var(--c-lime)}
.page-home .schedule__more{margin:var(--sp-3) 0 0}

/* ============ 伤停与补时 ============ */
.page-home .injuries{
  position:relative;
  overflow:hidden;
  background:var(--c-wine);
}
.page-home .injuries__media{
  position:absolute;
  inset:0;
  z-index:0;
}
.page-home .injuries__media img{
  width:100%;
  height:100%;
  object-fit:cover;
  opacity:.20;
}
.page-home .injuries__inner{
  position:relative;
  z-index:1;
}
.page-home .injuries .prose{color:var(--c-mist)}
.page-home .injuries__folds{margin-top:var(--sp-4)}

.page-home .injuries .fold{
  border:1px solid rgba(255,59,78,.34);
  background:rgba(7,9,13,.74);
  border-radius:var(--radius);
  margin-bottom:var(--sp-2);
  overflow:hidden;
}
.page-home .injuries .fold__summary{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:var(--sp-2);
  padding:var(--sp-3) var(--sp-4);
  cursor:pointer;
  list-style:none;
}
.page-home .injuries .fold__summary::-webkit-details-marker{display:none}
.page-home .injuries .fold__q{
  font-size:var(--fs-3);
  color:var(--c-white);
}
.page-home .injuries .fold[open] .fold__summary{border-bottom:1px solid rgba(255,59,78,.24)}
.page-home .injuries .fold__body{
  padding:var(--sp-3) var(--sp-4) var(--sp-4);
}
.page-home .injuries .fold__body p{
  margin:0;
  font-size:var(--fs-2);
  line-height:1.72;
  color:var(--c-mist);
  max-width:60em;
}
.page-home .injuries .fold__body .num{color:var(--c-lime)}

/* ============ 资料库 ============ */
.page-home .lib-banner{
  margin-bottom:var(--sp-5);
  border-radius:var(--radius-lg);
  overflow:hidden;
  border:1px solid var(--line-cy);
}
.page-home .lib-banner img{
  display:block;
  width:100%;
  height:auto;
  aspect-ratio:14 / 6;
  object-fit:cover;
  opacity:.72;
}
.page-home .lib-grid{
  display:grid;
  gap:var(--sp-3);
  grid-template-columns:minmax(0,1fr);
}
.page-home .lib-card{
  border:1px solid var(--hp-line);
  border-top:2px solid var(--c-cyan);
  border-radius:var(--radius);
  background:rgba(7,9,13,.55);
  padding:var(--sp-4);
  display:flex;
  flex-direction:column;
  gap:var(--sp-2);
}
.page-home .lib-card .h3{
  margin:0;
  font-family:var(--font-display);
  font-size:var(--fs-4);
  letter-spacing:.02em;
  color:var(--c-white);
}
.page-home .lib-card__desc{
  margin:0;
  font-size:var(--fs-2);
  line-height:1.7;
  color:var(--c-slate);
}
.page-home .lib-card__desc .num{color:var(--c-lime)}
.page-home .lib-actions{
  display:flex;
  flex-wrap:wrap;
  gap:var(--sp-2);
  margin-top:var(--sp-5);
}

/* ============ 更新节奏与客服 ============ */
.page-home .cadence{
  display:grid;
  gap:var(--sp-5);
  grid-template-columns:minmax(0,1fr);
}
.page-home .cadence__col .h2{margin:0 0 var(--sp-3)}
.page-home .cadence__col .prose{margin:var(--sp-4) 0 0}

.page-home .timeline{
  display:grid;
  gap:var(--sp-3);
  grid-template-columns:minmax(0,1fr);
}
.page-home .timeline__item{
  border-top:1px solid var(--hp-line);
  padding-top:var(--sp-3);
}
.page-home .timeline__time{
  margin:0 0 6px;
  font-family:var(--font-mono);
  font-size:var(--fs-4);
  color:var(--c-lime);
  letter-spacing:.02em;
}
.page-home .timeline__label{
  margin:0;
  font-size:var(--fs-2);
  line-height:1.6;
  color:var(--c-mist);
}

.page-home .support-panel{
  border:1px solid var(--line-cy);
  border-radius:var(--radius-lg);
  background:linear-gradient(165deg,rgba(14,26,31,.92),rgba(7,9,13,.96));
  padding:var(--sp-4);
}
.page-home .support-panel__title{
  margin:0 0 var(--sp-3);
  font-family:var(--font-display);
  font-size:var(--fs-4);
  letter-spacing:.02em;
  color:var(--c-white);
}
.page-home .support-panel__list{
  margin:0;
  padding:0;
  list-style:none;
  display:grid;
  gap:var(--sp-2);
}
.page-home .support-panel__list li{
  display:flex;
  flex-direction:column;
  gap:2px;
  padding-top:var(--sp-2);
  border-top:1px solid var(--hp-line-soft);
}
.page-home .support-panel__k{
  font-size:var(--fs-1);
  letter-spacing:.08em;
  color:var(--c-slate);
}
.page-home .support-panel__v{
  font-size:var(--fs-2);
  color:var(--c-white);
  word-break:break-word;
}
.page-home .support-panel__v.num{color:var(--c-cyan)}
.page-home .support-panel__note{
  margin:var(--sp-3) 0 0;
  font-family:var(--font-serif);
  font-size:var(--fs-2);
  line-height:1.7;
  color:var(--c-slate);
}
.page-home .support-panel__actions{
  display:flex;
  flex-wrap:wrap;
  gap:var(--sp-2);
  margin-top:var(--sp-4);
}

/* ============ 响应式 ============ */
@media (min-width:620px){
  .page-home .timeline{grid-template-columns:repeat(3,minmax(0,1fr))}
  .page-home .lib-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .page-home .rounds{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media (min-width:900px){
  .page-home .hero__body{
    grid-template-columns:var(--hp-rail) minmax(0,1.04fr) minmax(0,.96fr);
  }
  .page-home .hero__rail{
    flex-direction:column;
    align-items:stretch;
    border-bottom:0;
    border-right:1px solid var(--hp-line-soft);
    overflow:visible;
    padding:var(--sp-3) 0;
    justify-content:center;
    gap:var(--sp-2);
  }
  .page-home .hero__rail-line{
    display:block;
    position:absolute;
    top:12%;
    bottom:12%;
    left:50%;
    width:1px;
    transform:translateX(-50%);
    background:linear-gradient(180deg,transparent,rgba(22,224,210,.35),transparent);
  }
  .page-home .rail__tick{
    width:100%;
    height:58px;
    position:relative;
    z-index:1;
  }
  .page-home .rail__tick::after{display:none}
  .page-home .rail__tick[data-active="true"]::before{top:50%;left:6px;transform:translateY(-50%)}

  .page-home .hero__panel{
    border-top:0;
    border-left:1px solid var(--hp-line-soft);
    min-height:420px;
  }

  .page-home .rounds{grid-template-columns:repeat(3,minmax(0,1fr))}
  .page-home .lib-grid{grid-template-columns:repeat(3,minmax(0,1fr))}

  .page-home .ticket__inner{
    grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr);
    gap:var(--sp-6);
    align-items:start;
  }
  .page-home .ticket__media{position:sticky;top:calc(var(--header-h) + 24px)}
  .page-home .cadence{
    grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr);
    gap:var(--sp-6);
  }
  .page-home .support-panel{position:sticky;top:calc(var(--header-h) + 24px)}
}

@media (min-width:1180px){
  .page-home .sched-item{flex:0 0 182px}
}
