/* Shared file endings. New car templates use .file-sources and .file-questions:
   sources stay readable and linked; unanswered chapters have their own dark field.
   Loaded after the individual file styles, including the older editorial layouts.
   References use a fixed, quiet scale at every desktop width. */
#main .file-sources {
  padding-block: 28px 32px;
}
#main .file-sources :is(.fo-section-heading, .record-section-heading) {
  display: block;
  align-items: start;
  margin-bottom: 16px;
}
#main .file-sources h2 {
  font: 400 24px/1.2 Ancizar, Georgia, serif;
  margin: 0 0 8px;
}
#main .file-sources h2 em { color: inherit; }
#main .file-sources :is(.eyebrow, .record-kicker) {
  font: 10px/1.6 Cutive, monospace;
  letter-spacing: .06em;
  color: #68675e;
  margin-bottom: 4px;
}
#main .file-sources :is(.fo-section-heading > p, .record-section-intro > p, .source-preface) {
  font: 14px/1.55 Inter, Arial, sans-serif;
  color: #606159;
  max-width: 85ch;
  margin: 0;
}
#main .file-sources .fo-source-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 32px;
}
#main .file-sources .fo-source-grid article {
  grid-template-columns: 22px minmax(0, 1fr);
  gap: 10px;
  padding: 14px 0;
  border-top: 1px solid #d3cfc4;
}
#main .file-sources :is(.fo-source-number, .record-source-number) {
  font: 11px/1.6 Cutive, monospace;
  color: #68675e;
  padding-top: 2px;
}
#main .file-sources :is(.fo-source-grid h3, .record-source h3, .source-entry h3, .record-contributor h3) {
  font: 500 16px/1.4 Inter, Arial, sans-serif;
  margin: 0 0 6px;
}
#main .file-sources :is(.fo-source-grid article p:not(.eyebrow), .record-source p, .source-entry p:not(.eyebrow)) {
  font-size: 14px;
  line-height: 1.55;
  color: #606159;
  margin: 0 0 8px;
}
#main .file-sources .fo-source-grid article .fo-source-reference { font: 12px/1.6 Inter, Arial, sans-serif; }
#main .file-sources :is(a, .fo-method, .cf-method) {
  font-size: 14px;
  text-underline-offset: 4px;
}
#main .file-sources .fo-method { margin-top: 8px; }
#main .file-sources .source-entry {
  padding: 14px 0;
  margin: 0;
  background: transparent;
  border: 0;
  border-top: 1px solid #d3cfc4;
}
#main .file-sources .record-source {
  grid-template-columns: 25px minmax(0, 1.3fr) minmax(0, .7fr);
  gap: 24px;
  padding-block: 16px;
  border-bottom: 0;
}
#main .file-sources .record-source-status strong {
  font: 500 16px/1.4 Inter, Arial, sans-serif;
  color: #606159;
  margin: 4px 0;
}
#main .file-sources :is(.record-contributor p, .record-contributor small, .record-public-note p) { font-size: 14px; line-height: 1.55; }
#main .file-sources .record-contributor { padding-block: 16px; margin-bottom: 0; }
#main .file-sources.cf-sources { gap: 5%; }
#main .file-sources.cf-sources > div > a:not(.cf-method) { font-size: 16px; min-height: 44px; padding-block: 10px; }
#main .file-sources :is(article, .source-entry):target {
  outline: 1px solid #8a7770;
  outline-offset: 5px;
}

/* A quiet change of mood: warm paper, ink, and a restrained taupe accent. */
#main .file-questions {
  --wine: #c9b9a0;
  --ink: #f6f4ed;
  --muted: #bfc0b7;
  --line: #383b32;
  --fo-wine: #c9b9a0;
  --fo-ink: #f6f4ed;
  --fo-muted: #bfc0b7;
  --fo-rule: #383b32;
  background: #070906;
  color: #f6f4ed;
  border-color: #070906;
  padding-block: clamp(44px, 5vw, 72px);
}
#main .file-questions :is(h2, h3) { color: #f6f4ed; }
#main .file-questions :is(em, .eyebrow, .record-kicker) { color: #c9b9a0; }
#main .file-questions :is(p, .note, .record-action-note) { color: #bfc0b7; }
#main .file-questions :is(.fo-section-heading, .record-section-heading) { margin-bottom: 36px; }
#main .file-questions .fo-section-heading h2 { max-width: 19ch; }
#main .file-questions .fo-question-grid { gap: 0 30px; }
#main .file-questions .fo-question-grid > a {
  border-color: #45483e;
  padding: 22px 0 20px;
  color: #f6f4ed;
  transition: border-color .2s, background-color .2s;
}
#main .file-questions .fo-question-grid > a > span { color: #a8aa9f; }
#main .file-questions .fo-question-grid h3 { font-size: 25px; }
#main .file-questions .fo-question-grid h3 span {
  color: #c9b9a0;
  transition: transform .2s;
}
#main .file-questions .fo-question-grid > a:hover,
#main .file-questions .fo-question-grid > a:focus-visible {
  border-color: #c9b9a0;
  background: #11140e;
}
#main .file-questions .fo-question-grid a:hover h3 { text-decoration: none; }
#main .file-questions .fo-question-grid a:hover h3 span { transform: translate(2px, -2px); }
#main .file-questions .fo-contribute { margin-top: 24px; padding-top: 28px; }
#main .file-questions .fo-contribute > p:first-child { color: #f6f4ed; font-size: 24px; }
#main .file-questions .record-action-note { font-size: 13px; line-height: 1.7; }
#main .file-questions :is(.button, .text-button) { font-size: 14px; }
#main .file-questions .button { background: #f6f4ed; color: #070906; border-color: #f6f4ed; }
#main .file-questions .button:hover { background: #dfd8ca; border-color: #dfd8ca; transform: none; }
#main .file-questions .text-button { color: #f6f4ed; border-color: #686b5f; }
#main .file-questions .text-button:hover { border-color: #f6f4ed; }
#main .file-questions :is(a, button, summary):focus-visible {
  outline: 2px solid #f6f4ed;
  outline-offset: 5px;
}
#main .file-questions:is(.cf-question, .file-chapter) {
  padding-inline: clamp(24px, 3vw, 48px);
  margin-top: 28px;
}
#main .file-questions .record-exchange { border-color: #45483e; }
#main .file-questions :is(.record-exchange, .exchange-inner, .bounty-detail) { background: transparent; }
#main .file-questions .plain-list li { border-color: #383b32; color: #bfc0b7; }

@media (min-width: 1600px) {
  #main .file-sources .fo-source-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 760px) {
  #main .file-sources { padding-block: 24px 28px; }
  #main .file-sources h2 { font-size: 24px; }
  #main .file-sources :is(.fo-section-heading, .record-section-heading) { margin-bottom: 16px; }
  #main .file-sources .fo-source-grid { grid-template-columns: 1fr; }
  #main .file-sources a { min-height: 36px; align-items: center; }
  #main .file-sources .record-source { grid-template-columns: 25px minmax(0, 1fr); gap: 18px; }
  #main .file-sources .record-source-status { grid-column: 2; padding: 15px 0 0; }
  #main .file-questions .fo-question-grid { gap: 0 24px; }
  #main .file-questions .fo-question-grid h3 { font-size: 24px; }
  #main .file-questions .fo-section-heading > p { margin-top: 8px; }
  #main .file-questions .record-actions { align-items: stretch; }
}
@media (max-width: 480px) {
  #main .file-questions .fo-question-grid { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) {
  #main .file-questions :is(a, button, h3 span) { transition: none; transform: none; }
  #main .file-questions .fo-question-grid a:hover h3 span { transform: none; }
}
@media print {
  #main .file-sources, #main .file-questions { padding: 24px 0; margin-top: 0; }
  #main .file-questions, #main .file-questions * {
    background: white !important;
    color: #222 !important;
    border-color: #ccc !important;
  }
}
