/* ===== 隐私中心 · 页面专属样式 ===== */
.page-privacy {
  --priv-toc-w: 15rem;
  --priv-line: var(--line-ice);
  padding-block: clamp(1rem, 3vw, 1.75rem) clamp(3rem, 8vw, 6.5rem);
  background: var(--c-night);
}

/* 面包屑 */
.page-privacy .breadcrumb {
  margin: 0 0 clamp(1rem, 3vw, 1.6rem);
}
.page-privacy .breadcrumb ol {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  gap: .35rem .6rem;
  margin: 0;
  padding: 0;
  font-family: var(--font-num);
  font-size: .74rem;
  letter-spacing: .06em;
  color: var(--c-grit);
}
.page-privacy .breadcrumb li {
  display: flex;
  align-items: center;
  gap: .6rem;
}
.page-privacy .breadcrumb li + li::before {
  content: "/";
  color: var(--c-steel);
}
.page-privacy .breadcrumb a {
  color: var(--c-grit);
  text-decoration: none;
  border-bottom: 1px solid transparent;
  transition: color var(--t) var(--ease), border-color var(--t) var(--ease);
}
.page-privacy .breadcrumb a:hover,
.page-privacy .breadcrumb a:focus-visible {
  color: var(--c-neon);
  border-bottom-color: var(--c-neon);
}

/* 首屏 */
.page-privacy .priv-hero {
  display: grid;
  gap: clamp(1.25rem, 4vw, 2.75rem);
  padding-top: clamp(1.1rem, 3vw, 1.9rem);
  border-top: 1px solid var(--priv-line);
}
.page-privacy .priv-hero h1 {
  font-family: var(--font-display);
  font-weight: 900;
  font-size: clamp(2.05rem, 7.4vw, 4rem);
  line-height: 1.04;
  letter-spacing: -.02em;
  color: var(--c-frost);
  margin: .55rem 0 0;
}
.page-privacy .priv-lede {
  margin: 1rem 0 0;
  max-width: 34rem;
  color: var(--c-body);
  font-size: clamp(.98rem, 2.2vw, 1.08rem);
  line-height: 1.85;
}
.page-privacy .priv-tags {
  list-style: none;
  margin: 1.3rem 0 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
}
.page-privacy .priv-hero-media {
  margin: 0;
  border: 1px solid var(--priv-line);
  background: var(--c-snow-deep);
}
.page-privacy .priv-hero-media img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 5 / 3;
  object-fit: cover;
  filter: saturate(.82) contrast(1.06);
}
@media (min-width: 980px) {
  .page-privacy .priv-hero {
    grid-template-columns: minmax(0, 1.12fr) minmax(0, .88fr);
    align-items: center;
  }
}

/* 版本细线队列 */
.page-privacy .priv-ruler-wrap {
  margin-top: clamp(1.6rem, 4vw, 2.6rem);
  border-top: 1px solid var(--line-soft);
  border-bottom: 1px solid var(--line-soft);
  padding-block: .65rem;
  display: flex;
  align-items: center;
  gap: clamp(.75rem, 3vw, 1.6rem);
}
.page-privacy .priv-ruler-label {
  flex: 0 0 auto;
  margin: 0;
  font-family: var(--font-num);
  font-size: .7rem;
  letter-spacing: .12em;
  color: var(--c-grit);
}
.page-privacy .priv-ruler {
  list-style: none;
  margin: 0;
  padding: 0 0 .15rem;
  display: flex;
  gap: clamp(.85rem, 3.2vw, 2rem);
  overflow-x: auto;
  scrollbar-width: none;
}
.page-privacy .priv-ruler::-webkit-scrollbar {
  display: none;
}
.page-privacy .priv-tick {
  display: flex;
  align-items: baseline;
  gap: .35rem;
  white-space: nowrap;
}
.page-privacy .priv-tick-num {
  font-family: var(--font-num);
  font-size: .86rem;
  letter-spacing: .08em;
  color: var(--c-grit);
}
.page-privacy .priv-tick-label {
  font-size: .68rem;
  color: var(--c-grit);
  opacity: .75;
}
.page-privacy .priv-tick.is-active .priv-tick-num,
.page-privacy .priv-tick.is-active .priv-tick-label {
  color: var(--c-neon);
  opacity: 1;
}
.page-privacy .priv-print-hint {
  margin: .85rem 0 0;
  font-family: var(--font-num);
  font-size: .72rem;
  letter-spacing: .03em;
  color: var(--c-grit);
}

/* 目录 + 条文 双栏 */
.page-privacy .priv-layout {
  display: grid;
  gap: clamp(1.5rem, 4vw, 3rem);
  margin-top: clamp(2rem, 5vw, 3.25rem);
}
.page-privacy .priv-toc {
  border: 1px solid var(--priv-line);
  background: linear-gradient(180deg, rgba(18, 46, 69, .9), rgba(11, 27, 43, .55));
  padding: 1rem .85rem 1.1rem;
}
.page-privacy .priv-toc .eyebrow {
  margin: 0 0 .75rem .5rem;
}
.page-privacy .priv-toc-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 1px;
}
.page-privacy .toc-link {
  display: grid;
  grid-template-columns: 2.1rem minmax(0, 1fr);
  align-items: baseline;
  gap: .5rem;
  padding: .55rem .5rem;
  color: var(--c-body);
  text-decoration: none;
  font-size: .9rem;
  border-left: 2px solid transparent;
  border-bottom: 1px solid var(--line-soft);
  transition: color var(--t) var(--ease), border-color var(--t) var(--ease), background var(--t) var(--ease);
}
.page-privacy .toc-num {
  font-family: var(--font-num);
  font-size: .74rem;
  letter-spacing: .08em;
  color: var(--c-violet);
}
.page-privacy .toc-link:hover,
.page-privacy .toc-link:focus-visible,
.page-privacy .toc-link.is-current {
  color: var(--c-frost);
  border-left-color: var(--c-neon);
  background: rgba(43, 232, 176, .08);
}
.page-privacy .toc-link:hover .toc-num,
.page-privacy .toc-link.is-current .toc-num {
  color: var(--c-neon);
}
@media (min-width: 1000px) {
  .page-privacy .priv-layout {
    grid-template-columns: var(--priv-toc-w) minmax(0, 1fr);
    align-items: start;
  }
  .page-privacy .priv-toc {
    position: sticky;
    top: calc(var(--header-h-sm) + 1.15rem);
  }
}

/* 条文 */
.page-privacy .priv-clause {
  border-top: 1px solid var(--priv-line);
  padding-block: clamp(1.7rem, 4vw, 2.8rem);
}
.page-privacy .priv-clause:first-child {
  padding-top: 0;
  border-top-color: transparent;
}
.page-privacy .clause-head {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: baseline;
  gap: .55rem 1rem;
  margin-bottom: 1.05rem;
}
.page-privacy .clause-num {
  font-family: var(--font-num);
  font-size: clamp(1.4rem, 4vw, 2.15rem);
  font-weight: 700;
  line-height: 1;
  letter-spacing: .08em;
  color: var(--c-violet);
}
.page-privacy .clause-title {
  margin: 0;
  font-family: var(--font-display);
  font-weight: 800;
  font-size: clamp(1.1rem, 2.6vw, 1.45rem);
  letter-spacing: -.01em;
  color: var(--c-frost);
}
.page-privacy .clause-sub {
  margin: 0 0 .25rem;
  font-size: .95rem;
  font-weight: 700;
  color: var(--c-ice);
}
.page-privacy .priv-clause .prose p {
  margin: 0 0 .85rem;
  color: var(--c-body);
}
.page-privacy .priv-clause .prose p:last-child {
  margin-bottom: 0;
}

/* 定义型条文行 */
.page-privacy .priv-defs {
  margin: 1rem 0 0;
  display: grid;
  border-top: 1px solid var(--line-soft);
}
.page-privacy .priv-def {
  display: grid;
  gap: .3rem;
  padding: .85rem 0;
  border-bottom: 1px solid var(--line-soft);
}
.page-privacy .priv-def dt {
  font-family: var(--font-num);
  font-size: .78rem;
  letter-spacing: .08em;
  color: var(--c-ice);
}
.page-privacy .priv-def dd {
  margin: 0;
  color: var(--c-body);
  line-height: 1.78;
  font-size: .96rem;
}
@media (min-width: 720px) {
  .page-privacy .priv-def {
    grid-template-columns: minmax(0, 10rem) minmax(0, 1fr);
    gap: 1.5rem;
    align-items: baseline;
  }
}

/* 编号条文列表 */
.page-privacy .clause-list {
  list-style: none;
  counter-reset: priv-item;
  margin: 1rem 0 0;
  padding: 0;
  display: grid;
  border-top: 1px solid var(--line-soft);
}
.page-privacy .clause-list > li {
  counter-increment: priv-item;
  display: grid;
  grid-template-columns: 2.2rem minmax(0, 1fr);
  gap: .25rem .8rem;
  padding: .9rem 0;
  border-bottom: 1px solid var(--line-soft);
}
.page-privacy .clause-list > li::before {
  content: counter(priv-item, decimal-leading-zero);
  font-family: var(--font-num);
  font-size: .76rem;
  letter-spacing: .08em;
  color: var(--c-neon);
  padding-top: .28rem;
}
.page-privacy .clause-list > li > .clause-sub,
.page-privacy .clause-list > li > p {
  grid-column: 2;
}
.page-privacy .clause-list > li > p {
  margin: 0;
  color: var(--c-body);
  font-size: .96rem;
  line-height: 1.78;
}
.page-privacy .clause-list--steps > li::before {
  color: var(--c-orange);
}

/* 折叠细节 */
.page-privacy .priv-more {
  margin-top: 1.1rem;
  border: 1px solid var(--line-soft);
  background: rgba(18, 46, 69, .5);
}
.page-privacy .priv-more summary {
  display: flex;
  align-items: center;
  gap: .6rem;
  padding: .8rem 1rem;
  cursor: pointer;
  list-style: none;
  font-size: .92rem;
  font-weight: 600;
  color: var(--c-frost);
  transition: background var(--t) var(--ease), color var(--t) var(--ease);
}
.page-privacy .priv-more summary::-webkit-details-marker {
  display: none;
}
.page-privacy .priv-more summary::before {
  content: "+";
  font-family: var(--font-num);
  font-size: 1.05rem;
  line-height: 1;
  color: var(--c-neon);
}
.page-privacy .priv-more summary:hover,
.page-privacy .priv-more summary:focus-visible {
  background: rgba(43, 232, 176, .09);
}
.page-privacy .priv-more[open] summary {
  border-bottom: 1px solid var(--line-soft);
}
.page-privacy .priv-more[open] summary::before {
  content: "\2212";
}
.page-privacy .priv-more-body {
  padding: .9rem 1rem 1.05rem;
}
.page-privacy .priv-more-body p {
  margin: 0;
  color: var(--c-body);
  font-size: .94rem;
  line-height: 1.8;
}

/* 数据流示意 */
.page-privacy .priv-flow-wrap {
  margin: 1.4rem 0 0;
  border: 1px solid var(--line-soft);
  background: linear-gradient(135deg, rgba(106, 76, 255, .1), rgba(11, 27, 43, .2) 45%, rgba(43, 232, 176, .08));
  padding: 1rem;
}
.page-privacy .priv-flow {
  display: block;
  width: 100%;
  height: auto;
}
.page-privacy .priv-flow-wrap figcaption {
  margin-top: .8rem;
  font-size: .82rem;
  line-height: 1.7;
  color: var(--c-grit);
}

/* 联系区 */
.page-privacy .priv-contact {
  margin-top: 1.15rem;
  display: grid;
  gap: 1px;
  background: var(--line-soft);
  border: 1px solid var(--line-soft);
}
.page-privacy .pc-item {
  background: rgba(18, 46, 69, .72);
  padding: 1rem 1.05rem;
  display: grid;
  gap: .4rem;
}
.page-privacy .pc-key {
  margin: 0;
  font-family: var(--font-num);
  font-size: .7rem;
  letter-spacing: .12em;
  color: var(--c-grit);
}
.page-privacy .pc-val {
  margin: 0;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .5rem .75rem;
  color: var(--c-frost);
  font-size: 1rem;
  line-height: 1.6;
  word-break: break-word;
}
.page-privacy .pc-val a {
  color: var(--c-ice);
  text-decoration: none;
  border-bottom: 1px solid var(--line-ice);
  transition: color var(--t) var(--ease), border-color var(--t) var(--ease);
}
.page-privacy .pc-val a:hover,
.page-privacy .pc-val a:focus-visible {
  color: var(--c-neon);
  border-bottom-color: var(--c-neon);
}
.page-privacy .pc-note {
  flex: 1 0 100%;
  font-size: .8rem;
  color: var(--c-grit);
}
@media (min-width: 760px) {
  .page-privacy .priv-contact {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* 行动带 */
.page-privacy .priv-cta {
  margin-top: 1.4rem;
}
.page-privacy .priv-cta p {
  margin: 0;
}
.page-privacy .priv-cta-actions {
  display: flex;
  flex-wrap: wrap;
  gap: .65rem;
  margin-top: .9rem;
}

/* 相关入口 */
.page-privacy .priv-related {
  list-style: none;
  margin: 1.4rem 0 0;
  padding: 0;
  display: grid;
  gap: .55rem;
  border-top: 1px solid var(--line-soft);
  padding-top: 1.1rem;
}
.page-privacy .priv-related a {
  display: inline-flex;
  align-items: center;
  gap: .55rem;
  color: var(--c-body);
  text-decoration: none;
  font-size: .92rem;
  border-bottom: 1px solid transparent;
  transition: color var(--t) var(--ease), border-color var(--t) var(--ease);
  width: fit-content;
}
.page-privacy .priv-related a::before {
  content: "\2192";
  font-family: var(--font-num);
  color: var(--c-violet);
}
.page-privacy .priv-related a:hover,
.page-privacy .priv-related a:focus-visible {
  color: var(--c-frost);
  border-bottom-color: var(--c-neon);
}

/* 打印样式 */
@media print {
  .page-privacy {
    background: #fff;
    padding-block: 0;
  }
  .page-privacy .priv-toc,
  .page-privacy .priv-ruler-wrap,
  .page-privacy .priv-print-hint,
  .page-privacy .priv-hero-media,
  .page-privacy .priv-flow-wrap,
  .page-privacy .priv-cta,
  .page-privacy .copy-btn {
    display: none !important;
  }
  .page-privacy .priv-layout {
    display: block;
    margin-top: 1rem;
  }
  .page-privacy .priv-clause {
    border-top-color: #ccc;
    padding-block: 1rem;
  }
  .page-privacy .clause-num,
  .page-privacy .toc-num,
  .page-privacy .priv-tick-num {
    color: #444;
  }
  .page-privacy h1,
  .page-privacy .clause-title,
  .page-privacy .clause-sub,
  .page-privacy .priv-def dt,
  .page-privacy .priv-def dd,
  .page-privacy .pc-val,
  .page-privacy .clause-list > li > p,
  .page-privacy .priv-more-body p,
  .page-privacy .priv-clause .prose p {
    color: #000;
  }
  .page-privacy .priv-def,
  .page-privacy .clause-list,
  .page-privacy .clause-list > li,
  .page-privacy .priv-contact,
  .page-privacy .pc-item {
    border-color: #ccc;
    background: #fff;
  }
}

/* 减弱动效偏好 */
@media (prefers-reduced-motion: reduce) {
  .page-privacy .toc-link,
  .page-privacy .priv-more summary,
  .page-privacy .pc-val a,
  .page-privacy .priv-related a,
  .page-privacy .breadcrumb a {
    transition-duration: 0ms;
  }
}
