/* ===== 产品中心 page-products ===== */
.page-products{
  --pd-bg:#0B0F1A;
  --pd-card-bg:#111827;
  --pd-line:#1F2937;
  --pd-neon:#00FF88;
  --pd-blue:#00BFFF;
  --pd-orange:#FF4500;
  --pd-text:#E5E7EB;
  --pd-sub:#9CA3AF;
  --pd-num:"Roboto Mono","SFMono-Regular",monospace;
  background:var(--pd-bg);
  overflow-x:hidden;
  min-height:100vh;
}
.pd-container{
  max-width:1400px;
  margin:0 auto;
  padding:0 clamp(1rem,3vw,2.8rem);
}

/* ===== Hero ===== */
.pd-hero{
  position:relative;
  padding:calc(var(--header-h,72px) + 48px) 0 80px;
  background:#0B0F1A;
  overflow:hidden;
}
.pd-hero-bg{
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(rgba(0,255,136,.04) 1px,transparent 1px),
    linear-gradient(90deg,rgba(0,255,136,.04) 1px,transparent 1px);
  background-size:44px 44px;
  transform:perspective(800px) rotateX(0) skewY(-1.5deg) scale(1.2);
}
.pd-hero-bg::after{
  content:"";
  position:absolute;
  inset:0;
  background:radial-gradient(ellipse at 80% 20%,rgba(0,191,255,.12),transparent 55%);
}
.pd-hero-top{
  position:relative;
  z-index:2;
  display:flex;
  align-items:center;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:12px;
  margin-bottom:44px;
}
.pd-hero-index{
  color:var(--pd-neon);
  font-family:var(--pd-num);
  font-size:14px;
  letter-spacing:.15em;
  background:rgba(0,255,136,.08);
  border-left:2px solid var(--pd-neon);
  padding:6px 14px;
}
.pd-hero-route{
  display:flex;
  align-items:center;
  gap:8px;
  font-size:13px;
  color:var(--pd-sub);
}
.pd-hero-route a{
  color:var(--pd-blue);
  text-decoration:none;
  transition:color .2s;
}
.pd-hero-route a:hover{
  color:var(--pd-neon);
}
.pd-hero-route-sep{
  color:#374151;
}
.pd-hero-grid{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);
  gap:48px;
  align-items:center;
}
.pd-hero-title{
  font-family:"Arial Black","Helvetica Neue",sans-serif;
  font-size:clamp(32px,4.5vw,54px);
  line-height:1.1;
  color:#E5E7EB;
  margin:0 0 24px;
  letter-spacing:.02em;
}
.pd-hero-desc{
  font-size:16px;
  line-height:1.7;
  color:#9CA3AF;
  max-width:520px;
  margin:0 0 32px;
  border-left:2px solid #1F2937;
  padding-left:18px;
}
.pd-hero-stats{
  display:flex;
  flex-wrap:wrap;
  gap:28px;
  margin-bottom:36px;
}
.pd-hero-stat{
  display:flex;
  flex-direction:column;
  gap:4px;
  position:relative;
  padding-left:14px;
}
.pd-hero-stat::before{
  content:"";
  position:absolute;
  left:0;
  top:4px;
  bottom:4px;
  width:2px;
  background:linear-gradient(180deg,#00FF88,#00BFFF);
}
.pd-hero-stat-num{
  font-family:var(--pd-num);
  font-size:clamp(24px,3vw,34px);
  font-weight:700;
  color:#E5E7EB;
}
.pd-hero-stat-label{
  font-size:13px;
  color:#9CA3AF;
}
.pd-hero-actions{
  display:flex;
  gap:16px;
  flex-wrap:wrap;
}
.pd-hero-visual{
  position:relative;
}
.pd-visual-main{
  width:100%;
  height:auto;
  max-width:100%;
  object-fit:cover;
  display:block;
  border:1px solid #1F2937;
  background:#111827;
  transform:rotate(1.5deg) skewY(-1deg);
  transition:transform .35s cubic-bezier(.2,.8,.2,1);
}
.pd-hero-visual:hover .pd-visual-main{
  transform:rotate(0) skewY(0);
}
.pd-floating-card{
  position:absolute;
  background:#111827;
  border:1px solid #1F2937;
  padding:12px 16px;
  display:flex;
  flex-direction:column;
  gap:2px;
  box-shadow:0 0 0 1px rgba(0,255,136,.06),0 8px 30px rgba(0,0,0,.5);
}
.pd-float-a{
  top:18%;
  right:-10px;
  border-left:3px solid #00FF88;
  animation:pdFloat 4s ease-in-out infinite;
}
.pd-float-b{
  bottom:12%;
  left:-8px;
  border-right:3px solid #00BFFF;
  animation:pdFloat 4s ease-in-out 1.2s infinite;
}
@keyframes pdFloat{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-8px)}
}
.pd-float-label{
  font-size:11px;
  color:#9CA3AF;
  letter-spacing:.1em;
}
.pd-float-value{
  font-family:var(--pd-num);
  font-size:20px;
  font-weight:700;
  color:#E5E7EB;
}
.pd-hero-rail{
  position:absolute;
  right:-80px;
  top:0;
  width:260px;
  height:100%;
  background:linear-gradient(135deg,transparent 0%,rgba(0,255,136,.05) 40%,transparent 60%);
  transform:skewX(-15deg);
  pointer-events:none;
}

/* ===== 功能卡片网格 ===== */
.pd-features{
  padding:100px 0 80px;
  background:#0B0F1A;
  position:relative;
}
.pd-features::before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:0;
  height:1px;
  background:linear-gradient(90deg,transparent,#1F2937,transparent);
}
.pd-section-head{
  margin-bottom:56px;
}
.pd-section-index{
  font-family:var(--pd-num);
  font-size:13px;
  color:#00BFFF;
  letter-spacing:.18em;
  margin-bottom:12px;
  display:block;
}
.pd-section-title{
  font-family:"Arial Black","Helvetica Neue",sans-serif;
  font-size:clamp(28px,4vw,44px);
  color:#E5E7EB;
  margin:0 0 12px;
  line-height:1.15;
}
.pd-section-desc{
  font-size:15px;
  line-height:1.7;
  color:#9CA3AF;
  max-width:560px;
  margin:0;
}
.pd-card-grid{
  display:grid;
  grid-template-columns:repeat(12,1fr);
  grid-auto-flow:dense;
  gap:clamp(12px,2vw,24px);
  perspective:1600px;
}
.pd-card{
  position:relative;
  background:#111827;
  border:1px solid #1F2937;
  min-height:0;
  overflow:hidden;
  transition:border-color .3s;
}
.pd-card:hover{
  border-color:rgba(0,255,136,.3);
}
.pd-card-inner{
  position:relative;
  z-index:2;
  display:flex;
  flex-direction:column;
  min-height:100%;
  transform-style:preserve-3d;
  transition:transform .45s cubic-bezier(.2,.8,.2,1);
}
.pd-card-xl{
  grid-column:span 7;
  min-height:320px;
}
.pd-card-md{
  grid-column:span 5;
  min-height:280px;
}
.pd-card-lg{
  grid-column:span 8;
  min-height:260px;
}
.pd-card-sm{
  grid-column:span 4;
  min-height:300px;
}
.pd-card-front{
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  padding:clamp(20px,3vw,32px);
  height:100%;
  backface-visibility:hidden;
  border:1px solid #1F2937;
  background:#111827;
}
.pd-card-back{
  position:absolute;
  inset:0;
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:clamp(20px,3vw,32px);
  background:#0B0F1A;
  border:1px solid rgba(0,255,136,.25);
  transform:rotateY(180deg);
  backface-visibility:hidden;
}
.pd-card-inner:hover{
  transform:rotateY(180deg);
}
.pd-card:hover .pd-card-inner{
  transform:rotateY(180deg);
}
.pd-card-top{
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-bottom:16px;
}
.pd-card-index{
  font-size:14px;
  color:#00FF88;
  letter-spacing:.1em;
}
.pd-card-type{
  font-size:11px;
  color:#9CA3AF;
  letter-spacing:.14em;
}
.pd-card-title{
  font-family:"Arial Black","Helvetica Neue",sans-serif;
  font-size:clamp(18px,2.2vw,24px);
  color:#E5E7EB;
  margin:12px 0 8px;
  line-height:1.3;
}
.pd-card-text{
  font-size:14px;
  line-height:1.65;
  color:#9CA3AF;
  margin:0;
  max-width:440px;
}
.pd-card-back-index{
  font-family:var(--pd-num);
  color:#00BFFF;
  font-size:13px;
  margin-bottom:14px;
  letter-spacing:.15em;
}
.pd-card-back-text{
  font-size:14px;
  line-height:1.7;
  color:#E5E7EB;
  margin:0 0 18px;
}
.pd-card-link{
  color:#00FF88;
  text-decoration:none;
  font-size:13px;
  display:inline-flex;
  align-items:center;
  gap:6px;
  border-bottom:1px solid rgba(0,255,136,.3);
  padding-bottom:2px;
  transition:border-color .2s;
}
.pd-card-link:hover{
  border-color:#00FF88;
}
.pd-card-img{
  width:100%;
  height:auto;
  max-width:100%;
  object-fit:cover;
  display:block;
  filter:grayscale(.2) contrast(1.05);
  transition:filter .3s;
}
.pd-card:hover .pd-card-img{
  filter:grayscale(0) contrast(1);
}
.pd-card-compare{
  background:linear-gradient(135deg,#111827 0%,#0B0F1A 100%);
  min-height:240px;
}
.pd-card-compare.pd-card-compare .pd-card-front{
  background:transparent;
  border:none;
}
.pd-card-compare.pd-card-compare .pd-card-back{
  background:linear-gradient(135deg,#0B0F1A,#101a2e);
}
.pd-card-compare .pd-icon{
  margin-bottom:8px;
}
.pd-icon{
  stroke:#00FF88;
  fill:none;
  stroke-width:2;
  stroke-linecap:round;
  stroke-linejoin:round;
  margin-bottom:12px;
  transition:stroke .3s;
}
.pd-card:hover .pd-icon{
  stroke:#00BFFF;
}
.pd-card-replay .pd-card-img{
  position:absolute;
  top:0;
  left:0;
  width:100%;
  height:100%;
  height:auto;
  opacity:.16;
  z-index:0;
}
.pd-card-replay.pd-card-replay .pd-card-front{
  border:none;
  background:linear-gradient(180deg,rgba(11,15,26,.4) 0%,#111827 60%);
}
.pd-card-replay.pd-card-replay .pd-card-back{
  background:linear-gradient(180deg,rgba(11,15,26,.6),#0B0F1A);
}
.pd-card-export .pd-card-img{
  position:absolute;
  top:0;
  left:0;
  width:100%;
  height:auto;
  opacity:.14;
  z-index:0;
}
.pd-card-export.pd-card-export .pd-card-front{
  border:none;
  background:linear-gradient(180deg,#111827 30%,rgba(17,24,39,.5) 100%);
}
.pd-card-export.pd-card-export .pd-card-back{
  background:linear-gradient(135deg,#0B0F1A,#111827);
}

/* ===== 版本特性 ===== */
.pd-versions{
  padding:100px 0;
  background:linear-gradient(180deg,#0B0F1A 0%,#111827 100%);
  position:relative;
}
.pd-versions::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg,rgba(0,191,255,.03) 0%,transparent 30%),
    repeating-linear-gradient(-45deg,transparent 0px,transparent 18px,rgba(0,255,136,.015) 18px,rgba(0,255,136,.015) 20px);
  pointer-events:none;
}
.pd-version-layout{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);
  gap:clamp(28px,5vw,72px);
  align-items:start;
}
.pd-version-left{
  position:sticky;
  top:96px;
}
.pd-version-title-lg{
  margin-bottom:16px;
}
.pd-version-code{
  display:inline-block;
  font-family:var(--pd-num);
  color:#00FF88;
  font-size:14px;
  border-bottom:2px solid #00FF88;
  padding-bottom:4px;
  margin:20px 0 28px;
  letter-spacing:.1em;
}
.pd-version-img{
  width:100%;
  max-width:100%;
  height:auto;
  object-fit:cover;
  border:1px solid #1F2937;
  display:block;
  transform:skewY(-1deg);
  transition:transform .3s ease;
}
.pd-version-img:hover{
  transform:skewY(0);
}
.pd-version-track{
  display:flex;
  flex-direction:column;
}
.pd-version-item{
  display:grid;
  grid-template-columns:52px 1fr;
  gap:16px;
  padding:28px 0;
  border-bottom:1px solid #1F2937;
  transition:background .3s;
}
.pd-version-item:first-child{
  padding-top:0;
}
.pd-version-num{
  font-family:var(--pd-num);
  font-size:22px;
  font-weight:700;
  color:#374151;
  transition:color .3s;
}
.pd-version-item-title{
  font-family:"Arial Black","Helvetica Neue",sans-serif;
  font-size:18px;
  color:#E5E7EB;
  margin:0 0 6px;
  letter-spacing:.02em;
}
.pd-version-item-desc{
  font-size:14px;
  line-height:1.65;
  color:#9CA3AF;
  margin:0;
  max-width:480px;
}
.pd-version-item:hover .pd-version-num{
  color:#00FF88;
}
.pd-version-item:hover{
  background:rgba(0,255,136,.03);
}
.pd-version-item[data-shown="true"] .pd-version-num{
  color:#00FF88;
}

/* ===== 下载 ===== */
.pd-download{
  padding:100px 0 80px;
  position:relative;
  overflow:hidden;
}
.pd-download::before{
  content:"";
  position:absolute;
  inset:0;
  background:radial-gradient(ellipse at 50% 0%,rgba(0,255,136,.07) 0%,transparent 60%);
}
.pd-download-inner{
  position:relative;
  z-index:2;
  max-width:760px;
  margin:0 auto;
  text-align:center;
  background:rgba(17,24,39,.55);
  border:1px solid #1F2937;
  border-left:3px solid #00FF88;
  border-right:3px solid #00BFFF;
  padding:clamp(28px,5vw,56px);
}
.pd-download-title{
  margin-bottom:16px;
}
.pd-download-desc{
  font-size:15px;
  line-height:1.7;
  color:#9CA3AF;
  margin:0 auto 32px;
  max-width:600px;
}
.pd-download-actions{
  display:flex;
  justify-content:center;
  flex-wrap:wrap;
  gap:16px;
  margin-bottom:24px;
}
.btn,.btn-ghost{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:14px 28px;
  font-size:15px;
  font-weight:700;
  text-decoration:none;
  cursor:pointer;
  transition:transform .2s cubic-bezier(.2,.8,.2,1),box-shadow .2s;
  border-radius:0;
}
.btn{
  background:#00FF88;
  color:#0B0F1A;
  border:1px solid #00FF88;
  position:relative;
  overflow:hidden;
}
.btn::after{
  content:"";
  position:absolute;
  top:0;
  left:-150%;
  width:120%;
  height:100%;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent);
  transform:skewX(-30deg);
  transition:left .4s ease;
}
.btn:hover::after{
  left:150%;
}
.btn:hover{
  transform:translateY(-2px);
  box-shadow:0 0 30px rgba(0,255,136,.25);
}
.btn-ghost{
  background:transparent;
  border:1px solid #00BFFF;
  color:#00BFFF;
}
.btn-ghost:hover{
  background:rgba(0,191,255,.08);
  box-shadow:0 0 24px rgba(0,191,255,.18);
  transform:translateY(-2px);
}
.pd-store-icon{
  stroke:currentColor;
  fill:none;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.pd-download-tip{
  font-size:12px;
  color:#9CA3AF;
  margin:0 0 24px;
  letter-spacing:.04em;
}
.pd-download-note{
  border-top:1px solid #1F2937;
  padding-top:20px;
  display:flex;
  flex-direction:column;
  gap:6px;
  font-size:13px;
  color:#9CA3AF;
  text-align:left;
}
.pd-download-note p{
  margin:0;
  line-height:1.6;
}
.pd-download-note p::before{
  content:"· ";
  color:#00FF88;
  font-weight:700;
}

/* ===== 底部导航 ===== */
.pd-bottom-nav{
  max-width:1400px;
  margin:0 auto;
  padding:24px clamp(1rem,3vw,2.8rem) 56px;
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  border-top:1px solid #1F2937;
}
.pd-bottom-link{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:10px 18px;
  background:#111827;
  border:1px solid #1F2937;
  color:#9CA3AF;
  text-decoration:none;
  font-size:14px;
  transition:all .25s;
}
.pd-bottom-link:hover{
  color:#00FF88;
  border-color:rgba(0,255,136,.3);
  transform:translateY(-2px);
}
.pd-bottom-index{
  font-family:var(--pd-num);
  color:#00BFFF;
  font-size:16px;
}

/* ===== 滚动高亮 ===== */
.pd-version-item[data-shown="true"]{
  border-left-color:#00FF88;
}
.pd-version-item[data-shown="true"] .pd-version-num{
  color:#00FF88;
}
.pd-version-item[data-shown="true"] .pd-version-item-title{
  color:#00FF88;
}

/* ===== 移动端优先 ===== */
@media (max-width:960px){
  .pd-hero-grid{
    grid-template-columns:1fr;
    gap:28px;
  }
  .pd-hero-visual{
    order:-1;
  }
  .pd-visual-main{
    transform:none;
  }
  .pd-card-xl,.pd-card-md,.pd-card-lg,.pd-card-sm{
    grid-column:span 12;
  }
  .pd-version-layout{
    grid-template-columns:1fr;
    gap:36px;
  }
  .pd-version-left{
    position:static;
  }
  .pd-floating-card{
    display:none;
  }
  .pd-card-sm,.pd-card-replay,.pd-card-export{
    min-height:280px;
  }
}
@media (min-width:961px) and (max-width:1200px){
  .pd-card-xl{
    grid-column:span 12;
  }
  .pd-card-md{
    grid-column:span 6;
  }
  .pd-card-lg{
    grid-column:span 12;
  }
  .pd-card-sm{
    grid-column:span 6;
  }
  .pd-card-export{
    grid-column:span 6;
  }
}
@media (max-width:640px){
  .pd-hero{
    padding-top:calc(var(--header-h,60px) + 28px);
    padding-bottom:48px;
  }
  .pd-hero-stats{
    gap:16px;
  }
  .pd-hero-stat-num{
    font-size:22px;
  }
  .pd-section-head{
    margin-bottom:36px;
  }
  .pd-card-grid{
    gap:14px;
  }
  .pd-card-inner:hover,
  .pd-card:hover .pd-card-inner{
    transform:none;
  }
  .pd-card-back{
    position:static;
    transform:none;
    order:1;
    border-top:1px solid rgba(0,255,136,.2);
  }
  .pd-card-front{
    order:0;
    min-height:220px;
  }
  .pd-card-back{
    height:auto;
  }
  .pd-card-xl,.pd-card-md,.pd-card-lg,.pd-card-sm{
    grid-column:span 12;
  }
  .pd-versions,.pd-download,.pd-features{
    padding:60px 0;
  }
  .pd-download-actions{
    flex-direction:column;
    align-items:stretch;
  }
  .pd-bottom-nav{
    flex-direction:column;
  }
  .pd-card-img{
    height:auto;
  }
  .pd-card-replay .pd-card-img,.pd-card-export .pd-card-img{
    opacity:.2;
    height:auto;
  }
}

/* ===== 键盘焦点 ===== */
.pd-card:focus-within{
  border-color:#00FF88;
}
.pd-card a:focus-visible,
a:focus-visible{
  outline:2px solid #00FF88;
  outline-offset:2px;
}

/* ===== 屏幕阅读器 ===== */
.sr-only{
  position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;
  clip:rect(0,0,0,0);white-space:nowrap;border:0;
}

/* ===== 暗色模式下保持 ===== */
@media(prefers-color-scheme:dark){
  .page-products{
    color-scheme:dark;
  }
}
