/* ---------- Document dialog: legal documents opened as a popup ---------- */
.doc-dialog {
  width: min(60rem, calc(100vw - 32px)); max-width: none;
  max-height: min(88dvh, 900px);
  padding: 0; border: 0; border-radius: var(--r-xl);
  background: #fff; color: var(--ink);
  box-shadow: 0 60px 120px -30px rgba(6, 20, 42, .55);
  overflow: hidden;
}
.doc-dialog::backdrop { background: rgba(6, 20, 42, .62); }
.doc-dialog[open] { animation: dialog-in .45s var(--ease-out); }
.doc-dialog[open]::backdrop { animation: fade-in .35s ease; }
.doc-dialog__panel { display: flex; flex-direction: column; max-height: inherit; }
.doc-dialog__bar {
  display: flex; align-items: center; gap: 1rem;
  padding: .85rem clamp(16px, 3vw, 28px);
  background: rgba(255, 255, 255, .96); border-bottom: 1px solid var(--line);
}
.doc-dialog__title { margin: 0; font-size: 1.0625rem; letter-spacing: -.01em; }
.doc-dialog__close { margin-left: auto; }
.doc-dialog__body { overflow-y: auto; overscroll-behavior: contain; padding: clamp(20px, 3vw, 36px); }
.doc-dialog__note { margin: 0; color: var(--muted); }
.doc-body > h2 { margin: 2rem 0 .75rem; font-size: 1.1875rem; letter-spacing: -.01em; }
.doc-body > h2:first-child { margin-top: 0; }
.doc-body > h3 { margin: 1.5rem 0 .4rem; font-size: 1rem; }
.doc-body p { margin: 0 0 .85rem; color: var(--ink-2); font-size: .9688rem; }
.doc-body ul { margin: 0 0 1.1rem; padding-left: 1.2rem; }
.doc-body li { margin-bottom: .35rem; color: var(--ink-2); font-size: .9688rem; }
.doc-body table { width: 100%; margin: 0 0 1.5rem; border-collapse: collapse; font-size: .9375rem; }
.doc-body td { padding: .5rem .7rem; border: 1px solid var(--line); vertical-align: top; color: var(--ink-2); }
.doc-body tr:first-child td { background: var(--bg-soft); color: var(--ink); font-weight: 700; }
.doc-toc { columns: 2; column-gap: 2rem; list-style: none; padding-left: 0; }
.doc-toc li { break-inside: avoid; color: var(--ink-2); font-size: .9375rem; }
@media (max-width: 720px) { .doc-toc { columns: 1; } }
@media print {
  .doc-dialog { max-height: none; }
  .doc-dialog__bar { display: none; }
  .doc-dialog__body { overflow: visible; }
}
