/**
 * 法律与政策页面共享样式：用户协议、隐私、Cookie、会员条款、ICP。
 * 用法：`<body class="legal-doc">`，保留 `.wrap` / `.back` / `.card` / `.warn` 结构。
 * 依赖：`design-tokens.css`、`suanyoutai-site-ui.css`（主题与全站基线）。
 */

html {
  scroll-behavior: smooth;
}

body.legal-doc {
  margin: 0;
  background: var(--dark-bg);
  color: var(--text-main);
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "PingFang SC", "Microsoft YaHei", sans-serif;
  line-height: 1.78;
  -webkit-font-smoothing: antialiased;
}

body.legal-doc .wrap {
  max-width: 900px;
  margin: 0 auto;
  padding: 40px 20px 80px;
}

body.legal-doc .back {
  margin-bottom: 20px;
  display: inline-block;
  color: var(--text-sub);
  text-decoration: none;
  font-size: 14px;
}

body.legal-doc .back:hover {
  color: var(--primary);
}

body.legal-doc h1 {
  font-size: clamp(28px, 4vw, 40px);
  line-height: 1.2;
  font-weight: 700;
  color: var(--primary);
  margin: 0 0 12px;
  letter-spacing: -0.02em;
}

body.legal-doc h2 {
  font-size: var(--font-lg, 1.25rem);
  font-weight: 650;
  color: var(--primary);
  margin: 0 0 12px;
}

body.legal-doc .wrap > p {
  margin: 0 0 14px;
  color: var(--text-main);
}

body.legal-doc .card p {
  margin: 0 0 12px;
  color: var(--text-main);
}

body.legal-doc .card p:last-child {
  margin-bottom: 0;
}

body.legal-doc a {
  color: var(--primary-2);
  text-decoration: none;
}

body.legal-doc a:hover {
  text-decoration: underline;
  text-underline-offset: 3px;
}

body.legal-doc .card {
  background: var(--card-bg);
  border: 1px solid var(--line);
  border-radius: 14px;
  padding: 22px 22px 18px;
  margin-bottom: 16px;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.12);
}

body.legal-doc .warn {
  color: #ffcf8b;
}

/* 浅色主题（原 legal-theme.css） */
:root[data-theme="light"] body.legal-doc {
  background: #f6f8ff !important;
  color: #0b1633 !important;
}

:root[data-theme="light"] body.legal-doc h1,
:root[data-theme="light"] body.legal-doc h2 {
  color: #304dff !important;
}

:root[data-theme="light"] body.legal-doc .wrap > p,
:root[data-theme="light"] body.legal-doc .card p {
  color: rgba(11, 22, 51, 0.88);
}

:root[data-theme="light"] body.legal-doc a {
  color: #1766d9 !important;
}

:root[data-theme="light"] body.legal-doc .back {
  color: rgba(11, 22, 51, 0.62);
}

:root[data-theme="light"] body.legal-doc .card {
  background: rgba(255, 255, 255, 0.94) !important;
  border-color: rgba(20, 28, 58, 0.14) !important;
  box-shadow: 0 10px 28px rgba(11, 22, 51, 0.06);
}

@media (prefers-color-scheme: light) {
  :root:not([data-theme]) body.legal-doc {
    background: #f6f8ff !important;
    color: #0b1633 !important;
  }
}

@media (max-width: 520px) {
  body.legal-doc .wrap {
    padding: 28px 16px 64px;
  }
}
