.insight-detail{
  padding:28px 0 48px;
  background:var(--void);
  color:var(--ink);
  --detail-accent:var(--disk)
}
.insight-detail .wrap{
  max-width:1200px;
  padding-inline:24px
}
.detail-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr) 260px;
  gap:24px;
  align-items:start
}
.detail-paper{
  min-width:0;
  background:var(--void-2);
  border:1px solid var(--rim);
  border-radius:12px;
  padding:30px 36px
}
.detail-heading{
  padding-bottom:24px;
  border-bottom:1px solid var(--rim)
}
.detail-topline{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:16px;
  margin-bottom:15px
}
.detail-category{
  display:inline-flex;
  padding:5px 11px;
  background:color-mix(in srgb,var(--detail-accent) 9%,var(--void-2));
  border-radius:5px;
  color:var(--detail-accent);
  font-size:12px;
  text-decoration:none
}
.detail-back{
  font-size:12px;
  color:var(--ink-dim);
  text-decoration:none;
  border:1px solid var(--rim);
  background:var(--void);
  padding:5px 11px;
  border-radius:5px;
  white-space:nowrap
}
.detail-back:hover{
  color:var(--disk);
  border-color:var(--disk)
}
.detail-heading h1{
  font-size:30px;
  font-weight:700;
  line-height:1.5;
  letter-spacing:0;
  margin:0;
  text-wrap:pretty;
  overflow-wrap:anywhere
}
.detail-meta{
  display:flex;
  flex-wrap:wrap;
  gap:6px 16px;
  font-size:11px;
  line-height:1.8;
  color:var(--ink-dim);
  margin:14px 0 0
}
.detail-summary{
  font-size:14px;
  line-height:1.95;
  color:var(--ink-dim);
  background:var(--void);
  border-left:3px solid var(--detail-accent);
  border-radius:0 6px 6px 0;
  padding:13px 16px;
  margin:20px 0 0
}
.detail-content{
  padding-top:22px;
  font-size:15px;
  line-height:2;
  color:var(--ink)
}
.detail-content>:first-child{
  margin-top:0
}
.detail-content h2,.detail-section>h2{
  font-size:22px;
  font-weight:650;
  line-height:1.6;
  letter-spacing:0;
  text-wrap:pretty;
  margin:30px 0 12px;
  scroll-margin-top:90px
}
.detail-content h3{
  font-size:18px;
  font-weight:600;
  line-height:1.7;
  margin:23px 0 10px;
  scroll-margin-top:90px
}
.detail-content h4{
  font-size:16px;
  margin:20px 0 8px
}
.detail-content p{
  margin:0 0 16px;
  line-height:2;
  overflow-wrap:anywhere
}
.detail-content ul,.detail-content ol{
  padding-left:1.5em;
  margin:12px 0 19px
}
.detail-content li{
  padding-left:3px;
  margin:5px 0
}
.detail-content strong{
  font-weight:650;
  color:var(--ink)
}
.detail-content a:not(.btn){
  color:var(--disk-hot);
  text-underline-offset:3px;
  overflow-wrap:anywhere
}
.detail-content blockquote{
  margin:20px 0;
  padding:12px 17px;
  border-left:3px solid var(--rim);
  border-radius:0 6px 6px 0;
  background:var(--void);
  font-size:14px;
  color:var(--ink-dim)
}
.detail-content blockquote>p:last-child{
  margin-bottom:0
}
.detail-content img{
  max-width:100%;
  height:auto;
  border-radius:7px;
  display:block;
  margin:18px auto
}
.detail-content table{
  display:block;
  width:100%;
  overflow:auto;
  border-collapse:collapse;
  font-size:13px;
  line-height:1.8;
  margin:18px 0
}
.detail-content th,.detail-content td{
  border:1px solid var(--rim);
  padding:10px 13px;
  text-align:left;
  vertical-align:top;
  min-width:100px
}
.detail-content th{
  background:var(--void);
  font-weight:600
}
.detail-content pre{
  max-width:100%;
  overflow:auto;
  padding:16px;
  border:1px solid var(--rim);
  border-radius:7px;
  background:var(--void);
  font-size:12px;
  line-height:1.8
}
.detail-content code{
  font-family:Consolas,Microsoft YaHei,monospace;
  font-size:.9em;
  background:var(--void);
  padding:2px 4px;
  border-radius:3px
}
.detail-content pre code{
  padding:0
}
.detail-content hr{
  border:0;
  border-top:1px solid var(--rim);
  margin:26px 0
}
.detail-section{
  padding:0;
  margin:26px 0;
  scroll-margin-top:90px
}
.detail-section>h2{
  margin-top:0
}
.detail-facts{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:0;
  margin:0 0 24px;
  padding:5px 16px;
  background:var(--void);
  border:1px solid var(--rim);
  border-radius:7px
}
.detail-facts>div{
  padding:11px 6px;
  min-width:0
}
.detail-facts dt{
  font-size:11px;
  color:var(--ink-dim)
}
.detail-facts dd{
  margin:4px 0 0;
  font-size:13px;
  line-height:1.8;
  color:var(--ink)
}
.detail-challenge{
  border-left:3px solid var(--detail-accent);
  background:var(--void);
  padding:14px 17px;
  border-radius:0 7px 7px 0;
  font-size:14px;
  line-height:1.95
}
.detail-steps{
  list-style:none!important;
  padding:0!important;
  display:grid;
  gap:12px;
  counter-reset:steps
}
.detail-steps>li{
  counter-increment:steps;
  display:grid;
  grid-template-columns:29px minmax(0,1fr);
  gap:12px;
  padding:0!important;
  margin:0
}
.detail-steps>li:before{
  content:counter(steps,decimal-leading-zero);
  display:grid;
  place-items:center;
  align-self:start;
  width:29px;
  height:29px;
  margin-top:3px;
  border-radius:6px;
  background:color-mix(in srgb,var(--detail-accent) 9%,var(--void-2));
  font-size:12px;
  line-height:1;
  font-weight:600;
  color:var(--detail-accent)
}
.detail-steps b{
  font-size:15px;
  display:block;
  line-height:1.9;
  margin-bottom:4px
}
.detail-steps p{
  font-size:14px;
  margin:0;
  color:var(--ink-dim)
}
.detail-outcomes{
  list-style:disc;
  margin:0!important;
  padding-left:1.5em!important
}
.detail-note{
  font-size:12px!important;
  color:var(--ink-dim);
  background:var(--void);
  border:1px solid var(--rim);
  padding:11px 14px;
  border-radius:6px;
  line-height:1.9!important;
  margin-top:16px!important
}
.detail-quote cite{
  display:block;
  font-size:12px;
  font-style:normal;
  margin-top:8px
}
.detail-download{
  padding:20px;
  border:1px solid var(--rim);
  border-radius:9px;
  background:var(--void);
  margin-top:14px
}
.detail-download>p{
  font-size:13px;
  color:var(--ink-dim);
  margin-bottom:16px
}
.detail-form{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px
}
.detail-form .detail-form-wide,.detail-form .ins-err,.detail-form .btn{
  grid-column:1/-1
}
.detail-form .ins-err{
  min-height:0;
  font-size:12px
}
.detail-form .btn{
  justify-content:center;
  border-radius:6px;
  min-height:38px
}
.detail-faq .faq{
  max-width:none
}
.detail-faq .faq summary{
  justify-content:flex-start;
  text-align:left;
  padding:11px 24px 11px 0;
  font-size:14px
}
.detail-faq .faq details{
  padding:0 15px;
  border-radius:7px
}
.detail-faq .faq details>p{
  font-size:13px;
  text-align:left;
  padding:0;
  max-width:none
}
.detail-end{
  margin-top:26px;
  padding-top:18px;
  border-top:1px solid var(--rim);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  font-size:11px;
  color:var(--ink-dim)
}
.detail-end .btn{
  font-size:12px;
  border-radius:6px;
  padding:10px 14px
}
.detail-aside{
  position:sticky;
  top:84px;
  display:grid;
  gap:16px
}
.detail-side-box{
  padding:18px;
  border:1px solid var(--rim);
  border-radius:10px;
  background:var(--void-2)
}
.detail-side-box h2{
  font-size:15px;
  font-weight:600;
  line-height:1.6;
  letter-spacing:0;
  margin:0 0 12px
}
.detail-toc{
  display:grid;
  gap:3px;
  max-height:45vh;
  overflow:auto;
  counter-reset:toc-section
}
.detail-toc a{
  display:block;
  padding:7px 10px;
  font-size:12px;
  line-height:1.7;
  text-decoration:none;
  color:var(--ink-dim);
  border-left:2px solid transparent;
  counter-increment:toc-section
}
.detail-toc a:before{
  content:counter(toc-section,cjk-ideographic) "、"
}
.detail-toc a:hover,.detail-toc a.is-current{
  color:var(--disk);
  background:var(--void);
  border-left-color:var(--disk);
  border-radius:0 4px 4px 0
}
.detail-side-links{
  display:grid;
  gap:0
}
.detail-side-links a{
  font-size:12px;
  line-height:1.85;
  text-decoration:none;
  color:var(--ink);
  padding:10px 0;
  border-top:1px solid var(--rim)
}
.detail-side-links small{
  display:block;
  font-size:10px;
  color:var(--ink-dim);
  margin-top:4px
}
.detail-side-links a:hover{
  color:var(--disk)
}
.detail-side-cta{
  background:linear-gradient(130deg,color-mix(in srgb,var(--disk) 8%,var(--void-2)),var(--void-2))
}
.detail-side-cta p{
  font-size:12px;
  line-height:1.9;
  color:var(--ink-dim);
  margin:0 0 15px
}
.detail-side-cta .btn{
  font-size:12px;
  padding:11px 14px;
  border-radius:6px
}
.detail-main{
  min-width:0
}
.detail-related{
  padding:22px 0 0
}
.detail-related>h2{
  font-size:20px;
  line-height:1.6;
  margin:0 0 13px;
  letter-spacing:0
}
.detail-related-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px
}
.detail-related-grid.is-single{
  grid-template-columns:minmax(0,1fr)
}
.detail-related-card{
  display:grid;
  grid-template-columns:112px minmax(0,1fr);
  gap:14px;
  align-items:start;
  border:1px solid var(--rim);
  border-radius:9px;
  padding:12px;
  background:var(--void-2);
  text-decoration:none;
  transition:border-color .15s
}
.detail-related-grid.is-single .detail-related-card{
  grid-template-columns:144px minmax(0,1fr)
}
.detail-related-thumb{
  position:relative;
  width:100%;
  aspect-ratio:4/3;
  border-radius:6px;
  overflow:hidden;
  background:var(--void)
}
.detail-related-thumb img{
  position:absolute;
  inset:0;
  display:block;
  width:100%;
  height:100%;
  object-fit:cover
}
.detail-related-copy{
  min-width:0
}
.detail-related-card h3{
  font-size:14px;
  line-height:1.7;
  margin:0 0 7px;
  font-weight:600;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden
}
.detail-related-copy>p{
  font-size:12px;
  line-height:1.8;
  color:var(--ink-dim);
  margin:0 0 10px;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden
}
.detail-related-meta{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  flex-wrap:wrap
}
.detail-related-meta strong{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:29px;
  padding:5px 11px;
  font-size:11px;
  font-weight:500;
  border-radius:5px;
  background:var(--disk);
  color:var(--on-disk);
  line-height:1.6
}
.detail-related-card time{
  font-size:10px;
  color:var(--ink-dim)
}
.detail-related-card:hover{
  border-color:var(--disk)
}
.detail-related-card:hover h3{
  color:var(--disk)
}
@media(max-width:1000px){
  .detail-layout{
    grid-template-columns:minmax(0,1fr) 230px;
    gap:18px
  }
  .detail-paper{
    padding:26px
  }
  .detail-heading h1{
    font-size:27px
  }
  .detail-related-grid{
    grid-template-columns:1fr
  }
}
@media(max-width:820px){
  .detail-layout{
    grid-template-columns:minmax(0,1fr)
  }
  .detail-aside{
    position:static;
    grid-template-columns:1fr 1fr
  }
  .detail-aside .detail-side-box:first-child{
    grid-column:1/-1
  }
  .detail-toc{
    max-height:none;
    grid-template-columns:1fr 1fr
  }
  .detail-related-grid{
    grid-template-columns:1fr 1fr
  }
}
@media(max-width:560px){
  .insight-detail{
    padding:16px 0 28px
  }
  .insight-detail .wrap{
    padding-inline:14px
  }
  .detail-paper{
    padding:20px
  }
  .detail-heading h1{
    font-size:23px;
    line-height:1.55
  }
  .detail-meta{
    gap:5px 12px
  }
  .detail-summary{
    font-size:13px;
    padding:11px 13px
  }
  .detail-content{
    font-size:14px;
    line-height:1.95
  }
  .detail-content h2,.detail-section>h2{
    font-size:19px
  }
  .detail-content h3{
    font-size:16px
  }
  .detail-facts,.detail-form,.detail-related-grid,.detail-aside,.detail-toc{
    grid-template-columns:1fr
  }
  .detail-form>*{
    grid-column:1!important
  }
  .detail-end{
    align-items:flex-start;
    flex-direction:column
  }
  .detail-related-card,.detail-related-grid.is-single .detail-related-card{
    grid-template-columns:96px minmax(0,1fr);
    gap:12px
  }
  .detail-related-card h3{
    font-size:13px
  }
}
