body {
  margin: 0;
  padding: 0;
  background: #fff;
  color: #000;
  font-family: "Times New Roman", Times, serif;
  font-size: 14px;
  line-height: 1.4;
}

a            { color: #0000cc; }
a:hover      { text-decoration: underline; }
a:visited    { color: #551a8b; }

/* ─── header ─── */
#hdr {
  background: #2a2a2a;
  color: #fff;
  border-bottom: 1px solid #000;
}
#hdr-inner {
  max-width: 840px;
  margin: 0 auto;
  padding: 5px 10px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
}
#hdr a.logo {
  color: #fff;
  font-family: "Times New Roman", serif;
  font-size: 17px;
  font-weight: bold;
  text-decoration: none;
  letter-spacing: -0.01em;
}
#hdr-nav {
  font-family: Arial, Helvetica, sans-serif;
  font-size: 12px;
  color: #ddd;
  line-height: 1.45;
  text-align: right;
}
#hdr-nav a { color: #ccc; }
#hdr-nav a:visited { color: #ccc; }
#hdr-nav a.on { color: #fff; font-weight: bold; text-decoration: none; }

/* ─── content ─── */
#content {
  max-width: 840px;
  margin: 0 auto;
  padding: 10px 10px 40px;
}

/* ─── intro blurb ─── */
#blurb {
  border: 1px solid #ccc;
  background: #f9f9f9;
  padding: 8px 12px;
  font-size: 13px;
  margin-bottom: 12px;
  line-height: 1.5;
}

/* ─── section heading ─── */
h2.sec {
  font-family: Arial, Helvetica, sans-serif;
  font-size: 14px;
  font-weight: bold;
  border-bottom: 1px solid #000;
  margin: 0 0 8px;
  padding: 0 0 2px;
}

/* ─── paper listing ─── */
.paper {
  border-bottom: 1px solid #ddd;
  padding: 8px 0 8px 0;
}

.paper-num {
  font-family: Arial, sans-serif;
  font-size: 12px;
  color: #666;
}

.paper-title {
  font-size: 14px;
  font-weight: bold;
  margin: 2px 0;
}
.paper-title a { color: #0000cc; text-decoration: none; }
.paper-title a:visited { color: #551a8b; }
.paper-title a:hover { text-decoration: underline; }

.paper-info {
  font-family: Arial, Helvetica, sans-serif;
  font-size: 12px;
  color: #333;
  margin: 2px 0;
}

.paper-info a { font-size: 12px; }

.paper-abs {
  font-size: 13px;
  color: #333;
  margin: 4px 0 0 0;
  line-height: 1.45;
}

/* ─── abstract page ─── */
#abs-header {
  font-family: Arial, Helvetica, sans-serif;
  border-bottom: 1px solid #999;
  padding-bottom: 10px;
  margin-bottom: 12px;
}

#abs-back {
  font-size: 12px;
  margin-bottom: 6px;
}

#abs-id {
  font-size: 12px;
  color: #555;
  margin-bottom: 4px;
}

h1.abs-title {
  font-family: "Times New Roman", serif;
  font-size: 21px;
  font-weight: bold;
  margin: 0 0 10px;
  line-height: 1.18;
}

.abs-meta {
  font-size: 14px;
  color: #111;
  line-height: 1.45;
}

.abs-meta a { font-size: inherit; }

.evidence-badges {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0;
  margin: 5px 0 7px;
  font-family: "Times New Roman", Times, serif;
}

.evidence-badge {
  display: inline-block;
  box-sizing: border-box;
  max-width: 100%;
  border: 0;
  border-bottom: 1px solid #b8b8b8;
  padding: 0 1px 1px;
  color: #2f2f2f;
  background: transparent;
  font-size: 12px;
  font-weight: normal;
  font-style: italic;
  line-height: 1.25;
  white-space: normal;
  overflow-wrap: break-word;
}

.evidence-badge-level {
  margin-right: 6px;
  border-bottom: 0;
  padding: 0;
  color: #202020;
  background: transparent;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 10px;
  font-weight: bold;
  font-style: normal;
  line-height: 1;
}

.evidence-badge-level::before { content: "["; font-weight: normal; }
.evidence-badge-level::after  { content: "]"; font-weight: normal; }

.evidence-badge + .evidence-badge {
  margin-left: 8px;
}

.index-evidence-badges {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0;
  margin: 0 2px 0 4px;
  vertical-align: -1px;
}

.index-evidence-badges .evidence-badge {
  font-size: 11px;
  line-height: 1.15;
  padding: 0 1px 1px;
}

.index-evidence-badges .evidence-badge-level {
  font-size: 9px;
  padding: 0;
}

.math-verification-badge {
  display: inline-block;
  box-sizing: border-box;
  max-width: 100%;
  margin: 0 4px 2px 0;
  border: 1px solid #777;
  padding: 1px 5px;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 10px;
  font-weight: bold;
  line-height: 1.3;
  color: #111;
  background: #f5f5f5;
  overflow-wrap: anywhere;
}

.math-state-formal_proof_verified {
  color: #fff;
  background: #222;
  border-color: #222;
}

.math-state-falsified {
  background: #eee;
  border-color: #555;
}

.abs-dl {
  font-family: Arial, Helvetica, sans-serif;
  font-size: 14px;
  margin: 8px 0 0;
  display: flex;
  flex-wrap: wrap;
  gap: 5px 7px;
}

.abs-dl a {
  font-size: inherit;
  border: 1px solid #999;
  padding: 1px 7px;
  white-space: nowrap;
  text-decoration: none;
  color: #0000cc;
  background: #f8f8f8;
}
.abs-dl a:hover { background: #e8e8e8; text-decoration: none; }

.abs-block {
  font-family: Arial, Helvetica, sans-serif;
  margin: 14px 0;
}

.abs-block h3 {
  font-family: Arial, Helvetica, sans-serif;
  font-size: 15px;
  font-weight: bold;
  text-transform: none;
  letter-spacing: 0;
  color: #000;
  margin: 0 0 6px;
  border-bottom: 1px solid #ddd;
  padding-bottom: 3px;
}

blockquote.abstract {
  margin: 0;
  padding: 0;
  font-size: 14px;
  line-height: 1.48;
}

blockquote.abstract b { font-style: normal; }

.rq { font-size: 14px; font-style: italic; color: #222; line-height: 1.48; }

table.trib {
  border-collapse: collapse;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 14px;
  width: 100%;
  table-layout: fixed;
}
table.trib td {
  padding: 2px 16px 2px 0;
  color: #333;
  vertical-align: top;
}
table.trib td:first-child {
  width: 190px;
  white-space: nowrap;
  font-weight: normal;
  color: #555;
  padding-right: 20px;
}
table.trib td:last-child:empty { width: 0; padding: 0; }

/* ─── about ─── */
h1.about-h1 {
  font-family: Arial, Helvetica, sans-serif;
  font-size: 16px;
  font-weight: bold;
  margin: 0 0 4px;
  border-bottom: 2px solid #000;
  padding-bottom: 4px;
}

.about-meta {
  font-family: Arial, sans-serif;
  font-size: 12px;
  color: #555;
  margin-bottom: 10px;
}

h2.about-h2 {
  font-family: Arial, Helvetica, sans-serif;
  font-size: 13px;
  font-weight: bold;
  margin: 14px 0 5px;
  border-bottom: 1px solid #ccc;
  padding-bottom: 2px;
}

p.about-p {
  font-size: 13px;
  line-height: 1.6;
  margin: 0 0 6px;
}

table.inv {
  border-collapse: collapse;
  font-size: 13px;
  width: 100%;
}
table.inv tr { border-bottom: 1px solid #eee; }
table.inv tr:last-child { border-bottom: none; }
table.inv td { padding: 3px 0; vertical-align: top; line-height: 1.5; }
table.inv .inv-n { font-family: Arial, sans-serif; font-weight: bold; padding-right: 12px; white-space: nowrap; color: #555; font-size: 11px; }
table.inv code { font-family: "Courier New", monospace; font-size: 11px; background: #f4f4f4; }

/* ─── footer ─── */
#footer {
  max-width: 840px;
  margin: 0 auto;
  padding: 6px 10px;
  border-top: 1px solid #999;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 11px;
  color: #666;
}

/* Force light mode — prevent browser dark mode override */
:root { color-scheme: light; }

/* ─── benchmark page ─── */
.bench-stats {
  font-family: Arial, Helvetica, sans-serif;
  font-size: 12px;
  border: 1px solid #ccc;
  background: #f7f7f7;
  padding: 5px 10px;
  margin-bottom: 10px;
  display: flex;
  gap: 0;
}
.bench-stats span {
  padding: 0 14px 0 0;
  color: #333;
}
.bench-stats span + span {
  padding-left: 14px;
  border-left: 1px solid #ccc;
}

.bench-filter-form {
  font-family: Arial, sans-serif;
  font-size: 12px;
  margin-bottom: 8px;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 4px;
}
.bench-filter-form label { color: #444; margin-right: 2px; }
.bench-filter-form select {
  font-family: Arial, sans-serif;
  font-size: 12px;
  border: 1px solid #aaa;
  background: #fff;
  padding: 1px 3px;
}
.bench-search-input {
  font-family: Arial, sans-serif;
  font-size: 12px;
  border: 1px solid #aaa;
  padding: 1px 4px;
  width: 140px;
}
.bench-btn {
  font-family: Arial, sans-serif;
  font-size: 11px;
  border: 1px solid #888;
  background: #f0f0f0;
  padding: 1px 8px;
  cursor: pointer;
  margin-left: 4px;
}
.bench-btn:hover { background: #e0e0e0; }

/* discrepancy table */
table.disc-tbl {
  border-collapse: collapse;
  width: 100%;
  table-layout: fixed;
  margin-bottom: 8px;
}
table.disc-tbl thead tr {
  border-top: 2px solid #000;
  border-bottom: 1px solid #000;
}
table.disc-tbl thead th {
  font-family: Arial, Helvetica, sans-serif;
  font-size: 13px;
  font-weight: bold;
  padding: 4px 8px 4px 4px;
  text-align: left;
  white-space: nowrap;
}
table.disc-tbl tbody tr { border-bottom: 1px solid #ddd; }
table.disc-tbl td { padding: 4px 8px 4px 4px; vertical-align: top; }

.disc-bench  { font-style: italic; }
table.disc-tbl thead th.disc-th-delta,
table.disc-tbl tbody td.disc-delta  {
  text-align: right;
  padding-right: 12px;
  font-variant-numeric: tabular-nums;
}
.disc-delta  { font-family: Arial, Helvetica, sans-serif; font-weight: bold; white-space: nowrap; }
.disc-n      { text-align: center; }
.score-link  { color: #0000cc; text-decoration: none; }
.score-link:hover { text-decoration: underline; }
.score-link:visited { color: #551a8b; }
.score-sep   { color: #999; }

/* score database */
.bench-h3 {
  font-family: Arial, Helvetica, sans-serif;
  font-size: 13px;
  font-weight: bold;
  margin: 16px 0 3px;
  color: #111;
  border-bottom: 1px solid #bbb;
  padding-bottom: 1px;
}
.bench-n-badge {
  font-weight: normal;
  color: #666;
  font-size: 11px;
}

table.bench {
  border-collapse: collapse;
  width: 100%;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 12px;
  margin-bottom: 2px;
}
table.bench thead tr {
  border-top: 1px solid #888;
  border-bottom: 1px solid #aaa;
}
table.bench thead th {
  font-weight: bold;
  padding: 2px 8px 2px 4px;
  text-align: left;
  background: #f4f4f4;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  color: #444;
}
table.bench tbody tr { border-bottom: 1px solid #eeeeee; }
table.bench tbody tr.bench-odd { background: #f9f9f9; }
table.bench td { padding: 2px 8px 2px 4px; vertical-align: top; }

.bth-model { width: 28%; }
.bth-score { width: 7%; }
.bth-year  { width: 5%; }

table.bench thead th.bth-score {
  text-align: right;
  padding-right: 14px;
}

.bench-model { font-size: 11px; color: #222; }
table.bench tbody td.bench-score {
  font-family: "Courier New", Courier, monospace;
  font-weight: bold;
  text-align: right;
  font-size: 11px;
  white-space: nowrap;
  padding-right: 14px;
  font-variant-numeric: tabular-nums;
}
.bench-paper { font-size: 11px; }
.bench-paper a { color: #0000cc; }
.bench-paper a:visited { color: #551a8b; }
.bench-year  { font-size: 11px; color: #666; text-align: center; }

.bench-note  { font-family: Arial, sans-serif; font-size: 11px; color: #666; margin: 3px 0 6px; font-style: italic; }
.bench-empty { font-family: Arial, sans-serif; font-size: 12px; color: #555; margin: 8px 0; }


/* ─── contradictions page ─── */
.contr-summary {
  font-size: 13px;
  line-height: 1.55;
  margin: 0 0 16px;
}

.contr-sev-h {
  font-family: Arial, Helvetica, sans-serif;
  font-size: 12px;
  font-weight: bold;
  color: #000;
  margin: 20px 0 5px;
  border-bottom: 1px solid #999;
  padding-bottom: 2px;
}
.contr-sev-h .contr-sev-note {
  font-weight: normal;
  color: #555;
  font-size: 11px;
}

table.contr-tbl {
  border-collapse: collapse;
  width: 100%;
  table-layout: fixed;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 12px;
  margin-bottom: 0;
}
table.contr-tbl thead tr {
  border-top: 1.5px solid #000;
  border-bottom: 1px solid #888;
}
table.contr-tbl thead th {
  font-size: 11px;
  font-weight: bold;
  padding: 3px 0 3px 0;
  text-align: left;
  overflow: hidden;
}
table.contr-tbl thead th.th-right { text-align: right !important; }
table.contr-tbl tbody tr { border-bottom: 1px solid #e0e0e0; }
table.contr-tbl tbody tr:last-child { border-bottom: 1.5px solid #000; }
table.contr-tbl td {
  padding: 4px 0 4px 0;
  vertical-align: middle;
  font-size: 12px;
  overflow: hidden;
  text-overflow: ellipsis;
}

.contr-model { font-size: 12px; }
.contr-bench { font-style: italic; color: #111; }
.contr-delta {
  font-family: "Courier New", Courier, monospace;
  font-size: 12px;
  font-weight: bold;
  font-variant-numeric: tabular-nums;
}
.contr-range {
  font-size: 12px;
  color: #222;
  font-variant-numeric: tabular-nums;
}
.contr-n {
  font-size: 12px;
  color: #333;
}

.contr-caption {
  font-family: Arial, Helvetica, sans-serif;
  font-size: 11px;
  color: #555;
  margin: 4px 0 0;
  font-style: italic;
}

@media (max-width: 640px) {
  table.contr-tbl { width: 100%; min-width: 0; }
  table.contr-tbl, table.contr-tbl tbody { display: block; width: 100%; }
  table.contr-tbl thead { display: none; }
  table.contr-tbl tbody tr {
    display: block;
    border-bottom: 1px solid #ccc;
    padding: 6px 0;
  }
  table.contr-tbl tbody tr:last-child { border-bottom: 1px solid #ccc; }
  table.contr-tbl td { display: block; padding: 1px 0; border: none; white-space: normal; }
  .contr-delta { text-align: left; padding-right: 0; }
}

/* ─── responsive / mobile ─── */
.tbl-scroll {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  margin-bottom: 4px;
}

@media (max-width: 640px) {
  #hdr-inner {
    box-sizing: border-box;
    width: 100%;
    align-items: flex-start;
    flex-wrap: wrap;
    gap: 4px 12px;
  }

  #hdr-nav {
    text-align: left;
  }

  #content,
  #footer {
    box-sizing: border-box;
    width: 100%;
  }

  .methodology-page table.inv {
    table-layout: fixed;
  }

  .methodology-page table.inv .inv-n {
    width: 34px;
    padding-right: 8px;
  }

  .methodology-page table.methodology-changelog .inv-n {
    width: 82px;
  }

  .methodology-page table.inv td {
    overflow-wrap: anywhere;
  }

  table.trib,
  table.trib tbody,
  table.trib tr,
  table.trib td {
    display: block;
    box-sizing: border-box;
    width: 100% !important;
  }

  table.trib tr {
    margin-bottom: 5px;
  }

  table.trib td {
    padding: 1px 0;
  }

  table.trib td:first-child {
    padding-bottom: 0;
  }

  table.trib td:last-child:empty {
    display: none;
  }

  /* bench-stats: stack vertically */
  .bench-stats { flex-direction: column; gap: 2px; }
  .bench-stats span + span { border-left: none; padding-left: 0; }

  /* filter form: wrap */
  .bench-filter-form { flex-direction: column; align-items: flex-start; }
  .bench-search-input { width: 100%; max-width: 220px; }

  /* disc-tbl: card layout — each row flows as inline text, no column crush */
  table.disc-tbl, table.disc-tbl tbody { display: block; width: 100%; }
  table.disc-tbl thead   { display: none; }
  table.disc-tbl tbody tr {
    display: block;
    border-bottom: 1px solid #ddd;
    padding: 6px 0;
    line-height: 1.9;
  }
  table.disc-tbl tbody tr:last-child { border-bottom: none; }
  table.disc-tbl td { display: inline; padding: 0; border: none; }
  table.disc-tbl td.disc-n { display: none; }

  /* inline separators */
  .disc-bench::before { content: " \00b7 "; color: #888; font-style: normal; }
  .disc-delta {
    text-align: left !important;
    padding-right: 0 !important;
    font-weight: bold;
  }
  .disc-delta::before { content: " \0394 "; font-weight: normal; color: #666; font-size: 11px; font-family: inherit; }
  .disc-delta::after  { content: " pp \2014 "; font-weight: normal; color: #666; font-size: 11px; }
    .disc-scores { font-size: 13px; }

  /* bench table: horizontal scroll */
  table.bench { min-width: 560px; }
  .bench-h3   { font-size: 12px; }

  table.bench.evidence-tbl {
    min-width: 0;
  }

  table.evidence-tbl,
  table.evidence-tbl tbody,
  table.evidence-tbl tr,
  table.evidence-tbl td {
    display: block;
    width: 100%;
    box-sizing: border-box;
  }

  table.evidence-tbl thead {
    display: none;
  }

  table.evidence-tbl tr {
    border-bottom: 1px solid #ddd;
    padding: 6px 0;
  }

  table.evidence-tbl td {
    border: 0;
    padding: 1px 0;
    text-align: left;
    white-space: normal;
  }

  table.bench.evidence-tbl tbody td.bench-score {
    padding-right: 0;
    text-align: left;
  }

  table.evidence-tbl td::before {
    display: inline-block;
    min-width: 50px;
    padding-right: 6px;
    color: #555;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 11px;
    font-weight: bold;
    text-transform: uppercase;
  }

  table.evidence-tbl .ev-model::before { content: "Model"; }
  table.evidence-tbl .ev-score::before { content: "Score"; }
  table.evidence-tbl .ev-paper::before { content: "Source"; }
  table.evidence-tbl .ev-year::before  { content: "Year"; }
}
