/* ParaVT-specific extras on top of the WorldReasonBench base style. */

/* --- Hero bottom padding + tighter gap above the stat-grid --- */
.hero { padding-bottom: 36px; }
.section-tight { padding: 0 28px 40px; }

/* --- Hero figure: shrink so the architecture diagram stays readable --- */
.hero-figure { max-width: 720px; }

/* --- Method section Architecture figure: shrink slightly so it stays sharp --- */
.method-fig { max-width: 820px; }

/* --- Motivation: keep the two failure-mode/TPP figures side-by-side at the
       same height; figcaption content can wrap below independently. Add
       breathing room between the figures and the prose paragraph below. --- */
.motivation-grid { margin-top: 28px; }
.motivation-grid + .prose { margin-top: 36px; }

/* --- Ablation section: table on the left, training-dynamics figure on the
       right; widen the section a touch so the table fits cleanly --- */
#dynamics { max-width: 1240px; }
.ablation-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 22px;
  max-width: 1240px;
  margin: 0 auto;
  align-items: start;
}
@media (max-width: 980px) { .ablation-grid { grid-template-columns: 1fr; } }
.ablation-table-wrap {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  box-shadow: var(--shadow-md);
  overflow-x: auto;
}
.ablation-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 13px;
  line-height: 1.5;
}
.ablation-table th,
.ablation-table td {
  padding: 8px 10px;
  text-align: right;
  border-bottom: 1px solid #eef0f3;
  white-space: nowrap;
}
.ablation-table th { font-weight: 700; color: #34495e; background: #fafbfc; }
.ablation-table th.th-model,
.ablation-table td:first-child { text-align: left; }
.ab-row-section td {
  background: #fafbfc;
  font-weight: 700;
  color: #34495e;
  text-align: center;
  letter-spacing: 0.02em;
  font-size: 12.5px;
  padding: 10px 10px 8px;
  border-top: 1px solid #e4e7ec;
  border-bottom: 1px solid #e4e7ec;
}
.ab-row-ours { background: #f3f7ff; font-weight: 600; }
.ab-row-ours td { color: #1a5fb4; }

/* --- Ablation right column: training-dynamics figure + an analysis block
       that fills the vertical space below the figure so the column heights
       align with the table on the left. --- */
.ablation-right { display: flex; flex-direction: column; gap: 18px; }
.ablation-fig { margin: 0; }
.ablation-analysis {
  background: var(--surface-2);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  padding: 18px 22px;
  font-size: 14.5px;
  color: var(--text-soft);
  line-height: 1.7;
}
.ablation-analysis p { margin: 0; }
.ablation-analysis strong { color: var(--text); font-weight: 600; }

/* --- Author homepage links: inherit color, underline only on hover --- */
.author .aname {
  color: inherit;
  text-decoration: none;
  border-bottom: 1px solid transparent;
  transition: border-color 0.2s ease, color 0.2s ease;
}
.author .aname:hover {
  color: var(--primary);
  border-bottom-color: var(--primary);
}

/* --- Pipeline cards: push the image down so the card-tag badge does not
       sit on top of the figure title text --- */
.pipeline-card { padding-top: 44px; }
.pipeline-card .card-tag { top: 14px; left: 18px; }

/* --- Single figure-card layout: breathing room above/below when the card
       sits directly between prose paragraphs (Motivation) or between
       section-head and formula-row (Method) --- */
.method-fig { margin: 0 auto 36px; }

/* --- Tighter inter-section spacing for a denser overall layout --- */
.section { padding: 48px 28px; }

/* --- Results table: in-row section labels (centered so they read as
       group separators rather than blending with model-name cells) --- */
.rb-row-section td.lb-section {
  background: #fafbfc;
  font-weight: 700;
  font-size: 0.92rem;
  letter-spacing: 0.02em;
  color: #34495e;
  text-align: center;
  padding: 14px 16px 10px;
  border-top: 1px solid #e4e7ec;
  border-bottom: 1px solid #e4e7ec;
}

/* --- Highlight the "Ours" row --- */
.lb-row-ours {
  background: #f3f7ff !important;
  font-weight: 600;
}
.lb-row-ours .col-num.is-best { color: #1a5fb4; }
.lb-row-ours .col-num.is-2nd  { color: #1a5fb4; }

/* --- Grey-out proprietary baseline rows --- */
.grey-row td { color: #888; font-style: italic; }
.grey-row .col-num { color: #aaa; }

/* --- Second-best marker: underline (paper convention) --- */
.col-num.is-2nd {
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 2px;
  font-weight: 600;
}

/* --- Tighter formula cards (we only have two) --- */
.formula-card .formula-eq .big  { font-size: 1.4em; line-height: 0.8; }
.formula-card .formula-eq .mono { font-family: 'JetBrains Mono', monospace; font-weight: 500; }

/* --- bibtex block: monospace, dark, scrollable --- */
pre.bibtex {
  background: #101418;
  color: #e6edf3;
  padding: 1.1em 1.3em;
  border-radius: 10px;
  overflow-x: auto;
  font-family: 'JetBrains Mono', monospace;
  font-size: 0.88rem;
  line-height: 1.55;
  white-space: pre;
  border: 1px solid #1f242c;
}

/* --- Quickstart pre block --- */
.prose pre {
  background: #101418;
  color: #e6edf3;
  padding: 1em 1.2em;
  border-radius: 8px;
  overflow-x: auto;
  font-family: 'JetBrains Mono', monospace;
  font-size: 0.86rem;
  line-height: 1.5;
}
.prose pre code { background: transparent; padding: 0; color: inherit; }
.prose code {
  background: #eef2f6;
  padding: 0.15em 0.4em;
  border-radius: 4px;
  font-family: 'JetBrains Mono', monospace;
  font-size: 0.86em;
}

/* --- Footer --- */
.site-footer {
  margin-top: 4rem;
  padding: 2.5rem 1.5rem 3rem;
  border-top: 1px solid #e4e7ec;
  text-align: center;
  font-size: 0.9rem;
  color: #5d6b7a;
}
.site-footer a { color: #1a5fb4; text-decoration: none; }
.site-footer a:hover { text-decoration: underline; }
