/* Terms + Privacy pages. Builds on /styles.css and /account/account.css. */
.legal { max-width: 760px; }
.legal .acct-head { margin-bottom: 28px; }
.legal-meta { display: flex; flex-wrap: wrap; gap: 6px 18px; margin: 18px 0 0; font-size: 12px; color: var(--dim); }
.legal-switch { display: flex; gap: 6px; padding: 4px; border: 1px solid var(--line); border-radius: 999px; margin: 0 0 28px; max-width: 360px; }
.legal-switch a {
  flex: 1;
  display: grid;
  place-items: center;
  height: 34px;
  border-radius: 999px;
  color: var(--muted);
  font: 500 11.5px var(--mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
}
.legal-switch a[aria-current="page"] { background: rgba(255, 255, 255, 0.07); color: var(--fg); }

.legal-summary { border-color: rgba(255, 62, 165, 0.3); }
.legal-summary ul { margin: 0; padding-left: 1.1em; display: grid; gap: 8px; color: var(--muted); font-size: 15px; }

.toc ol { margin: 0; padding-left: 1.4em; columns: 2 240px; column-gap: 28px; font-size: 14px; }
.toc li { margin: 0 0 6px; break-inside: avoid; }
.toc a { color: var(--muted); }
.toc a:hover { color: var(--fg); }

.prose { color: var(--muted); font-size: 15.5px; line-height: 1.7; }
.prose section { scroll-margin-top: 100px; padding-top: 10px; }
.prose h2 { color: var(--fg); font-size: 1.15rem; font-weight: 500; letter-spacing: -0.01em; margin: 36px 0 10px; }
.prose h3 { color: var(--fg); font-size: 0.98rem; font-weight: 500; margin: 22px 0 6px; }
.prose p, .prose ul { margin: 0 0 14px; }
.prose ul { padding-left: 1.2em; }
.prose li { margin-bottom: 6px; }
.prose strong { color: var(--fg); font-weight: 500; }
.prose a { color: var(--fg); text-decoration: underline; text-underline-offset: 3px; text-decoration-color: rgba(255, 62, 165, 0.6); }
.prose a:hover { text-decoration-color: var(--accent); }
.prose .caps { text-transform: uppercase; font-size: 14px; letter-spacing: 0.01em; }
.prose table { width: 100%; border-collapse: collapse; margin: 6px 0 18px; font-size: 14px; }
.prose th, .prose td { text-align: left; vertical-align: top; padding: 10px 12px; border-bottom: 1px solid var(--line); }
.prose th { color: var(--fg); font-weight: 500; font-size: 12px; font-family: var(--mono); text-transform: uppercase; letter-spacing: 0.04em; }
.table-wrap { overflow-x: auto; }

/* Agreement checkbox on the account + consent pages. */
.agree { display: flex; gap: 12px; align-items: flex-start; font-size: 14px; color: var(--muted); line-height: 1.5; cursor: pointer; }
.agree input { flex: none; width: 18px; height: 18px; margin: 2px 0 0; accent-color: var(--accent); cursor: pointer; }
.agree a { color: var(--fg); text-decoration: underline; text-underline-offset: 3px; }

.footer-legal { display: flex; gap: 18px; }

@media print {
  .nav, .footer, .legal-switch, .toc { display: none !important; }
  body { background: #fff; color: #000; }
  .prose, .prose h2, .prose h3, .prose strong, .acct-title, .acct-lede { color: #000 !important; }
  .panel { border-color: #ccc; background: none; }
}
