.page-home{
  --ph-tilt:5deg;
  --ph-line:rgba(0,229,192,.16);
  --ph-soft:rgba(232,226,210,.8);
  background:var(--ink);
  color:var(--paper);
  font-family:var(--font-body);
  overflow-x:hidden;
}

/* ---------- 首屏 ---------- */
.page-home .ph-hero{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  padding:calc(var(--step)*6) 0 calc(var(--step)*9);
}
.page-home .ph-hero__bg{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  z-index:-3;
  opacity:.3;
  filter:saturate(.85) contrast(1.05);
}
.page-home .ph-hero__arcs{
  position:absolute;
  top:-12%;
  right:-18%;
  width:min(680px,92vw);
  aspect-ratio:1;
  z-index:-2;
  border-radius:50%;
  background:radial-gradient(circle at 50% 50%, rgba(0,229,192,.2), rgba(0,229,192,0) 64%);
  box-shadow:inset 0 0 0 1px rgba(0,229,192,.14), inset 0 0 0 90px rgba(0,229,192,.03);
  pointer-events:none;
}
.page-home .ph-hero::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background:
    linear-gradient(160deg, rgba(7,26,22,.95) 0%, rgba(7,26,22,.8) 46%, rgba(13,42,36,.92) 100%),
    repeating-linear-gradient(0deg, rgba(18,60,50,.5) 0 1px, transparent 1px 64px);
}
.page-home .ph-hero__inner{position:relative;}
.page-home .ph-hero__ctx{
  display:flex;
  align-items:center;
  gap:10px;
  margin:0 0 calc(var(--step)*3);
  font-family:var(--font-mono);
  font-size:11px;
  letter-spacing:.1em;
  color:var(--mist);
}
.page-home .ph-hero__cols{
  display:grid;
  gap:calc(var(--step)*4);
}
.page-home .ph-hero__title{
  margin:0 0 calc(var(--step)*2);
  font-family:var(--font-display);
  font-weight:900;
  font-size:clamp(30px,7.4vw,54px);
  line-height:1.06;
  letter-spacing:-.025em;
  color:var(--paper);
  max-width:13em;
}
.page-home .ph-hero__lede{
  margin:0;
  max-width:34em;
  font-size:clamp(15px,3.6vw,17px);
  line-height:1.78;
  color:var(--ph-soft);
}
.page-home .ph-score{
  margin:calc(var(--step)*3) 0 calc(var(--step)*3);
  padding-left:calc(var(--step)*2);
  border-left:3px solid var(--amber);
}
.page-home .ph-score__label{
  margin:0 0 4px;
  font-family:var(--font-mono);
  font-size:11px;
  letter-spacing:.14em;
  color:var(--amber);
}
.page-home .ph-score__num{
  display:flex;
  align-items:baseline;
  gap:4px;
  margin:0;
  font-family:var(--font-mono);
  font-size:clamp(56px,15vw,104px);
  line-height:.86;
  letter-spacing:-.04em;
  color:var(--cyan);
  text-shadow:0 0 44px rgba(0,229,192,.32);
}
.page-home .ph-score__unit{
  font-size:.34em;
  letter-spacing:0;
  color:var(--cyan-2);
}
.page-home .ph-hero__acts{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}

/* 入口卡 */
.page-home .ph-entry{
  position:relative;
  background:linear-gradient(156deg,#0d2a24 0%,#0a231e 58%,#06201a 100%);
  clip-path:polygon(0 4%,100% 0,100% 96%,0 100%);
  overflow:hidden;
  box-shadow:0 24px 60px rgba(0,0,0,.45);
}
.page-home .ph-entry::after{
  content:"";
  position:absolute;
  inset:0;
  border:1px solid rgba(0,229,192,.28);
  pointer-events:none;
}
.page-home .ph-entry__img{
  display:block;
  width:100%;
  height:auto;
  aspect-ratio:16/10;
  object-fit:cover;
  opacity:.62;
}
.page-home .ph-entry__body{
  padding:calc(var(--step)*2.5) clamp(18px,4vw,26px) calc(var(--step)*3);
}
.page-home .ph-entry__tab{
  display:inline-block;
  margin:0 0 calc(var(--step)*1.5);
  padding:3px 9px;
  background:var(--amber);
  color:#0a1f1a;
  font-family:var(--font-mono);
  font-size:11px;
  font-weight:700;
  letter-spacing:.16em;
}
.page-home .ph-entry__title{
  margin:0 0 calc(var(--step)*2);
  font-family:var(--font-display);
  font-weight:900;
  font-size:clamp(20px,4.6vw,26px);
  line-height:1.2;
  letter-spacing:-.01em;
  color:var(--paper);
}
.page-home .ph-entry__steps{
  list-style:none;
  margin:0 0 calc(var(--step)*2.5);
  padding:0;
  display:grid;
  gap:8px;
}
.page-home .ph-entry__steps li{
  display:flex;
  align-items:center;
  gap:10px;
  padding:9px 12px;
  background:rgba(18,60,50,.5);
  border-left:2px solid var(--cyan);
  font-size:14px;
  line-height:1.5;
  color:var(--paper);
}
.page-home .ph-entry__idx{
  font-family:var(--font-mono);
  font-size:12px;
  color:var(--cyan);
}
.page-home .ph-entry__go{
  display:block;
  text-align:center;
}
.page-home .ph-entry__note{
  margin:calc(var(--step)*2) 0 0;
  font-size:12.5px;
  line-height:1.65;
  color:var(--mist);
}
.page-home .ph-entry__note a{
  color:var(--cyan-2);
  text-decoration:underline;
  text-underline-offset:3px;
}

/* ---------- 数据条 ---------- */
.page-home .ph-strip{
  position:relative;
  overflow:hidden;
  border-top:1px solid var(--grid);
  border-bottom:1px solid var(--grid);
  background:linear-gradient(100deg,#0b241f 0%,#071a16 62%);
}
.page-home .ph-strip__bg{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  opacity:.12;
  pointer-events:none;
}
.page-home .ph-strip__list{
  position:relative;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1px;
  margin:0 auto;
  padding:0;
  list-style:none;
  background:var(--grid);
}
.page-home .ph-strip__item{
  padding:calc(var(--step)*2.5) clamp(14px,3vw,22px);
  background:#0a231e;
  transition:background .28s ease;
}
.page-home .ph-strip__item:hover,
.page-home .ph-strip__item:focus-within{
  background:#0f3229;
}
.page-home .ph-strip__num{
  margin:0;
  display:flex;
  align-items:baseline;
  gap:5px;
  font-family:var(--font-mono);
  font-size:clamp(28px,6.4vw,40px);
  line-height:1;
  letter-spacing:-.02em;
  color:var(--amber);
}
.page-home .ph-strip__num small{
  font-size:12px;
  letter-spacing:0;
  color:var(--mist);
}
.page-home .ph-strip__name{
  margin:8px 0 0;
  font-family:var(--font-display);
  font-weight:700;
  font-size:14px;
  letter-spacing:.02em;
  color:var(--paper);
}
.page-home .ph-strip__tip{
  max-height:0;
  margin:0;
  overflow:hidden;
  opacity:0;
  font-size:12.5px;
  line-height:1.6;
  color:var(--mist);
  transition:max-height .3s ease, opacity .3s ease, margin .3s ease;
}
.page-home .ph-strip__item:hover .ph-strip__tip,
.page-home .ph-strip__item:focus-within .ph-strip__tip{
  max-height:7em;
  margin-top:8px;
  opacity:1;
}

/* ---------- 主体 ---------- */
.page-home .ph-body{
  display:grid;
  gap:calc(var(--step)*4);
  padding:calc(var(--step)*8) 0 calc(var(--step)*9);
}
.page-home .ph-toc{
  border-top:2px solid var(--cyan);
  padding-top:calc(var(--step)*1.5);
}
.page-home .ph-toc__title{
  margin:0 0 10px;
  font-family:var(--font-mono);
  font-size:11px;
  letter-spacing:.16em;
  color:var(--mist);
}
.page-home .ph-toc__list{
  display:flex;
  gap:6px;
  margin:0;
  padding:0 0 4px;
  list-style:none;
  overflow-x:auto;
  scrollbar-width:thin;
}
.page-home .ph-toc__list li{flex:0 0 auto;}
.page-home .ph-toc__link{
  display:block;
  padding:7px 11px;
  border:1px solid var(--grid);
  color:var(--mist);
  font-family:var(--font-mono);
  font-size:12px;
  white-space:nowrap;
  text-decoration:none;
  transition:color .2s ease, border-color .2s ease, background .2s ease;
}
.page-home .ph-toc__link:hover,
.page-home .ph-toc__link:focus-visible,
.page-home .ph-toc__link[aria-current]{
  color:var(--ink);
  background:var(--cyan);
  border-color:var(--cyan);
}
.page-home .ph-toc__foot{
  margin:calc(var(--step)*2) 0 0;
  font-size:13px;
}
.page-home .ph-toc__foot a{
  color:var(--cyan-2);
  text-decoration:underline;
  text-underline-offset:3px;
}

.page-home .ph-sec + .ph-sec{margin-top:calc(var(--step)*9);}
.page-home .ph-sec__head{margin-bottom:calc(var(--step)*3);}
.page-home .ph-sec__num{
  display:inline-block;
  font-family:var(--font-mono);
  font-size:12px;
  letter-spacing:.2em;
  color:var(--amber);
  border-bottom:2px solid var(--amber);
  padding-bottom:4px;
  margin-bottom:12px;
}
.page-home .ph-sec__title{
  margin:0 0 12px;
  font-family:var(--font-display);
  font-weight:900;
  font-size:clamp(22px,5vw,32px);
  line-height:1.18;
  letter-spacing:-.015em;
  color:var(--paper);
}
.page-home .ph-sec__desc{
  margin:0;
  max-width:38em;
  font-size:15px;
  line-height:1.8;
  color:var(--ph-soft);
}

/* 两步路径 */
.page-home .ph-path{
  display:grid;
  gap:1px;
  background:var(--grid);
  border:1px solid var(--grid);
}
.page-home .ph-path__node{
  padding:calc(var(--step)*2.5) clamp(16px,3.4vw,24px);
  background:linear-gradient(150deg,#0d2a24,#0a231e);
}
.page-home .ph-path__idx{
  display:block;
  font-family:var(--font-mono);
  font-size:26px;
  line-height:1;
  color:var(--cyan);
  opacity:.7;
  margin-bottom:10px;
}
.page-home .ph-path__name{
  margin:0 0 8px;
  font-family:var(--font-display);
  font-weight:800;
  font-size:18px;
  color:var(--paper);
}
.page-home .ph-path__text{
  margin:0;
  font-size:14px;
  line-height:1.75;
  color:var(--mist);
}
.page-home .ph-path__tail{
  margin:calc(var(--step)*2) 0 0;
  font-size:13.5px;
  line-height:1.75;
  color:var(--mist);
}
.page-home .ph-path__tail a{
  color:var(--cyan-2);
  text-decoration:underline;
  text-underline-offset:3px;
}

/* 卡片 */
.page-home .ph-cards{
  display:grid;
  gap:14px;
}
.page-home .ph-card{
  background:linear-gradient(150deg,#0d2a24,#0a231e);
  border:1px solid var(--grid);
  padding:calc(var(--step)*2.5) clamp(16px,3.4vw,22px);
  transition:border-color .25s ease, transform .25s ease;
}
.page-home .ph-card:hover{
  border-color:var(--cyan);
  transform:translateY(-3px);
}
.page-home .ph-card .bw-card__meta{
  font-family:var(--font-mono);
  font-size:11px;
  letter-spacing:.14em;
  color:var(--cyan);
  margin:0 0 10px;
}
.page-home .ph-card .bw-card__title{
  margin:0 0 10px;
  font-family:var(--font-display);
  font-weight:800;
  font-size:17px;
  line-height:1.35;
  color:var(--paper);
}
.page-home .ph-card .bw-card__text{
  margin:0;
  font-size:14px;
  line-height:1.78;
  color:var(--ph-soft);
}
.page-home .ph-card--paper{
  background:var(--paper);
  border-color:transparent;
  color:#0b211d;
}
.page-home .ph-card--paper .bw-card__meta{color:#2f6b5b;}
.page-home .ph-card--paper .bw-card__title{color:#08201a;}
.page-home .ph-card--paper .bw-card__text{color:#2c4a43;}

/* 专栏区 */
.page-home .ph-figure{
  margin:0 0 calc(var(--step)*3);
  border:1px solid var(--grid);
  background:#0a231e;
}
.page-home .ph-figure__img{
  display:block;
  width:100%;
  height:auto;
  aspect-ratio:2/1;
  object-fit:cover;
}
.page-home .ph-figure__cap{
  padding:12px 16px;
  font-size:12.5px;
  line-height:1.7;
  color:var(--mist);
  border-top:1px solid var(--grid);
}
.page-home .ph-cols2{
  display:grid;
  gap:14px;
}
.page-home .ph-panel{
  padding:calc(var(--step)*2.5) clamp(16px,3.4vw,22px);
  background:#0a231e;
  border:1px solid var(--grid);
}
.page-home .ph-panel--rule{
  border-left:3px solid var(--amber);
}
.page-home .ph-panel__title{
  margin:0 0 10px;
  font-family:var(--font-display);
  font-weight:800;
  font-size:17px;
  color:var(--paper);
}
.page-home .ph-panel__text{
  margin:0 0 10px;
  font-size:14px;
  line-height:1.78;
  color:var(--ph-soft);
}
.page-home .ph-panel .bw-btn{margin-top:6px;}
.page-home .ph-list{
  margin:0 0 12px;
  padding:0;
  list-style:none;
  display:grid;
  gap:9px;
}
.page-home .ph-list li{
  position:relative;
  padding-left:18px;
  font-size:14px;
  line-height:1.7;
  color:var(--ph-soft);
}
.page-home .ph-list li::before{
  content:"";
  position:absolute;
  left:0;
  top:.62em;
  width:7px;
  height:7px;
  background:var(--cyan);
  clip-path:polygon(0 0,100% 50%,0 100%);
}
.page-home .ph-panel__note{
  margin:0;
  font-size:12.5px;
  line-height:1.7;
  color:var(--mist);
}

/* 指南区 */
.page-home .ph-help{
  display:grid;
  gap:12px;
  margin-bottom:calc(var(--step)*3);
}
.page-home .ph-help__item{
  padding:calc(var(--step)*2.5) clamp(16px,3.4vw,22px);
  background:linear-gradient(140deg,#0d2a24,#081f1a);
  border:1px solid var(--grid);
  border-left:3px solid var(--cyan);
}
.page-home .ph-help__tag{
  display:inline-block;
  margin-bottom:10px;
}
.page-home .ph-help__title{
  margin:0 0 8px;
  font-family:var(--font-display);
  font-weight:800;
  font-size:16px;
  color:var(--paper);
}
.page-home .ph-help__text{
  margin:0;
  font-size:14px;
  line-height:1.75;
  color:var(--ph-soft);
}
.page-home .ph-callout{
  display:grid;
  gap:14px;
  align-items:center;
  padding:calc(var(--step)*2.5) clamp(16px,3.4vw,24px);
  background:rgba(242,169,59,.09);
  border:1px solid rgba(242,169,59,.4);
  clip-path:polygon(0 0,100% 2.5%,100% 100%,0 97.5%);
}
.page-home .ph-callout__text{
  margin:0;
  font-size:14px;
  line-height:1.78;
  color:var(--paper);
}
.page-home .ph-callout .bw-btn{justify-self:start;}

/* 规模与版本 */
.page-home .ph-metrics{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1px;
  background:var(--grid);
  border:1px solid var(--grid);
  margin-bottom:calc(var(--step)*3);
}
.page-home .ph-metrics__cell{
  padding:calc(var(--step)*2) clamp(12px,3vw,18px);
  background:#0a231e;
}
.page-home .ph-metrics__num{
  display:flex;
  align-items:baseline;
  gap:4px;
  margin:0;
  font-family:var(--font-mono);
  font-size:clamp(24px,6vw,32px);
  line-height:1;
  color:var(--cyan);
}
.page-home .ph-metrics__num small{
  font-size:11.5px;
  color:var(--mist);
}
.page-home .ph-metrics__lab{
  margin:8px 0 0;
  font-size:12.5px;
  letter-spacing:.04em;
  color:var(--mist);
}
.page-home .ph-scale__text{
  margin:0 0 calc(var(--step)*3);
  font-size:14.5px;
  line-height:1.85;
  color:var(--ph-soft);
  max-width:40em;
}
.page-home .ph-timeline{
  margin:0 0 calc(var(--step)*3);
  padding:0;
  list-style:none;
  border-left:1px solid var(--grid);
}
.page-home .ph-timeline__item{
  position:relative;
  display:grid;
  gap:6px;
  padding:0 0 calc(var(--step)*2.5) clamp(18px,4vw,26px);
}
.page-home .ph-timeline__item::before{
  content:"";
  position:absolute;
  left:-4.5px;
  top:6px;
  width:8px;
  height:8px;
  background:var(--amber);
  border-radius:50%;
  box-shadow:0 0 0 3px rgba(242,169,59,.18);
}
.page-home .ph-timeline__item:last-child{padding-bottom:0;}
.page-home .ph-timeline__year{
  font-family:var(--font-mono);
  font-size:13px;
  letter-spacing:.1em;
  color:var(--amber);
}
.page-home .ph-timeline__body h3{
  margin:0 0 4px;
  font-family:var(--font-display);
  font-weight:800;
  font-size:15.5px;
  color:var(--paper);
}
.page-home .ph-timeline__body p{
  margin:0;
  font-size:13.5px;
  line-height:1.72;
  color:var(--mist);
}
.page-home .ph-scale__note{
  margin:0;
  font-size:13px;
  line-height:1.75;
  color:var(--mist);
}
.page-home .ph-scale__note a{
  color:var(--cyan-2);
  text-decoration:underline;
  text-underline-offset:3px;
}

/* ---------- 结尾 ---------- */
.page-home .ph-cta{
  position:relative;
  border-top:1px solid var(--grid);
  background:
    radial-gradient(120% 150% at 12% 0%, rgba(0,229,192,.16), rgba(0,229,192,0) 58%),
    linear-gradient(120deg,#0d2a24,#071a16 70%);
  padding:calc(var(--step)*8) 0;
}
.page-home .ph-cta__title{
  margin:0 0 12px;
  font-family:var(--font-display);
  font-weight:900;
  font-size:clamp(24px,5.6vw,36px);
  line-height:1.16;
  letter-spacing:-.02em;
  color:var(--paper);
}
.page-home .ph-cta__text{
  margin:0 0 calc(var(--step)*3);
  max-width:32em;
  font-size:14.5px;
  line-height:1.8;
  color:var(--ph-soft);
}
.page-home .ph-cta__acts{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}

/* ---------- 响应式 ---------- */
@media (min-width:640px){
  .page-home .ph-strip__list{grid-template-columns:repeat(4,minmax(0,1fr));}
  .page-home .ph-path{grid-template-columns:repeat(2,minmax(0,1fr));}
  .page-home .ph-callout{
    grid-template-columns:minmax(0,1fr) auto;
    gap:20px;
  }
  .page-home .ph-metrics{grid-template-columns:repeat(4,minmax(0,1fr));}
  .page-home .ph-timeline__item{grid-template-columns:76px minmax(0,1fr);gap:14px;}
}

@media (min-width:900px){
  .page-home .ph-hero{padding:calc(var(--step)*10) 0 calc(var(--step)*12);}
  .page-home .ph-hero__cols{
    grid-template-columns:minmax(0,1.42fr) minmax(300px,.78fr);
    gap:clamp(28px,4vw,60px);
    align-items:start;
  }
  .page-home .ph-entry{transform:translateY(6px);}
  .page-home .ph-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;}
  .page-home .ph-cols2{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:16px;}
  .page-home .ph-help{grid-template-columns:repeat(3,minmax(0,1fr));}
}

@media (min-width:960px){
  .page-home .ph-body{
    grid-template-columns:216px minmax(0,1fr);
    gap:clamp(32px,5vw,72px);
    align-items:start;
  }
  .page-home .ph-toc{
    position:sticky;
    top:calc(var(--step)*9);
  }
  .page-home .ph-toc__list{
    display:grid;
    gap:2px;
    overflow:visible;
    padding-bottom:0;
  }
  .page-home .ph-toc__link{
    border:0;
    border-left:2px solid var(--grid);
    padding:8px 10px;
  }
  .page-home .ph-toc__link:hover,
  .page-home .ph-toc__link:focus-visible,
  .page-home .ph-toc__link[aria-current]{
    color:var(--cyan);
    background:rgba(0,229,192,.07);
    border-left-color:var(--cyan);
  }
  .page-home .ph-figure{display:grid;grid-template-columns:minmax(0,1fr) 190px;}
  .page-home .ph-figure__img{aspect-ratio:auto;height:100%;}
  .page-home .ph-figure__cap{
    border-top:0;
    border-left:1px solid var(--grid);
    display:flex;
    align-items:flex-end;
    padding:18px;
  }
}

@media (prefers-reduced-motion:reduce){
  .page-home .ph-card,
  .page-home .ph-strip__tip,
  .page-home .ph-strip__item,
  .page-home .ph-toc__link{
    transition:none;
  }
  .page-home .ph-card:hover{transform:none;}
}
