/* Document fallback shares the runtime palette, typography and spacing tokens. */
.legal-menu {
  position: fixed; z-index: var(--layer-controls);
  inset-inline-start: max(var(--space-4), env(safe-area-inset-left));
  bottom: max(var(--space-4), env(safe-area-inset-bottom));
  max-inline-size: min(var(--rail-width), calc(100vw - var(--space-6)));
  color: var(--ink); background: var(--surface-opaque);
  border: var(--hairline) solid var(--edge-strong); border-radius: var(--radius-1);
  font: var(--size-300)/var(--line-body) var(--type-prose);
}
.legal-menu summary { padding: var(--space-3) var(--space-4); cursor: pointer; min-block-size: var(--control-md); }
.legal-menu nav { display: grid; padding: var(--space-2); }
.legal-menu a { color: inherit; padding: var(--space-3); min-block-size: var(--control-md); }
.legal-menu :focus-visible, .legal-document a:focus-visible { outline: var(--focus-ring); outline-offset: var(--focus-offset); }
.legal-document {
  margin: 0; background: var(--ground-doc); color: var(--ink);
  font: var(--size-400)/var(--line-body) var(--type-prose); overflow-wrap: anywhere;
}
.legal-document header, .legal-document main, .legal-document footer {
  max-inline-size: var(--document-width); margin-inline: auto; padding: var(--space-6);
}
.legal-document header { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-4) var(--space-6); }
.legal-document a { color: var(--accent); text-underline-offset: var(--space-1); }
.legal-document a:hover { color: var(--ink); }
.legal-document .legal-brand { color: var(--ink); font-size: var(--size-500); letter-spacing: var(--track-brand); text-decoration: none; }
.legal-document nav { display: flex; flex-wrap: wrap; gap: var(--space-2) var(--space-5); }
.legal-document nav a { min-block-size: var(--resize-hit); display: inline-flex; align-items: center; }
.legal-document nav [aria-current] { color: var(--ink); font-weight: var(--weight-strong); }
.legal-document h1 { font-size: var(--size-600); line-height: var(--line-tight); margin-block: var(--space-6); }
.legal-document h2 { font-size: var(--size-500); line-height: var(--line-tight); margin-block: var(--space-7) var(--space-4); }
.legal-document p { margin-block: var(--space-4); }
.legal-document .legal-intro { color: var(--ink-muted); font-size: var(--size-500); }
.legal-document section { padding-block-end: var(--space-4); }
.legal-document .legal-date { border-top: var(--hairline) solid var(--edge-strong); padding-block-start: var(--space-6); }
.legal-document footer { border-top: var(--hairline) solid var(--edge-strong); padding-block-end: var(--space-7); }
@media (max-width: 600px) {
  .legal-menu { bottom: calc(max(var(--space-4), env(safe-area-inset-bottom)) + var(--control-xl)); }
  .legal-document header, .legal-document main, .legal-document footer { padding: var(--space-5); }
}
@media print {
  .legal-document { color: CanvasText; background: Canvas; }
  .legal-document a { color: CanvasText; }
  .legal-document header nav, .legal-document footer { display: none; }
}
