.page-privacy{
  --pv-line:rgba(143,163,186,.16);
  --pv-mono-s:11px;
}

.page-privacy .privacy-wrap{
  padding-block:clamp(22px,3.6vw,44px) clamp(56px,7vw,96px);
}

/* ---------- 首屏 ---------- */
.page-privacy .privacy-hero{
  display:grid;
  grid-template-columns:1fr;
  gap:24px;
  margin-bottom:clamp(24px,3.2vw,38px);
}
.page-privacy .privacy-hero .crumbs{
  margin-bottom:16px;
}
.page-privacy .privacy-title{
  font-size:clamp(2rem,5.4vw,3.4rem);
  line-height:1.06;
  letter-spacing:.02em;
  font-weight:800;
  color:var(--silver);
  margin:.24em 0 0;
}
.page-privacy .privacy-title::after{
  content:"";
  display:block;
  width:72px;
  height:3px;
  margin-top:20px;
  border-radius:2px;
  background:linear-gradient(90deg,var(--cyan),rgba(53,240,208,0));
}
.page-privacy .privacy-lede{
  margin:20px 0 0;
  max-width:56ch;
  color:var(--mist);
  font-size:clamp(.94rem,1.5vw,1.04rem);
  line-height:1.95;
}
.page-privacy .privacy-fact{
  border:1px solid var(--hair);
  border-radius:var(--r-lg);
  padding:20px 20px 18px;
  background:
    radial-gradient(120% 92% at 100% 0%,rgba(53,240,208,.13),transparent 62%),
    linear-gradient(180deg,rgba(22,35,61,.92),rgba(11,20,36,.92));
}
.page-privacy .fact-kicker{
  margin:0 0 14px;
  font-family:var(--font-mono);
  font-size:var(--pv-mono-s);
  letter-spacing:.24em;
  color:var(--cyan);
}
.page-privacy .fact-list{
  margin:0;
  padding:0;
  list-style:none;
  display:grid;
  gap:11px;
}
.page-privacy .fact-list li{
  display:flex;
  justify-content:space-between;
  gap:14px;
  padding-bottom:11px;
  border-bottom:1px dashed var(--pv-line);
  font-size:.84rem;
  line-height:1.6;
}
.page-privacy .fact-list li:last-child{
  padding-bottom:0;
  border-bottom:0;
}
.page-privacy .fact-k{
  flex:0 0 auto;
  color:var(--mist);
}
.page-privacy .fact-v{
  color:var(--silver);
  text-align:right;
}

/* ---------- 横幅 ---------- */
.page-privacy .privacy-banner{
  margin:0 0 clamp(28px,3.8vw,50px);
  border:1px solid var(--hair);
  border-radius:var(--r-xl);
  overflow:hidden;
  background:var(--night);
  line-height:0;
}
.page-privacy .privacy-banner img{
  display:block;
  width:100%;
  height:auto;
  max-width:100%;
  object-fit:cover;
}

/* ---------- 目录 + 正文 ---------- */
.page-privacy .privacy-layout{
  display:grid;
  grid-template-columns:1fr;
  gap:clamp(24px,3.4vw,38px);
}
.page-privacy .privacy-toc{
  border:1px solid var(--hair);
  border-radius:var(--r-lg);
  padding:16px;
  background:rgba(11,20,36,.72);
}
.page-privacy .toc-title{
  margin:0 0 12px;
  font-family:var(--font-mono);
  font-size:var(--pv-mono-s);
  letter-spacing:.2em;
  color:var(--mist);
}
.page-privacy .toc-list{
  margin:0;
  padding:0;
  list-style:none;
  display:grid;
  gap:2px;
}
.page-privacy .toc-link{
  display:flex;
  gap:10px;
  padding:9px 9px;
  border-radius:var(--r-md);
  color:var(--mist);
  font-size:.85rem;
  line-height:1.55;
  text-decoration:none;
  transition:color .2s var(--ease),background .2s var(--ease);
}
.page-privacy .toc-link:hover,
.page-privacy .toc-link:focus-visible{
  color:var(--silver);
  background:rgba(53,240,208,.09);
}
.page-privacy .toc-no{
  flex:0 0 auto;
  padding-top:2px;
  font-family:var(--font-mono);
  font-size:10px;
  letter-spacing:.08em;
  color:var(--cyan);
}
.page-privacy .toc-foot{
  margin-top:16px;
  padding-top:14px;
  border-top:1px solid var(--hair);
}
.page-privacy .toc-foot-label{
  margin:0 0 6px;
  font-family:var(--font-mono);
  font-size:10px;
  letter-spacing:.2em;
  color:var(--mist);
}
.page-privacy .toc-foot-line{
  margin:0 0 3px;
  font-family:var(--font-mono);
  font-size:.76rem;
  line-height:1.7;
  color:var(--cyan-mist);
  word-break:break-all;
}
@media (min-width:560px) and (max-width:1023px){
  .page-privacy .toc-list{
    grid-template-columns:1fr 1fr;
  }
}

/* ---------- 章节 ---------- */
.page-privacy .privacy-sec{
  padding-top:clamp(22px,3vw,32px);
  margin-top:clamp(28px,3.8vw,46px);
  border-top:1px solid var(--hair);
  scroll-margin-top:110px;
}
.page-privacy .privacy-sec:first-child{
  margin-top:0;
  padding-top:0;
  border-top:0;
}
.page-privacy .privacy-sec:target{
  border-top-color:rgba(53,240,208,.55);
}
.page-privacy .privacy-sec:target .sec-title{
  color:var(--cyan-mist);
}
.page-privacy .sec-head{
  display:flex;
  align-items:flex-start;
  gap:12px;
  margin-bottom:14px;
}
.page-privacy .sec-no{
  flex:0 0 auto;
  writing-mode:vertical-rl;
  text-orientation:upright;
  padding-top:4px;
  font-family:var(--font-mono);
  font-size:11px;
  letter-spacing:.16em;
  color:var(--cyan);
  white-space:nowrap;
}
.page-privacy .sec-title{
  margin:0;
  font-size:clamp(1.18rem,2.5vw,1.6rem);
  line-height:1.42;
  font-weight:700;
  letter-spacing:.01em;
  color:var(--silver);
}
.page-privacy .sec-lede{
  margin:0 0 20px;
  max-width:64ch;
  color:var(--mist);
  font-size:.94rem;
  line-height:1.95;
}
.page-privacy .sec-note{
  margin:18px 0 0;
  padding:12px 16px;
  border-left:2px solid var(--cyan);
  border-radius:0 var(--r-md) var(--r-md) 0;
  background:rgba(53,240,208,.06);
  color:var(--mist);
  font-size:.84rem;
  line-height:1.85;
}

/* ---------- 信息卡 ---------- */
.page-privacy .info-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:12px;
}
.page-privacy .info-card{
  padding:16px 16px 14px;
  border:1px solid var(--hair);
  border-radius:var(--r-md);
  background:linear-gradient(180deg,rgba(22,35,61,.72),rgba(11,20,36,.55));
  transition:border-color .25s var(--ease),transform .25s var(--ease);
}
.page-privacy .info-card:hover{
  border-color:rgba(53,240,208,.4);
  transform:translateY(-2px);
}
.page-privacy .info-title{
  display:flex;
  align-items:center;
  gap:8px;
  margin:0 0 8px;
  font-size:.93rem;
  font-weight:600;
  color:var(--cyan-mist);
}
.page-privacy .info-title::before{
  content:"";
  flex:0 0 auto;
  width:6px;
  height:6px;
  border-radius:50%;
  background:var(--cyan);
  box-shadow:0 0 10px var(--cyan-glow);
}
.page-privacy .info-body{
  margin:0;
  color:var(--mist);
  font-size:.85rem;
  line-height:1.85;
}

/* ---------- 用途列表 ---------- */
.page-privacy .use-list{
  margin:0;
  padding:0;
  list-style:none;
  border-top:1px solid var(--hair);
}
.page-privacy .use-item{
  display:grid;
  grid-template-columns:1fr;
  gap:5px;
  padding:14px 0 14px 14px;
  border-bottom:1px solid var(--hair);
  border-left:2px solid transparent;
  transition:border-color .25s var(--ease),background .25s var(--ease);
}
.page-privacy .use-item:hover{
  border-left-color:var(--cyan);
  background:linear-gradient(90deg,rgba(53,240,208,.07),transparent 72%);
}
.page-privacy .use-k{
  color:var(--silver);
  font-size:.9rem;
  font-weight:600;
}
.page-privacy .use-v{
  color:var(--mist);
  font-size:.87rem;
  line-height:1.82;
}

/* ---------- 同步卡 ---------- */
.page-privacy .sync-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:12px;
}
.page-privacy .sync-card{
  padding:16px;
  border:1px solid var(--hair);
  border-radius:var(--r-md);
  background:rgba(22,35,61,.52);
}
.page-privacy .sync-title{
  margin:0 0 8px;
  font-size:.92rem;
  font-weight:600;
  color:var(--silver);
}
.page-privacy .sync-body{
  margin:0;
  color:var(--mist);
  font-size:.85rem;
  line-height:1.82;
}

/* ---------- Cookie 偏好 ---------- */
.page-privacy .pref-list{
  display:grid;
  gap:10px;
}
.page-privacy .pref-row{
  position:relative;
  display:flex;
  align-items:flex-start;
  gap:16px;
  padding:16px;
  border:1px solid var(--hair);
  border-radius:var(--r-md);
  background:rgba(11,20,36,.6);
  cursor:pointer;
  transition:border-color .25s var(--ease);
}
.page-privacy .pref-row:hover{
  border-color:rgba(53,240,208,.34);
}
.page-privacy .pref-row--locked{
  cursor:default;
}
.page-privacy .pref-row--locked:hover{
  border-color:var(--hair);
}
.page-privacy .pref-copy{
  flex:1 1 auto;
  min-width:0;
}
.page-privacy .pref-title{
  display:block;
  margin-bottom:5px;
  font-size:.9rem;
  font-weight:600;
  color:var(--silver);
}
.page-privacy .pref-desc{
  display:block;
  color:var(--mist);
  font-size:.83rem;
  line-height:1.8;
}
.page-privacy .pref-input{
  position:absolute;
  opacity:0;
  width:0;
  height:0;
  pointer-events:none;
}
.page-privacy .pref-switch{
  position:relative;
  flex:0 0 auto;
  width:44px;
  height:24px;
  margin-top:2px;
  border-radius:var(--r-pill);
  background:rgba(143,163,186,.28);
  transition:background .25s var(--ease);
}
.page-privacy .pref-switch::after{
  content:"";
  position:absolute;
  top:3px;
  left:3px;
  width:18px;
  height:18px;
  border-radius:50%;
  background:var(--silver);
  transition:transform .25s var(--ease),background .25s var(--ease);
}
.page-privacy .pref-input:checked + .pref-switch{
  background:rgba(53,240,208,.38);
}
.page-privacy .pref-input:checked + .pref-switch::after{
  transform:translateX(20px);
  background:var(--cyan);
  box-shadow:0 0 12px var(--cyan-glow);
}
.page-privacy .pref-input:focus-visible + .pref-switch{
  outline:2px solid var(--cyan);
  outline-offset:3px;
}
.page-privacy .pref-lock{
  flex:0 0 auto;
  margin-top:1px;
  padding:4px 10px;
  border:1px solid rgba(255,196,107,.4);
  border-radius:var(--r-pill);
  font-family:var(--font-mono);
  font-size:10px;
  letter-spacing:.14em;
  color:var(--amber);
  white-space:nowrap;
}

/* ---------- 权利清单 ---------- */
.page-privacy .rights-list{
  margin:0;
  padding:0;
  list-style:none;
  display:grid;
  gap:12px;
}
.page-privacy .right-item{
  display:grid;
  grid-template-columns:1fr;
  gap:7px;
  padding:14px 16px;
  border:1px solid var(--hair);
  border-radius:var(--r-md);
  background:rgba(22,35,61,.45);
}
.page-privacy .right-tag{
  justify-self:start;
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:3px 12px;
  border:1px solid rgba(53,240,208,.42);
  border-radius:var(--r-pill);
  background:rgba(53,240,208,.1);
  font-size:.76rem;
  letter-spacing:.04em;
  color:var(--cyan-mist);
  white-space:nowrap;
}
.page-privacy .right-tag::before{
  content:"";
  flex:0 0 auto;
  width:5px;
  height:5px;
  border-radius:50%;
  background:var(--cyan);
}
.page-privacy .right-body{
  margin:0;
  color:var(--mist);
  font-size:.86rem;
  line-height:1.85;
}

/* ---------- 折叠说明 ---------- */
.page-privacy .privacy-details{
  margin-top:18px;
  padding:0 16px;
  border:1px solid var(--hair);
  border-radius:var(--r-md);
  background:rgba(11,20,36,.6);
}
.page-privacy .details-summary{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:14px 0;
  cursor:pointer;
  list-style:none;
  font-size:.88rem;
  color:var(--cyan-mist);
}
.page-privacy .details-summary::-webkit-details-marker{
  display:none;
}
.page-privacy .details-summary::after{
  content:"+";
  font-family:var(--font-mono);
  font-size:1rem;
  color:var(--cyan);
}
.page-privacy .privacy-details[open] .details-summary::after{
  content:"–";
}
.page-privacy .details-body{
  padding:0 0 16px;
  color:var(--mist);
  font-size:.85rem;
  line-height:1.9;
}
.page-privacy .details-body ul{
  margin:0;
  padding-left:18px;
}
.page-privacy .details-body li{
  margin-bottom:6px;
}

/* ---------- 收口 ---------- */
.page-privacy .privacy-end{
  margin-top:clamp(26px,3.6vw,40px);
  padding:clamp(20px,3vw,30px);
  border:1px solid rgba(255,154,77,.3);
  border-radius:var(--r-lg);
  background:
    radial-gradient(120% 120% at 0% 0%,rgba(255,154,77,.12),transparent 60%),
    linear-gradient(180deg,rgba(22,35,61,.86),rgba(11,20,36,.9));
}
.page-privacy .end-title{
  margin:0 0 10px;
  font-size:1.08rem;
  font-weight:700;
  color:var(--silver);
}
.page-privacy .end-body{
  margin:0 0 18px;
  color:var(--mist);
  font-size:.89rem;
  line-height:1.9;
}
.page-privacy .privacy-contact{
  margin:0 0 20px;
  display:grid;
  gap:10px;
}
.page-privacy .privacy-contact dd{
  margin:0;
  word-break:break-all;
}
.page-privacy .end-links{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}

/* ---------- 断点 ---------- */
@media (min-width:640px){
  .page-privacy .info-grid{
    grid-template-columns:1fr 1fr;
  }
}
@media (min-width:700px){
  .page-privacy .sync-grid{
    grid-template-columns:1fr 1fr;
  }
}
@media (min-width:720px){
  .page-privacy .right-item{
    grid-template-columns:104px minmax(0,1fr);
    gap:18px;
    align-items:start;
  }
}
@media (min-width:760px){
  .page-privacy .use-item{
    grid-template-columns:172px minmax(0,1fr);
    gap:20px;
    align-items:baseline;
    padding-left:18px;
  }
}
@media (min-width:960px){
  .page-privacy .privacy-hero{
    grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);
    gap:clamp(28px,4vw,52px);
    align-items:end;
  }
}
@media (min-width:1024px){
  .page-privacy .privacy-layout{
    grid-template-columns:minmax(180px,236px) minmax(0,1fr);
    gap:clamp(36px,4.6vw,62px);
    align-items:start;
  }
  .page-privacy .privacy-toc{
    position:sticky;
    top:104px;
  }
  .page-privacy .privacy-body{
    max-width:78ch;
  }
}
@media (prefers-reduced-motion:reduce){
  .page-privacy .info-card,
  .page-privacy .toc-link,
  .page-privacy .pref-row,
  .page-privacy .use-item,
  .page-privacy .pref-switch,
  .page-privacy .pref-switch::after{
    transition:none;
  }
  .page-privacy .info-card:hover{
    transform:none;
  }
}
