/* ============================================================
   法律文档页（/terms /privacy）——青杉浅色皮肤，依赖 tokens/base/components
   ============================================================ */
.legal-body { background: hsl(var(--bg-canvas)); }

.legal-top {
  position: sticky; top: 0; z-index: 20;
  background: hsl(var(--bg-surface) / .88); backdrop-filter: blur(10px);
  border-bottom: 1px solid hsl(var(--border-hairline));
}
.legal-top-in {
  max-width: 1080px; margin: 0 auto; padding: 0 24px;
  height: 64px; display: flex; align-items: center; justify-content: space-between;
}
.legal-brand {
  display: inline-flex; align-items: center; gap: 10px; min-height: 44px;
  font-size: 18px; font-weight: 700; letter-spacing: .02em;
  color: hsl(var(--text-primary)); text-decoration: none;
}
.legal-brand svg { width: 26px; height: 26px; }
.legal-brand .m-arc { stroke: hsl(var(--mark-arc)); }
.legal-brand .m-cur { stroke: hsl(var(--mark-cur)); }
.legal-back {
  display: inline-flex; align-items: center; min-height: 44px; padding: 0 12px;
  font-size: 14px; color: hsl(var(--text-secondary)); text-decoration: none;
  border: 1px solid hsl(var(--border-hairline)); border-radius: var(--radius-sm);
  transition: color var(--dur-1), border-color var(--dur-1);
}
.legal-back:hover { color: hsl(var(--brand)); border-color: hsl(var(--brand)); }

.legal-wrap { max-width: 820px; margin: 0 auto; padding: 48px 24px 72px; }
.legal-doc h1 {
  font-size: 30px; font-weight: 700; color: hsl(var(--text-primary));
  margin-bottom: 8px; letter-spacing: .01em;
}
.legal-doc .legal-eff {
  font-size: 13px; color: hsl(var(--text-tertiary)); margin-bottom: 32px;
  padding-bottom: 20px; border-bottom: 1px solid hsl(var(--border-hairline));
}
.legal-doc h2 {
  font-size: 18px; font-weight: 700; color: hsl(var(--brand-deep));
  margin: 36px 0 12px; line-height: 1.5;
}
.legal-doc p {
  font-size: 15px; line-height: 1.9; color: hsl(var(--text-secondary));
  margin-bottom: 14px; text-align: justify;
}
.legal-doc p strong { color: hsl(var(--text-primary)); font-weight: 600; }
.legal-doc a { color: hsl(var(--brand)); text-decoration: none; border-bottom: 1px solid hsl(var(--brand) / .35); }
.legal-doc a:hover { border-bottom-color: hsl(var(--brand)); }

.legal-foot { border-top: 1px solid hsl(var(--border-hairline)); background: hsl(var(--bg-surface)); }
.legal-foot .legal-wrap {
  padding: 28px 24px; display: flex; gap: 16px; flex-wrap: wrap;
  justify-content: space-between; font-size: 13px; color: hsl(var(--text-tertiary));
}
.legal-foot a { color: inherit; text-decoration: none; }
.legal-foot a:hover { color: hsl(var(--text-primary)); }

@media (max-width: 768px) {
  .legal-top-in { padding: 0 16px; }
  .legal-wrap { padding: 32px 16px 56px; }
  .legal-doc h1 { font-size: 24px; }
  .legal-doc h2 { font-size: 16px; margin: 28px 0 10px; }
  .legal-doc p { font-size: 14.5px; }
}
