.page-home{
  --ph-line:rgba(164,75,255,.2);
  --ph-line-soft:rgba(43,26,85,.85);
  --ph-card:linear-gradient(158deg,#1A1038 0%,#120C28 58%,#0B0718 100%);
}

/* ---------- 首屏拼贴 ---------- */
.page-home .hero{
  padding-top:clamp(20px,4vw,40px);
}

.page-home .hero-collage{
  display:grid;
  gap:16px;
  grid-template-columns:1fr;
  margin-top:14px;
}

.page-home .hero-block{
  position:relative;
  overflow:hidden;
  border:1px solid var(--ink-600);
  border-radius:var(--radius-card);
  background:var(--ph-card);
  padding:clamp(20px,4vw,30px);
}

.page-home .hero-block--login::before{
  content:"";
  position:absolute;
  inset:-45% -25% auto -30%;
  height:75%;
  background:radial-gradient(circle at 32% 42%,rgba(164,75,255,.34),transparent 64%);
  pointer-events:none;
}

.page-home .hero-block--login > *{
  position:relative;
}

.page-home .hero-block--login h1{
  font-family:var(--font-display);
  font-weight:900;
  font-size:clamp(1.85rem,6.2vw,3.1rem);
  line-height:1.09;
  letter-spacing:-.015em;
  color:var(--text-primary);
  margin:.32em 0 .55em;
  text-shadow:0 0 34px rgba(164,75,255,.42);
}

.page-home .hero-block--login .lede{
  max-width:44ch;
  margin-bottom:22px;
}

.page-home .step-stack{
  display:grid;
  gap:10px;
}

.page-home .step-stack .entry{
  border:1px solid var(--ph-line-soft);
  border-radius:var(--radius-soft);
  background:rgba(8,6,15,.55);
  transition:border-color var(--dur) var(--ease),transform var(--dur) var(--ease);
}

.page-home .step-stack .entry:hover{
  border-color:var(--neon-violet);
  transform:translateY(-2px);
}

.page-home .step-stack .entry__no{
  color:var(--warm-gold);
}

/* 首屏大图 */
.page-home .hero-block--visual{
  padding:0;
  min-height:250px;
  display:grid;
  border-color:rgba(51,217,255,.28);
}

.page-home .hero-block--visual img{
  width:100%;
  height:100%;
  min-height:250px;
  object-fit:cover;
  display:block;
  border-radius:inherit;
}

.page-home .hero-block--visual::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(180deg,rgba(8,6,15,.1) 30%,rgba(8,6,15,.88) 100%),
    radial-gradient(circle at 76% 22%,rgba(51,217,255,.24),transparent 58%);
  pointer-events:none;
}

.page-home .hero-visual__badge{
  position:absolute;
  left:clamp(16px,3vw,24px);
  bottom:clamp(16px,3vw,24px);
  z-index:2;
  font-size:.8125rem;
  letter-spacing:.04em;
  color:var(--text-primary);
  background:rgba(8,6,15,.7);
  border:1px solid rgba(51,217,255,.45);
  border-radius:var(--radius-pill);
  padding:7px 14px;
}

/* 当周排期块 */
.page-home .hero-block--sched{
  border-color:rgba(255,194,75,.26);
}

.page-home .sched-title,
.page-home .cats-title{
  font-size:clamp(1.15rem,3.4vw,1.45rem);
  font-weight:700;
  line-height:1.3;
  color:var(--text-primary);
  margin:.35em 0 .9em;
}

.page-home .hero-block--sched .legend{
  display:grid;
  gap:9px;
  margin-bottom:14px;
}

.page-home .legend__dot{
  width:9px;
  height:9px;
  border-radius:50%;
  display:inline-block;
  flex:0 0 auto;
}

.page-home .legend__dot--gold{
  background:var(--warm-gold);
  box-shadow:0 0 10px rgba(255,194,75,.6);
}

.page-home .legend__dot--blue{
  background:var(--electric-blue);
  box-shadow:0 0 10px rgba(51,217,255,.55);
}

.page-home .legend__dot--coral{
  background:var(--coral);
  box-shadow:0 0 10px rgba(255,107,90,.55);
}

.page-home .hero-block--sched .legend__item{
  font-size:.9375rem;
  color:var(--text-muted);
}

.page-home .sched-note,
.page-home .cats-note{
  font-size:.875rem;
  color:var(--text-muted);
  margin-bottom:12px;
}

.page-home .cats-note{
  font-size:.8125rem;
  letter-spacing:.06em;
  color:var(--electric-blue);
}

/* 分类入口块 */
.page-home .hero-block--cats{
  border-color:rgba(51,217,255,.24);
}

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

.page-home .tag{
  display:inline-flex;
  align-items:center;
  border-radius:var(--radius-pill);
  padding:6px 13px;
  font-size:.8125rem;
  line-height:1.4;
  border:1px solid transparent;
}

/* ---------- 章节通用微调 ---------- */
.page-home .section{
  padding-block:clamp(54px,9vw,96px);
}

.page-home .section + .section{
  border-top:1px solid rgba(43,26,85,.55);
}

.page-home .section__title{
  line-height:1.18;
}

.page-home .chip-bar{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-bottom:24px;
}

.page-home .tab-panel{
  animation:fade-swap 160ms var(--ease);
}

@keyframes fade-swap{
  from{opacity:0;transform:translateY(4px);}
  to{opacity:1;transform:none;}
}

/* ---------- 01 三类场次 ---------- */
.page-home .cycle-grid{
  display:grid;
  gap:14px;
  grid-template-columns:1fr;
}

.page-home .cycle-cell{
  position:relative;
  border:1px solid var(--ph-line-soft);
  border-radius:var(--radius-card);
  background:rgba(16,10,34,.7);
  padding:20px 20px 20px 24px;
  overflow:hidden;
}

.page-home .cycle-cell::before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  width:3px;
}

.page-home .cycle-cell--gold::before{background:linear-gradient(180deg,var(--warm-gold),rgba(255,194,75,.1));}
.page-home .cycle-cell--blue::before{background:linear-gradient(180deg,var(--electric-blue),rgba(51,217,255,.1));}
.page-home .cycle-cell--coral::before{background:linear-gradient(180deg,var(--coral),rgba(255,107,90,.1));}

.page-home .cycle-cell__label{
  display:block;
  font-size:.75rem;
  letter-spacing:.14em;
  color:var(--text-muted);
  margin-bottom:8px;
}

.page-home .cycle-cell__value{
  font-size:1.0625rem;
  font-weight:700;
  color:var(--text-primary);
  margin:0 0 8px;
}

.page-home .cycle-cell--gold .cycle-cell__value{color:var(--warm-gold);}
.page-home .cycle-cell--blue .cycle-cell__value{color:var(--electric-blue);}
.page-home .cycle-cell--coral .cycle-cell__value{color:var(--coral);}

.page-home .cycle-cell__text{
  font-size:.9375rem;
  line-height:1.7;
  color:var(--text-muted);
  margin:0;
}

/* ---------- 02 资源分类 ---------- */
.page-home .media-frame{
  margin:0 0 26px;
  border-radius:var(--radius-card);
  overflow:hidden;
  border:1px solid var(--ink-600);
}

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

.page-home .cat-wall{
  list-style:none;
  margin:0 0 30px;
  padding:0;
  display:grid;
  gap:10px;
  grid-template-columns:repeat(2,minmax(0,1fr));
}

.page-home .cat-wall__item{
  display:flex;
  align-items:baseline;
  gap:10px;
  border:1px solid var(--ph-line-soft);
  border-radius:var(--radius-soft);
  background:rgba(16,10,34,.6);
  padding:13px 14px;
  transition:border-color var(--dur) var(--ease),transform var(--dur) var(--ease),box-shadow var(--dur) var(--ease);
}

.page-home .cat-wall__item:hover{
  border-color:var(--electric-blue);
  transform:translateY(-2px);
  box-shadow:0 0 0 1px rgba(51,217,255,.18),0 8px 24px rgba(51,217,255,.1);
}

.page-home .cat-wall__no{
  font-size:.75rem;
  color:var(--electric-blue);
  letter-spacing:.06em;
}

.page-home .cat-wall__name{
  font-size:.9375rem;
  color:var(--text-primary);
}

.page-home .stat-row,
.page-home .partner-strip{
  display:grid;
  gap:16px;
  grid-template-columns:1fr;
  border:1px solid var(--ph-line-soft);
  border-radius:var(--radius-card);
  background:rgba(8,6,15,.5);
  padding:20px;
}

/* ---------- 03 记录明细 ---------- */
.page-home .record-layout{
  display:grid;
  gap:22px;
  grid-template-columns:1fr;
}

.page-home .record-hint{
  font-size:.9375rem;
  line-height:1.75;
  color:var(--text-muted);
  border-left:2px solid var(--warm-gold);
  padding-left:14px;
  margin:0 0 22px;
}

.page-home .timeline{
  list-style:none;
  margin:0 0 18px;
  padding:0;
  display:grid;
  gap:0;
}

.page-home .timeline__item{
  position:relative;
  display:flex;
  flex-wrap:wrap;
  gap:6px 18px;
  align-items:baseline;
  padding:13px 0 13px 20px;
  border-bottom:1px solid rgba(43,26,85,.7);
}

.page-home .timeline__item::before{
  content:"";
  position:absolute;
  left:0;
  top:19px;
  width:7px;
  height:7px;
  border-radius:50%;
  background:var(--electric-blue);
  box-shadow:0 0 10px rgba(51,217,255,.6);
}

.page-home .timeline__time{
  font-size:.8125rem;
  color:var(--warm-gold);
  min-width:132px;
}

.page-home .timeline__text{
  font-size:.9375rem;
  color:var(--text-primary);
}

.page-home .record-foot{
  font-size:.875rem;
  color:var(--text-muted);
  margin:0;
}

.page-home .record-figure{
  margin:0;
}

/* ---------- 04 厂商专区 ---------- */
.page-home .partner-grid{
  margin-bottom:24px;
}

.page-home .partner-card p{
  font-size:.9375rem;
  line-height:1.75;
  color:var(--text-muted);
  margin:12px 0 0;
}

.page-home .partner-strip{
  border-color:rgba(255,107,90,.28);
  background:linear-gradient(140deg,rgba(255,107,90,.08),rgba(8,6,15,.6));
}

.page-home .partner-strip .btn{
  justify-self:start;
}

/* ---------- 05 常见疑问 ---------- */
.page-home .qa-list{
  margin:0;
  display:grid;
  gap:2px;
}

.page-home .qa-item{
  border-bottom:1px solid rgba(43,26,85,.7);
  padding:20px 0;
}

.page-home .qa-item:first-child{
  border-top:1px solid rgba(43,26,85,.7);
}

.page-home .qa-item dt{
  font-size:1.0625rem;
  font-weight:700;
  color:var(--text-primary);
  margin-bottom:9px;
  display:flex;
  gap:10px;
  align-items:baseline;
}

.page-home .qa-item dt::before{
  content:"?";
  font-family:var(--font-mono);
  font-size:.875rem;
  color:var(--neon-violet);
  flex:0 0 auto;
}

.page-home .qa-item dd{
  margin:0 0 0 22px;
  font-size:.9375rem;
  line-height:1.78;
  color:var(--text-muted);
  max-width:70ch;
}

/* ---------- 06 栏目分流 ---------- */
.page-home .route-card{
  display:grid;
  gap:10px;
  align-content:start;
  border:1px solid var(--ink-600);
  border-radius:var(--radius-card);
  background:var(--ph-card);
  padding:22px;
  text-decoration:none;
  transition:border-color var(--dur) var(--ease),transform var(--dur) var(--ease),box-shadow var(--dur) var(--ease);
}

.page-home .route-card:hover,
.page-home .route-card:focus-visible{
  border-color:var(--electric-blue);
  transform:translateY(-2px);
  box-shadow:0 0 0 1px rgba(51,217,255,.2),0 10px 30px rgba(51,217,255,.12);
}

.page-home .route-card__no{
  font-size:.8125rem;
  letter-spacing:.14em;
  color:var(--warm-gold);
}

.page-home .route-card__title{
  font-size:1.125rem;
  font-weight:700;
  color:var(--text-primary);
}

.page-home .route-card__desc{
  font-size:.9375rem;
  line-height:1.72;
  color:var(--text-muted);
}

.page-home .route-card__go{
  font-size:.875rem;
  color:var(--electric-blue);
}

.page-home .next-foot{
  margin:26px 0 0;
  font-size:.9375rem;
  color:var(--text-muted);
}

.page-home .next-foot a{
  color:var(--electric-blue);
  text-decoration:none;
  border-bottom:1px solid rgba(51,217,255,.4);
}

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

/* ---------- 响应式 ---------- */
@media (min-width:640px){
  .page-home .cat-wall{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
  .page-home .cycle-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .page-home .stat-row{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
  .page-home .partner-strip{
    grid-template-columns:repeat(2,minmax(0,1fr));
    align-items:center;
  }
}

@media (min-width:900px){
  .page-home .hero-collage{
    grid-template-columns:5fr 7fr;
    grid-template-areas:
      "login visual"
      "sched cats";
    gap:20px;
  }
  .page-home .hero-block--login{grid-area:login;}
  .page-home .hero-block--visual{grid-area:visual;min-height:420px;}
  .page-home .hero-block--visual img{min-height:420px;}
  .page-home .hero-block--sched{grid-area:sched;}
  .page-home .hero-block--cats{grid-area:cats;align-self:stretch;}

  .page-home .cat-wall{
    grid-template-columns:repeat(4,minmax(0,1fr));
  }

  .page-home .cycle-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:18px;
  }

  .page-home .record-layout{
    grid-template-columns:7fr 5fr;
    gap:32px;
    align-items:start;
  }

  .page-home .partner-strip{
    grid-template-columns:1fr 1fr auto;
    gap:28px;
  }
}

@media (min-width:1120px){
  .page-home .hero-block--sched{
    margin-right:24px;
  }
  .page-home .cat-wall{
    grid-template-columns:repeat(6,minmax(0,1fr));
  }
}

@media (prefers-reduced-motion:reduce){
  .page-home .tab-panel{animation:none;}
  .page-home .cat-wall__item:hover,
  .page-home .route-card:hover,
  .page-home .step-stack .entry:hover{transform:none;}
}
