/* ============================================================
   site.css — bestaisongwriter.com extensions on top of template 06
   (noir-lounge). style.css stays verbatim; this file only adds
   blocks the template does not define: MDX body content, the
   formula line, the code block, and the FAQ list.
   ============================================================ */

.prose ul,
.prose ol {
  margin: 0 0 18px 1.2em;
  color: #ddd2c6;
}
.prose li { margin-bottom: 8px; }
.prose li::marker { color: var(--gold); }

.prose h3 {
  font-size: 1.3rem;
  margin: 26px 0 10px;
}

.prose table,
.compare-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.9rem;
  margin: 24px 0;
  font-variant-numeric: tabular-nums;
}
.prose table th,
.prose table td {
  border: 1px solid var(--line);
  padding: 10px 13px;
  text-align: left;
  vertical-align: top;
}
.prose table th {
  background: var(--bg-panel-2);
  font-family: var(--font-head);
  font-size: 1rem;
  letter-spacing: 0.04em;
  color: var(--gold);
}
.prose table td:first-child { color: var(--muted); }
.prose table th:first-child,
.prose table td:first-child { width: 24%; }
.prose table a { color: var(--rose); }

@media (max-width: 640px) {
  .prose table {
    display: block;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  .prose table tbody { display: table; width: 100%; min-width: 480px; }
}

.prose blockquote {
  border: 1px solid var(--burgundy);
  background: linear-gradient(180deg, rgba(122, 46, 53, 0.12), transparent);
  padding: 20px 24px;
  margin: 28px 0;
  color: #ddd2c6;
}
.prose blockquote p { margin-bottom: 0; }
.prose blockquote strong { color: var(--rose); font-weight: 600; }

.formula {
  font-family: ui-monospace, "SFMono-Regular", Menlo, monospace;
  font-size: 0.86rem;
  color: var(--gold);
  border-left: 2px solid var(--rose-dim);
  padding: 4px 0 4px 16px;
  margin: 18px 0 26px;
  overflow-wrap: anywhere;
}

.codeblock {
  font-family: ui-monospace, "SFMono-Regular", Menlo, monospace;
  font-size: 0.86rem;
  color: var(--gold);
  background: var(--bg-panel);
  border: 1px solid var(--line);
  padding: 16px 18px;
  margin: 18px 0 24px;
  overflow-x: auto;
}

.faq-block {
  margin-top: 46px;
  padding-top: 6px;
  border-top: 1px solid var(--line);
}
.faq-block h2 { margin-bottom: 18px; }
.faq-item {
  border-bottom: 1px solid var(--line);
  padding: 18px 0 20px;
}
.faq-item:last-child { border-bottom: 0; }
.faq-item h3 {
  font-size: 1.2rem;
  margin: 0 0 8px;
  color: var(--ink);
}
.faq-item p { margin: 0; color: var(--muted); }

.prose p code,
.prose li code {
  font-family: ui-monospace, "SFMono-Regular", Menlo, monospace;
  font-size: 0.88em;
  color: var(--gold);
}

/* Small text in template 06 uses --faint (#8a7b6e), about 3.9:1 on --bg.
   Lift it to #a79a8c (about 5.8:1) for the meta, label and footer lines. */
.hero-meta,
.s-grade .lbl,
.related-note {
  color: #a79a8c;
}

/* Body measure: 60–75 characters per line for running text. */
.prose p,
.prose li {
  max-width: 70ch;
}
