

/*
 * Shared legal-page styles. Used by /terms, /privacy, and
 * /legal/license — all render the same template shape (Topbar at
 * body root, then a centered article column with markdown-rendered
 * bodyHtml + a sha256 footer). The article column is narrower than
 * marketing pages so a long line of legalese stays readable on
 * desktop.
 */

.legal-page {
  background: var(--bg);
}

.legal-page .legal-wrap {
  max-width: 760px;
  margin: 0 auto;
  padding: 2rem 1.5rem 4rem;
}

.legal-page .legal-article {
  margin-top: 2rem;
  font-family: var(--font-sans);
  font-size: 1rem;
  line-height: 1.65;
  color: var(--ink);
}

.legal-page .legal-article h1 {
  font-family: var(--font-sans);
  font-size: 1.875rem;
  font-weight: var(--font-semibold);
  letter-spacing: -0.02em;
  line-height: 1.2;
  color: var(--ink);
  margin: 0 0 0.5rem;
}

.legal-page .legal-article h2 {
  font-family: var(--font-sans);
  font-size: 1.25rem;
  font-weight: var(--font-semibold);
  letter-spacing: -0.01em;
  color: var(--ink);
  margin: 2.25rem 0 0.75rem;
}

.legal-page .legal-article h3 {
  font-family: var(--font-sans);
  font-size: 1.0625rem;
  font-weight: var(--font-semibold);
  color: var(--ink);
  margin: 1.75rem 0 0.5rem;
}

.legal-page .legal-article p {
  margin: 0 0 1rem;
  color: var(--ink-soft);
}

.legal-page .legal-article ul,
.legal-page .legal-article ol {
  margin: 0 0 1.25rem;
  padding-left: 1.5rem;
  color: var(--ink-soft);
}
.legal-page .legal-article li { margin: 0 0 0.4rem; }

.legal-page .legal-article a {
  color: var(--accent);
  text-decoration: underline;
  text-underline-offset: 2px;
}
.legal-page .legal-article a:hover { color: var(--accent-deep); }

.legal-page .legal-article strong {
  color: var(--ink);
  font-weight: var(--font-semibold);
}

.legal-page .legal-article em { font-style: italic; }

/* "Last updated:" subhead emitted by the markdown source as the
   first paragraph (italic). Keep it muted so it reads as metadata,
   not body copy. */
.legal-page .legal-article > p:first-of-type em {
  color: var(--ink-dim);
  font-style: normal;
  font-size: 0.875rem;
}

/* Sha256 footer — tiny, muted, mono. The hash is the tamper-evident
   anchor for the document body; surfacing it on the page lets a
   curious reader (or a legal team) verify "the bytes I'm reading are
   what was hashed at insert" without poking at the database. */
.legal-page .legal-foot {
  margin-top: 3rem;
  padding-top: 1rem;
  border-top: 1px solid var(--rule-soft);
  display: flex;
  align-items: baseline;
  gap: 0.5rem;
  flex-wrap: wrap;
  font-size: 0.75rem;
  color: var(--ink-dim);
}
.legal-page .legal-hash-label {
  font-family: var(--font-mono);
  text-transform: uppercase;
  letter-spacing: 0.08em;
}
.legal-page .legal-hash {
  font-family: var(--font-mono);
  color: var(--ink-soft);
  background: var(--bg-soft);
  padding: 1px 6px;
  border-radius: 3px;
  word-break: break-all;
}

@media (max-width: 700px) {
  .legal-page .legal-wrap {
    padding: 1.5rem 1.25rem 3rem;
  }
  .legal-page .legal-article h1 {
    font-size: 1.5rem;
  }
}
