.page-products{
  --pr-gap:clamp(22px,3vw,46px);
  --pr-sec-pad:clamp(34px,5vw,64px);
  background:var(--ink);
  color:var(--white);
  font-family:var(--font-body);
  padding-bottom:clamp(40px,6vw,88px);
}

.page-products .pr-crumb{
  padding-top:clamp(16px,2.4vw,28px);
  padding-bottom:clamp(10px,1.6vw,18px);
}

/* ---------- 首屏 ---------- */
.page-products .pr-hero{
  position:relative;
  overflow:hidden;
  padding:clamp(20px,3.4vw,44px) 0 clamp(34px,5vw,72px);
  border-bottom:1px solid var(--hair);
  background:
    radial-gradient(760px 380px at 84% -8%, rgba(56,242,160,.18), transparent 68%),
    radial-gradient(560px 320px at 6% 108%, rgba(105,217,240,.10), transparent 70%),
    repeating-linear-gradient(90deg, rgba(42,74,61,.34) 0 1px, transparent 1px 72px),
    repeating-linear-gradient(0deg, rgba(42,74,61,.20) 0 1px, transparent 1px 72px),
    var(--ink-soft);
}

.page-products .pr-hero__grid{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:clamp(24px,4vw,48px);
  align-items:start;
}

.page-products .pr-hero__copy h1{
  font-family:var(--font-display);
  font-weight:800;
  font-size:clamp(30px,7.4vw,68px);
  line-height:1.12;
  letter-spacing:-.01em;
  margin:14px 0 0;
  transform:skewX(-2deg);
  transform-origin:left center;
}

.page-products .pr-hero__lead{
  margin:20px 0 0;
  font-size:clamp(15px,1.9vw,17px);
  line-height:1.8;
  color:var(--white);
  max-width:56ch;
}

.page-products .pr-hero__sub{
  margin:14px 0 0;
  font-size:15px;
  line-height:1.75;
  color:var(--muted);
  max-width:52ch;
}

.page-products .pr-hero__actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:26px;
}

.page-products .pr-hero__board{
  display:grid;
  gap:clamp(14px,2vw,20px);
}

.page-products .pr-board{
  position:relative;
  background:var(--score);
  border:1px solid var(--line);
  border-left:3px solid var(--mint);
  padding:clamp(20px,3vw,30px);
  overflow:hidden;
}

.page-products .pr-board__label{
  margin:0;
  font-family:var(--font-data);
  font-size:12px;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--muted);
}

.page-products .pr-board__num{
  margin:6px 0 0;
  font-family:var(--font-data);
  font-weight:700;
  font-size:clamp(72px,17vw,132px);
  line-height:.9;
  color:var(--mint);
  letter-spacing:-.04em;
}

.page-products .pr-board__desc{
  margin:12px 0 0;
  font-size:14px;
  line-height:1.7;
  color:var(--white);
}

.page-products .pr-board__clock{
  position:absolute;
  top:18px;
  right:18px;
  margin:0;
  font-family:var(--font-data);
  font-size:13px;
  letter-spacing:.12em;
  color:var(--orange);
  border:1px solid rgba(255,122,26,.5);
  padding:4px 8px;
}

.page-products .pr-stats{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1px;
  margin:0;
  background:var(--hair);
  border:1px solid var(--hair);
}

.page-products .pr-stats__item{
  background:var(--panel);
  padding:14px 16px;
}

.page-products .pr-stats dt{
  font-size:12px;
  letter-spacing:.08em;
  color:var(--muted);
}

.page-products .pr-stats dd{
  margin:6px 0 0;
  font-family:var(--font-data);
  font-size:clamp(20px,3vw,26px);
  font-weight:700;
  color:var(--white);
}

/* ---------- 主体布局 ---------- */
.page-products .pr-body{
  display:block;
  padding-top:clamp(20px,3vw,36px);
}

.page-products .pr-index{
  border:1px solid var(--hair);
  background:var(--glass);
  padding:18px 20px;
  margin-bottom:clamp(24px,4vw,40px);
}

.page-products .pr-index__label{
  margin:0 0 12px;
  font-family:var(--font-data);
  font-size:12px;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:var(--mint);
}

.page-products .pr-index__list{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  gap:2px;
  counter-reset:none;
}

.page-products .pr-index__list a{
  display:flex;
  align-items:baseline;
  gap:10px;
  padding:8px 0;
  color:var(--white);
  text-decoration:none;
  font-size:14px;
  border-bottom:1px dashed rgba(42,74,61,.7);
  transition:color .18s ease;
}

.page-products .pr-index__list a:hover,
.page-products .pr-index__list a:focus-visible{
  color:var(--mint);
}

.page-products .pr-index__no{
  font-family:var(--font-data);
  font-size:12px;
  color:var(--cyan);
  min-width:22px;
}

.page-products .pr-index__note{
  margin:14px 0 0;
  padding-left:10px;
  border-left:2px solid var(--orange);
}

/* ---------- 章节通用 ---------- */
.page-products .pr-sec{
  padding:var(--pr-sec-pad) 0;
  border-top:1px solid var(--hair);
  position:relative;
}

.page-products .pr-sec:first-of-type{
  border-top:none;
  padding-top:0;
}

.page-products .pr-sec--glass{
  background:var(--glass);
  border-top:1px solid var(--hair);
  border-bottom:1px solid var(--hair);
  padding-left:clamp(16px,3vw,32px);
  padding-right:clamp(16px,3vw,32px);
  margin-left:calc(-1 * clamp(0px,1.5vw,16px));
  margin-right:calc(-1 * clamp(0px,1.5vw,16px));
}

.page-products .pr-sec--panel{
  background:
    linear-gradient(160deg, rgba(17,38,30,.92), rgba(11,26,20,.6)),
    var(--ink-soft);
  border:1px solid var(--hair);
  padding-left:clamp(16px,3vw,32px);
  padding-right:clamp(16px,3vw,32px);
}

.page-products .pr-sec--signal{
  border-top:2px solid rgba(255,122,26,.55);
}

.page-products .pr-sec__head{
  max-width:64ch;
  margin-bottom:clamp(22px,3.4vw,38px);
}

.page-products .pr-sec__head h2{
  font-family:var(--font-display);
  font-weight:800;
  font-size:clamp(24px,4.6vw,42px);
  line-height:1.2;
  margin:10px 0 0;
  letter-spacing:-.01em;
}

.page-products .pr-sec__lead{
  margin:14px 0 0;
  font-size:clamp(15px,1.8vw,16px);
  line-height:1.8;
  color:var(--muted);
}

.page-products .kicker--signal{
  color:var(--orange);
  border-color:rgba(255,122,26,.5);
}

/* ---------- 单场卡 ---------- */
.page-products .pr-panel-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:clamp(22px,3.4vw,40px);
  align-items:start;
}

.page-products .pr-blocks{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  gap:1px;
  background:var(--hair);
  border:1px solid var(--hair);
}

.page-products .pr-blocks__item{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  gap:14px;
  align-items:start;
  background:var(--panel);
  padding:16px 18px;
}

.page-products .pr-blocks__no{
  font-family:var(--font-data);
  font-size:13px;
  font-weight:700;
  color:var(--mint);
  border:1px solid rgba(56,242,160,.45);
  width:26px;
  height:26px;
  display:grid;
  place-items:center;
  flex:none;
}

.page-products .pr-blocks__item h3{
  margin:0;
  font-size:16px;
  font-weight:700;
  letter-spacing:.01em;
}

.page-products .pr-blocks__item p{
  margin:6px 0 0;
  font-size:14px;
  line-height:1.7;
  color:var(--muted);
}

.page-products .pr-figure{
  margin:0;
}

.page-products .pr-figure--tight{
  margin-top:clamp(16px,2.4vw,24px);
}

.page-products .pr-figure .figure__frame img{
  display:block;
  width:100%;
  height:auto;
  object-fit:cover;
}

.page-products .pr-figure--signal .figure__frame{
  border-color:rgba(255,122,26,.4);
}

/* ---------- 关注列表 ---------- */
.page-products .pr-watch-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:clamp(22px,3.4vw,40px);
  align-items:start;
}

.page-products .pr-notes{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  gap:14px;
}

.page-products .pr-notes li{
  position:relative;
  padding-left:18px;
  font-size:15px;
  line-height:1.75;
  color:var(--muted);
}

.page-products .pr-notes li::before{
  content:"";
  position:absolute;
  left:0;
  top:.62em;
  width:8px;
  height:2px;
  background:var(--mint);
}

.page-products .pr-notes strong{
  color:var(--white);
  font-weight:700;
}

.page-products .pr-watch__text .annotation{
  margin:18px 0 0;
  padding-left:10px;
  border-left:2px solid var(--orange);
}

.page-products .pr-slots__title{
  margin:0 0 12px;
  font-family:var(--font-data);
  font-size:13px;
  letter-spacing:.14em;
  color:var(--muted);
}

.page-products .pr-slots__title .data-num{
  color:var(--mint);
  font-size:16px;
}

.page-products .pr-slots{
  list-style:none;
  margin:0 0 clamp(16px,2.4vw,24px);
  padding:0;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:6px;
}

.page-products .pr-slots__item{
  border:1px solid var(--hair);
  background:var(--ink-soft);
  aspect-ratio:1/1;
  display:grid;
  place-items:center;
  min-height:44px;
}

.page-products .pr-slots__no{
  font-family:var(--font-data);
  font-size:12px;
  color:var(--muted);
}

.page-products .pr-slots__item.is-pinned{
  border-color:rgba(56,242,160,.65);
  background:rgba(56,242,160,.10);
}

.page-products .pr-slots__item.is-pinned .pr-slots__no{
  color:var(--mint);
  font-weight:700;
}

/* ---------- 进失球分布 ---------- */
.page-products .pr-goals-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:clamp(22px,3.4vw,40px);
  align-items:start;
}

.page-products .pr-chart{
  margin:0;
  border:1px solid var(--hair);
  background:var(--ink-soft);
  padding:16px 14px 12px;
}

.page-products .pr-chart svg{
  display:block;
  width:100%;
  height:auto;
}

.page-products .pr-chart__grid line{
  stroke:var(--line);
  stroke-width:1;
  stroke-dasharray:3 5;
}

.page-products .pr-chart__scale line{
  stroke:var(--hair);
  stroke-width:1;
}

.page-products .pr-chart__rowlabel{
  fill:var(--muted);
  font-family:var(--font-data);
  font-size:12px;
  letter-spacing:.04em;
}

.page-products .pr-chart__bar--in{
  fill:var(--mint);
}

.page-products .pr-chart__bar--out{
  fill:var(--cyan);
  opacity:.85;
}

.page-products .pr-chart__dot--in{
  fill:var(--mint);
  stroke:var(--ink);
  stroke-width:1.5;
}

.page-products .pr-chart__dot--out{
  fill:var(--cyan);
  stroke:var(--ink);
  stroke-width:1.5;
}

.page-products .pr-chart__caption{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:14px;
  margin-top:12px;
  padding-top:10px;
  border-top:1px solid var(--hair);
  font-size:12px;
  color:var(--muted);
}

.page-products .pr-legend{
  display:inline-flex;
  align-items:center;
  gap:6px;
  font-family:var(--font-data);
  font-size:12px;
  color:var(--white);
}

.page-products .pr-legend__swatch{
  display:inline-block;
  width:14px;
  height:6px;
  flex:none;
}

.page-products .pr-legend__swatch--in{background:var(--mint);}
.page-products .pr-legend__swatch--out{background:var(--cyan);}
.page-products .pr-legend__swatch--a{background:var(--mint);}
.page-products .pr-legend__swatch--b{background:var(--cyan);}

.page-products .pr-chart__hint{
  flex:1 1 200px;
  min-width:160px;
}

.page-products .pr-goals__text h3{
  margin:0 0 10px;
  font-size:18px;
  font-weight:700;
}

.page-products .pr-goals__text p{
  margin:0 0 12px;
  font-size:15px;
  line-height:1.8;
  color:var(--muted);
}

.page-products .pr-goals__text .annotation{
  margin:0;
  padding-left:10px;
  border-left:2px solid var(--cyan);
}

.page-products .pr-band{
  margin:clamp(24px,3.6vw,40px) 0 0;
}

.page-products .pr-band .figure__frame img{
  display:block;
  width:100%;
  height:auto;
  object-fit:cover;
}

.page-products .pr-band--last{
  margin-top:clamp(26px,4vw,44px);
}

/* ---------- 控球率 ---------- */
.page-products .pr-poss-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:clamp(22px,3.4vw,40px);
  align-items:start;
}

.page-products .pr-poss__viz{
  border:1px solid var(--hair);
  background:var(--score);
  padding:clamp(16px,2.6vw,24px);
}

.page-products .pr-poss__bar{
  display:flex;
  height:26px;
  background:var(--line);
  overflow:hidden;
}

.page-products .pr-poss__fill{
  display:block;
  height:100%;
}

.page-products .pr-poss__fill--a{
  background:linear-gradient(90deg, rgba(56,242,160,.85), var(--mint));
}

.page-products .pr-poss__fill--b{
  background:linear-gradient(90deg, var(--cyan), rgba(105,217,240,.6));
}

.page-products .pr-poss__labels{
  display:flex;
  justify-content:space-between;
  gap:12px;
  margin-top:12px;
}

.page-products .pr-poss__label{
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-size:13px;
  color:var(--muted);
}

.page-products .pr-poss__label .data-num{
  color:var(--white);
  font-size:14px;
}

.page-products .pr-poss__dots{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin-top:16px;
}

.page-products .pr-dot{
  width:10px;
  height:10px;
  border:1px solid var(--hair);
  display:block;
}

.page-products .pr-dot--on{
  background:var(--mint);
  border-color:rgba(56,242,160,.7);
}

.page-products .pr-poss__viz .annotation{
  margin:14px 0 0;
}

.page-products .pr-rules{
  border:1px solid var(--line);
  background:var(--panel);
}

.page-products .pr-rules__summary{
  cursor:pointer;
  padding:16px 18px;
  font-size:15px;
  font-weight:700;
  color:var(--mint);
  list-style:none;
  display:flex;
  align-items:center;
  gap:10px;
}

.page-products .pr-rules__summary::-webkit-details-marker{
  display:none;
}

.page-products .pr-rules__summary::before{
  content:"+";
  font-family:var(--font-data);
  font-size:16px;
  color:var(--orange);
  width:16px;
  flex:none;
}

.page-products .pr-rules[open] .pr-rules__summary::before{
  content:"−";
}

.page-products .pr-rules__body{
  padding:0 18px 18px;
  border-top:1px solid var(--hair);
}

.page-products .pr-rules__body h3{
  margin:16px 0 6px;
  font-size:15px;
  font-weight:700;
  color:var(--white);
}

.page-products .pr-rules__body p{
  margin:0;
  font-size:14px;
  line-height:1.8;
  color:var(--muted);
}

/* ---------- 转会动态 ---------- */
.page-products .pr-transfer-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:clamp(22px,3.4vw,40px);
  align-items:start;
}

.page-products .pr-tags{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:14px;
}

.page-products .pr-taggroup{
  border-left:2px solid var(--hair);
  padding-left:14px;
}

.page-products .pr-taggroup--wide{
  border-left-color:rgba(255,122,26,.7);
}

.page-products .pr-taggroup__title{
  margin:0 0 10px;
  font-family:var(--font-data);
  font-size:12px;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--muted);
}

.page-products .pr-taglist{
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}

.page-products .pr-taglist .tag{
  font-size:13px;
  padding:5px 10px;
}

.page-products .pr-signal-note{
  margin:clamp(20px,3vw,30px) 0 0;
  padding-left:12px;
  border-left:2px solid var(--orange);
  font-size:14px;
  line-height:1.8;
  color:var(--muted);
  max-width:70ch;
}

/* ---------- 更新节奏 ---------- */
.page-products .pr-timeline{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  gap:1px;
  background:var(--hair);
  border:1px solid var(--hair);
}

.page-products .pr-timeline__item{
  position:relative;
  background:var(--ink-soft);
  padding:18px 18px 18px 22px;
  border-left:2px solid var(--line);
}

.page-products .pr-timeline__item::before{
  content:"";
  position:absolute;
  left:-5px;
  top:24px;
  width:8px;
  height:8px;
  background:var(--mint);
  transform:rotate(45deg);
}

.page-products .pr-timeline__time{
  display:inline-block;
  font-family:var(--font-data);
  font-size:12px;
  letter-spacing:.1em;
  color:var(--cyan);
  border:1px solid var(--hair);
  padding:3px 8px;
}

.page-products .pr-timeline__item h3{
  margin:10px 0 6px;
  font-size:16px;
  font-weight:700;
}

.page-products .pr-timeline__item p{
  margin:0;
  font-size:14px;
  line-height:1.75;
  color:var(--muted);
}

.page-products .pr-flow{
  margin-top:clamp(22px,3.4vw,36px);
  border:1px solid var(--line);
  background:var(--panel);
  padding:clamp(16px,2.6vw,26px);
}

.page-products .pr-flow__title{
  margin:0 0 14px;
  font-family:var(--font-display);
  font-size:18px;
  font-weight:700;
}

.page-products .pr-flow__steps{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:10px;
}

.page-products .pr-flow__steps li{
  display:flex;
  align-items:baseline;
  gap:10px;
  font-size:14px;
  line-height:1.7;
  color:var(--white);
  border-bottom:1px dashed rgba(42,74,61,.8);
  padding-bottom:10px;
}

.page-products .pr-flow__steps li:last-child{
  border-bottom:none;
  padding-bottom:0;
}

.page-products .pr-flow__steps .data-num{
  font-size:13px;
  color:var(--mint);
  flex:none;
}

.page-products .pr-flow .annotation{
  margin:16px 0 0;
  border-left:2px solid var(--cyan);
  padding-left:10px;
}

/* ---------- 适合谁用 ---------- */
.page-products .pr-sec--audience{
  background:
    radial-gradient(620px 300px at 92% 0%, rgba(56,242,160,.10), transparent 70%),
    var(--ink);
}

.page-products .pr-audience{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:clamp(14px,2vw,20px);
}

.page-products .pr-audience__item{
  border:1px solid var(--hair);
  background:var(--glass);
  padding:18px;
  position:relative;
}

.page-products .pr-audience__item h3{
  margin:0 0 8px;
  font-size:16px;
  font-weight:700;
  color:var(--mint);
}

.page-products .pr-audience__item p{
  margin:0;
  font-size:14px;
  line-height:1.8;
  color:var(--muted);
}

/* ---------- 结尾入口 ---------- */
.page-products .pr-cta{
  margin-top:clamp(26px,4vw,48px);
  border-top:2px solid var(--mint);
  padding-top:clamp(22px,3.4vw,34px);
}

.page-products .pr-cta h2{
  font-family:var(--font-display);
  font-size:clamp(22px,3.6vw,32px);
  font-weight:800;
  margin:0 0 clamp(16px,2.6vw,24px);
}

.page-products .pr-cta__links{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:1px;
  background:var(--hair);
  border:1px solid var(--hair);
}

.page-products .pr-cta__card{
  display:flex;
  flex-direction:column;
  gap:8px;
  padding:18px;
  background:var(--panel);
  color:var(--white);
  text-decoration:none;
  transition:background .18s ease, color .18s ease;
}

.page-products .pr-cta__card:hover,
.page-products .pr-cta__card:focus-visible{
  background:rgba(56,242,160,.12);
}

.page-products .pr-cta__kicker{
  font-family:var(--font-data);
  font-size:12px;
  letter-spacing:.16em;
  color:var(--cyan);
}

.page-products .pr-cta__title{
  font-size:15px;
  line-height:1.6;
}

/* ---------- 响应式 ---------- */
@media (min-width:640px){
  .page-products .pr-audience{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .page-products .pr-cta__links{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
  .page-products .pr-tags{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .page-products .pr-taggroup--wide{
    grid-column:1 / -1;
  }
  .page-products .pr-slots{
    grid-template-columns:repeat(6,minmax(0,1fr));
  }
  .page-products .pr-flow__steps{
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:16px;
  }
  .page-products .pr-flow__steps li{
    border-bottom:none;
    padding-bottom:0;
    border-left:1px solid var(--hair);
    padding-left:12px;
  }
}

@media (min-width:900px){
  .page-products .pr-hero__grid{
    grid-template-columns:1.12fr .88fr;
    gap:clamp(32px,4vw,56px);
    align-items:start;
  }
  .page-products .pr-stats{
    grid-template-columns:repeat(4,minmax(0,1fr));
  }
  .page-products .pr-body{
    display:grid;
    grid-template-columns:250px minmax(0,1fr);
    gap:var(--pr-gap);
    align-items:start;
  }
  .page-products .pr-index{
    position:sticky;
    top:96px;
    margin-bottom:0;
  }
  .page-products .pr-panel-grid{
    grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);
  }
  .page-products .pr-watch-grid{
    grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);
  }
  .page-products .pr-goals-grid{
    grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);
  }
  .page-products .pr-poss-grid{
    grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);
  }
  .page-products .pr-transfer-grid{
    grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);
  }
  .page-products .pr-slots{
    grid-template-columns:repeat(6,minmax(0,1fr));
  }
  .page-products .pr-timeline{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media (min-width:1180px){
  .page-products .pr-body{
    grid-template-columns:280px minmax(0,1fr);
  }
  .page-products .pr-audience{
    grid-template-columns:repeat(4,minmax(0,1fr));
  }
  .page-products .pr-timeline{
    grid-template-columns:repeat(4,minmax(0,1fr));
  }
}

@media (prefers-reduced-motion:reduce){
  .page-products .pr-index__list a,
  .page-products .pr-cta__card{
    transition:none;
  }
}
<<<END>>>
