/* frontend/shared/legal-page.css
   法务/合规文档页的统一排版：用户服务协议、隐私政策、社区规范、侵权投诉。
   清爽、易读、移动端友好，配色贴合站点主色（深蓝→紫→橙）。 */
:root {
  --lp-accent: #2563eb;
  --lp-ink: #1f2937;
  --lp-ink-2: #4b5563;
  --lp-ink-3: #6b7280;
  --lp-line: #e5e7eb;
  --lp-bg: #f6f8fc;
  --lp-card: #ffffff;
}
* { box-sizing: border-box; }
/* `hidden` also turns the vertical overflow into a scroll container in Chromium,
   which prevents the sticky legal-page header from following the document scroll. */
html, body { margin: 0; padding: 0; max-width: 100%; overflow-x: clip; }
body {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
  color: var(--lp-ink);
  background: var(--lp-bg);
  line-height: 1.85;
  -webkit-font-smoothing: antialiased;
}
.lp-topbar {
  position: sticky;
  top: 0;
  z-index: 100;
  background: linear-gradient(135deg, #0f172a 0%, #2563eb 48%, #7c3aed 82%, #f97316 100%);
  color: #fff;
  padding: 18px 20px;
}
.lp-topbar.common-nav-shell {
  min-height: 62px;
  padding: 0 24px;
  color: var(--nav-text-strong, #101828);
}
.lp-topbar .lp-topbar-inner {
  max-width: 860px; margin: 0 auto;
  display: flex; align-items: center; justify-content: space-between; gap: 12px;
}
.lp-brand { font-weight: 700; font-size: 1.05rem; letter-spacing: .3px; color: var(--nav-text-strong, #0f172a); text-decoration: none; }
.lp-brand em { font-style: normal; color: #ffd9a8; }
.lp-back { color: rgba(255,255,255,.9); text-decoration: none; font-size: .84rem; padding: 6px 12px; border: 1px solid rgba(255,255,255,.35); border-radius: 999px; }
.lp-back:hover { background: rgba(255,255,255,.14); }
.lp-mobile-back { display: none; }
.lp-wrap { max-width: 860px; margin: 26px auto 40px; padding: 0 20px; }
.lp-card { background: var(--lp-card); border: 1px solid var(--lp-line); border-radius: 14px; padding: 34px 40px; box-shadow: 0 8px 30px rgba(15,23,42,.05); }
.lp-title { font-size: 1.5rem; font-weight: 700; margin: 0 0 6px; }
.lp-meta { color: var(--lp-ink-3); font-size: .82rem; margin: 0 0 22px; padding-bottom: 18px; border-bottom: 1px solid var(--lp-line); }
.lp-meta span { margin-right: 16px; white-space: nowrap; }
.lp-card h2 { font-size: 1.12rem; font-weight: 700; margin: 30px 0 10px; color: var(--lp-ink); }
.lp-card h3 { font-size: 1rem; font-weight: 600; margin: 20px 0 8px; color: var(--lp-ink); }
.lp-card p { margin: 10px 0; color: var(--lp-ink-2); }
.lp-card ul { margin: 10px 0; padding-left: 22px; color: var(--lp-ink-2); }
.lp-card li { margin: 6px 0; }
.lp-card a { color: var(--lp-accent); }
.lp-card strong { color: var(--lp-ink); }
.lp-lead { background: #f0f5ff; border: 1px solid #dbe6ff; border-radius: 10px; padding: 14px 18px; color: #334155; margin: 0 0 22px; }
.lp-note { background: #fff7ed; border: 1px solid #fed7aa; border-radius: 10px; padding: 12px 16px; color: #9a3412; font-size: .9rem; }
.lp-table { width: 100%; border-collapse: collapse; margin: 14px 0; font-size: .92rem; overflow: hidden; }
.lp-table th, .lp-table td { border: 1px solid var(--lp-line); padding: 9px 12px; text-align: left; vertical-align: top; }
.lp-table th { background: #f3f6fb; font-weight: 600; }
.lp-ph { color: #b45309; background: #fff7ed; border-radius: 4px; padding: 0 4px; font-style: normal; }
.lp-contact { margin-top: 26px; padding-top: 18px; border-top: 1px solid var(--lp-line); color: var(--lp-ink-3); font-size: .9rem; }
.lp-contact p { margin: 4px 0; color: var(--lp-ink-3); }
@media (max-width: 640px) {
  .lp-topbar.common-nav-shell { min-height: 56px; padding: 0 12px; }
  body.legal-register-entry .lp-topbar.common-nav-shell { display: flex; align-items: center; justify-content: flex-start; }
  body.legal-register-entry .lp-topbar .logo,
  body.legal-register-entry .lp-topbar #commonNavArea { display: none !important; }
  body.legal-register-entry .lp-mobile-back {
    display: inline-flex; align-items: center; gap: 6px; min-height: 38px; padding: 7px 13px;
    border: 1px solid #dbe4f0; border-radius: 999px; background: #fff; color: #1f2937;
    font: 700 .9rem/1.2 -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    box-shadow: 0 4px 14px rgba(15,23,42,.08); cursor: pointer;
  }
  .lp-card { padding: 22px 18px; border-radius: 12px; }
  .lp-title { font-size: 1.28rem; }
  .lp-wrap { margin: 18px auto 30px; }
  .lp-table { display: block; overflow-x: auto; white-space: nowrap; }
}
