/* Privacy notice: one readable document under the tool header. */
.privacy { margin-bottom: var(--section); }
.privacy .doc-body { display: grid; gap: 36px; max-width: 78ch; }
.privacy section { display: grid; gap: 12px; }
.privacy h2 { font-size: clamp(22px, 2.4vw, 28px); }
.privacy ul { display: grid; gap: 8px; margin: 0; padding-left: 1.2em; color: var(--paper-dim); }
.privacy b { color: var(--paper-ink); }
.privacy code { font-family: var(--font-mono); font-size: 0.9em; }

.privacy__table { overflow-x: auto; }
.privacy__table:focus-visible { outline: 2px solid var(--spark-deep); outline-offset: 4px; }
.privacy table { width: 100%; min-width: 640px; border-collapse: collapse; font-size: 15px; line-height: 1.5; }
.privacy th, .privacy td { padding: 12px 14px 12px 0; text-align: left; vertical-align: top; border-top: 1px solid var(--paper-rule); }
.privacy thead th { font: 500 11px/1.3 var(--font-mono); letter-spacing: 0.12em; text-transform: uppercase; color: var(--paper-muted); border-top: 0; }
.privacy tbody th { color: var(--paper-ink); font-weight: 600; }
.privacy td { color: var(--paper-dim); }

/* Phones: each row becomes a short labelled block instead of a sideways scroll. */
@media (max-width: 640px) {
  .privacy table { min-width: 0; }
  .privacy thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
  .privacy tr { display: grid; gap: 8px; padding: 14px 0; border-top: 1px solid var(--paper-rule); }
  .privacy tbody th, .privacy td { padding: 0; border-top: 0; }
  .privacy td::before { content: attr(data-label); display: block; font: 500 11px/1.3 var(--font-mono); letter-spacing: 0.12em; text-transform: uppercase; color: var(--paper-muted); margin-bottom: 2px; }
}
