/* White research pages. Project color identifies actions and selected evidence. */
:root {
  --paper: #ffffff; --surface: #ffffff; --ink: #191b20; --muted: #454b54;
  --line: #cdd1d7; --accent: #754363; --accent-soft: #f5edf2;
  --hero: #ffffff; --dark: #191b20; --neutral: #f4f5f7;
  --serif: 'Newsreader', Georgia, serif;
  --sans: 'IBM Plex Sans', -apple-system, BlinkMacSystemFont, sans-serif;
}
body[data-site='bench'] {
  --accent: #2c644d; --accent-soft: #edf6f0; --dark: #191b20;
}
body { font-size: 16px; line-height: 1.65; }
h1, h2 { letter-spacing: -.028em; font-optical-sizing: auto; }
h2 { font-size: clamp(38px, 4vw, 53px); line-height: 1.08; }
h3 { font-weight: 500; letter-spacing: -.015em; }
.shell { width: min(1160px, calc(100% - 80px)); }
.site-header { background: var(--hero); backdrop-filter: none; border-bottom: 0; position: relative; }
.nav { min-height: 64px; border-bottom: 1px solid var(--line); }
.brand { font-family: var(--serif); font-size: 24px; font-weight: 500; letter-spacing: -.015em; gap: 0; }
body[data-site='bench'] .brand { font-family: var(--sans); font-size: 18px; font-weight: 600; }

.nav-links { font-size: 12px; gap: 24px; }
.nav-links .sibling-link { padding-left: 24px; }
.nav-links a { padding-block: 8px; }
.hero { background: var(--hero); padding: 44px 0 0; overflow: visible; }

.hero .eyebrow { font: 11px/1.5 var(--sans); letter-spacing: .1em; text-transform: uppercase; margin-bottom: 18px; }
.eyebrow::before { display: none; }
.hero h1 { font-size: clamp(86px, 9.5vw, 132px); line-height: .9; letter-spacing: -.045em; margin: 0; color: var(--ink); }
body[data-site='bench'] .hero h1 { font-family: var(--sans); font-weight: 500; font-size: clamp(50px, 7.2vw, 96px); letter-spacing: -.045em; line-height: 1; }

.hero .lede { color: var(--muted); font-size: 16px; line-height: 1.65; max-width: 440px; margin-bottom: 0; }
.hero .actions { margin-top: 25px; gap: 12px; }
.button { font-size: 12px; font-weight: 500; padding: 11px 17px; border-radius: 0; background: var(--accent); border-color: var(--accent); }
.button:hover { background: var(--dark); border-color: var(--dark); transform: none; }
.button.secondary { border-color: #747b85; color: var(--ink); background: transparent; }
.hero .text-link { font-size: 12px; margin-top: 18px; display: inline-block; border-bottom-color: var(--line); }

.lab-logo, .university-logo { display: flex; text-decoration: none; }
.lab-logo img { width: 124px; height: auto; }
.university-logo img { width: 220px; height: auto; }

.stat { border-color: var(--line); }
.stat strong { font-family: var(--serif); font-weight: 400; font-size: 42px; }
body[data-site='bench'] .stat strong { font-family: var(--sans); font-weight: 400; font-size: 38px; }
.stat span { color: var(--muted); font-size: 12px; }
.section { padding-block: 78px; }
.eyebrow { color: var(--muted); font: 11px/1.5 var(--sans); letter-spacing: .1em; }
.section-heading h2 em, h1 em { font-style: normal; }
.section-tint { background: var(--hero); }
body[data-site='bench'] h2 { font-family: var(--sans); font-size: clamp(32px, 3.3vw, 44px); font-weight: 400; letter-spacing: -.035em; line-height: 1.12; }

.card, .code-card, #case-detail { border-radius: 0; box-shadow: none; }

.data-table tr.primary td { color: var(--accent); }

.data-table { font-variant-numeric: tabular-nums; }
.data-table thead { background: var(--neutral); }
.data-table th { font-weight: 500; }
.data-table td, .data-table th { padding-block: 16px; }
.resources { gap: 35px; }
.resource { border-top: 2px solid var(--ink); }

.tag { border-radius: 0; }
input[type='search'], select { border-radius: 0; font-size: 14px; border-color: #747b85; }
.code-card :focus-visible { outline-color: var(--accent); }
.explorer-grid { grid-template-columns: 1.45fr 1fr; gap: 35px; }
#case-detail { border: 0; border-top: 3px solid var(--accent); background: var(--paper); }
.code-card { background: #f7f8fa; color: var(--ink); border-color: var(--line); }
.code-card > .muted, .code-header, .code-card .tag { color: var(--muted); }
.code-header { border-color: var(--line); }
.code-card .tag { border-color: #747b85; }
.copy-button { color: var(--ink); border-color: #747b85; }
.copy-button:hover { background: #e7e9ed; }

.site-footer { padding-block: 30px; background: var(--hero); }
.footer-inner .brand { font-size: 23px; }
.footer-lab-link { display: flex; align-items: center; }
.footer-lab-link img { width: 105px; height: auto; }
.footer-links { flex-wrap: wrap; gap: 18px; }

@media (min-width: 1500px) { .hero { padding-top: 50px; } }
@media (max-width: 1050px) {
  .shell { width: calc(100% - 48px); }

  .nav-links { gap: 16px; }
  .nav-links .sibling-link { padding-left: 16px; }

}
@media (max-width: 880px) {
  .menu-toggle { display: block; background: transparent; border: 1px solid var(--line); border-radius: 0; font-size: 12px; padding: 7px 12px; }
  .nav { position: relative; }
  .nav-links { display: none; position: absolute; top: 64px; left: -24px; right: -24px; padding: 24px; background: var(--paper); border-bottom: 1px solid var(--line); flex-direction: column; align-items: flex-start; gap: 10px; }
  .nav-links.open { display: flex; }
  .nav-links .sibling-link { border: 0; padding-left: 0; }
}
@media (max-width: 780px) {
  html { scroll-padding-top: 20px; }
  .shell { width: calc(100% - 40px); }
  .hero { padding-top: 32px; padding-bottom: 0; }

  .hero h1 { font-size: clamp(80px, 17vw, 115px); }
  body[data-site='bench'] .hero h1 { font-size: clamp(34px, 7.95vw, 63px); letter-spacing: -.055em; }
  .hero .eyebrow { font-size: 10px; letter-spacing: .065em; margin-bottom: 15px; }

  .hero .lede { max-width: 570px; }
  .hero .actions { margin-top: 22px; }

  .lab-logo img { width: 110px; }
  .university-logo img { width: 195px; }

  .stat { padding-left: 22px; }
  .stat strong { font-size: 36px; }
  .stat span { display: block; font-size: 11px; max-width: 160px; }
  .section { padding-block: 58px; }
  .section-heading h2 { font-size: 39px; }

  .explorer-grid { grid-template-columns: 1fr; }
  .footer-inner { gap: 20px; }
}
@media (max-width: 380px) {

  .lab-logo img { width: 90px; }
  .university-logo img { width: 164px; }
  .button { padding-inline: 12px; }
}

/* DistDebug's opening leads with the investigation question and measured gap. */
body[data-site='bench'] .bench-opening { padding: 52px 0 40px; }
body[data-site='bench'] .bench-opening h1 { max-width: 1100px; font-size: clamp(40px, 7.7vw, 96px); line-height: 1; letter-spacing: -.045em; }
.bench-question { font: 400 clamp(22px, 2.6vw, 32px)/1.25 var(--sans); letter-spacing: -.025em; margin: 24px 0 0; }
.bench-opening .lede { max-width: 700px; margin-top: 22px; font-size: 18px; line-height: 1.5; }
.bench-opening .actions { margin-top: 23px; }
.coverage-section { padding: 38px 0 46px; border-top: 1px solid var(--line); }
.coverage-heading { display: grid; grid-template-columns: 1.35fr 1fr; gap: 44px; align-items: end; margin-bottom: 28px; }
.coverage-heading .eyebrow { margin-bottom: 10px; }
body[data-site='bench'] .coverage-heading h2 { font-size: clamp(28px, 3vw, 37px); margin: 0; }
.coverage-heading > p { font-size: 15px; line-height: 1.5; color: var(--muted); margin: 0; max-width: 420px; }
.coverage-heading strong { color: var(--ink); font-weight: 600; }
.coverage-figure { margin: 0; }
.coverage-chart-key { display: flex; justify-content: space-between; gap: 16px; flex-wrap: wrap; font-size: 12px; margin-bottom: 30px; color: var(--muted); }
.coverage-legend { display: flex; gap: 22px; color: var(--ink); }
.coverage-legend > span { display: inline-flex; align-items: center; gap: 8px; }
.coverage-legend i { display: inline-block; width: 13px; height: 13px; }
.coverage-file { background: #89939e; }
.coverage-block { background: #2c644d; }
.coverage-plot { position: relative; padding-left: 34px; }
.coverage-y-axis { position: absolute; top: 0; left: 0; height: 240px; display: flex; flex-direction: column; justify-content: space-between; width: 25px; text-align: right; font-size: 10px; line-height: 1; color: var(--muted); }
.coverage-y-axis span { transform: translateY(-50%); }
.coverage-y-axis span:last-child { transform: translateY(50%); }
.coverage-mobile-axis { display: none; }
.coverage-grid { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 22px; position: relative; }
.coverage-grid::before { content: ''; position: absolute; inset: 0 0 auto; height: 240px; pointer-events: none; background: repeating-linear-gradient(to top, var(--line) 0 1px, transparent 1px 48px); border-top: 1px solid var(--line); }
.coverage-group { min-width: 0; display: flex; flex-direction: column; position: relative; text-align: center; }
.coverage-group h3 { order: 2; font: 500 14px/1.35 var(--sans); letter-spacing: -.015em; margin: 20px 0 9px; }
.coverage-group h3 span { display: block; font-size: 11px; font-weight: 400; margin-top: 4px; color: var(--muted); }
.coverage-bars { order: 1; display: flex; justify-content: center; align-items: flex-end; gap: 10px; height: 240px; }
.coverage-bar { position: relative; width: 34px; height: calc(var(--coverage) * 1%); }
.coverage-bar > span { position: absolute; left: 50%; top: -25px; transform: translateX(-50%); font-size: 14px; line-height: 1.4; font-weight: 500; font-variant-numeric: tabular-nums; color: var(--ink); }
.coverage-gap { order: 3; font-size: 11px; color: var(--muted); margin: 0; }
.coverage-gap strong { font-size: 14px; color: var(--ink); font-weight: 500; font-variant-numeric: tabular-nums; }
.coverage-figure figcaption { border-top: 1px solid var(--line); margin-top: 24px; padding-top: 17px; font-size: 12px; line-height: 1.6; color: var(--muted); max-width: none; }
.coverage-figure figcaption a { white-space: nowrap; }

/* Findings complement the opening chart with repeatability, effort, and evidence. */
.research-findings { padding-top: 18px; }
.research-findings .section-heading { max-width: 780px; }
.research-findings .section-heading > p:not(.eyebrow) { font-size: 18px; line-height: 1.65; }
.findings-links { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 24px; margin: 30px 0 42px; }
.findings-links a { display: flex; align-items: baseline; gap: 10px; padding-block: 10px; font: 500 18px/1.4 var(--sans); text-decoration: none; }
.findings-links a:hover { text-decoration: underline; text-underline-offset: 5px; }
.findings-links a > span { color: var(--muted); font-size: 15px; font-weight: 400; font-variant-numeric: tabular-nums; }

.finding-stat { font-size: 60px; font-weight: 500; line-height: 1; letter-spacing: -.045em; margin: 0 0 10px; font-variant-numeric: tabular-nums; }
.finding-stat span { font-size: .62em; }
.finding-stat-label { font-size: 13px; color: var(--muted); margin-bottom: 24px; }
.finding-pair { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; margin: 25px 0; }
.finding-pair > div { min-width: 0; }
.finding-pair strong { display: block; font-size: 29px; line-height: 1.2; letter-spacing: -.03em; font-weight: 500; font-variant-numeric: tabular-nums; }
.finding-pair span { display: block; font-size: 13px; line-height: 1.5; color: var(--muted); margin-top: 8px; }
.finding-deltas strong { font-size: clamp(36px, 4vw, 48px); }
.finding-deltas small { font-size: .48em; font-weight: 400; }
.finding-table { border-collapse: collapse; width: 100%; margin: 24px 0; font-size: 13px; line-height: 1.45; font-variant-numeric: tabular-nums; }
.finding-table th, .finding-table td { border-bottom: 1px solid var(--line); padding: 12px 8px; text-align: right; }
.finding-table th { font-weight: 400; }
.finding-table th:first-child { text-align: left; padding-left: 0; }
.finding-table td:last-child, .finding-table th:last-child { padding-right: 0; }
.finding-table thead th { color: var(--muted); font-size: 11px; vertical-align: bottom; }
.finding-table tbody th { font-weight: 500; }

.research-findings > .shell > .small-note { margin-top: 32px; max-width: 900px; }
.findings-figures { display: grid; gap: 48px; }
.finding-visual { border-top: 1px solid var(--ink); padding-top: 24px; min-width: 0; scroll-margin-top: 28px; }
.finding-heading { margin-bottom: 0; }
.finding-heading h3 { display: flex; align-items: baseline; gap: 16px; margin: 0; color: var(--ink); font: 500 34px/1.2 var(--sans); letter-spacing: -.025em; }
.finding-number { flex: 0 0 34px; color: var(--muted); font-size: 20px; font-weight: 400; letter-spacing: 0; font-variant-numeric: tabular-nums; }
.finding-takeaway { margin: 22px 0 34px 50px; max-width: 990px; color: var(--ink); font: 400 26px/1.35 var(--sans); letter-spacing: -.015em; }
.finding-visual figure { margin: 0 0 0 50px; }
.figure-context { margin: 0 0 24px; font-size: 14px; line-height: 1.5; color: var(--muted); }
.finding-visual picture { display: block; }
.finding-visual img { display: block; width: 100%; height: auto; }
.finding-visual figcaption { font-size: 13px; line-height: 1.6; color: var(--muted); max-width: 850px; margin: 14px 0 0; }
.findings-sources { display: flex; flex-wrap: wrap; gap: 16px 28px; margin-top: 20px; }
.cost-method { margin-top: 18px; max-width: 950px; }
.cost-method summary { cursor: pointer; font-size: 13px; text-decoration: underline; text-underline-offset: 4px; }
.cost-method > p { font-size: 13px; line-height: 1.7; color: var(--muted); margin: 18px 0; }
.cost-method .table-scroll { margin: 20px 0; }
.cost-method .finding-table { margin: 0; min-width: 320px; }
.cost-method .finding-table th { white-space: normal; }
.cost-method caption { text-align: left; font-size: 12px; color: var(--muted); padding-bottom: 12px; }
.finding-notes { margin: 26px 0 0 50px; max-width: 950px; }
.finding-notes summary { cursor: pointer; font-size: 14px; line-height: 1.6; text-decoration: underline; text-underline-offset: 4px; }
.finding-notes > p { margin: 16px 0; color: var(--muted); font-size: 14px; line-height: 1.65; }
.results-notes { margin-top: 40px; }
@media (max-width: 880px) {
  .findings-links { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px 24px; }

}
@media (max-width: 640px) {
  .research-findings { padding-top: 12px; }
  .findings-links { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px 20px; margin: 24px 0 32px; }
  .findings-links a { font-size: 17px; gap: 8px; }
  .research-findings .section-heading > p:not(.eyebrow) { font-size: 17px; }

  .finding-stat { font-size: 52px; }
  .finding-table { font-size: 12px; }
  .finding-table th, .finding-table td { padding-inline: 5px; }
  .finding-pair { gap: 18px; }
  .findings-figures { gap: 34px; }
  .finding-visual { padding-top: 20px; }
  .finding-heading { margin-bottom: 0; }
  .finding-heading h3 { font-size: 28px; gap: 12px; }
  .finding-number { flex-basis: 24px; font-size: 18px; }
  .finding-takeaway { margin: 20px 0 28px 36px; font-size: 22px; }
  .finding-visual figure { margin-left: 36px; }
  .figure-context { margin-bottom: 22px; font-size: 13px; }
  .finding-notes { margin-left: 36px; }
}
.bench-team-page .team-intro { padding-top: 65px; min-height: calc(100svh - 160px); }
.bench-team-page h1 { font: 500 clamp(36px, 5vw, 66px)/1.08 var(--sans); letter-spacing: -.04em; margin: 0 0 18px; }
.team-intro .lede { font-size: 18px; max-width: 680px; color: var(--muted); margin-bottom: 0; }
.team-leads { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 48px; margin-top: 44px; }
.team-profile { border-top: 1px solid var(--ink); padding-top: 18px; }
.bench-team-page .team-role { font: 500 13px/1.5 var(--sans); letter-spacing: .04em; text-transform: uppercase; margin: 0 0 22px; }
.team-profile-body { display: flex; align-items: center; gap: 26px; }
.team-portrait { display: block; width: 120px; height: 120px; flex: 0 0 120px; object-fit: cover; }
.team-profile-details { min-width: 0; }
.team-profile h3 { font-size: clamp(23px, 2.5vw, 30px); line-height: 1.2; margin: 0 0 18px; }
.team-profile-link { font-size: 13px; text-decoration: none; border-bottom: 1px solid var(--line); padding-bottom: 4px; }
.team-profile-link span { margin-left: 9px; }
.team-profile-link:hover { border-color: var(--accent); }
.team-students { margin-top: 56px; }
.bench-team-page .team-students h2, .bench-team-page .team-lab h2 { font: 500 28px/1.2 var(--sans); letter-spacing: -.025em; margin: 0 0 24px; }
.team-author-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); list-style: none; padding: 0; margin: 0; column-gap: 40px; }
.team-author-list li { border-top: 1px solid var(--line); }
.team-author-list a { display: block; padding: 20px 0; font-size: 20px; text-decoration: none; }
.team-author-list a::after { content: '↗'; margin-left: 10px; font-size: 13px; color: var(--muted); }
.team-author-list a:hover { color: var(--accent); text-decoration: underline; text-underline-offset: 5px; }
.team-lab { display: grid; grid-template-columns: minmax(0, 1fr) 220px; gap: 60px; margin-top: 44px; border-top: 1px solid var(--line); padding-top: 30px; }
.team-lab p { max-width: 700px; margin-bottom: 0; color: var(--muted); }
.team-identity { display: flex; flex-direction: column; gap: 28px; align-items: flex-start; justify-content: center; }
.nav-links a[aria-current='page'] { text-decoration: underline; text-underline-offset: 6px; }
@media (max-width: 880px) {
  .team-leads { gap: 30px; }
  .team-profile-body { flex-direction: column; align-items: flex-start; gap: 20px; }
  .team-author-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .coverage-heading { grid-template-columns: 1fr; gap: 15px; }
  .coverage-heading > p { max-width: 650px; }
  .coverage-grid { gap: 12px; }
  .coverage-bar { width: 28px; }
  .coverage-bars { gap: 8px; }
}
@media (max-width: 640px) {
  body[data-site='bench'] .bench-opening { padding: 34px 0; }
  body[data-site='bench'] .bench-opening h1 { font-size: clamp(38px, 8.8vw, 54px); line-height: 1.1; }
  .bench-opening .lede { font-size: 16px; margin-top: 18px; }
  .coverage-section { padding: 30px 0; }
  .coverage-heading { margin-bottom: 22px; }
  .coverage-chart-key { display: grid; gap: 10px; margin-bottom: 20px; }
  .coverage-plot { padding-left: 0; }
  .coverage-y-axis { display: none; }
  .coverage-mobile-axis { display: flex; justify-content: space-between; font-size: 10px; color: var(--muted); padding-bottom: 8px; border-bottom: 1px solid var(--line); }
  .coverage-grid { grid-template-columns: 1fr; gap: 23px; margin-top: 20px; }
  .coverage-grid::before { display: none; }
  .coverage-group { text-align: left; }
  .coverage-group h3 { order: 0; margin: 0 0 10px; display: flex; align-items: baseline; justify-content: space-between; gap: 10px; }
  .coverage-group h3 span { margin: 0; }
  .coverage-bars { height: auto; display: flex; flex-direction: column; align-items: flex-start; gap: 6px; background: repeating-linear-gradient(to right, var(--line) 0 1px, transparent 1px 20%); }
  .coverage-bar { height: 17px; width: calc(var(--coverage) * 1%); }
  .coverage-bar > span { left: 100%; top: 50%; transform: translate(7px, -50%); font-size: 12px; }
  .coverage-gap { margin-top: 5px; }
  .coverage-gap strong { font-size: 12px; }
  .bench-team-page .team-intro { padding-top: 38px; }
  .team-intro .lede { font-size: 16px; }
  .team-leads { grid-template-columns: 1fr; gap: 32px; margin-top: 32px; }
  .team-profile-body { flex-direction: row; align-items: center; gap: 20px; }
  .team-portrait { width: 96px; height: 96px; flex-basis: 96px; }
  .team-profile h3 { font-size: 24px; margin-bottom: 14px; }
  .team-profile-link { font-size: 12px; }
  .team-students { margin-top: 42px; }
  .team-author-list { grid-template-columns: 1fr; }
  .team-author-list a { padding-block: 15px; font-size: 20px; }
  .team-lab { grid-template-columns: 1fr; gap: 28px; margin-top: 36px; }
  .team-identity { flex-direction: row; flex-wrap: wrap; gap: 26px; align-items: center; justify-content: flex-start; }
}

/* The complete paper comparison uses color for model families and tone for metrics. */
.family-openai { --model-color: #4169ad; }
.family-anthropic { --model-color: #882f07; }
.family-mimo { --model-color: #8557a6; }
.family-kimi { --model-color: #a87420; }
.family-deepseek { --model-color: #16817e; }
.family-hunyuan { --model-color: #ad4f72; }
.family-gemini { --model-color: #c35f32; }
.coverage-full { --model-color: #485260; }
.coverage-full .coverage-file { background: color-mix(in srgb, var(--model-color) 48%, white); }
.coverage-full .coverage-block { background: var(--model-color); }
.coverage-full .coverage-chart-key { margin-bottom: 14px; }
.model-family-key { list-style: none; padding: 0; margin: 0 0 27px; display: flex; flex-wrap: wrap; gap: 8px 22px; font-size: 12px; }
.model-family-key li { display: inline-flex; align-items: center; gap: 7px; }
.model-family-key i { width: 9px; height: 9px; border-radius: 50%; background: var(--model-color); }
/* The harness labels share the chart's 17 columns and gap so each group spans its own bars. */
.coverage-harness-groups { display: grid; grid-template-columns: repeat(17, minmax(0, 1fr)); gap: 10px; margin: 0 0 24px 34px; font-size: 11px; color: var(--muted); }
.coverage-harness-groups span { grid-column: span 2; border-top: 2px solid var(--line); padding-top: 7px; text-align: center; }
.coverage-harness-groups span:first-child { grid-column: span 13; }
.coverage-full .coverage-grid { grid-template-columns: repeat(17, minmax(0, 1fr)); gap: 10px; }
.coverage-full .coverage-bars { gap: 6px; }
.coverage-full .coverage-bar { width: 22px; }
.coverage-full .coverage-bar > span { font-size: 10px; top: -20px; }
.coverage-full .coverage-group h3 { font-size: 11px; line-height: 1.3; min-height: 30px; margin: 15px 0 7px; overflow-wrap: anywhere; }
.coverage-full .coverage-harness { display: none; }
.coverage-full .coverage-gap { font-size: 9px; }
.coverage-full .coverage-gap strong { font-size: 12px; }
.coverage-full .coverage-gap > span { display: block; }
/* Below 1140px the 17 columns become too narrow for two-line model labels. */
@media (max-width: 1140px) {
  .coverage-full .coverage-plot { padding-left: 0; }
  .coverage-full .coverage-y-axis, .coverage-harness-groups { display: none; }
  .coverage-full .coverage-mobile-axis { display: flex; justify-content: space-between; font-size: 10px; color: var(--muted); padding-bottom: 8px; border-bottom: 1px solid var(--line); }
  .coverage-full .coverage-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 25px 35px; margin-top: 20px; }
  .coverage-full .coverage-grid::before { display: none; }
  .coverage-full .coverage-group { text-align: left; }
  .coverage-full .coverage-group h3 { order: 0; display: flex; align-items: baseline; justify-content: space-between; gap: 10px; min-height: 0; margin: 0 0 10px; font-size: 13px; }
  .coverage-full .coverage-harness { display: block; font-size: 10px; margin: 0; }
  .coverage-full .coverage-bars { height: auto; flex-direction: column; align-items: flex-start; gap: 6px; background: repeating-linear-gradient(to right, var(--line) 0 1px, transparent 1px 20%); }
  .coverage-full .coverage-bar { height: 17px; width: calc(var(--coverage) * 1%); }
  .coverage-full .coverage-bar > span { left: 100%; top: 50%; transform: translate(7px, -50%); font-size: 11px; }
  .coverage-full .coverage-gap { margin-top: 5px; font-size: 10px; }
  .coverage-full .coverage-gap > span { display: inline; }
}
@media (max-width: 640px) {
  .coverage-full .coverage-grid { grid-template-columns: 1fr; gap: 23px; }
  .model-family-key { gap: 7px 17px; font-size: 11px; margin-bottom: 20px; }
}

/* Methodology tabs. The tablist appears only once the script has run. */
.method-tabs { display: flex; border-bottom: 1px solid var(--line); margin-bottom: 34px; overflow-x: auto; }
.method-tabs[hidden] { display: none; }
.method-tabs [role='tab'] { flex: none; background: none; border: 0; border-bottom: 2px solid transparent; margin-bottom: -1px; padding: 12px 18px; font-size: 14px; color: var(--muted); white-space: nowrap; }
.method-tabs [role='tab']:hover { color: var(--ink); }
.method-tabs [role='tab'][aria-selected='true'] { color: var(--accent); border-bottom-color: var(--accent); font-weight: 500; }
.method-panel { max-width: 760px; }
.method-panels:not(.tabs-ready) .method-panel + .method-panel { margin-top: 34px; }
.method-panel:focus-visible { outline-offset: 8px; }
@media (max-width: 640px) { .method-tabs [role='tab'] { padding: 10px 12px; font-size: 13px; } }

/* Placeholders mark details still to be supplied before publication. */
.placeholder-mark { display: inline-block; border: 1px dashed #b4532a; background: #fff6ec; color: #8a3b17; padding: 1px 8px; font: 500 12px/1.6 var(--sans); }

/* Submit your results: three steps, then the diagnosis schema and the open placeholders. */
.submit-steps { margin-top: 8px; }
.submit-steps .card ul { margin: 0; padding-left: 18px; font-size: 14px; color: var(--muted); }
.submit-steps .card li + li { margin-top: 6px; }

/* Blog: each project site has its own index and posts; these styles are shared, and the accent comes from body[data-site]. */
.blog-index, .blog-post { padding: 48px 0 88px; }
.blog-page-body .blog-index h1, .blog-page-body .blog-post h1 { font: 500 clamp(36px, 5vw, 56px)/1.1 var(--sans); letter-spacing: -.035em; margin: 0 0 18px; max-width: 900px; }
.blog-index .lede { margin-bottom: 0; }
.blog-list { list-style: none; padding: 0; margin: 40px 0 0; border-top: 1px solid var(--ink); }
.blog-list-item { display: grid; grid-template-columns: 240px minmax(0, 1fr); gap: 12px 48px; padding: 30px 0; border-bottom: 1px solid var(--line); }
.blog-page-body .blog-list-item h2 { font: 500 28px/1.25 var(--sans); letter-spacing: -.02em; margin: 0 0 14px; }
.blog-list-item h2 a { text-decoration: none; }
.blog-list-item h2 a:hover { text-decoration: underline; text-underline-offset: 5px; }
.blog-list-meta .blog-byline { flex-direction: column; align-items: flex-start; margin: 4px 0 0; }
.blog-excerpt { color: var(--muted); max-width: 760px; margin-bottom: 16px; }
.blog-post-header, .blog-contents, .blog-body, .blog-post-footer { max-width: 720px; margin-inline: auto; }
.blog-post-header .eyebrow { margin-bottom: 16px; }
.blog-post-header .eyebrow a { text-decoration: none; }
.blog-post-header .eyebrow a:hover { text-decoration: underline; text-underline-offset: 4px; }
.blog-byline { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 16px; margin: 20px 0 0; font-size: 14px; color: var(--muted); }
.blog-byline a { color: var(--ink); }
.blog-contents { margin-top: 34px; padding: 18px 0 20px; border-block: 1px solid var(--line); font-size: 14px; }
.blog-contents p { margin: 0 0 8px; color: var(--muted); font-size: 12px; text-transform: uppercase; letter-spacing: .08em; }
.blog-contents ol { margin: 0; padding-left: 20px; columns: 2; column-gap: 32px; }
.blog-contents li { break-inside: avoid; padding: 2px 0; }
.blog-contents a { text-decoration: none; }
.blog-contents a:hover { text-decoration: underline; text-underline-offset: 3px; }
.blog-body { margin-top: 38px; }
.blog-body > p { font-size: 18px; line-height: 1.72; color: var(--ink); margin: 0 0 24px; }
.blog-page-body .blog-body > h2 { font: 500 30px/1.25 var(--sans); letter-spacing: -.02em; margin: 58px 0 18px; scroll-margin-top: 24px; }
.blog-body strong { font-weight: 600; }
.blog-body a { text-underline-offset: 3px; }
.blog-table-scroll { margin: 30px 0 12px; max-height: none; }
.blog-table { border-collapse: collapse; width: 100%; font-size: 14px; line-height: 1.45; font-variant-numeric: tabular-nums; }
.blog-table th, .blog-table td { border-bottom: 1px solid var(--line); padding: 11px 12px 11px 0; text-align: left; vertical-align: top; }
.blog-table thead th { color: var(--muted); font-size: 12px; font-weight: 400; vertical-align: bottom; border-bottom-color: var(--ink); }
.blog-table tbody th { font-weight: 500; white-space: nowrap; }
.blog-table .num { text-align: right; white-space: nowrap; }
.blog-table td:not(.num) { min-width: 220px; }
.blog-table td:last-child, .blog-table th:last-child { padding-right: 0; }
.blog-body > .blog-table-note { font-size: 14px; color: var(--muted); margin-bottom: 30px; }
/* Figures may run wider than the text column, up to 1,000 px. */
.blog-figure { --figure-width: min(1000px, calc(100vw - 80px)); width: var(--figure-width); margin: 40px calc((100% - var(--figure-width)) / 2) 44px; }
.blog-figure img { display: block; width: 100%; height: auto; }
.blog-figure picture { display: block; }
.blog-figure figcaption { max-width: 720px; margin: 16px auto 0; font-size: 14px; line-height: 1.6; color: var(--muted); }
.blog-figure-source { color: var(--ink); }
.blog-figure-scroll { overflow-x: auto; }
.blog-figure-scroll:focus-visible { outline: 2px solid var(--accent); outline-offset: 4px; }
.blog-scroll-hint { display: none; }
.blog-post-footer { display: flex; flex-wrap: wrap; gap: 14px 28px; margin-top: 56px; padding-top: 24px; border-top: 1px solid var(--line); }
@media (max-width: 880px) {
  .blog-figure { width: 100%; margin-inline: 0; }
  .blog-figure-scroll img { min-width: var(--figure-min, 0); }
  .blog-scroll-hint { display: block; margin: 0 0 8px; font-size: 12px; color: var(--muted); }
  .blog-list-item { grid-template-columns: 1fr; gap: 6px; }
  .blog-list-meta .blog-byline { flex-direction: row; }
}
@media (max-width: 640px) {
  .blog-index, .blog-post { padding: 34px 0 64px; }
  .blog-body > p { font-size: 17px; }
  .blog-page-body .blog-body > h2 { font-size: 25px; margin-top: 46px; }
  .blog-contents ol { columns: 1; }
  .blog-page-body .blog-list-item h2 { font-size: 24px; }
}

/* The compact leaderboard (top five) sits in the hero, padded like the full leaderboard. */
.lb-compact-scroll { position: relative; margin: 0; max-height: none; border-top: 1px solid var(--ink); }
.lb-compact { width: 100%; border-collapse: collapse; font-size: 14px; line-height: 1.4; font-variant-numeric: tabular-nums; }
.lb-compact th, .lb-compact td { padding: 12px 10px; border-bottom: 1px solid var(--line); text-align: right; white-space: nowrap; vertical-align: top; }
.lb-compact th:first-child, .lb-compact td:first-child { text-align: left; }
.lb-compact .lb-tag { margin-left: 8px; vertical-align: 1px; }
.lb-compact thead th { color: var(--muted); font-size: 12px; font-weight: 500; vertical-align: bottom; }
.lb-compact tbody th { font-weight: 500; color: var(--ink); }
.lb-compact .primary-metric { background: #f0f3f8; font-weight: 600; color: var(--ink); }

/* Leaderboard page: one ranking, sortable columns, harness and weights filters. */
.lb-page { padding: 48px 0 88px; }
.lb-header { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-end; gap: 20px 48px; }
.lb-page h1 { font: 500 clamp(36px, 5vw, 56px)/1.1 var(--sans); letter-spacing: -.035em; margin: 0 0 16px; }
.lb-header .lede { max-width: 640px; margin: 0; }
.lb-protocol { max-width: 920px; margin: 28px 0 0; padding: 14px 18px; border-left: 3px solid var(--accent); background: var(--neutral); font-size: 14px; line-height: 1.6; }
.lb-source { max-width: 920px; margin: 12px 0 0; font-size: 13px; line-height: 1.6; color: var(--muted); }
.lb-source code { font-size: 12px; }
.lb-controls { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 32px; margin: 30px 0 14px; }
.lb-controls[hidden] { display: none; }
.lb-filter { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; border: 0; margin: 0; padding: 0; }
.lb-filter legend { float: left; padding: 0; margin-right: 6px; font-size: 11px; text-transform: uppercase; letter-spacing: .08em; color: var(--muted); }
.lb-filter label { position: relative; display: inline-flex; }
.lb-filter input { position: absolute; inset: 0; opacity: 0; margin: 0; cursor: pointer; }
.lb-filter span { display: inline-block; padding: 6px 12px; border: 1px solid var(--line); font-size: 13px; line-height: 1.4; color: var(--ink); }
.lb-filter input:checked + span { background: var(--accent); border-color: var(--accent); color: #fff; }
.lb-filter input:focus-visible + span { outline: 2px solid var(--accent); outline-offset: 2px; }
.lb-count { margin: 0 0 0 auto; font-size: 13px; color: var(--muted); }
.lb-scroll { position: relative; margin: 0; max-height: none; border-top: 1px solid var(--ink); } /* contains the table's visually hidden labels */
.lb-table { width: 100%; min-width: 1100px; border-collapse: separate; border-spacing: 0; font-size: 14px; line-height: 1.4; font-variant-numeric: tabular-nums; }
.lb-table th, .lb-table td { padding: 12px 8px; border-bottom: 1px solid var(--line); background: #fff; text-align: right; white-space: nowrap; vertical-align: top; }
.lb-table thead th, .lb-table thead td { color: var(--muted); font-size: 12px; font-weight: 500; vertical-align: bottom; white-space: normal; }
.lb-groups th { text-align: center; font-size: 11px; font-weight: 500; text-transform: uppercase; letter-spacing: .06em; padding-block: 10px 6px; }
.lb-groups th + th { box-shadow: inset 1px 0 0 var(--line); }
.lb-table tbody tr:hover > * { background: #f7f8fa; }
.lb-table .lb-rank { position: sticky; left: 0; z-index: 2; width: 52px; min-width: 52px; text-align: left; color: var(--muted); }
.lb-table .lb-model { position: sticky; left: 52px; z-index: 2; min-width: 276px; text-align: left; white-space: normal; box-shadow: inset -1px 0 0 var(--line); }
.lb-table tbody .lb-model { font-weight: 500; color: var(--ink); }
.lb-model-name { display: flex; align-items: center; gap: 8px; font-size: 15px; }
.lb-family { flex: none; width: 9px; height: 9px; border-radius: 50%; background: var(--model-color); }
/* Harness, effort, and weights as chips: each stays whole, and the row of chips stays on one line on wider screens. */
.lb-tags { display: flex; flex-wrap: nowrap; gap: 4px; margin: 6px 0 0 17px; }
.lb-tag { display: inline-block; flex: none; padding: 0 6px; border: 1px solid var(--line); border-radius: 3px; background: #f7f8fa; font-size: 11px; font-weight: 500; line-height: 18px; color: var(--muted); white-space: nowrap; }
.lb-tag-open { border-color: #cfe1d5; background: #eef5f0; color: #2f5f46; }
.lb-table .lb-primary { background: #f0f3f8; font-weight: 600; color: var(--ink); }
.lb-ci { display: block; margin-top: 2px; font-size: 11px; font-weight: 400; color: var(--muted); }
.lb-sort { display: inline-flex; align-items: flex-end; gap: 4px; padding: 0; border: 0; background: none; color: inherit; font: inherit; text-align: inherit; cursor: pointer; }
.lb-sort:hover { color: var(--ink); text-decoration: underline; text-underline-offset: 3px; }
.lb-sort:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }
.lb-sort-icon { width: 10px; font-size: 10px; color: var(--line); }
.lb-sort-icon::after { content: '↕'; }
[aria-sort] > .lb-sort { color: var(--ink); font-weight: 600; }
[aria-sort='ascending'] .lb-sort-icon, [aria-sort='descending'] .lb-sort-icon { color: var(--accent); }
[aria-sort='ascending'] .lb-sort-icon::after { content: '▲'; }
[aria-sort='descending'] .lb-sort-icon::after { content: '▼'; }
.lb-scroll-hint { display: none; margin: 0 0 8px; font-size: 12px; color: var(--muted); }
.lb-notes { max-width: 920px; margin: 16px 0 0; font-size: 13px; line-height: 1.6; color: var(--muted); }
@media (max-width: 640px) {
  .lb-page { padding: 34px 0 64px; }
  .lb-count { margin-left: 0; width: 100%; }
  .lb-scroll-hint { display: block; }
  .lb-table { min-width: 980px; font-size: 13px; }
  .lb-table .lb-rank { width: 36px; min-width: 36px; padding-inline: 6px 4px; }
  .lb-table .lb-model { left: 36px; min-width: 156px; max-width: 156px; }
  .lb-tags { flex-direction: column; align-items: flex-start; gap: 3px; margin-left: 0; }
  .lb-tag { font-size: 10.5px; line-height: 17px; }
  .lb-model-name { font-size: 14px; }
  .lb-compact { font-size: 13px; }
  .lb-compact th, .lb-compact td { padding-inline: 6px; }
  .lb-compact thead th { white-space: normal; }
}

/* Navigation: slightly tighter spacing than the base stylesheet. The menu button appears at 880 px and below. */
body[data-site='bench'] .nav-links { gap: 18px; }
body[data-site='bench'] .nav-links .sibling-link { padding-left: 18px; }

/* Sticky header on every page. It gains a
   full-width border once the page scrolls, and anchor targets land below it. */
.site-header { position: sticky; top: 0; z-index: 40; background: rgba(255, 255, 255, .94); -webkit-backdrop-filter: saturate(1.4) blur(10px); backdrop-filter: saturate(1.4) blur(10px); transition: box-shadow .15s ease; }
.nav { min-height: 56px; }
.site-header.is-scrolled { box-shadow: 0 1px 0 var(--line); }
.site-header.is-scrolled .nav { border-bottom-color: transparent; }
html { scroll-padding-top: 72px; } /* below the 56 px sticky header; overrides the earlier mobile values */
@media (max-width: 880px) {
  .nav-links { top: 100%; max-height: calc(100vh - 56px); max-height: calc(100dvh - 56px); overflow-y: auto; overscroll-behavior: contain; }
  body[data-site='bench'] .nav-links .sibling-link { border: 0; padding-left: 0; }
}
@media (prefers-reduced-motion: reduce) { .site-header { transition: none; } }

/* Site restructure, 2026-10-31: a six-item nav with Paper and GitHub links, a shorter benchmark page,
   and separate findings and methodology pages. */
.nav-links .nav-external { color: var(--muted); white-space: nowrap; }
.nav-links .nav-external:hover { color: var(--ink); }

body[data-site='bench'] .section-heading h1 { font: 400 clamp(36px, 4vw, 52px)/1.1 var(--sans); letter-spacing: -.035em; max-width: none; margin-bottom: 24px; }
.page-intro { padding: 48px 0 8px; }
.page-intro h1 { font: 500 clamp(36px, 5vw, 56px)/1.1 var(--sans); letter-spacing: -.035em; margin: 0 0 18px; max-width: 900px; }
.page-intro .lede { max-width: 760px; margin: 0; }
/* Benchmark, 2026-11-01: placed before Findings. One paragraph on the task, then the systems table beside
   why the incidents are hard and one example. */
body[data-site='bench'] .bench-overview { padding-block: 48px; border-bottom: 1px solid var(--line); }
.bench-overview .section-heading { max-width: 900px; margin-bottom: 30px; }
.bench-overview .section-heading .eyebrow { margin-bottom: 14px; }
body[data-site='bench'] .bench-overview .section-heading h2 { margin-bottom: 16px; }
.bench-overview .section-heading > p:last-child { margin-bottom: 0; }
.bench-summary { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: 56px; align-items: start; }
body[data-site='bench'] .bench-subhead { font: 500 15px/1.4 var(--sans); letter-spacing: 0; margin: 0 0 10px; }
.system-table-scroll { margin: 0; }
.system-table { width: 100%; border-collapse: collapse; border-top: 1px solid var(--ink); font-size: 14px; line-height: 1.35; font-variant-numeric: tabular-nums; }
.system-table th, .system-table td { padding: 8px 12px 8px 0; border-bottom: 1px solid var(--line); text-align: left; vertical-align: baseline; }
.system-table thead th { font-size: 12px; font-weight: 400; color: var(--muted); white-space: nowrap; }
.system-table tbody th { font-weight: 500; white-space: nowrap; }
.system-table td { color: var(--muted); }
.system-table th:last-child, .system-table td:last-child { text-align: right; padding-right: 0; color: var(--ink); }
.hard-stats { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px 28px; border-top: 1px solid var(--ink); padding-top: 14px; }
.hard-stats p { margin: 0; font-size: 14px; line-height: 1.45; color: var(--muted); }
.hard-stats strong { display: block; font: 400 32px/1.15 var(--sans); letter-spacing: -.02em; color: var(--ink); margin-bottom: 2px; font-variant-numeric: tabular-nums; }
.bench-hard .bench-callout { margin-top: 26px; padding: 14px 18px; border-left: 2px solid var(--accent); background: var(--neutral); }
.bench-callout .eyebrow { margin-bottom: 6px; }
.bench-callout p:not(.eyebrow) { margin: 0; font-size: 14px; line-height: 1.55; color: var(--ink); }
.bench-callout .text-link { white-space: nowrap; }
.bench-more { display: inline-block; margin-top: 16px; font-size: 14px; }
@media (max-width: 900px) {
  .bench-summary { grid-template-columns: 1fr; gap: 36px; }
}
@media (max-width: 640px) {
  .system-table th, .system-table td { padding-right: 8px; }
  .system-table { font-size: 13px; }
  .hard-stats strong { font-size: 28px; }
}
/* Findings: three compact blocks, each a takeaway, a figure, and a note. */
.findings-overview .section-heading { margin-bottom: 8px; }
.finding-compact { border-top: 1px solid var(--ink); padding-top: 24px; margin-top: 40px; scroll-margin-top: 16px; }
.finding-compact > h3 { font: 500 15px/1.4 var(--sans); color: var(--muted); text-transform: uppercase; letter-spacing: .06em; margin: 0 0 10px; }
.finding-compact .finding-takeaway { margin: 0 0 26px; max-width: 900px; color: var(--ink); font: 400 24px/1.35 var(--sans); letter-spacing: -.015em; }
.finding-compact .finding-takeaway strong { font-weight: 600; }
.finding-compact > figure:not(.coverage-figure) { margin: 0; max-width: 940px; }
.finding-compact picture, .finding-compact picture img { display: block; width: 100%; height: auto; }
.finding-compact figcaption { margin: 14px 0 0; max-width: 860px; font-size: 14px; line-height: 1.65; color: var(--muted); }
.finding-compact .coverage-figure figcaption { max-width: none; }
.findings-more { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px 32px; margin-top: 40px; padding-top: 20px; border-top: 1px solid var(--line); }
.findings-more p { margin: 0; max-width: 680px; font-size: 13px; color: var(--muted); }
/* Use DistDebug-Bench: try one incident, or submit a full run. */
.use-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 56px; align-items: start; }
.use-column { min-width: 0; border-top: 1px solid var(--ink); padding-top: 22px; scroll-margin-top: 16px; }
.use-column h3 { font: 500 24px/1.3 var(--sans); letter-spacing: -.02em; margin: 0 0 14px; }
.use-column h4 { font: 500 16px/1.4 var(--sans); margin: 26px 0 8px; }
.use-column > p { color: var(--muted); font-size: 15px; }

.use-column .code-card { margin: 18px 0; }
.use-steps { display: grid; gap: 16px; margin-top: 18px; }
.use-step { border-left: 2px solid var(--line); padding-left: 16px; }
.use-step .step-number { display: block; font-size: 11px; letter-spacing: .06em; color: var(--accent); margin-bottom: 4px; }
.use-step h4 { margin: 0 0 6px; }
.use-step ul { margin: 0; padding-left: 18px; font-size: 14px; color: var(--muted); }
.use-step li + li { margin-top: 4px; }

.schema-details { margin-top: 24px; border-top: 1px solid var(--line); }
.schema-details summary { cursor: pointer; padding: 14px 0; font-size: 14px; font-weight: 500; }
.schema-details .code-card { margin-top: 4px; }
/* Use DistDebug-Bench, 2026-11-02: the main page keeps a summary; the full guide is the submit page. */
.use-summary { list-style: none; margin: 20px 0 26px; padding: 0; display: grid; gap: 16px; }
.use-summary li { border-left: 2px solid var(--line); padding-left: 16px; font-size: 15px; line-height: 1.55; color: var(--muted); }
.use-column > .use-guide-note { margin: 0 0 16px; font-size: 14px; }
.use-summary .step-number { display: block; font-size: 11px; letter-spacing: .06em; color: var(--accent); margin-bottom: 3px; }
.submit-guide { padding-bottom: 56px; }
.submit-steps { grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: start; gap: 32px; margin: 36px 0 12px; }
.submit-guide .use-step h4 { font: 500 17px/1.4 var(--sans); margin: 0 0 8px; }
.submit-body { max-width: 820px; }
body[data-site='bench'] .submit-body h2 { font: 500 24px/1.3 var(--sans); letter-spacing: -.02em; margin: 44px 0 10px; }
.submit-body > p { color: var(--muted); font-size: 15px; }
.submit-body .code-card { margin: 18px 0; }
/* Cite: one line and the BibTeX entry. */
.cite-section { padding-block: 48px; }
.cite-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); gap: 48px; align-items: start; }
body[data-site='bench'] .cite-heading { font: 500 13px/1.4 var(--sans); text-transform: uppercase; letter-spacing: .1em; color: var(--muted); margin: 0 0 12px; }
.cite-line { font-size: 16px; line-height: 1.6; margin: 0; }
.cite-line cite { font-style: normal; font-weight: 500; display: block; margin-bottom: 4px; }
/* Team contact. */
.team-contact { margin-top: 44px; border-top: 1px solid var(--line); padding-top: 26px; scroll-margin-top: 16px; }
.bench-team-page .team-contact h2 { font: 500 28px/1.2 var(--sans); letter-spacing: -.025em; margin: 0 0 12px; }
.team-contact p { margin: 0; font-size: 18px; }
@media (max-width: 880px) {
  .use-grid, .cite-layout { grid-template-columns: 1fr; gap: 36px; }
  .submit-steps { grid-template-columns: 1fr; gap: 16px; }
}
@media (max-width: 640px) {
  .finding-compact .finding-takeaway { font-size: 20px; }
  .page-intro { padding-top: 34px; }
}

/* Hero, 2026-10-31: the question and lede on the left, the compact leaderboard on the right. The title
   scales down so it fits its column; below 980 px the leaderboard stacks under the hero text. */
body[data-site='bench'] .bench-opening { padding-bottom: 48px; border-bottom: 1px solid var(--line); }
.hero-split { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr); gap: 64px; align-items: start; }
body[data-site='bench'] .hero-split h1 { font-size: clamp(44px, 5vw, 72px); line-height: 1; }
.hero-split .bench-question { font-size: clamp(22px, 2vw, 28px); margin-top: 20px; }
.hero-split .lede { font-size: 17px; max-width: 520px; margin-top: 18px; }
.hero-split .actions { margin-top: 24px; }
.hero-leaderboard { padding-top: 4px; }
body[data-site='bench'] .hero-leaderboard-heading { font: 500 12px/1.4 var(--sans); text-transform: uppercase; letter-spacing: .1em; color: var(--muted); margin: 0 0 10px; }
.hero-leaderboard .lb-compact th, .hero-leaderboard .lb-compact td { padding-block: 9px; }
.hero-leaderboard .lb-compact .lb-ci { margin-top: 1px; }
.hero-leaderboard-more { margin-top: 16px; }
@media (max-width: 980px) {
  .hero-split { grid-template-columns: 1fr; gap: 36px; }
  body[data-site='bench'] .hero-split h1 { font-size: clamp(38px, 7.7vw, 72px); }
  .hero-split .lede { max-width: 640px; }
}
@media (max-width: 640px) {
  body[data-site='bench'] .hero-split h1 { font-size: clamp(38px, 8.8vw, 54px); line-height: 1.1; }
}

/* Interactive findings charts, 2026-11-01 (distdebug-bench/assets/findings-charts.js). Hovering or focusing a
   model, a report group, or a legend family dims the rest; the model picker redraws the evidence and
   consistency charts on fixed axes. Without JavaScript the charts show their default model. */
.coverage-figure, .model-figure { position: relative; }
.coverage-group, .model-chart [data-group], .model-family-key li { transition: opacity .15s ease; }
.coverage-grid.is-highlighting .coverage-group:not(.is-active),
.model-chart.is-highlighting [data-group]:not(.is-active) { opacity: .25; }
.model-family-key.is-highlighting li:not(.is-active) { opacity: .4; }
.coverage-grid.is-interactive .coverage-group { cursor: pointer; }
.coverage-group:focus-visible { outline: 2px solid var(--accent); outline-offset: 4px; }
.coverage-full .coverage-group.is-selected h3 { font-weight: 600; text-decoration: underline 2px var(--model-color); text-underline-offset: 4px; }
.chart-tip { position: absolute; z-index: 4; width: max-content; max-width: 250px; padding: 9px 12px 10px; background: var(--surface); border: 1px solid var(--line); border-radius: 4px; box-shadow: 0 6px 18px rgb(25 27 32 / 10%); font-size: 12px; line-height: 1.45; pointer-events: none; }
.chart-tip[hidden] { display: none; }
.chart-tip-title { margin: 0; font-size: 13px; font-weight: 600; color: var(--ink); }
.chart-tip-sub { margin: 0 0 6px; color: var(--muted); }
.chart-tip dl { display: grid; grid-template-columns: auto auto; gap: 2px 16px; margin: 0; }
.chart-tip dt { color: var(--muted); }
.chart-tip dd { margin: 0; text-align: right; font-weight: 600; color: var(--ink); font-variant-numeric: tabular-nums; }
.chart-tip-hint { margin: 7px 0 0; padding-top: 6px; border-top: 1px solid var(--line); color: var(--muted); }
.model-pick { position: relative; display: flex; align-items: center; }
.model-chip { display: inline-flex; align-items: center; gap: 8px; padding: 5px 12px; border: 1px solid var(--line); border-radius: 999px; background: var(--paper); color: var(--ink); font-size: 14px; line-height: 1.3; }
button.model-chip { cursor: pointer; }
button.model-chip:hover, button.model-chip[aria-expanded='true'] { border-color: var(--ink); }
button.model-chip::after { content: ''; width: 10px; height: 6px; margin-left: 2px; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%23191b20' stroke-width='1.5'/%3E%3C/svg%3E") no-repeat center; }
.model-dot { flex: none; width: 9px; height: 9px; border-radius: 50%; background: var(--model-color); }
.model-menu { position: absolute; z-index: 6; top: calc(100% + 6px); left: 0; width: min(500px, calc(100vw - 32px)); padding: 10px 12px 12px; background: var(--surface); border: 1px solid var(--line); border-radius: 6px; box-shadow: 0 10px 28px rgb(25 27 32 / 14%); }
.model-menu-options { columns: 2; column-gap: 12px; }
.model-menu-options .model-option { break-inside: avoid; }
.model-menu[hidden] { display: none; }
.model-menu-group { margin: 8px 0 2px; font-size: 11px; letter-spacing: .06em; text-transform: uppercase; color: var(--muted); }
.model-menu-group:first-child { margin-top: 0; }
.model-option { display: flex; align-items: center; gap: 8px; width: 100%; padding: 6px 8px; border: 0; border-radius: 4px; background: none; color: var(--ink); font-size: 14px; line-height: 1.3; text-align: left; cursor: pointer; }
.model-option:hover, .model-option:focus-visible { background: var(--neutral); outline: none; }
.model-option[aria-pressed='true'] { font-weight: 600; background: var(--neutral); }
.model-stat { margin: 0 0 18px; max-width: 760px; font-size: 15px; line-height: 1.45; color: var(--muted); }
.model-stat strong { margin-right: 4px; font: 500 26px/1.2 var(--sans); letter-spacing: -.02em; color: var(--ink); font-variant-numeric: tabular-nums; }
.model-figure > .model-pick { margin-bottom: 22px; }
.model-chart .chart-title { margin: 0 0 8px; font-size: 15px; color: var(--ink); }
.chart-axis { position: relative; height: 20px; font-size: 12px; color: var(--muted); font-variant-numeric: tabular-nums; }
.chart-axis span { position: absolute; left: calc(var(--t) * 1%); transform: translateX(-50%); }
/* Evidence: block coverage with its 95% CI per report group. */
.dot-chart { --label-w: 240px; --gap: 28px; --pad: 32px; max-width: 900px; }
.dot-chart .chart-title, .dot-chart .chart-axis { margin-left: calc(var(--label-w) + var(--gap)); margin-right: var(--pad); }
.dot-rows { position: relative; list-style: none; margin: 0; padding: 0; }
.dot-rows::before { content: ''; position: absolute; inset: 0 var(--pad) 0 calc(var(--label-w) + var(--gap)); background: repeating-linear-gradient(to right, var(--line) 0 1px, transparent 1px 25%); border-right: 1px solid var(--line); pointer-events: none; }
.dot-row { display: grid; grid-template-columns: var(--label-w) minmax(0, 1fr); gap: var(--gap); align-items: center; }
.dot-label { margin: 0; text-align: right; font-size: 15px; line-height: 1.45; }
.dot-label span { display: block; color: var(--muted); font-size: 14px; }
.dot-track { position: relative; height: 96px; margin-right: var(--pad); }
.dot-ci { position: absolute; top: 50%; left: calc(var(--lo) * 1%); width: calc((var(--hi) - var(--lo)) * 1%); height: 2px; margin-top: -1px; background: var(--model-color); transition: left .3s ease, width .3s ease; }
.dot-ci::before, .dot-ci::after { content: ''; position: absolute; top: -5px; width: 2px; height: 12px; background: var(--model-color); }
.dot-ci::before { left: -1px; }
.dot-ci::after { right: -1px; }
.dot-mark { position: absolute; top: 50%; left: calc(var(--v) * 1%); width: 14px; height: 14px; margin: -7px 0 0 -7px; border-radius: 50%; background: var(--model-color); box-shadow: 0 0 0 2px var(--paper); transition: left .3s ease; }
.dot-mark b { position: absolute; bottom: 18px; left: 50%; transform: translateX(-50%); padding: 0 4px; background: var(--paper); font-size: 15px; font-weight: 500; white-space: nowrap; color: var(--ink); font-variant-numeric: tabular-nums; }
/* Consistency: run-to-run spread and flaky share for two report groups. */
.hbar-panels { --pad: 112px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 48px; max-width: 940px; }
.hbar-panel .chart-axis { margin-right: var(--pad); }
.hbar-rows { position: relative; list-style: none; margin: 0; padding: 4px 0 2px; }
.hbar-rows::before { content: ''; position: absolute; inset: 0 var(--pad) 0 0; background: repeating-linear-gradient(to right, var(--line) 0 1px, transparent 1px var(--step)); border-right: 1px solid var(--line); pointer-events: none; }
.hbar-row { padding: 10px 0 12px; }
.hbar-label { position: relative; width: fit-content; margin: 0 0 6px; padding-right: 6px; background: var(--paper); font-size: 14px; line-height: 1.4; }
.hbar-track { position: relative; height: 22px; margin-right: var(--pad); }
.hbar { position: absolute; inset: 0 auto 0 0; width: calc(var(--v) * 1%); background: var(--model-color); border-radius: 0 3px 3px 0; transition: width .3s ease; }
.hbar-track b { position: absolute; top: 50%; left: calc(var(--v) * 1% + 4px); padding: 0 4px; background: var(--paper); transform: translateY(-50%); font-size: 14px; font-weight: 500; white-space: nowrap; font-variant-numeric: tabular-nums; transition: left .3s ease; }
@media (max-width: 640px) {
  .dot-chart { --label-w: 0px; --gap: 0px; --pad: 24px; }
  .dot-rows::before { display: none; }
  .dot-row { grid-template-columns: minmax(0, 1fr); gap: 0; padding-top: 14px; }
  .dot-label { text-align: left; font-size: 14px; line-height: 1.35; }
  .dot-label span { font-size: 13px; }
  .dot-track { height: 64px; background: repeating-linear-gradient(to right, var(--line) 0 1px, transparent 1px 25%); border-right: 1px solid var(--line); }
  .dot-mark b { bottom: 14px; }
  .chart-axis span:first-child { transform: none; }
  .hbar-panels { grid-template-columns: minmax(0, 1fr); gap: 28px; --pad: 100px; }
  .model-menu { max-height: min(420px, 70vh); overflow-y: auto; }
  .model-menu-options { columns: 1; }
}
@media (prefers-reduced-motion: reduce) {
  .dot-ci, .dot-mark, .hbar, .hbar-track b { transition: none; }
}

