/* Legal documents share the product's Rubik type and restrained dark palette. */
.legal-page { --bg: 8 11 17; --bg-panel: 13 18 28; }
.legal-page::before { display: none; }
.legal-nav { display: flex; flex-wrap: wrap; gap: 6px; padding-top: 24px; }
.legal-nav a { display: inline-flex; align-items: center; min-height: 44px; padding: 8px 12px; border: 1px solid transparent; border-radius: 8px; color: rgb(var(--text-2)); font-size: 13px; line-height: 1.4; }
.legal-nav a:hover { background: rgb(var(--bg-panel)); color: rgb(var(--text)); }
.legal-nav a[aria-current="page"] { border-color: rgb(var(--border-strong)); background: rgb(var(--bg-panel)); color: rgb(var(--text)); }
.legal-page .doc { padding-top: 32px; }
.legal-page .doc > [role="note"] { padding: 12px 14px; border: 1px solid rgb(var(--warning) / .35); border-radius: 8px; background: rgb(var(--warning) / .06); font-size: 13px; line-height: 1.5; }
.legal-page .legal-kicker { margin: 0 0 10px; color: rgb(var(--text-3)); font-size: 12px; }
.legal-page .doc h1 { font-weight: 600; letter-spacing: -.035em; line-height: 1.15; }
.legal-page .legal-summary { margin-bottom: 24px; font-size: 16px; line-height: 1.65; }
.legal-toc { margin: 0 0 26px; border: 1px solid rgb(var(--border)); border-radius: 8px; background: rgb(var(--bg-panel)); }
.legal-toc summary { padding: 12px 14px; min-height: 44px; cursor: pointer; color: rgb(var(--text)); font-size: 14px; }
.legal-toc nav { padding: 0 14px 12px; }
.legal-toc ul { list-style: none; padding: 0; margin: 0; }
.legal-toc li { margin: 0; }
.legal-toc a { display: inline-block; min-height: 36px; padding-block: 7px; line-height: 1.45; }
.legal-page .doc p, .legal-page .doc li { line-height: 1.75; }
.legal-page .doc h2 { line-height: 1.35; }
.legal-page .doc th, .legal-page .doc td { font-size: 14px; line-height: 1.6; }
.legal-page .doc th { color: rgb(var(--text)); font-weight: 500; }
.legal-page .doc td { color: rgb(var(--text-2)); }
.legal-page .doc code.todo { font-family: inherit; font-size: 12px; }
.legal-page .site-footer__bar { margin-top: 0; }
.legal-page .site-footer__bar nav { display: flex; flex-wrap: wrap; gap: 12px; }
.legal-page .site-footer__bar nav a { display: inline-flex; align-items: center; min-height: 44px; }
@media (max-width: 620px) {
  .legal-nav { gap: 2px; padding-top: 16px; }
  .legal-nav a { padding: 8px 9px; font-size: 12px; }
  .legal-page .doc { padding-top: 24px; }
  .legal-page .doc h1 { font-size: 32px; }
  .legal-page .doc p, .legal-page .doc li { font-size: 14px; }
  .legal-page .doc h2 { margin-top: 34px; font-size: 20px; }
  .legal-page .doc th, .legal-page .doc td { padding: 8px 6px; font-size: 12px; }
}
