.page-products{
  background:
    radial-gradient(900px 520px at 88% -10%, rgba(122,92,255,.18), transparent 62%),
    radial-gradient(700px 420px at -8% 32%, rgba(47,107,255,.12), transparent 66%),
    var(--void);
  color:var(--silver);
  font-family:var(--font-body);
  padding-bottom:clamp(40px,7vw,90px);
}
.page-products .breadcrumb{padding-top:18px;}
.page-products .is-filtered-out{display:none;}

/* 首屏 */
.page-products .pw-intro{
  position:relative;
  overflow:hidden;
  padding:clamp(22px,5vw,50px) 0 clamp(22px,4vw,40px);
  border-bottom:1px solid var(--line);
}
.page-products .pw-orbit{
  position:absolute;
  top:-72px;
  right:-96px;
  width:min(60vw,430px);
  height:auto;
  opacity:.8;
  pointer-events:none;
}
.page-products .eyebrow{
  position:relative;
  font-family:var(--font-mono);
  font-size:11.5px;
  letter-spacing:.16em;
  color:var(--signal);
  margin:0;
}
.page-products .pw-intro__grid{
  position:relative;
  display:grid;
  gap:18px;
  margin-top:10px;
}
.page-products h1{
  margin:0;
  font-family:var(--font-display);
  font-weight:900;
  font-size:clamp(34px,7.4vw,68px);
  line-height:1.03;
  letter-spacing:.02em;
  color:var(--silver);
}
.page-products .pw-intro__text p{
  margin:0;
  max-width:34em;
  font-size:clamp(15px,2.3vw,17px);
  line-height:1.85;
  color:#c3cee6;
}
.page-products .pw-jump{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  list-style:none;
  margin:16px 0 0;
  padding:0;
}
.page-products .pw-jump a{
  display:inline-block;
  padding:8px 12px;
  border:1px solid var(--line-strong);
  background:var(--panel);
  color:var(--silver);
  font-family:var(--font-mono);
  font-size:12px;
  letter-spacing:.08em;
  text-decoration:none;
  transition:border-color .18s ease, color .18s ease, box-shadow .18s ease;
}
.page-products .pw-jump a:hover,
.page-products .pw-jump a:focus-visible{
  border-color:var(--electric);
  color:#fff;
  box-shadow:4px 4px 0 rgba(3,6,18,.8);
}

/* 章节骨架 */
.page-products .pw-section{
  padding:clamp(32px,6vw,62px) 0;
  border-bottom:1px solid var(--line);
}
.page-products .section__head{
  max-width:74ch;
  margin-bottom:clamp(18px,3vw,28px);
}
.page-products .section__label{
  margin:0;
  font-family:var(--font-mono);
  font-size:11.5px;
  letter-spacing:.16em;
  color:var(--nebula);
}
.page-products .section__title{
  margin:8px 0 10px;
  font-family:var(--font-display);
  font-weight:700;
  font-size:clamp(23px,4.4vw,42px);
  line-height:1.14;
  letter-spacing:.02em;
  color:var(--silver);
}
.page-products .section__note{
  margin:0;
  font-size:14.5px;
  line-height:1.85;
  color:#a9b5cf;
}

/* 图片 */
.page-products .pw-figure{
  margin:0 0 20px;
  border:1px solid var(--line-strong);
  background:var(--panel);
  box-shadow:var(--shadow-hard);
}
.page-products .pw-figure img{
  display:block;
  width:100%;
  max-width:100%;
  height:auto;
  object-fit:cover;
}
.page-products .pw-figure figcaption{
  padding:10px 14px;
  border-top:1px solid var(--line);
  font-family:var(--font-mono);
  font-size:11.5px;
  letter-spacing:.05em;
  color:var(--steel);
}
.page-products .pw-figure--inline{margin:20px 0 0;}

/* 工作台三栏 */
.page-products .pw-work{
  display:grid;
  gap:14px;
  grid-template-columns:1fr;
}
.page-products .pw-panel{
  border:1px solid var(--line-strong);
  background:var(--panel);
  padding:14px;
  box-shadow:6px 6px 0 rgba(3,6,18,.7);
  margin-bottom:14px;
}
.page-products .pw-panel:last-child{margin-bottom:0;}
.page-products .pw-panel__title{
  margin:0 0 10px;
  font-family:var(--font-mono);
  font-size:11.5px;
  letter-spacing:.14em;
  color:var(--signal);
  text-transform:uppercase;
}

/* 筛选条 */
.page-products .filter-bar{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:6px;
  margin-bottom:12px;
}
.page-products .filter-btn{
  padding:6px 10px;
  border:1px solid var(--line-strong);
  background:rgba(5,9,23,.5);
  color:#b9c4dd;
  font-family:var(--font-mono);
  font-size:11.5px;
  letter-spacing:.06em;
  cursor:pointer;
  transition:border-color .18s ease, color .18s ease, background .18s ease;
}
.page-products .filter-btn:hover{border-color:var(--electric);color:var(--silver);}
.page-products .filter-btn[aria-pressed="true"]{
  background:rgba(47,107,255,.18);
  border-color:var(--electric);
  color:#fff;
}
.page-products .filter-btn:focus-visible{outline:2px solid var(--signal);outline-offset:2px;}
.page-products .filter-count{
  margin-left:auto;
  font-family:var(--font-mono);
  font-size:11.5px;
  letter-spacing:.08em;
  color:var(--steel);
}

/* 维度说明 */
.page-products .pw-dims{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  gap:10px;
}
.page-products .pw-dims li{
  padding-left:10px;
  border-left:2px solid var(--nebula);
  font-size:13px;
  line-height:1.7;
  color:#a9b5cf;
}
.page-products .pw-dims .mono{
  margin-right:6px;
  font-family:var(--font-mono);
  font-size:11px;
  letter-spacing:.12em;
  color:var(--nebula);
}

/* 资料条目 */
.page-products .pw-results{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  gap:10px;
}
.page-products .pw-entry{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  gap:12px;
  padding:14px;
  border:1px solid var(--line);
  border-left:3px solid var(--nebula);
  background:var(--card);
  transition:border-color .18s ease, transform .18s ease;
}
.page-products .pw-entry:hover{
  border-color:var(--line-strong);
  border-left-color:var(--electric);
  transform:translateX(2px);
}
.page-products .pw-entry__num{
  padding-top:3px;
  font-family:var(--font-mono);
  font-size:11.5px;
  letter-spacing:.08em;
  color:var(--nebula);
  white-space:nowrap;
}
.page-products .pw-entry__title{
  margin:0 0 6px;
  font-family:var(--font-display);
  font-weight:700;
  font-size:16.5px;
  line-height:1.45;
  letter-spacing:.02em;
  color:var(--silver);
}
.page-products .pw-entry__text{
  margin:0 0 8px;
  font-size:13.5px;
  line-height:1.75;
  color:#a9b5cf;
}
.page-products .pw-entry__meta{
  margin:0;
  font-family:var(--font-mono);
  font-size:11px;
  letter-spacing:.06em;
  color:var(--steel);
}

.page-products .pw-hint{
  margin:14px 0 0;
  font-size:13px;
  line-height:1.8;
  color:var(--steel);
}
.page-products .pw-hint a{
  color:var(--electric);
  text-decoration:underline;
  text-underline-offset:3px;
}
.page-products .pw-hint a:hover{color:var(--signal);}

/* 侧栏状态 */
.page-products .pw-side__inner{
  border:1px solid var(--line-strong);
  background:
    linear-gradient(160deg, rgba(122,92,255,.2), transparent 56%),
    var(--panel);
  padding:16px;
  box-shadow:6px 6px 0 rgba(3,6,18,.7);
}
.page-products .pw-status{
  list-style:none;
  margin:0 0 16px;
  padding:0;
  display:grid;
  gap:8px;
}
.page-products .pw-status li{
  display:flex;
  justify-content:space-between;
  gap:10px;
  padding-bottom:7px;
  border-bottom:1px dashed var(--line);
  font-size:12.5px;
}
.page-products .pw-status .k{color:var(--steel);}
.page-products .pw-status .v{
  font-family:var(--font-mono);
  letter-spacing:.06em;
  color:var(--signal);
}
.page-products .pw-links{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  gap:6px;
}
.page-products .pw-links a{
  display:flex;
  justify-content:space-between;
  gap:8px;
  padding:8px 10px;
  border:1px solid var(--line);
  background:rgba(5,9,23,.42);
  color:var(--silver);
  font-size:13px;
  text-decoration:none;
  transition:border-color .18s ease, color .18s ease;
}
.page-products .pw-links a:hover,
.page-products .pw-links a:focus-visible{
  border-color:var(--gold);
  color:var(--gold);
}

/* 适配矩阵 */
.page-products .pw-conds{
  display:grid;
  gap:10px;
  margin:0 0 18px;
}
.page-products .pw-cond{
  border:1px solid var(--line);
  border-top:2px solid var(--electric);
  background:var(--panel);
  padding:14px;
}
.page-products .pw-cond .mono{
  font-family:var(--font-mono);
  font-size:11px;
  letter-spacing:.14em;
  color:var(--electric);
}
.page-products .pw-cond strong{
  display:block;
  margin:6px 0;
  font-family:var(--font-display);
  font-size:19px;
  letter-spacing:.02em;
  color:var(--silver);
}
.page-products .pw-cond p{
  margin:0;
  font-size:13px;
  line-height:1.7;
  color:#a9b5cf;
}
.page-products .pw-tablewrap{
  overflow-x:auto;
  border:1px solid var(--line-strong);
  background:var(--panel);
  box-shadow:var(--shadow-hard);
}
.page-products .pw-matrix{
  width:100%;
  min-width:660px;
  border-collapse:collapse;
  font-size:13.5px;
}
.page-products .pw-matrix caption{
  padding:10px 14px;
  border-bottom:1px solid var(--line);
  text-align:left;
  font-family:var(--font-mono);
  font-size:11px;
  letter-spacing:.1em;
  color:var(--steel);
}
.page-products .pw-matrix thead th{
  padding:10px 12px;
  background:#0b1433;
  border-bottom:1px solid var(--line-strong);
  text-align:left;
  font-family:var(--font-mono);
  font-size:11px;
  letter-spacing:.1em;
  color:var(--silver);
  white-space:nowrap;
}
.page-products .pw-matrix td{
  padding:10px 12px;
  border-bottom:1px solid var(--line);
  color:#c6d0e6;
  vertical-align:top;
  line-height:1.6;
}
.page-products .pw-matrix tbody tr:nth-child(even){background:rgba(18,28,61,.55);}
.page-products .pw-matrix tbody tr:hover{background:rgba(47,107,255,.12);}
.page-products .pw-matrix th:first-child,
.page-products .pw-matrix td:first-child{
  position:sticky;
  left:0;
  z-index:2;
  background:#0c1533;
  box-shadow:1px 0 0 var(--line-strong);
}
.page-products .pw-matrix tbody tr:nth-child(even) td:first-child{background:#0c1533;}
.page-products .pw-matrix .matrix__mono{
  font-family:var(--font-mono);
  font-size:12px;
  letter-spacing:.05em;
  color:#b9c4dd;
  white-space:nowrap;
}
.page-products .pw-state{
  display:inline-block;
  padding:2px 8px;
  border:1px solid;
  font-family:var(--font-mono);
  font-size:11px;
  letter-spacing:.08em;
  white-space:nowrap;
}
.page-products .pw-state--ok{
  color:var(--signal);
  border-color:rgba(53,224,196,.55);
  background:rgba(53,224,196,.1);
}
.page-products .pw-state--check{
  color:var(--gold);
  border-color:rgba(242,184,75,.55);
  background:rgba(242,184,75,.1);
}
.page-products .pw-state--no{
  color:var(--steel);
  border-color:var(--line-strong);
  background:rgba(125,135,158,.12);
}

/* 下载 */
.page-products .pw-dl{
  display:grid;
  gap:16px;
  grid-template-columns:1fr;
}
.page-products .pw-dl__figure{margin-bottom:0;}
.page-products .pw-dl__panel{
  border:2px solid var(--gold);
  background:
    linear-gradient(150deg, rgba(242,184,75,.14), transparent 62%),
    var(--panel);
  padding:16px;
  box-shadow:var(--shadow-hard);
}
.page-products .pw-dl__ver{
  display:flex;
  align-items:baseline;
  gap:10px;
  margin:0 0 12px;
}
.page-products .pw-dl__ver strong{
  font-family:var(--font-mono);
  font-size:32px;
  line-height:1;
  letter-spacing:.04em;
  color:var(--gold);
}
.page-products .pw-dl__ver span{
  font-family:var(--font-mono);
  font-size:11px;
  letter-spacing:.12em;
  color:var(--steel);
}
.page-products .pw-spec{
  list-style:none;
  margin:0;
  padding:0;
}
.page-products .pw-spec li{
  display:grid;
  grid-template-columns:84px minmax(0,1fr);
  gap:10px;
  padding:9px 0;
  border-bottom:1px dashed var(--line);
  font-size:13px;
  line-height:1.6;
}
.page-products .pw-spec .k{color:var(--steel);}
.page-products .pw-spec .v{
  font-family:var(--font-mono);
  font-size:12.5px;
  letter-spacing:.04em;
  color:var(--silver);
}

/* 折叠条目 */
.page-products .pw-details{
  margin-top:10px;
  border:1px solid var(--line);
  background:rgba(5,9,23,.45);
}
.page-products .pw-details summary{
  padding:10px 12px;
  cursor:pointer;
  list-style:none;
  font-family:var(--font-mono);
  font-size:12.5px;
  letter-spacing:.06em;
  color:var(--silver);
}
.page-products .pw-details summary::-webkit-details-marker{display:none;}
.page-products .pw-details summary::before{
  content:"+";
  margin-right:8px;
  color:var(--signal);
  font-family:var(--font-mono);
}
.page-products .pw-details[open] summary::before{content:"−";}
.page-products .pw-details summary:focus-visible{outline:2px solid var(--signal);outline-offset:2px;}
.page-products .pw-details__body{
  padding:0 12px 12px;
  font-size:13px;
  line-height:1.8;
  color:#a9b5cf;
}

/* 旧版本与离线 */
.page-products .pw-offline{
  display:grid;
  gap:18px;
  grid-template-columns:1fr;
}
.page-products .pw-offline__figure{margin-bottom:0;}
.page-products .pw-offline__list .pw-details:first-child{margin-top:0;}

/* 版本演进 */
.page-products .pw-road{
  display:grid;
  gap:20px;
  grid-template-columns:1fr;
}
.page-products .pw-timeline{
  list-style:none;
  margin:0;
  padding:0 0 0 18px;
  border-left:2px solid var(--line-strong);
}
.page-products .pw-timeline li{
  position:relative;
  padding:0 0 22px 6px;
}
.page-products .pw-timeline li:last-child{padding-bottom:0;}
.page-products .pw-timeline li::before{
  content:"";
  position:absolute;
  left:-24px;
  top:6px;
  width:9px;
  height:9px;
  background:var(--void);
  border:2px solid var(--nebula);
}
.page-products .pw-timeline .yr{
  font-family:var(--font-mono);
  font-size:11.5px;
  letter-spacing:.14em;
  color:var(--nebula);
}
.page-products .pw-timeline h3{
  margin:4px 0 6px;
  font-family:var(--font-display);
  font-size:19px;
  letter-spacing:.02em;
  color:var(--silver);
}
.page-products .pw-timeline p{
  margin:0;
  font-size:13.5px;
  line-height:1.8;
  color:#a9b5cf;
}
.page-products .pw-road__aside{
  border:1px solid var(--line-strong);
  background:var(--panel);
  padding:16px;
  box-shadow:6px 6px 0 rgba(3,6,18,.7);
}
.page-products .pw-road__aside .pw-hint{margin-bottom:0;}

/* 场景与收尾 */
.page-products .pw-scenes{
  display:grid;
  gap:12px;
  grid-template-columns:1fr;
}
.page-products .pw-scene{
  display:flex;
  flex-direction:column;
  gap:10px;
  padding:16px;
  border:1px solid var(--line-strong);
  background:var(--card);
  box-shadow:6px 6px 0 rgba(3,6,18,.62);
}
.page-products .pw-scene__num{
  font-family:var(--font-mono);
  font-size:26px;
  line-height:1;
  letter-spacing:.04em;
  color:var(--nebula);
}
.page-products .pw-scene h3{
  margin:0;
  font-family:var(--font-display);
  font-size:20px;
  letter-spacing:.02em;
  color:var(--silver);
}
.page-products .pw-scene p{
  flex:1;
  margin:0;
  font-size:13.5px;
  line-height:1.78;
  color:#a9b5cf;
}
.page-products .pw-scene a{
  align-self:flex-start;
  padding-bottom:2px;
  border-bottom:1px solid rgba(53,224,196,.5);
  font-family:var(--font-mono);
  font-size:11.5px;
  letter-spacing:.08em;
  color:var(--signal);
  text-decoration:none;
}
.page-products .pw-scene a:hover,
.page-products .pw-scene a:focus-visible{color:#fff;border-bottom-color:#fff;}

.page-products .pw-cta{
  display:grid;
  gap:14px;
  margin-top:22px;
  padding:18px;
  border:1px solid var(--line-strong);
  background:
    linear-gradient(120deg, rgba(47,107,255,.18), rgba(122,92,255,.14) 58%, transparent),
    var(--panel);
}
.page-products .pw-cta p{
  margin:0;
  font-size:14px;
  line-height:1.8;
  color:#c3cee6;
}
.page-products .pw-cta__actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}

@media (min-width:600px){
  .page-products .pw-dl,
  .page-products .pw-offline,
  .page-products .pw-conds{grid-template-columns:repeat(2,minmax(0,1fr));}
  .page-products .pw-conds{grid-template-columns:repeat(3,minmax(0,1fr));}
  .page-products .pw-scenes{grid-template-columns:repeat(2,minmax(0,1fr));}
}

@media (min-width:820px){
  .page-products .pw-intro__grid{
    grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);
    align-items:end;
    gap:30px;
  }
  .page-products .pw-road{grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr);align-items:start;}
  .page-products .pw-scenes{grid-template-columns:repeat(3,minmax(0,1fr));}
}

@media (min-width:960px){
  .page-products .pw-work{
    grid-template-columns:224px minmax(0,1fr) 258px;
    align-items:start;
  }
  .page-products .pw-rail,
  .page-products .pw-side{
    position:sticky;
    top:92px;
  }
  .page-products .pw-dl{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);}
  .page-products .pw-offline{grid-template-columns:minmax(0,1fr) minmax(0,1fr);}
}

@media (prefers-reduced-motion:reduce){
  .page-products .pw-entry,
  .page-products .pw-jump a,
  .page-products .pw-links a,
  .page-products .filter-btn{transition:none;}
  .page-products .pw-entry:hover{transform:none;}
}
