/* Print and PDF layout of the GameBench 2 technical report, loaded with media="print": A4, the light
   theme whatever the reader's setting, no site header, navigation or footer, page numbers, and
   figures and tables kept whole across page breaks. The downloadable PDF is printed with it. */

@page {
  size: A4;
  margin: 15mm 16mm 17mm;

  @bottom-left {
    content: "GameBench 2 technical report · DuelLab";
    color: #676767;
    font-family: Inter, sans-serif;
    font-size: 7.5pt;
  }

  @bottom-right {
    content: counter(page) " / " counter(pages);
    color: #676767;
    font-family: Inter, sans-serif;
    font-size: 7.5pt;
  }
}

/* The light palette for every colour token that the dark theme changes. */
:root,
:root:not([data-theme="light"]),
:root[data-theme="dark"] {
  color-scheme: light;

  --bg: #faf9f7;
  --bg-soft: #f2f0ec;
  --panel: #ffffff;
  --panel-2: #f6f5f2;
  --line: #e7e4df;
  --line-strong: #d4d0c8;
  --text: #191919;
  --soft: #353535;
  --muted: #676767;
  --mint: #0b7a5c;
  --mint-soft: #e2f4ec;
  --mint-line: #7fcfb2;
  --amber: #8f5c00;
  --amber-soft: #fcefd4;
  --amber-line: #e3b35c;
  --interactive-hover-border: #b9b4aa;
  --row-alt: #fcfbf9;
  --row-hover: #f3f1ec;
  --positive: #1d7446;
  --codegen-repaired: #864c00;
  --codegen-failed: #b42318;
  --reasoning-xhigh-fg: #5b2aa8;
  --reasoning-xhigh-bg: #efe9fb;
  --reasoning-xhigh-border: #a58bd6;
  --reasoning-medium-fg: #1d4f8f;
  --reasoning-medium-bg: #e9f0fa;
  --reasoning-medium-border: #86a9d8;
  --reasoning-none-fg: #4a4f57;
  --reasoning-none-bg: #f1f1ef;
  --reasoning-none-border: #a9aba8;
  --focus-ring: #0b66d8;
  --focus-halo: rgba(11, 102, 216, 0.2);
  --shadow: 0 1px 2px rgba(25, 25, 25, 0.06);
}

html {
  font-size: 9.5pt;
}

body {
  background: #fff;
}

/* Site chrome, the download line and screen-only hints do not print; the figures' data tables are
   on the web page. */
.skip-link,
.site-header,
.site-footer,
.report-download,
.table-scroll-hint,
.gbr-figure > details {
  display: none;
}

.blog-shell {
  padding: 0;
}

.container {
  width: 100%;
}

.blog-layout {
  display: block;
}

.blog-post {
  padding: 0;
  border: 0;
  border-radius: 0;
  background: none;
  box-shadow: none;
}

/* A4 text runs the full width of the page. */
.blog-post p,
.blog-post ul,
.blog-post ol,
.blog-lead,
.article-snapshot-note,
.report-toc,
.gb2-publication blockquote,
.gb2-publication .gbr-figure,
.gb2-publication .blog-table-wrap:not(:has(.report-table-wide)) {
  max-width: none;
}

/* Compact title block: meta line, title and the release the data comes from. */
.blog-post .report-meta {
  margin-bottom: 1.5mm;
}

.blog-post h1 {
  margin-bottom: 3mm;
  font-size: 20pt;
  line-height: 1.15;
}

.article-snapshot-note {
  margin: 0 0 5mm;
  padding: 2mm 3mm;
}

.report-toc {
  margin: 0 0 6mm;
}

.blog-post h2 {
  margin: 7mm 0 2.5mm;
  font-size: 14pt;
  break-after: avoid;
}

.gb2-publication--report > h2 {
  padding-top: 4mm;
}

.blog-post h3 {
  margin: 5mm 0 2mm;
  font-size: 11pt;
  break-after: avoid;
}

.blog-post p,
.blog-post li {
  orphans: 3;
  widows: 3;
}

/* Figures, tables and short boxes never split across pages. */
.gbr-figure,
.report-figure-placeholder,
.blog-table-wrap,
.report-toc,
.article-snapshot-note,
.gb2-publication blockquote,
.blog-post-footer {
  break-inside: avoid;
}

.gb2-publication .gbr-figure {
  margin: 4mm 0 5mm;
  padding: 3mm;
}

/* The tallest figure still fits one page with its caption. */
.gbr-figure > .gbr-svg {
  max-height: 175mm;
}

.gbr-figure > figcaption {
  font-size: 8.5pt;
}

.blog-table-wrap {
  overflow: visible;
  border-radius: 0;
}

.blog-table {
  font-size: 8.5pt;
}

.blog-table th,
.blog-table td {
  padding: 1.2mm 2mm;
}

.blog-table.report-table-wide {
  min-width: 0;
}
