/* benchmark.css - the Benchmark page (benchmark-page.js): the workbench's
   shell with the tasks in the left rail and the chosen task in the middle:
   what it asks, its ranking, and what an AI agent needs. */
.benchroot { display: contents; }
body .app.benchapp { grid-template-columns: var(--lib-w) minmax(0, 1fr); grid-template-rows: var(--menubar-h) minmax(0, 1fr) var(--status-h); grid-template-areas: "menu menu" "lib doc" "status status"; }
.benchapp .navtoggle { display: none; }
.benchapp .doc { background: var(--canvas); }
.visually-hidden { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; }

/* the rail: shelves of tasks, each with its goal and its best score */
.taskrail .shelfhd { cursor: default; }
.taskrail .catitem { text-decoration: none; }
.taskrail .catmeta { font-size: 11px; line-height: 1.35; color: var(--nav-muted); }
.taskrail .catitem.on .catmeta { color: var(--ink-2); }

/* the task */
.bm-try { flex: none; margin-left: auto; display: inline-flex; align-items: center; min-height: 28px; padding: 4px 12px; border-radius: 3px; background: var(--blue); color: var(--on-blue); font-size: 12.5px; font-weight: 700; text-decoration: none; white-space: nowrap; }
.bm-try:hover { background: var(--blue-ink); }
.bm-body { flex: 1; min-height: 0; overflow-y: auto; overscroll-behavior: contain; padding: 20px 28px 40px; }
.bm-body > section, .bm-body > details { max-width: 1080px; }
.bm-body > section + section, .bm-body > section + details { margin-top: 28px; padding-top: 18px; border-top: 1px solid var(--rule); }
.bm-body h2 { margin: 0; font-size: 15px; font-weight: 650; letter-spacing: -.01em; }
.bm-note { margin: 8px 0 0; font-size: 12px; color: var(--ink-3); }
.bm-empty { margin: 10px 0 0; font-size: 13px; color: var(--ink-2); }

.bm-goal { margin: 0 0 14px; max-width: 70ch; font-size: 15px; line-height: 1.5; color: var(--ink); }
.bm-facts { margin: 0 0 14px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 32px; max-width: 900px; }
.bm-facts dt { font-size: 11.5px; color: var(--ink-3); margin-bottom: 2px; }
.bm-facts dd { margin: 0; font-size: 13px; line-height: 1.45; color: var(--ink-2); }
.bm-more { margin-top: 6px; max-width: 900px; }
.bm-more > summary { cursor: pointer; padding: 5px 0; font-size: 12.5px; color: var(--blue-ink); }
.bm-ranges { margin: 6px 0 10px; border-collapse: collapse; font-size: 12px; }
.bm-ranges th, .bm-ranges td { padding: 4px 18px 4px 0; text-align: left; border-bottom: 1px solid var(--rule-2); font-variant-numeric: tabular-nums; }
.bm-ranges thead th { color: var(--ink-3); font-weight: 600; }
.bm-ranges tbody th { font-weight: 400; color: var(--ink-2); }
.bm-ranges th small { margin-left: 6px; color: var(--blue-ink); }
.bm-ranges code { color: var(--ink); margin-right: 4px; }

.bm-sectionhead { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; margin-bottom: 8px; }
.bm-actions { display: inline-flex; gap: 6px; margin-left: auto; }
.bm-tablewrap { overflow-x: auto; border: 1px solid var(--rule); border-radius: 4px; }
.bm-table { width: 100%; border-collapse: collapse; font-size: 12.5px; }
.bm-table th, .bm-table td { padding: 7px 10px; text-align: left; vertical-align: top; border-bottom: 1px solid var(--rule-2); }
.bm-table thead th { font-size: 11.5px; font-weight: 600; color: var(--ink-3); background: var(--panel); white-space: nowrap; }
.bm-table tbody th { font-weight: 600; color: var(--ink); }
.bm-table .num { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
.bm-table td.num b { font: 700 13px var(--mono); color: var(--ink); }
.bm-table tr.reference th, .bm-table tr.reference td { background: var(--panel); color: var(--ink-2); }
.bm-table tr:last-child > * { border-bottom: 0; }
.bm-method { margin-left: 4px; font-size: 11px; font-weight: 400; }
.bm-sizesrow td { background: var(--field); }
.bm-sizes { margin: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(130px, 1fr)); gap: 4px 16px; font-size: 12px; }
.bm-sizes div { display: flex; justify-content: space-between; gap: 8px; }
.bm-sizes dt { color: var(--ink-3); }
.bm-sizes dd { margin: 0; font-variant-numeric: tabular-nums; }

.bm-agents > summary { display: flex; align-items: baseline; gap: 12px; cursor: pointer; list-style: none; }
.bm-agents > summary::-webkit-details-marker { display: none; }
.bm-agents > summary::before { content: "▸"; color: var(--ink-3); font-size: 12px; }
.bm-agents[open] > summary::before { content: "▾"; }
.bm-agents > summary span { font-size: 12.5px; color: var(--ink-3); }
.bm-agents p { max-width: 80ch; margin: 10px 0; font-size: 13px; color: var(--ink-2); }
.bm-copy + .bm-copy { margin-top: 10px; }
.bm-copyhead { display: flex; align-items: center; justify-content: space-between; margin-bottom: 4px; font-size: 12px; font-weight: 600; color: var(--ink-2); }
.bm-copy pre { margin: 0; padding: 10px 12px; overflow-x: auto; background: var(--field); border: 1px solid var(--rule); border-radius: 4px; font: 12px/1.5 var(--mono); color: var(--ink); white-space: pre-wrap; overflow-wrap: anywhere; }

@media (max-width: 1279px) {
  body .app.benchapp { grid-template-columns: minmax(0, 1fr); grid-template-areas: "menu" "doc" "status"; }
  .benchapp .navtoggle { display: inline-flex; }
}
@media (max-width: 899px) {
  body .app.benchapp { grid-template-rows: var(--menubar-h) auto auto; padding-bottom: 0; }
  .bm-body { overflow: visible; padding: 12px 12px 24px; }
  .bm-brief dl > div { grid-template-columns: minmax(0, 1fr); }
}
