/* The legal texts and forms in the site's document modal. Colors, type and spacing come from the design system tokens;
   the sheet variables follow the modal's paper, limestone or alpine night (data-paper on the part host). The PDFs have
   their own sheet, print/print.css. */

.tc-part {
  --sheet: var(--paper-light);
  --ink: var(--paper-ink);
  --ink-muted: var(--paper-ink-muted);
  --ink-faint: var(--paper-ink-faint);
  --rule: var(--paper-rule);
  --structure: var(--paper-structure);
  --wash: var(--paper-structure-wash);
  --action: var(--link);
  --action-hover: var(--link-hover);
  color: var(--ink-muted);
}

.tc-part[data-paper="dark"] {
  --sheet: var(--paper-dark-solid);
  --ink: var(--paper-ink-on-dark);
  --ink-muted: var(--paper-ink-muted-on-dark);
  --ink-faint: var(--paper-ink-faint-on-dark);
  --rule: var(--paper-rule-on-dark);
  --structure: var(--paper-structure-on-dark);
  --wash: var(--paper-structure-wash-on-dark);
  --action: var(--ember-300);
  --action-hover: var(--ember-400);
}

.tc-part-error {
  margin: 0;
  font-size: var(--fs-body);
  line-height: var(--lh-body);
  color: var(--ink-muted);
}

/* The modal sets the measure and the sheet; a text inside it starts at the sheet's edge, with the modal's title. */
.tc-part .legal-doc {
  max-width: 62ch;
  margin: 0;
}

.tc-part .legal-doc h1 {
  font-family: var(--font-display);
  font-weight: 400;
  font-size: clamp(32px, 4vw, 52px);
  line-height: 1.05;
  letter-spacing: -0.025em;
  margin: 16px 0 18px;
}

.legal-doc {
  max-width: 62ch;
  margin: 0 auto;
  font-size: var(--fs-body);
  line-height: var(--lh-body);
  color: var(--ink-muted);
}

.legal-doc h1 {
  font-size: var(--fs-display-m);
  line-height: var(--lh-snug);
  color: var(--ink);
  margin-bottom: var(--sp-4);
}

.legal-doc h2 {
  font-size: var(--fs-h3);
  color: var(--ink);
  margin: var(--sp-10) 0 var(--sp-3);
  padding-top: var(--sp-5);
  border-top: 1px solid var(--rule);
}

.legal-doc h3 {
  font-size: var(--fs-body-l);
  color: var(--ink);
  margin: var(--sp-6) 0 var(--sp-2);
}

.legal-doc p,
.legal-doc ul,
.legal-doc ol,
.legal-doc blockquote,
.legal-table {
  margin: 0 0 var(--sp-4);
}

.legal-doc ul,
.legal-doc ol {
  padding-left: var(--sp-6);
}

.legal-doc li + li {
  margin-top: var(--sp-2);
}

.legal-doc blockquote {
  padding-left: var(--sp-4);
  border-left: 3px solid var(--structure);
}

.legal-doc code {
  font-family: var(--font-mono);
  font-size: 0.92em;
}

.legal-draft {
  display: inline-block;
  padding: var(--sp-1) var(--sp-3);
  background: var(--wash);
  color: var(--structure);
  font-family: var(--font-mono);
  font-size: var(--fs-eyebrow);
  font-weight: var(--fw-medium);
  letter-spacing: var(--ls-wide);
}

.legal-actions {
  font-size: var(--fs-body-s);
}

.legal-actions a,
.legal-doc a {
  color: var(--action);
}

.legal-actions a:hover,
.legal-doc a:hover {
  color: var(--action-hover);
}

.legal-table {
  overflow-x: auto;
}

.legal-table table {
  width: 100%;
  border-collapse: collapse;
  font-size: var(--fs-body-s);
  line-height: var(--lh-heading);
}

.legal-table th,
.legal-table td {
  padding: var(--sp-2) var(--sp-3);
  text-align: left;
  vertical-align: top;
  border-bottom: 1px solid var(--rule);
}

.legal-table th {
  background: var(--wash);
  color: var(--structure);
  font-weight: var(--fw-semibold);
}
