/* ============================================================
   CardCompass 法律 / 支持页 — 复用 style.css 的 :root token
   文档级排版，独立于主站动效，纯静态可被审核员直接阅读
   ============================================================ */

/* ---- 顶部精简导航 ---- */
.legal-nav {
  position: sticky; top: 0; z-index: 100;
  background: rgba(5, 5, 7, 0.72);
  backdrop-filter: saturate(180%) blur(20px);
  -webkit-backdrop-filter: saturate(180%) blur(20px);
  border-bottom: 1px solid var(--border);
}
.legal-nav-inner {
  max-width: 1080px; margin: 0 auto;
  height: var(--nav-h); padding: 0 28px;
  display: flex; align-items: center; justify-content: space-between;
}
.legal-back {
  font-size: 14px; color: var(--text-dim); font-weight: 500;
  transition: color 0.25s;
}
.legal-back:hover { color: var(--text); }
.legal-nav-right { display: flex; align-items: center; gap: 14px; }

/* 中英整块显隐（由 <html class> 控制，切换无闪烁） */
html.lang-en [data-doc="zh"],
html.lang-zh [data-doc="en"] { display: none; }

/* ---- 文档容器 ---- */
.legal-wrap {
  max-width: 820px; margin: 0 auto;
  padding: clamp(46px, 8vw, 92px) 28px 24px;
}
.legal-kicker {
  font-size: 13px; font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase;
  background: var(--grad-main); -webkit-background-clip: text; background-clip: text; color: transparent;
  margin-bottom: 16px;
}
.legal-title {
  font-size: clamp(34px, 5vw, 52px); font-weight: 680; letter-spacing: -0.026em;
  line-height: 1.05;
}
.legal-meta {
  margin-top: 18px; color: var(--text-faint); font-size: 13.5px;
  display: flex; flex-wrap: wrap; gap: 4px 18px;
}
.legal-lede {
  margin-top: 26px; font-size: clamp(17px, 1.6vw, 19px);
  color: var(--text-dim); line-height: 1.66; max-width: 62ch;
}

/* ---- 正文排版 ---- */
.legal-body { margin-top: 4px; }
.legal-body section { scroll-margin-top: calc(var(--nav-h) + 16px); }
.legal-body h2 {
  font-size: 22px; font-weight: 640; letter-spacing: -0.012em;
  margin: 46px 0 14px; padding-top: 26px;
  border-top: 1px solid var(--border);
}
.legal-body h2:first-of-type { border-top: none; padding-top: 0; margin-top: 34px; }
.legal-body h3 {
  font-size: 17px; font-weight: 620; margin: 24px 0 6px; color: var(--text);
}
.legal-body p {
  color: var(--text-dim); line-height: 1.72; margin: 12px 0; font-size: 16px;
}
.legal-body ul { margin: 14px 0; padding: 0; list-style: none; display: grid; gap: 10px; }
.legal-body li {
  position: relative; padding-left: 22px;
  color: var(--text-dim); line-height: 1.66; font-size: 16px;
}
.legal-body li::before {
  content: ""; position: absolute; left: 3px; top: 10px;
  width: 5px; height: 5px; border-radius: 50%; background: var(--accent-2);
}
.legal-body strong { color: var(--text); font-weight: 620; }
.legal-body a {
  color: #aebcff; text-decoration: none;
  border-bottom: 1px solid rgba(174, 188, 255, 0.32);
  transition: border-color 0.2s;
}
.legal-body a:hover { border-bottom-color: #aebcff; }

/* ---- 表格 ---- */
.legal-table {
  width: 100%; border-collapse: collapse; margin: 18px 0;
  font-size: 15px; border: 1px solid var(--border);
  border-radius: 12px; overflow: hidden;
}
.legal-table th, .legal-table td {
  text-align: left; padding: 12px 16px; border-bottom: 1px solid var(--border);
  vertical-align: top;
}
.legal-table th {
  background: var(--surface); color: var(--text); font-weight: 600;
  font-size: 12.5px; letter-spacing: 0.04em; text-transform: uppercase;
}
.legal-table td { color: var(--text-dim); line-height: 1.5; }
.legal-table tr:last-child td { border-bottom: none; }

/* ---- 提示框 ---- */
.legal-callout {
  margin: 22px 0; padding: 18px 20px; border-radius: 14px;
  background: var(--surface); border: 1px solid var(--border);
  color: var(--text-dim); font-size: 15px; line-height: 1.66;
}
.legal-callout strong { color: var(--text); }

/* ---- 目录（锚点） ---- */
.legal-toc {
  margin-top: 34px; padding: 20px 22px; border-radius: 16px;
  background: var(--surface); border: 1px solid var(--border);
}
.legal-toc h2 {
  font-size: 12.5px; letter-spacing: 0.1em; text-transform: uppercase;
  color: var(--text-faint); font-weight: 600; margin-bottom: 14px;
}
.legal-toc ol {
  margin: 0; padding: 0; list-style: none;
  columns: 2; column-gap: 28px;
}
.legal-toc li { margin-bottom: 9px; break-inside: avoid; }
.legal-toc a { font-size: 14.5px; color: var(--text-dim); transition: color 0.2s; }
.legal-toc a:hover { color: var(--text); }
@media (max-width: 560px) { .legal-toc ol { columns: 1; } }

/* ---- 支持页卡片 ---- */
.support-cards {
  margin-top: 34px; display: grid; gap: 16px;
  grid-template-columns: repeat(auto-fit, minmax(248px, 1fr));
}
.support-card {
  padding: 24px; border-radius: 18px;
  background: var(--surface); border: 1px solid var(--border);
}
.support-card .support-ico {
  width: 42px; height: 42px; border-radius: 12px; margin-bottom: 14px;
  background: var(--surface-2); border: 1px solid var(--border);
  display: grid; place-items: center; font-size: 20px;
}
.support-card h3 { font-size: 17px; margin-bottom: 7px; }
.support-card p { color: var(--text-dim); font-size: 14.5px; line-height: 1.6; }
.support-mail {
  display: inline-block; margin-top: 30px; padding: 16px 30px;
  border-radius: 980px; background: var(--text); color: #0a0a0c;
  font-weight: 600; font-size: 17px;
  box-shadow: 0 8px 32px rgba(255, 255, 255, 0.12);
  transition: transform 0.35s var(--ease-spring), box-shadow 0.35s;
}
.support-mail:hover { transform: translateY(-2px) scale(1.02); box-shadow: 0 14px 44px rgba(255, 255, 255, 0.2); }
.support-mail-wrap { margin-top: 30px; }

/* ---- 底部 ---- */
.legal-foot {
  border-top: 1px solid var(--border); margin-top: 60px;
  padding: 34px 28px 60px; text-align: center;
}
.legal-foot-links {
  display: flex; gap: 24px; justify-content: center; flex-wrap: wrap; margin-bottom: 16px;
}
.legal-foot-links a { font-size: 14px; color: var(--text-dim); transition: color 0.25s; }
.legal-foot-links a:hover { color: var(--text); }
.legal-foot p { font-size: 12.5px; color: var(--text-faint); max-width: 60ch; margin: 0 auto; line-height: 1.55; }

@media (max-width: 640px) {
  .legal-body h2 { font-size: 20px; }
  .legal-nav-inner, .legal-wrap { padding-left: 20px; padding-right: 20px; }
}
