.page-products {
  --prod-r: 6px;
  --prod-gap: clamp(18px, 3vw, 32px);
}

/* ============ 首屏 ============ */
.page-products .page-lead {
  padding: clamp(24px, 4vw, 48px) 0 clamp(32px, 5vw, 60px);
}
.page-products .lead-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: clamp(26px, 4vw, 48px);
  align-items: center;
}
.page-products .lead-copy .breadcrumb {
  margin-bottom: 18px;
}
.page-products .lead-text {
  max-width: 34em;
  font-size: 17px;
  line-height: 1.78;
  color: var(--snow);
  margin: 14px 0 26px;
}
.page-products .lead-points {
  list-style: none;
  margin: 0 0 30px;
  padding: 0;
  border-top: 1px solid var(--edge);
  max-width: 34em;
}
.page-products .lead-points li {
  display: flex;
  gap: 14px;
  align-items: baseline;
  padding: 11px 0;
  border-bottom: 1px solid var(--edge);
  font-size: 15px;
  color: var(--slate);
}
.page-products .lead-points .label {
  flex: 0 0 auto;
  min-width: 62px;
  color: var(--neon);
}
.page-products .lead-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}
.page-products .lead-media {
  clip-path: polygon(0 0, 100% 3%, 100% 100%, 0 97%);
  background: linear-gradient(150deg, var(--panel), rgba(255, 90, 46, 0.12) 85%);
}

/* ============ 锚点索引 ============ */
.page-products .anchor-index {
  position: sticky;
  top: var(--ticker-h);
  z-index: 6;
  background: rgba(6, 20, 35, 0.94);
  border-top: 1px solid var(--edge);
  border-bottom: 1px solid var(--edge);
}
.page-products .anchor-list {
  display: flex;
  gap: 4px;
  margin: 0;
  padding: 0;
  list-style: none;
  overflow-x: auto;
  scrollbar-width: none;
}
.page-products .anchor-list::-webkit-scrollbar {
  display: none;
}
.page-products .anchor-list a {
  display: block;
  padding: 11px 13px;
  font-size: 12px;
  letter-spacing: 0.1em;
  color: var(--slate);
  text-decoration: none;
  white-space: nowrap;
  border-bottom: 2px solid transparent;
  transition: color 0.2s ease, border-color 0.2s ease;
}
.page-products .anchor-list a:hover,
.page-products .anchor-list a:focus-visible,
.page-products .anchor-list a.is-current {
  color: var(--neon);
  border-bottom-color: var(--neon);
}

/* ============ 三通道 ============ */
.page-products .channels {
  padding: clamp(36px, 5vw, 64px) 0;
}
.page-products .channel-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 16px;
  margin-top: clamp(22px, 3vw, 34px);
}
.page-products .channel-card {
  --card-accent: var(--neon);
  position: relative;
  padding: 26px 22px 20px;
  background: linear-gradient(158deg, var(--panel) 0%, #0a1d31 78%);
  border-radius: var(--prod-r);
  clip-path: polygon(0 0, 100% 0, 100% calc(100% - 20px), calc(100% - 20px) 100%, 0 100%);
  display: flex;
  flex-direction: column;
}
.page-products .channel-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 3px;
  background: var(--card-accent);
}
.page-products .channel-card--web {
  --card-accent: var(--moss);
}
.page-products .channel-card--beta {
  --card-accent: var(--flame);
}
.page-products .channel-tag {
  color: var(--card-accent);
  margin: 0 0 12px;
}
.page-products .channel-card h3 {
  font-size: 20px;
  line-height: 1.35;
  margin: 0 0 12px;
  color: var(--snow);
}
.page-products .channel-card > p {
  font-size: 15px;
  line-height: 1.72;
  color: var(--slate);
  margin: 0 0 18px;
}
.page-products .channel-spec {
  margin: 0 0 16px;
  padding: 0;
  border-top: 1px solid var(--edge);
  flex: 1 1 auto;
}
.page-products .channel-spec > div {
  display: grid;
  grid-template-columns: 68px minmax(0, 1fr);
  gap: 10px;
  padding: 9px 0;
  border-bottom: 1px solid var(--edge);
}
.page-products .channel-spec dt {
  font-size: 12px;
  letter-spacing: 0.1em;
  color: var(--metal);
}
.page-products .channel-spec dd {
  margin: 0;
  font-size: 14px;
  line-height: 1.6;
  color: var(--snow);
}
.page-products .channel-foot {
  margin: 0;
}
.page-products .channel-foot a {
  color: var(--card-accent);
  font-size: 14px;
  text-decoration: none;
  border-bottom: 1px solid currentColor;
}

/* ============ 功能折叠面板 ============ */
.page-products .capabilities {
  padding: 0 0 clamp(36px, 5vw, 60px);
}
.page-products .cap-stack {
  margin-top: clamp(20px, 3vw, 30px);
}
.page-products .cap-panel {
  border: 1px solid var(--edge);
  border-radius: var(--prod-r);
  background: var(--panel);
  margin-bottom: 14px;
  overflow: hidden;
}
.page-products .cap-head {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 17px 20px;
  cursor: pointer;
  list-style: none;
  transition: background 0.25s ease;
}
.page-products .cap-head::-webkit-details-marker {
  display: none;
}
.page-products .cap-head::after {
  content: "";
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: var(--metal);
  margin-left: auto;
  flex: 0 0 auto;
  transition: background 0.25s ease, box-shadow 0.25s ease;
}
.page-products .cap-panel[open] .cap-head {
  background: linear-gradient(90deg, rgba(184, 255, 60, 0.07), transparent 62%);
  border-bottom: 1px solid var(--edge);
}
.page-products .cap-panel[open] .cap-head::after {
  background: var(--neon);
  box-shadow: 0 0 0 4px rgba(184, 255, 60, 0.14);
}
.page-products .cap-index {
  font-size: 13px;
  color: var(--metal);
}
.page-products .cap-name {
  font-size: 18px;
  font-weight: 600;
  color: var(--snow);
}
.page-products .cap-body {
  padding: 22px 20px 24px;
}
.page-products .cap-panel[open] .cap-body {
  animation: prod-fade 0.3s ease;
}
@keyframes prod-fade {
  from { opacity: 0; transform: translateY(-5px); }
  to { opacity: 1; transform: none; }
}
.page-products .cap-split {
  display: grid;
  grid-template-columns: 1fr;
  gap: 22px;
}
.page-products .cap-copy p {
  max-width: 34em;
  font-size: 16px;
  line-height: 1.78;
  color: var(--snow);
  margin: 0 0 16px;
}
.page-products .cap-copy p:last-child {
  margin-bottom: 0;
}
.page-products .cap-copy a {
  color: var(--neon);
  text-decoration: none;
  border-bottom: 1px solid currentColor;
}
.page-products .cap-steps {
  list-style: none;
  margin: 0 0 18px;
  padding: 0;
  border-left: 2px solid var(--edge);
}
.page-products .cap-steps li {
  display: flex;
  gap: 12px;
  padding: 8px 0 8px 14px;
  font-size: 15px;
  color: var(--slate);
}
.page-products .cap-steps .num {
  color: var(--neon);
  flex: 0 0 auto;
}
.page-products .cap-figure {
  margin: 0;
}
.page-products .cap-lead {
  max-width: 40em;
  font-size: 16px;
  line-height: 1.78;
  color: var(--snow);
  margin: 0 0 18px;
}
.page-products .avail-list {
  list-style: none;
  margin: 0 0 18px;
  padding: 0;
}
.page-products .avail-list li {
  padding: 11px 0;
  border-bottom: 1px solid var(--edge);
  font-size: 15px;
  line-height: 1.7;
  color: var(--slate);
}
.page-products .avail-tag {
  display: inline-block;
  min-width: 60px;
  text-align: center;
  padding: 2px 8px;
  margin-right: 10px;
  font-size: 12px;
  letter-spacing: 0.1em;
  border: 1px solid var(--edge);
  border-radius: 3px;
  color: var(--slate);
}
.page-products .avail-tag--stop {
  color: var(--flame);
  border-color: rgba(255, 90, 46, 0.45);
}
.page-products .avail-tag--hurt {
  color: var(--sand);
  border-color: rgba(201, 162, 126, 0.45);
}
.page-products .avail-tag--card {
  color: var(--moss);
  border-color: rgba(46, 211, 168, 0.45);
}
.page-products .squad-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 14px;
  margin-bottom: 20px;
}
.page-products .squad-cell {
  padding: 16px 18px;
  background: rgba(20, 60, 94, 0.32);
  border-left: 3px solid var(--moss);
  border-radius: 0 var(--prod-r) var(--prod-r) 0;
}
.page-products .squad-name {
  color: var(--moss);
  margin: 0 0 8px;
}
.page-products .squad-cell p:last-child {
  margin: 0;
  font-size: 15px;
  line-height: 1.7;
  color: var(--snow);
}

/* ============ 近 5 场对比 ============ */
.page-products .form-section {
  padding: 0 0 clamp(38px, 5vw, 64px);
}
.page-products .form-figure {
  margin: 0 0 clamp(22px, 3vw, 32px);
}
.page-products .form-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 18px;
}
.page-products .chart-card {
  padding: 22px 20px;
  background: linear-gradient(170deg, var(--panel), #0a1c2e);
  border: 1px solid var(--edge);
  border-radius: var(--prod-r);
}
.page-products .chart-label {
  color: var(--neon);
  margin: 0 0 10px;
}
.page-products .chart-card h3 {
  font-size: 18px;
  margin: 0 0 10px;
  color: var(--snow);
}
.page-products .chart-card > p {
  font-size: 15px;
  line-height: 1.72;
  color: var(--slate);
  margin: 0 0 18px;
}
.page-products .mini-svg {
  display: block;
  width: 100%;
  height: auto;
  background: rgba(6, 20, 35, 0.55);
  border-radius: var(--prod-r);
}
.page-products .mini-svg .axis {
  stroke: var(--metal);
  stroke-width: 1;
  opacity: 0.55;
}
.page-products .mini-svg .bar-home {
  fill: var(--neon);
  opacity: 0.86;
}
.page-products .mini-svg .bar-away {
  fill: var(--slate);
  opacity: 0.5;
}
.page-products .mini-svg .bar-weighted {
  fill: var(--moss);
  opacity: 0.78;
}
.page-products .mini-svg .bar-weighted--hot {
  fill: var(--flame);
  opacity: 0.95;
}
.page-products .chart-note {
  margin: 14px 0 0;
  font-size: 13px;
  color: var(--metal);
}

/* ============ 资源归档 ============ */
.page-products .archive-section {
  padding: 0 0 clamp(38px, 5vw, 64px);
}
.page-products .archive-figure {
  margin: 0 0 clamp(22px, 3vw, 32px);
}
.page-products .archive-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 26px;
}
.page-products .archive-intro p {
  max-width: 34em;
  font-size: 16px;
  line-height: 1.78;
  color: var(--snow);
  margin: 0 0 16px;
}
.page-products .archive-facts {
  display: flex;
  flex-wrap: wrap;
  gap: 26px;
  margin: 22px 0 0;
  padding: 18px 0 0;
  border-top: 1px solid var(--edge);
}
.page-products .archive-facts dt {
  font-size: 12px;
  letter-spacing: 0.12em;
  color: var(--slate);
}
.page-products .archive-facts dd {
  margin: 6px 0 0;
  font-size: 22px;
  color: var(--neon);
}
.page-products .archive-list {
  list-style: none;
  margin: 0;
  padding: 0;
  border-top: 1px solid var(--edge);
}
.page-products .archive-row {
  display: grid;
  grid-template-columns: 1fr;
  gap: 4px;
  padding: 15px 4px;
  border-bottom: 1px solid var(--edge);
}
.page-products .archive-branch {
  font-size: 15px;
  font-weight: 600;
  color: var(--snow);
}
.page-products .archive-device {
  font-size: 14px;
  color: var(--slate);
}
.page-products .archive-state {
  font-size: 13px;
  color: var(--metal);
}
.page-products .archive-row--current {
  background: linear-gradient(90deg, rgba(184, 255, 60, 0.08), transparent 70%);
  border-left: 3px solid var(--neon);
  padding-left: 12px;
}
.page-products .archive-row--current .archive-state {
  color: var(--neon);
}

/* ============ 订阅档位 ============ */
.page-products .plans-section {
  padding: 0 0 clamp(38px, 5vw, 60px);
}
.page-products .plans-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 18px;
  margin-top: clamp(20px, 3vw, 30px);
}
.page-products .plan-card {
  padding: 26px 22px;
  border: 1px solid var(--edge);
  border-radius: var(--prod-r);
  background: var(--panel);
}
.page-products .plan-card--base .plan-name {
  color: var(--slate);
}
.page-products .plan-card--pro {
  border-color: rgba(184, 255, 60, 0.4);
  background: linear-gradient(165deg, rgba(184, 255, 60, 0.07), var(--panel) 55%);
}
.page-products .plan-card--pro .plan-name {
  color: var(--neon);
}
.page-products .plan-name {
  margin: 0 0 12px;
}
.page-products .plan-card h3 {
  font-size: 20px;
  margin: 0 0 16px;
  color: var(--snow);
}
.page-products .plan-list {
  list-style: none;
  margin: 0;
  padding: 0;
}
.page-products .plan-list li {
  position: relative;
  padding: 9px 0 9px 20px;
  font-size: 15px;
  line-height: 1.7;
  color: var(--slate);
  border-bottom: 1px solid var(--edge);
}
.page-products .plan-list li:last-child {
  border-bottom: 0;
}
.page-products .plan-list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 17px;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--metal);
}
.page-products .plan-card--pro .plan-list li::before {
  background: var(--neon);
}
.page-products .plans-note {
  margin: 20px 0 0;
  font-size: 14px;
  color: var(--metal);
}

/* ============ 结尾 ============ */
.page-products .next-step {
  padding: 0 0 clamp(40px, 5vw, 72px);
}
.page-products .next-inner {
  padding: clamp(26px, 4vw, 42px) clamp(22px, 3vw, 38px);
  background: linear-gradient(135deg, rgba(20, 60, 94, 0.6), rgba(255, 90, 46, 0.09));
  border-left: 4px solid var(--neon);
  border-radius: 0 var(--prod-r) var(--prod-r) 0;
}
.page-products .next-inner h2 {
  font-size: clamp(22px, 3vw, 30px);
  margin: 0 0 12px;
  color: var(--snow);
}
.page-products .next-inner p {
  max-width: 34em;
  font-size: 16px;
  line-height: 1.75;
  color: var(--slate);
  margin: 0 0 22px;
}
.page-products .next-links {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

/* ============ 响应式 ============ */
@media (min-width: 640px) {
  .page-products .squad-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .page-products .archive-row {
    grid-template-columns: 110px minmax(0, 1.2fr) minmax(0, 1fr);
    align-items: center;
    gap: 14px;
  }
}

@media (min-width: 860px) {
  .page-products .lead-grid {
    grid-template-columns: minmax(0, 1.06fr) minmax(0, 0.94fr);
  }
  .page-products .channel-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .page-products .form-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .page-products .cap-split {
    grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
    align-items: start;
  }
  .page-products .cap-split--reverse {
    grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
  }
  .page-products .archive-grid {
    grid-template-columns: minmax(0, 0.92fr) minmax(0, 1.08fr);
    align-items: start;
  }
  .page-products .plans-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 760px) {
  .page-products .lead-media {
    clip-path: none;
  }
  .page-products .channel-card {
    clip-path: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  .page-products .cap-panel[open] .cap-body {
    animation: none;
  }
  .page-products .anchor-list a,
  .page-products .cap-head,
  .page-products .cap-head::after {
    transition: none;
  }
}
