.page-privacy{
  --pp-rail:216px;
  --pp-measure:700px;
  --pp-gap:clamp(28px,4.4vw,64px);
  display:block;
}

/* ---------- 页首 ---------- */
.page-privacy .policy-hero{
  position:relative;
  padding:clamp(30px,5vw,62px) 0 clamp(24px,3.4vw,38px);
  background:
    radial-gradient(130% 96% at 88% -12%, rgba(27,62,99,.95) 0%, rgba(10,26,47,0) 62%),
    linear-gradient(176deg,#08182b 0%, var(--night) 60%, #071522 100%);
  border-bottom:1px solid var(--line);
  overflow:hidden;
}
.page-privacy .policy-hero::before{
  content:"";
  position:absolute;
  inset:0;
  background-image:
    linear-gradient(to right, var(--line) 1px, transparent 1px),
    linear-gradient(to bottom, var(--line) 1px, transparent 1px);
  background-size:96px 96px;
  opacity:.55;
  -webkit-mask-image:linear-gradient(180deg, rgba(0,0,0,.9), transparent 78%);
  mask-image:linear-gradient(180deg, rgba(0,0,0,.9), transparent 78%);
  pointer-events:none;
}
.page-privacy .policy-hero__inner{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:clamp(18px,2.6vw,30px);
}
.page-privacy h1{
  margin:14px 0 0;
  font-family:var(--font-head);
  font-weight:900;
  font-size:clamp(29px,5vw,50px);
  line-height:1.12;
  letter-spacing:-.01em;
  color:var(--paper);
}
.page-privacy .policy-hero__lead .lede{
  margin:16px 0 0;
  max-width:60ch;
  font-size:16px;
  line-height:1.85;
  color:var(--ink-soft);
}
.page-privacy .policy-hero__meta{
  display:grid;
  gap:1px;
  background:var(--line);
  border:1px solid var(--line);
}
.page-privacy .policy-hero__meta-item{
  display:grid;
  gap:5px;
  padding:12px 15px;
  background:rgba(18,48,79,.74);
}
.page-privacy .policy-hero__meta-key{
  font-size:11px;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--mint);
}
.page-privacy .policy-hero__meta-val{
  font-size:13.5px;
  line-height:1.6;
  color:var(--ink-soft);
  word-break:break-word;
}
.page-privacy .policy-hero__figure{
  position:relative;
  z-index:1;
  margin:clamp(22px,3.4vw,40px) 0 0;
  border:1px solid var(--line);
  background:var(--board);
  overflow:hidden;
}
.page-privacy .policy-hero__figure::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, rgba(10,26,47,.06) 0%, rgba(10,26,47,.76) 100%);
  pointer-events:none;
}
.page-privacy .policy-hero__figure img{
  display:block;
  width:100%;
  max-width:100%;
  height:clamp(180px,25vw,300px);
  object-fit:cover;
  filter:saturate(.62) contrast(1.06) brightness(.86);
}
.page-privacy .policy-hero__figcap{
  position:absolute;
  left:16px;
  right:16px;
  bottom:12px;
  z-index:2;
  margin:0;
  font-size:11.5px;
  line-height:1.5;
  letter-spacing:.06em;
  color:var(--ink-dim);
}

/* ---------- 正文区 ---------- */
.page-privacy .policy-body{
  position:relative;
  padding:clamp(34px,5vw,68px) 0 clamp(46px,6.4vw,90px);
  background:linear-gradient(180deg, rgba(18,48,79,.30) 0%, rgba(10,26,47,0) 260px);
}
.page-privacy .policy-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:clamp(24px,3.4vw,40px);
}
.page-privacy .policy-main{
  min-width:0;
  max-width:var(--pp-measure);
}

/* ---------- 目录 ---------- */
.page-privacy .policy-toc__title{
  margin:0 0 12px;
  font-size:11px;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--rock-deep);
}
.page-privacy .policy-toc__list{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin:0;
  padding:0;
  list-style:none;
}
.page-privacy .policy-toc__link{
  display:block;
  padding:8px 12px;
  font-family:var(--font-mono);
  font-size:12px;
  line-height:1.35;
  letter-spacing:.02em;
  color:var(--ink-dim);
  text-decoration:none;
  border:1px solid var(--line);
  border-left:2px solid transparent;
  background:rgba(27,62,99,.24);
  transition:color var(--dur) var(--ease), border-color var(--dur) var(--ease), background-color var(--dur) var(--ease);
}
.page-privacy .policy-toc__link:hover,
.page-privacy .policy-toc__link:focus-visible{
  color:var(--paper);
  border-left-color:var(--signal);
  background:rgba(27,62,99,.62);
}

/* ---------- 条款 ---------- */
.page-privacy .term{
  position:relative;
  padding-top:clamp(18px,2.4vw,26px);
  margin-bottom:clamp(26px,3.4vw,42px);
  border-top:1px solid var(--line);
  scroll-margin-top:calc(var(--header-h) + 18px);
}
.page-privacy .term:first-child{
  padding-top:0;
  border-top-color:transparent;
}
.page-privacy .term__head{
  display:flex;
  align-items:baseline;
  gap:clamp(10px,1.6vw,18px);
  margin-bottom:14px;
}
.page-privacy .term__num{
  flex:0 0 auto;
  font-family:var(--font-mono);
  font-weight:700;
  font-size:clamp(26px,4.2vw,42px);
  line-height:1;
  letter-spacing:-.02em;
  color:rgba(255,106,43,.88);
}
@supports (-webkit-text-stroke:1px rgba(255,106,43,.7)){
  .page-privacy .term__num{
    color:transparent;
    -webkit-text-stroke:1px rgba(255,106,43,.72);
  }
}
.page-privacy .term__title{
  margin:0;
  font-family:var(--font-head);
  font-weight:800;
  font-size:clamp(19px,2.6vw,27px);
  line-height:1.3;
  color:var(--paper);
}
.page-privacy .term__body p{
  margin:0 0 12px;
  font-size:15.5px;
  line-height:1.85;
  color:var(--ink-soft);
}
.page-privacy .term__body p:last-child{
  margin-bottom:0;
}
.page-privacy .term__body strong{
  color:var(--paper);
  font-weight:700;
}
.page-privacy .term__body ul{
  margin:14px 0 0;
  padding:0;
  list-style:none;
}
.page-privacy .term__body li{
  position:relative;
  padding-left:20px;
  margin-bottom:10px;
  font-size:15px;
  line-height:1.82;
  color:var(--ink-soft);
}
.page-privacy .term__body li:last-child{
  margin-bottom:0;
}
.page-privacy .term__body li::before{
  content:"";
  position:absolute;
  left:0;
  top:.76em;
  width:9px;
  height:1px;
  background:var(--signal);
}
.page-privacy .term__body .mono{
  font-size:.95em;
  color:var(--gold);
  word-break:break-all;
}

/* ---------- 权利折叠项 ---------- */
.page-privacy .right-item{
  margin:0 0 10px;
  border:1px solid var(--line);
  background:rgba(27,62,99,.30);
  transition:border-color var(--dur) var(--ease), background-color var(--dur) var(--ease);
}
.page-privacy .right-item[open]{
  border-color:rgba(47,224,176,.34);
  background:rgba(27,62,99,.52);
}
.page-privacy .right-item summary{
  display:flex;
  align-items:center;
  gap:10px;
  padding:13px 16px;
  font-size:14.5px;
  font-weight:600;
  line-height:1.5;
  color:var(--paper);
  cursor:pointer;
  list-style:none;
}
.page-privacy .right-item summary::-webkit-details-marker{
  display:none;
}
.page-privacy .right-item summary::marker{
  content:"";
}
.page-privacy .right-item summary::after{
  content:"＋";
  margin-left:auto;
  font-family:var(--font-mono);
  font-size:13px;
  color:var(--mint);
}
.page-privacy .right-item[open] summary::after{
  content:"−";
}
.page-privacy .right-item p{
  margin:0;
  padding:12px 16px 15px;
  border-top:1px solid var(--line);
  font-size:14.5px;
  line-height:1.8;
  color:var(--ink-dim);
}

/* ---------- 脚注 ---------- */
.page-privacy .policy-foot{
  display:grid;
  gap:16px;
  margin-top:clamp(30px,4vw,48px);
  padding-top:20px;
  border-top:1px solid var(--line-strong);
}
.page-privacy .policy-foot__note{
  margin:0;
  font-size:11.5px;
  line-height:1.9;
  letter-spacing:.04em;
  color:var(--rock-deep);
}
.page-privacy .policy-foot__actions{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:10px 22px;
}
.page-privacy .policy-link{
  font-size:13.5px;
  font-weight:600;
  color:var(--ink-soft);
  text-decoration:none;
  padding-bottom:2px;
  border-bottom:1px solid var(--line-strong);
  transition:color var(--dur) var(--ease), border-color var(--dur) var(--ease);
}
.page-privacy .policy-link:hover,
.page-privacy .policy-link:focus-visible{
  color:var(--signal);
  border-bottom-color:var(--signal);
}
.page-privacy .policy-link--top{
  margin-left:auto;
  font-family:var(--font-mono);
  font-size:12px;
  letter-spacing:.06em;
}

/* ---------- 断点 ---------- */
@media (min-width:880px){
  .page-privacy .policy-hero__inner{
    grid-template-columns:minmax(0,1.06fr) minmax(0,.94fr);
    column-gap:var(--pp-gap);
    align-items:end;
  }
  .page-privacy .policy-hero__lead{
    grid-column:1;
    grid-row:1;
  }
  .page-privacy .policy-hero__meta{
    grid-column:2;
    grid-row:1;
    align-self:end;
  }
}
@media (min-width:940px){
  .page-privacy .policy-layout{
    grid-template-columns:var(--pp-rail) minmax(0,1fr);
    column-gap:var(--pp-gap);
    align-items:start;
  }
  .page-privacy .policy-toc{
    position:sticky;
    top:calc(var(--header-h) + 22px);
    max-height:calc(100vh - var(--header-h) - 48px);
    overflow:auto;
  }
  .page-privacy .policy-toc__list{
    display:block;
  }
  .page-privacy .policy-toc__list li{
    margin-bottom:3px;
  }
}
@media (max-width:520px){
  .page-privacy .policy-hero__figure img{
    height:170px;
  }
  .page-privacy .policy-link--top{
    margin-left:0;
  }
  .page-privacy .policy-toc__link{
    font-size:11.5px;
    padding:7px 10px;
  }
}
