/* ================= 首页专属样式 · page-home ================= */
.page-home{
  --home-brown-line: rgba(42,35,32,.16);
  --home-shadow: 0 10px 28px rgba(10,12,16,.35);
}

/* ---------- 首屏拼贴 ---------- */
.page-home .hero-collage{
  position: relative;
  overflow: hidden;
  background: var(--void);
  padding: 18px 0 44px;
}
.page-home .hero-collage::before{
  content: "";
  position: absolute;
  left: -10%;
  right: -10%;
  top: -25%;
  height: 130%;
  background:
    radial-gradient(circle at 22% 18%, rgba(46,123,255,.30), rgba(10,12,16,0) 58%),
    radial-gradient(circle at 84% 74%, rgba(184,255,60,.13), rgba(10,12,16,0) 52%);
  pointer-events: none;
}
.page-home .hero-collage__container{position: relative; z-index: 1;}
.page-home .hero-collage .breadcrumbs{margin-bottom: 16px;}
.page-home .hero-collage .breadcrumbs__current{
  font-family: var(--font-mono);
  font-size: 12px;
  letter-spacing: .08em;
  color: var(--steel);
}

.page-home .hero-collage__grid{
  display: grid;
  gap: 14px;
  grid-template-columns: minmax(0, 1fr);
}
.page-home .hero-collage__main{
  display: flex;
  flex-direction: column;
  background: var(--ink);
  border: 1px solid var(--hairline);
  overflow: hidden;
}
.page-home .hero-collage__media{
  position: relative;
  flex: 1 1 auto;
  min-height: 210px;
  margin: 0;
  overflow: hidden;
}
.page-home .hero-collage__media .media-frame__img{
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: saturate(1.06) contrast(1.06);
}
.page-home .hero-collage__body{
  padding: 20px 18px 24px;
  border-top: 1px solid var(--hairline);
}
.page-home .hero-collage__body h1{
  margin: .22em 0 .5em;
  font-size: clamp(30px, 7.4vw, 54px);
  line-height: 1.08;
  letter-spacing: -.01em;
  color: var(--text);
}
.page-home .hero-collage__body .t-lead{
  margin: 0;
  max-width: 30ch;
  color: var(--text-dim);
  line-height: 1.75;
}

.page-home .hero-collage__side{
  display: grid;
  gap: 14px;
  grid-template-columns: minmax(0, 1fr);
}
.page-home .hero-tile{
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 20px 18px 20px 22px;
  min-height: 116px;
  text-decoration: none;
  border: 1px solid var(--hairline);
  background: var(--ink);
  transition: border-color .3s var(--ease), transform .3s var(--ease), box-shadow .3s var(--ease);
}
.page-home .hero-tile::after{
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 3px;
  background: var(--blue);
}
.page-home .hero-tile--blue{background: linear-gradient(140deg, rgba(46,123,255,.22), rgba(20,26,34,.96) 62%);}
.page-home .hero-tile--orange{background: linear-gradient(140deg, rgba(255,106,43,.20), rgba(20,26,34,.96) 62%);}
.page-home .hero-tile--orange::after{background: var(--orange);}
.page-home .hero-tile:hover{
  border-color: var(--blue);
  transform: translateY(-3px);
  box-shadow: 0 14px 32px rgba(46,123,255,.20);
}
.page-home .hero-tile__code{
  font-size: 12px;
  letter-spacing: .08em;
  color: var(--steel);
}
.page-home .hero-tile__title{
  font-size: 20px;
  font-weight: 700;
  line-height: 1.32;
  color: var(--text);
}
.page-home .hero-tile__meta{
  font-size: 13px;
  color: var(--text-dim);
}

.page-home .hero-collage__mini{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}
.page-home .hero-mini{
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding: 16px 14px;
  text-decoration: none;
  border: 1px solid var(--hairline);
  background: rgba(20,26,34,.72);
  transition: background .3s var(--ease), border-color .3s var(--ease);
}
.page-home .hero-mini:hover{
  background: rgba(46,123,255,.14);
  border-color: var(--blue);
}
.page-home .hero-mini__code{
  font-size: 12px;
  letter-spacing: .08em;
  color: var(--neon);
}
.page-home .hero-mini__name{
  font-size: 16px;
  font-weight: 600;
  color: var(--text);
}

/* ---------- 轮次坐标（奶油纸） ---------- */
.page-home .home-coords{padding: 52px 0;}
.page-home .home-coords__grid{
  display: grid;
  gap: 30px;
  grid-template-columns: minmax(0, 1fr);
}
.page-home .home-coords__panel h2{
  margin: .24em 0 .5em;
  color: var(--brown);
}
.page-home .home-coords__panel p{
  margin: 0 0 18px;
  max-width: 34ch;
  color: rgba(42,35,32,.78);
  line-height: 1.8;
}
.page-home .home-coords__legend{
  margin: 0 0 22px;
  color: var(--brown);
}
.page-home .home-coords__legend .legend__name{color: rgba(42,35,32,.75);}
.page-home .home-coords__legend .legend__code{color: #5C7A12;}

.page-home .home-axis{margin: 0;}
.page-home .home-axis__svg{
  display: block;
  width: 100%;
  height: auto;
  max-width: 100%;
}
.page-home .home-axis__line{
  stroke: rgba(42,35,32,.22);
  stroke-width: 1.5;
}
.page-home .home-axis__dot{
  fill: #CFC7B6;
  stroke: rgba(42,35,32,.26);
  stroke-width: 1;
}
.page-home .home-axis__point.is-current .home-axis__dot{
  fill: var(--neon);
  stroke: #6E8F26;
  stroke-width: 1.5;
}
.page-home .home-axis__pulse{
  fill: var(--neon);
  opacity: .5;
}
.page-home .home-axis__point.is-current .home-axis__pulse{
  transform-box: fill-box;
  transform-origin: center;
  animation: home-axis-pulse 2.4s var(--ease) infinite;
}
@keyframes home-axis-pulse{
  0%{transform: scale(.8); opacity: .5;}
  65%{transform: scale(2.5); opacity: 0;}
  100%{transform: scale(2.5); opacity: 0;}
}
.page-home .home-axis__label{
  font-family: var(--font-mono);
  font-size: 12px;
  letter-spacing: .06em;
  fill: rgba(42,35,32,.6);
  text-anchor: middle;
}
.page-home .home-axis__point.is-current .home-axis__label{
  fill: #5C7A12;
  font-weight: 700;
}
.page-home .home-axis__caption{
  margin-top: 10px;
  font-size: 12px;
  letter-spacing: .08em;
  color: rgba(42,35,32,.55);
}

.page-home .home-coords__list{
  list-style: none;
  margin: 20px 0 0;
  padding: 0;
  display: grid;
  gap: 0;
}
.page-home .home-coords__item{
  display: grid;
  grid-template-columns: 54px minmax(0, 1fr);
  gap: 12px;
  align-items: baseline;
  padding: 11px 0;
  border-top: 1px solid var(--home-brown-line);
  font-size: 15px;
  color: rgba(42,35,32,.84);
}
.page-home .home-coords__item .t-mono{
  font-size: 12px;
  letter-spacing: .1em;
  color: #9A6A2E;
}

/* ---------- 大屏切换 ---------- */
.page-home .home-bigscreen{padding: 54px 0;}
.page-home .home-bigscreen__body h2{
  margin: .28em 0 .55em;
  color: var(--text);
}
.page-home .home-bigscreen__body p{
  max-width: 58ch;
  color: var(--text-dim);
  line-height: 1.8;
}
.page-home .home-steps{
  list-style: none;
  margin: 24px 0 20px;
  padding: 0;
  display: grid;
  gap: 0;
}
.page-home .home-steps__item{
  display: grid;
  grid-template-columns: 40px minmax(0, 1fr);
  gap: 14px;
  align-items: start;
  padding: 13px 0;
  border-top: 1px solid var(--hairline);
  color: var(--text);
  font-size: 15px;
  line-height: 1.7;
}
.page-home .home-steps__num{
  font-size: 12px;
  letter-spacing: .1em;
  color: var(--neon);
  padding-top: 4px;
}
.page-home .home-note{
  margin: 0 0 22px;
  max-width: 58ch;
  font-size: 14px;
  color: var(--steel);
  line-height: 1.8;
}
.page-home .home-bigscreen__media{
  margin: 0 0 8px;
}
.page-home .home-bigscreen__media .media-frame__img{
  display: block;
  width: 100%;
  height: auto;
  object-fit: cover;
}

/* ---------- 登录速度 ---------- */
.page-home .home-signin{padding: 54px 0;}
.page-home .home-signin__media{
  margin: 0;
}
.page-home .home-signin__media .media-frame__img{
  display: block;
  width: 100%;
  height: auto;
  object-fit: cover;
}
.page-home .home-signin__body h2{
  margin: .28em 0 .4em;
  color: var(--text);
}
.page-home .home-signin__body p{
  max-width: 60ch;
  color: var(--text-dim);
  line-height: 1.8;
}
.page-home .home-signin__stat{
  display: flex;
  flex-direction: column;
  gap: 4px;
  margin: 18px 0 22px;
  padding: 18px 20px;
  border-left: 3px solid var(--blue);
  background: rgba(46,123,255,.08);
}
.page-home .home-signin__stat .stat__value{
  font-family: var(--font-mono);
  font-size: clamp(40px, 9vw, 68px);
  font-weight: 700;
  line-height: 1;
  color: var(--neon);
  letter-spacing: -.01em;
}
.page-home .home-signin__stat .stat__label{
  font-size: 15px;
  color: var(--text);
}
.page-home .home-signin__stat .stat__note{
  font-size: 13px;
  color: var(--steel);
}

/* ---------- 周末连看（整幅影像） ---------- */
.page-home .home-weekend{
  position: relative;
  background: var(--void);
}
.page-home .home-weekend__banner{
  position: relative;
  overflow: hidden;
}
.page-home .home-weekend__img{
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 10;
  object-fit: cover;
  filter: saturate(.96) contrast(1.06);
}
.page-home .home-weekend__overlay{
  position: absolute;
  inset: auto 0 0 0;
  padding: 26px 0 22px;
  background: linear-gradient(to top, rgba(10,12,16,.94), rgba(10,12,16,.30) 68%, rgba(10,12,16,0));
}
.page-home .home-weekend__overlay h2{
  margin: .25em 0 .5em;
  max-width: 22ch;
  color: var(--text);
}
.page-home .home-weekend__overlay p{
  margin: 0;
  max-width: 54ch;
  color: var(--text-dim);
  line-height: 1.8;
}
.page-home .home-weekend__points{
  display: grid;
  gap: 0;
  grid-template-columns: minmax(0, 1fr);
  padding: 8px 0 46px;
}
.page-home .home-weekend__point{
  display: grid;
  grid-template-columns: 36px minmax(0, 1fr);
  gap: 14px;
  padding: 16px 0;
  border-top: 1px solid var(--hairline);
}
.page-home .home-weekend__point .t-mono{
  font-size: 12px;
  letter-spacing: .1em;
  color: var(--orange);
  padding-top: 4px;
}
.page-home .home-weekend__point p{
  margin: 0;
  font-size: 15px;
  color: var(--text-dim);
  line-height: 1.8;
}

/* ---------- 战报 / 回看 ---------- */
.page-home .home-library{padding: 54px 0;}
.page-home .home-library__grid{
  display: grid;
  gap: 16px;
  grid-template-columns: minmax(0, 1fr);
  margin-top: 26px;
}
.page-home .home-shelf{
  position: relative;
  padding: 26px 22px 24px;
  border: 1px solid var(--hairline);
  background: var(--ink);
  transition: transform .3s var(--ease), box-shadow .3s var(--ease);
}
.page-home .home-shelf:hover{
  transform: translateY(-4px);
  box-shadow: var(--home-shadow);
}
.page-home .home-shelf--schedules{border-left: 3px solid var(--blue);}
.page-home .home-shelf--replays{border-left: 3px solid var(--orange);}
.page-home .home-shelf h3{
  margin: .75em 0 .5em;
  color: var(--text);
}
.page-home .home-shelf p{
  margin: 0;
  color: var(--text-dim);
  line-height: 1.8;
}
.page-home .home-shelf__list{
  list-style: none;
  margin: 16px 0 20px;
  padding: 0;
  display: grid;
  gap: 9px;
}
.page-home .home-shelf__list li{
  position: relative;
  padding-left: 16px;
  font-size: 15px;
  color: var(--text-dim);
  line-height: 1.7;
}
.page-home .home-shelf__list li::before{
  content: "";
  position: absolute;
  left: 0;
  top: .68em;
  width: 6px;
  height: 6px;
  background: var(--steel);
}
.page-home .home-shelf--replays .home-shelf__list li::before{background: var(--orange);}
.page-home .home-shelf__link{
  display: inline-block;
  font-size: 15px;
  font-weight: 600;
  color: var(--blue-glow);
  text-decoration: none;
  border-bottom: 1px solid rgba(127,178,255,.45);
  padding-bottom: 2px;
  transition: color .3s var(--ease), border-color .3s var(--ease);
}
.page-home .home-shelf__link:hover{
  color: var(--neon);
  border-color: var(--neon);
}

/* ---------- 内容版图数据条 ---------- */
.page-home .home-scale{padding: 54px 0;}
.page-home .home-scale__grid{
  display: grid;
  gap: 14px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-top: 26px;
}
.page-home .home-scale__item{
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 18px 16px;
  border: 1px solid var(--hairline);
  background: rgba(10,12,16,.55);
}
.page-home .home-scale__item .stat__value{
  font-family: var(--font-mono);
  font-size: clamp(30px, 6.4vw, 46px);
  font-weight: 700;
  line-height: 1.05;
  color: var(--neon);
}
.page-home .home-scale__item .stat__label{
  font-size: 15px;
  color: var(--text);
}
.page-home .home-scale__item .stat__note{
  font-size: 13px;
  color: var(--steel);
  line-height: 1.6;
}
.page-home .home-scale__note{
  margin: 22px 0 26px;
  max-width: 66ch;
  font-size: 14px;
  color: var(--steel);
  line-height: 1.8;
}

/* ---------- 底部入口索引 ---------- */
.page-home .home-links{
  background: var(--void);
  border-top: 1px solid var(--hairline);
  padding: 34px 0 44px;
}
.page-home .home-links__list{
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 14px;
  grid-template-columns: minmax(0, 1fr);
}
.page-home .home-links__item{
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding-top: 12px;
  border-top: 1px solid var(--hairline);
}
.page-home .home-links__link{
  font-size: 16px;
  font-weight: 600;
  color: var(--text);
  text-decoration: none;
  transition: color .3s var(--ease);
}
.page-home .home-links__link:hover{color: var(--blue-glow);}
.page-home .home-links__desc{
  font-size: 13px;
  color: var(--steel);
  line-height: 1.65;
}

/* ---------- 响应式 ---------- */
@media (min-width: 700px){
  .page-home .home-scale__grid{grid-template-columns: repeat(3, minmax(0, 1fr));}
  .page-home .home-weekend__overlay{padding: 40px 0 32px;}
  .page-home .home-coords__grid{gap: 36px;}
}

@media (min-width: 900px){
  .page-home .hero-collage{padding: 26px 0 66px;}
  .page-home .hero-collage__grid{
    grid-template-columns: 7fr 5fr;
    gap: 20px;
    align-items: stretch;
  }
  .page-home .hero-collage__side{
    grid-template-rows: auto auto minmax(0, 1fr);
  }
  .page-home .hero-collage__media{min-height: 300px;}
  .page-home .hero-collage__body{padding: 26px 28px 30px;}
  .page-home .hero-tile{min-height: 132px;}

  .page-home .home-coords{padding: 72px 0;}
  .page-home .home-coords__grid{
    grid-template-columns: 5fr 7fr;
    align-items: start;
  }
  .page-home .home-bigscreen,
  .page-home .home-signin,
  .page-home .home-library,
  .page-home .home-scale{padding: 76px 0;}
  .page-home .home-library__grid{
    grid-template-columns: 1.1fr .9fr;
    gap: 20px;
  }
  .page-home .home-weekend__points{
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;
    padding: 30px 0 60px;
  }
  .page-home .home-weekend__point{border-top-width: 1px;}
  .page-home .home-links__list{grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 18px;}
}

@media (min-width: 1180px){
  .page-home .hero-collage__body h1{font-size: 58px;}
  .page-home .home-scale__item{padding: 22px 20px;}
}

@media (prefers-reduced-motion: reduce){
  .page-home *{
    animation: none !important;
    transition-duration: .01ms !important;
  }
  .page-home .home-axis__point.is-current .home-axis__pulse{display: none;}
  .page-home .hero-tile:hover,
  .page-home .home-shelf:hover{transform: none;}
}
