/* MakoBench section: masthead, tab rail, version menu, board table and page parts.
   Theme tokens only (styles.css); the section tokens below are derived from them.
   Unbounded (OFL, assets/fonts/OFL-unbounded.txt) is used ONLY for the wordmark, section
   h1/h2 and dialog titles; it is wide, so it is set about 15% smaller than Inter would be. */
@font-face { font-family:"Unbounded MakoBench"; font-style:normal; font-weight:400 700; font-display:swap;
  src:url("/assets/fonts/unbounded-makobench.woff2") format("woff2"); }
:root {
  --mb-band:var(--bg-1);
  --mb-rail:var(--line);
  --mb-beam:linear-gradient(90deg,var(--accent),var(--accent-2));
  --mb-glow:0 0 10px rgba(0,230,207,.35);
  --mb-head:"Unbounded MakoBench", var(--display);
  --mb-r-ctl:10px;
  --mb-r-dlg:14px;
}
html[data-theme="light"] { --mb-glow:0 0 8px rgba(10,143,128,.28); }
.bench h2 { font-family:var(--mb-head); font-weight:600; font-size:clamp(17px,2.2vw,21px); margin:34px 0 8px; letter-spacing:-.01em; }
.bench .section-head h1 { font-family:var(--mb-head); font-weight:600; font-size:clamp(21px,2.9vw,27px); letter-spacing:-.015em; line-height:1.2; }
.bench h3 { font-family:var(--display); }
.bench-sub { color:var(--muted); font-size:14px; margin:0 0 14px; max-width:720px; }
.bench-intro { margin:0 0 6px; }
.bench-note { color:var(--muted); font-size:13px; margin:0 0 12px; }
.bench-blurb { color:var(--ink); font-size:14px; margin:12px 0 0; }
.bench-legend { color:var(--muted); font-size:13px; margin:12px 0 0; padding-left:20px; }
.bench-legend li { margin:2px 0; }

/* news banner */
.bench-news { display:flex; gap:12px; align-items:flex-start; margin:0 0 22px; padding:12px 14px;
  background:var(--accent-soft); border:1px solid var(--accent); border-radius:var(--mb-r-ctl); max-width:min(100%,960px); }
.bench-news > .lb-icon { margin-top:3px; color:var(--accent); }
.bench-news-text { margin:0; flex:1; color:var(--ink); font-size:15px; }
.bench-news-text a { font-weight:600; white-space:nowrap; }
.bench-news-x { flex:none; display:inline-flex; align-items:center; justify-content:center; width:32px; height:32px;
  border:1px solid var(--line); border-radius:8px; background:var(--bg-2); color:var(--muted); cursor:pointer; }
.bench-news-x:focus-visible { outline:2px solid var(--accent); outline-offset:2px; }
.bench-news-x:hover { color:var(--accent); border-color:var(--accent); }
.bench-news-x[hidden] { display:none; }

/* table component */
.bt { margin:0; position:relative; }
.bt-tools { display:flex; flex-wrap:wrap; gap:10px 12px; align-items:center; margin:0 0 10px; }
.bt-tools[hidden], .bt-panel[hidden] { display:none; }
.bt-sr { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }
.bt-filter input { width:min(240px,100%); padding:8px 12px; font:inherit; font-size:14px; color:var(--ink);
  background:var(--bg-2); border:1px solid var(--line); border-radius:10px; }
.bt-filter input:focus-visible, .bt-sort:focus-visible, .bt-scroll:focus-visible { outline:2px solid var(--accent); outline-offset:2px; }
.bt-count { color:var(--muted); font-size:13px; margin-right:auto; }
.bt-cols { position:relative; }
.bt-colbtn { padding:8px 14px; font-size:14px; }
.bt-panel { position:absolute; right:0; top:calc(100% + 6px); z-index:5; width:min(300px,calc(100vw - 2*var(--gutter)));
  max-height:60vh; overflow:auto; padding:10px 14px 12px; background:var(--bg-3); border:1px solid var(--line);
  border-radius:var(--radius); box-shadow:var(--shadow); }
.bt-group { border:0; margin:0 0 8px; padding:0; min-width:0; }
.bt-group legend { padding:0; margin:6px 0 2px; color:var(--muted); font-size:13px; font-weight:600; }
.bt-opt { display:flex; align-items:center; gap:8px; padding:4px 0; font-size:14px; color:var(--ink); cursor:pointer; }
.bt-opt input { accent-color:var(--accent); width:16px; height:16px; margin:0; }
.bt-reset { margin-top:4px; padding:0; background:none; border:0; color:var(--accent); font:inherit; font-size:13px; cursor:pointer; text-decoration:underline; }

.bt-wrap { position:relative; }
.bt-wrap::after { content:""; position:absolute; top:1px; right:1px; bottom:1px; width:28px; pointer-events:none;
  border-radius:0 var(--radius) var(--radius) 0; opacity:0; transition:opacity .15s;
  background:linear-gradient(to right, transparent, var(--bg-3)); box-shadow:inset -10px 0 12px -12px var(--ink); }
.bt-wrap.bt-more::after { opacity:.9; }
.bt-scroll { overflow-x:auto; background:var(--bg-2); border:1px solid var(--line); border-radius:var(--radius); }
.bt table { width:100%; border-collapse:separate; border-spacing:0; font-size:14px; }
.bt th, .bt td { padding:9px 10px; text-align:left; white-space:nowrap; border-bottom:1px solid var(--line); }
.bt tbody tr:last-child > * { border-bottom:0; }
.bt thead th { background:var(--bg-3); color:var(--muted); font-weight:600; font-size:13px; letter-spacing:0;
  padding-top:3px; padding-bottom:3px; }
.bt [data-num] { text-align:right; font-variant-numeric:tabular-nums; }
.bt tbody tr:nth-child(even) > * { background-image:linear-gradient(var(--row-alt),var(--row-alt)); }
.bt tbody tr:hover > * { background-image:linear-gradient(var(--accent-soft),var(--accent-soft)); }
.bt tbody th { font-weight:500; color:var(--ink); background-color:var(--bg-2); }
.bt .bt-sticky { position:sticky; left:0; z-index:2; background-color:var(--bg-2); border-right:1px solid var(--line);
}
.bt .bt-name { display:block; max-width:min(250px,44vw); overflow:hidden; text-overflow:ellipsis; }
.bt .bt-name .bt-w { white-space:nowrap; }
.bt thead .bt-sticky { background-color:var(--bg-3); z-index:3; }
.bt .bt-model a { font-weight:600; }
.bt .bt-model .bt-quant { display:block; width:max-content; margin-top:2px; padding:1px 7px; font-size:11px; font-weight:600; line-height:1.5; letter-spacing:.02em;
  border:1px solid var(--line); border-radius:999px; color:var(--accent); text-decoration:none; background:var(--bg-1); }
.bt .bt-model .bt-quant:hover, .bt .bt-model .bt-quant:focus-visible { border-color:var(--accent); background:var(--accent-soft); }
.bt-namecol { min-width:0; display:block; }
.bt .bt-flags { display:flex; flex-wrap:wrap; gap:4px; margin-top:2px; }
.bt .bt-warn, .bt .bt-tso { display:inline-block; padding:1px 7px; font-size:11px; font-weight:600; line-height:1.5; border-radius:999px; border:1px solid var(--line); cursor:help; }
.bt .bt-warn { color:var(--ink); border-color:var(--amber); background:var(--amber-soft); }
.bt .bt-tso { color:var(--muted); }
.bt-d-warn { margin:6px 0 10px; padding:8px 10px; border-left:3px solid var(--amber); background:var(--amber-soft); font-size:13px; }
.bt-d-vlist { margin:0; padding-left:18px; font-size:13px; }
.bt-d-vlist li { margin:2px 0; }
.bt .bt-unranked .bt-model { color:var(--muted); }
.bt-sort { all:unset; box-sizing:border-box; display:inline-flex; gap:6px; align-items:center; min-height:32px; cursor:pointer; border-radius:4px; }
.bt-sort:hover { color:var(--accent); }
.bt-arrow::after { content:"⇅"; opacity:.35; font-size:11px; }
.bt th[aria-sort="ascending"] .bt-arrow::after { content:"▲"; opacity:1; color:var(--accent); }
.bt th[aria-sort="descending"] .bt-arrow::after { content:"▼"; opacity:1; color:var(--accent); }
.bt th[aria-sort="ascending"], .bt th[aria-sort="descending"] { color:var(--ink); }
.bt-empty td { text-align:center !important; color:var(--muted); padding:18px; }

/* header cells: sort button + info button; "separate" tag; group band */
.bt-th { display:inline-flex; align-items:center; gap:4px; }
.bt-tag { margin-left:2px; padding:1px 6px; border:1px solid var(--accent-2); border-radius:999px; color:var(--muted);
  font-size:9px; font-weight:600; letter-spacing:.06em; text-transform:lowercase; line-height:1.4; }
.bt-info { all:unset; box-sizing:border-box; flex:none; position:relative; isolation:isolate; display:inline-flex;
  align-items:center; justify-content:center; width:32px; height:32px; margin:0 -7px; color:var(--muted);
  font:italic 700 11px/1 var(--display); text-transform:none; cursor:pointer; }
.bt-info::before { content:""; position:absolute; z-index:-1; inset:7px; border:1px solid var(--line); border-radius:50%;
  background:var(--bg-2); }
.bt-info:hover, .bt-info[aria-expanded="true"] { color:var(--accent); }
.bt-info:hover::before, .bt-info[aria-expanded="true"]::before { border-color:var(--accent); }
.bt-info:focus-visible, .bt-exp:focus-visible { outline:2px solid var(--accent); outline-offset:2px; }
.bt thead .bt-band-row th { padding:5px 12px 0; background:var(--bg-3); border-bottom:0; font-size:12px; letter-spacing:0; }
.bt thead .bt-band-row .bt-band { text-align:center; color:var(--accent-2); border-left:2px solid var(--accent-2);
  border-top:2px solid var(--accent-2); border-radius:8px 8px 0 0; background-color:var(--accent2-soft); }
.bt thead .bt-band-row .bt-sticky { background-color:var(--bg-3); }
.bt [data-band] { background-color:var(--accent2-soft); }
.bt :not([data-band]) + [data-band] { border-left:2px solid var(--accent-2); }
.bt thead tr:last-child [data-band] { background-color:var(--bg-3); background-image:linear-gradient(var(--accent2-soft),var(--accent2-soft)); }

/* explainer popover */
.bt-pop { position:absolute; z-index:6; padding:12px 14px; background:var(--bg-3); border:1px solid var(--line);
  border-radius:var(--radius); box-shadow:var(--shadow); color:var(--ink); font-size:14px; font-weight:400; line-height:1.5;
  letter-spacing:0; text-transform:none; white-space:normal; }
.bt-pop-title { display:block; font-family:var(--display); font-size:15px; margin:0 0 4px; }
.bt-pop-text { margin:0; color:var(--prose-body); }
.bt-pop-more { display:inline-block; margin-top:8px; font-size:13px; }
/* name-chip explanation (MAX, older version, blocked, provisional) */
.bt-tip { position:absolute; z-index:7; padding:8px 10px; background:var(--bg-3); border:1px solid var(--line);
  border-radius:var(--radius); box-shadow:var(--shadow); color:var(--ink); font-size:13px; font-weight:400; line-height:1.45;
  letter-spacing:0; text-transform:none; white-space:normal; pointer-events:none; }
.bt-flags .bt-tso, .bt-flags .bt-warn { cursor:help; }
.bt-flags .bt-tso:focus-visible, .bt-flags .bt-warn:focus-visible { outline:2px solid var(--accent); outline-offset:1px; }

/* expandable rows */
.bt-namewrap { display:flex; align-items:center; gap:6px; }
.bt-exp { all:unset; box-sizing:border-box; flex:none; display:inline-flex; align-items:center; justify-content:center;
  width:32px; height:32px; margin:-6px 0 -6px -6px; border-radius:8px; cursor:pointer; }
.bt-exp:hover { background:var(--accent-soft); }
.bt-chev { width:7px; height:7px; border-right:2px solid var(--accent); border-bottom:2px solid var(--accent);
  transform:rotate(-45deg); transition:transform .15s; }
.bt-exp[aria-expanded="true"] .bt-chev { transform:rotate(45deg); }
.bt .bt-detail > td { padding:0; white-space:normal; background-color:var(--bg-1); background-image:none !important; border-bottom:1px solid var(--line); }
.bt-detail-in { position:sticky; left:0; width:var(--bt-w,100%); box-sizing:border-box; padding:14px 16px 18px; white-space:normal; text-align:left; font-size:14px; }
.bt-wrap.bt-more .bt-detail-in { padding-right:40px; }   /* keep the right-edge fade off the values */
.bt-d-name { display:none; margin:0 0 10px; font-family:var(--display); font-weight:600; font-size:16px; overflow-wrap:anywhere; }
.bt-d-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(230px,1fr)); gap:14px 22px; }
.bt-d-sec h4 { margin:0 0 4px; color:var(--muted); font-size:13px; font-weight:600; }
.bt-d-sec dl { margin:0; }
.bt-d-item { display:flex; justify-content:space-between; gap:12px; padding:3px 0; border-bottom:1px dashed var(--line); }
.bt-d-item dt { color:var(--muted); }
.bt-d-item dd { margin:0; color:var(--ink); text-align:right; font-variant-numeric:tabular-nums; }
.bt-d-sub { color:var(--muted); font-size:12px; }
.bt-d-sep .bt-d-sub { display:block; }
.bt-d-run .bt-d-sub { display:block; margin-top:2px; }
.bt-d-wide { flex-direction:column; gap:2px; }
.bt-d-wide dd { text-align:left; font-size:13px; color:var(--prose-body); }
.bt-d-sep { padding:8px 10px; border:1px solid var(--accent-2); border-radius:10px; background:var(--accent2-soft); }
.bt-d-note { margin:6px 0 0; color:var(--muted); font-size:12px; }
.bt-d-links { margin:0; padding-left:18px; }
.bt-d-links li { margin:2px 0; }

/* export */
.bt-export { display:flex; flex-wrap:wrap; align-items:center; gap:8px; }
.bt-expbtn { padding:8px 12px; font-size:14px; }

/* "What the tests measure" */
.bench-ex-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr)); gap:14px; }
.bench-ex { padding:14px 16px; background:var(--bg-2); border:1px solid var(--line); border-radius:var(--radius); scroll-margin-top:90px; }
.bench-ex:target { border-color:var(--accent); box-shadow:0 0 0 2px var(--accent-soft); }
.bench-ex h3 { margin:0 0 6px; font-family:var(--display); font-size:16px; }
.bench-ex p { margin:0; color:var(--prose-body); font-size:14px; line-height:1.55; }

/* previous suites: DisPatch-Settings-style expandable rows */
.bench-rev { margin:0 0 10px; background:var(--bg-1); border:1px solid var(--line); border-radius:var(--radius); }
.bench-rev > summary { display:flex; align-items:center; gap:12px; padding:14px 16px; cursor:pointer; list-style:none; color:var(--ink); }
.bench-rev > summary::-webkit-details-marker { display:none; }
.bench-rev > summary:hover { background:var(--accent-soft); border-radius:var(--radius); }
.bench-rev > summary:focus-visible { outline:2px solid var(--accent); outline-offset:-2px; border-radius:var(--radius); }
.bench-chev { width:8px; height:8px; flex:none; border-right:2px solid var(--accent); border-bottom:2px solid var(--accent);
  transform:rotate(-45deg); transition:transform .15s; margin:0 2px; }
.bench-rev[open] > summary .bench-chev { transform:rotate(45deg); }
.bench-rev-title { font-family:var(--display); font-weight:600; font-size:17px; }
.bench-rev-meta { margin-left:auto; color:var(--muted); font-size:13px; text-align:right; }
.bench-rev-body { padding:4px 16px 16px; border-top:1px solid var(--line); }
.bench-rev-body .bench-note { margin-top:12px; }
.bench-rev-body .bt { margin-top:12px; }

.bench-articles .cards { margin-top:14px; }
.bench-more { margin:14px 0 0; }
.bench-cta { display:flex; flex-wrap:wrap; align-items:center; gap:12px 16px; margin:38px 0 0; padding:18px; background:var(--bg-2);
  border:1px solid var(--line); border-radius:var(--radius); }
.bench-cta span { color:var(--muted); font-size:14px; }

@media (max-width:560px) {
  .bt th, .bt td { padding:8px 10px; }
  .bench-rev > summary { flex-wrap:wrap; gap:4px 12px; }
  .bench-rev-meta { margin-left:0; width:100%; text-align:left; padding-left:30px; }
  .bt-tools { position:relative; }
  .bt-cols { position:static; }
  .bt-panel { left:0; right:0; width:auto; }
  .bt-tools { align-items:stretch; }
  .bt-filter { flex:1 1 100%; }
  .bt-export { flex:0 0 auto; }
  .bt-exp { width:36px; height:36px; }
  .bt-d-name { display:block; }
  .bt-detail-in { padding:12px 12px 16px; }
  .bt-filter input { width:100%; }
}

/* ---------------------------------------------------------------------------------------
   MakoBench section frame (plan v2 3.2): header line, tab strip, queue, home strip.
   Theme tokens only. Classes are NOT scoped under .bench so the request page can use them.
   --------------------------------------------------------------------------------------- */
.tag-draft { color:var(--amber); border-color:var(--amber); }
.bench-log { margin:8px 0 0; padding-left:20px; color:var(--prose-body); font-size:15px; }
.bench-log li { margin:6px 0; }

/* queue tab */
.bq-status { margin:0 0 16px; padding:12px 14px; background:var(--bg-2); border:1px solid var(--line);
  border-radius:var(--radius); color:var(--muted); font-size:15px; }
.bq-status[hidden], .bq-grid[hidden] { display:none; }
.bq-status.is-err { border-color:var(--danger); background:var(--danger-soft); color:var(--prose-body); }
.bq-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr)); gap:18px; }
.bq-sec { padding:14px 16px 16px; background:var(--bg-2); border:1px solid var(--line); border-radius:var(--radius); min-width:0; }
.bq-sec h2 { margin:0 0 8px; font-family:var(--display); font-size:18px; }
.bq-hint { margin:0 0 8px; color:var(--muted); font-size:13px; }
.bq-list { list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:8px; counter-reset:bq; }
.bq-item { display:flex; flex-direction:column; gap:2px; padding:9px 11px; background:var(--bg-1); border:1px solid var(--line);
  border-radius:10px; min-width:0; }
.bq-name { font-weight:600; overflow-wrap:anywhere; }
.bq-meta, .bq-note { color:var(--muted); font-size:13px; }
.bq-note { color:var(--prose-body); }
.bq-voted { color:var(--ok); font-size:12px; }
.bq-empty { color:var(--muted); font-size:14px; padding:4px 2px; }

/* home strip */
.bench-home-top { list-style:none; margin:0 0 14px; padding:0; display:grid; gap:8px; max-width:420px; }
.bench-home-top li { display:flex; justify-content:space-between; gap:12px; padding:10px 14px; background:var(--bg-2);
  border:1px solid var(--line); border-radius:10px; }
.bench-home-score { font-variant-numeric:tabular-nums; color:var(--accent); font-weight:700; }


/* Queue: numbers, the "picked by me" marker, scores link, +1 */
.bq-num { display:inline-block; min-width:1.6em; color:var(--muted); font-weight:600; }
.bq-pin { display:inline-block; margin-left:8px; padding:0 8px; border:1px solid var(--accent); border-radius:999px; color:var(--accent); font-size:12px; }
.bq-board { font-size:13px; }
.bq-vote { display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin-top:4px; }
.bq-plus { padding:6px 12px; font-size:14px; min-height:32px; }
.bq-msg { color:var(--muted); font-size:13px; }

/* ---------------------------------------------------------------------------------------
   Wide layout: MakoBench section pages only (<body class="bench-wide">, set in
   templates/bench-base.html). The container and the site header share one fluid width, so
   the header, tabs and board line up on 1920 / 2560 / 5120 px screens. Articles and the rest
   of the site keep the 1120 px container.
   --------------------------------------------------------------------------------------- */
body.bench-wide { --maxw:1600px; }
body.bench-wide .container.narrow { max-width:768px; }
/* a section article with a table of contents keeps the site's two-column article width */
@media (min-width:1100px) { body.bench-wide .container.narrow.with-toc { max-width:1088px; } }
/* reading text keeps a comfortable measure inside the wide frame */
body.bench-wide .bench-sub, body.bench-wide .bench-intro, body.bench-wide .bench-note,
body.bench-wide .bench-blurb, body.bench-wide .bench-legend, body.bench-wide .section-head p,
body.bench-wide .bench-news { max-width:min(100%,960px); }
@media (min-width:1280px) {
  /* room to spare: show the whole model name */
  body.bench-wide .bt .bt-name { max-width:none; overflow:visible; text-overflow:clip; }
}
@media (min-width:700px) and (max-width:1279px) {
  body.bench-wide .bt .bt-name { max-width:340px; }
}

/* "The tests": example-question dialogs */
.bench-ex-more { display:flex; flex-wrap:wrap; align-items:center; gap:8px 14px; margin-top:12px !important; }
.bench-ex-open { padding:8px 14px; font-size:14px; min-height:44px; cursor:pointer; }
.bench-ex-open[hidden] { display:none; }
.bench-ex-gh { display:inline-flex; align-items:center; gap:6px; font-size:14px; }
.bench-dlg { padding:0; border:1px solid var(--line); border-radius:var(--mb-r-dlg); background:var(--bg-1); color:var(--ink);
  width:min(640px, calc(100vw - 32px)); max-height:min(86vh, 720px); box-shadow:0 20px 60px rgba(0,0,0,.45); overflow:hidden; }
.bench-dlg::backdrop { background:rgba(0,0,0,.6); }
.bench-dlg:not([open]) { display:none; }
/* head and foot stay put; only the examples scroll, so the GitHub link is always in view */
.bench-dlg-box { display:flex; flex-direction:column; max-height:min(86vh, 720px); box-sizing:border-box; }
.bench-dlg-head { flex:none; display:flex; align-items:flex-start; justify-content:space-between; gap:12px; padding:18px 20px 6px; }
.bench-dlg-head h3 { margin:0; font-family:var(--mb-head); font-weight:600; font-size:16px; line-height:1.35; letter-spacing:-.01em; }
.bench-dlg-x { flex:none; display:inline-flex; align-items:center; justify-content:center; width:44px; height:44px; margin:-8px -10px 0 0;
  background:none; border:0; color:var(--ink); cursor:pointer; border-radius:var(--mb-r-ctl); }
.bench-dlg-x:hover, .bench-dlg-x:focus-visible { background:var(--accent-soft); }
.bench-dlg-x:focus-visible { outline:2px solid var(--accent); outline-offset:-2px; }
.bench-dlg-body { flex:1 1 auto; min-height:0; overflow:auto; padding:0 20px 14px; overscroll-behavior:contain; }
.bench-dlg-lead { margin:6px 0 12px; color:var(--muted); font-size:14px; }
.bench-dlg-list { list-style:none; margin:0; padding:0; display:grid; gap:12px; }
.bench-xc { min-width:0; padding:12px 14px; background:var(--bg-2); border:1px solid var(--line); border-radius:var(--mb-r-ctl); }
.bench-xc-title { margin:0 0 8px; font-size:15px; font-weight:600; line-height:1.35; }
.bench-xc p { margin:0; }
.bench-xc-text p + p { margin-top:8px; }
.bench-xc-text, .bench-xc-turn { font-size:14px; line-height:1.55; color:var(--prose-body); overflow-wrap:anywhere; }
.bench-xc-turns { display:grid; gap:6px; }
.bench-xc-role { display:inline-block; min-width:3.6em; margin-right:4px; font-size:12px; font-weight:600; color:var(--muted); }
.bench-xc-gap { font-size:12px; color:var(--muted); font-style:italic; padding-left:2px; }
.bench-xc-code { margin:0; padding:10px 12px; max-width:100%; overflow-x:auto; background:var(--bg-1); border:1px solid var(--line);
  border-radius:var(--mb-r-ctl); font-size:12.5px; line-height:1.5; tab-size:4; }
.bench-xc-code code { font-family:var(--mono, monospace); white-space:pre; }
.bench-xc-graded { margin-top:10px !important; font-size:13px; line-height:1.5; color:var(--muted); }
.bench-xc-graded strong { color:var(--ink); font-weight:600; }
.bench-xc-gh { margin-top:6px !important; font-size:13px; }
.bench-xc-gh a { display:inline-flex; align-items:center; gap:6px; min-height:32px; }
.bench-dlg-foot { flex:none; margin:0; padding:12px 20px 16px; border-top:1px solid var(--line); background:var(--bg-1); }
html.bench-dlg-lock { overflow:hidden; }

/* =======================================================================================
   MakoBench chrome (R3): masthead band + tab rail + version menu.
   One band, one width, one height on every section page and section article, so nothing
   jumps between tabs. The one bold thing is the current tab's 2px "laser beam".
   ======================================================================================= */
.lb-icon { width:18px; height:18px; flex:none; display:inline-block; vertical-align:-3px; --icon-stroke:1.9; }
.btn .lb-icon { margin-right:8px; vertical-align:-4px; }

.mb-band { background:var(--mb-band); border-bottom:1px solid var(--mb-rail); }
.mb-mast { display:flex; align-items:center; justify-content:space-between; gap:12px 24px; min-height:96px; padding:18px 0 10px;
  box-sizing:border-box; }
.mb-id { min-width:0; }
.mb-brand { display:inline-flex; align-items:center; gap:14px; color:var(--ink); text-decoration:none; border-radius:var(--mb-r-ctl); }
.mb-brand:hover { text-decoration:none; color:var(--ink); }
.mb-brand:hover .mb-mark { color:var(--accent-2); }
.mb-brand:focus-visible { outline:2px solid var(--accent); outline-offset:4px; }
.mb-mark { width:110px; height:40px; flex:none; color:var(--accent); }
.mb-word { font-family:var(--mb-head); font-weight:600; font-size:26px; line-height:1; letter-spacing:-.02em; }
.mb-powered { margin:8px 0 0; color:var(--muted); font-size:13px; }
.mb-powered a { font-weight:600; }

/* suite version menu: <details> + links, no script needed */
.mb-version { position:relative; flex:none; }
.mb-version > summary { display:inline-flex; align-items:center; gap:8px; min-height:44px; padding:0 14px; cursor:pointer; list-style:none;
  color:var(--ink); font-size:14px; font-weight:600; background:var(--bg-2); border:1px solid var(--line); border-radius:var(--mb-r-ctl);
  font-variant-numeric:tabular-nums; }
.mb-version > summary::-webkit-details-marker { display:none; }
.mb-version > summary .lb-icon { color:var(--accent); }
.mb-version > summary:hover { border-color:var(--accent); }
.mb-version > summary:focus-visible { outline:2px solid var(--accent); outline-offset:2px; }
.mb-version-chev { width:16px; height:16px; color:var(--muted) !important; transition:transform .15s; }
.mb-version[open] .mb-version-chev { transform:rotate(180deg); }
.mb-version-menu { position:absolute; right:0; top:calc(100% + 6px); z-index:20; min-width:240px; margin:0; padding:6px; list-style:none;
  background:var(--bg-3); border:1px solid var(--line); border-radius:var(--mb-r-ctl); box-shadow:var(--shadow); }
.mb-version-menu a { display:flex; justify-content:space-between; align-items:baseline; gap:16px; padding:10px 12px; border-radius:8px;
  color:var(--ink); text-decoration:none; font-weight:600; font-size:14px; }
.mb-version-menu a:hover { background:var(--accent-soft); text-decoration:none; }
.mb-version-menu a:focus-visible { outline:2px solid var(--accent); outline-offset:-2px; }
.mb-version-menu a[aria-current="page"] { color:var(--accent); }
.mb-version-note { color:var(--muted); font-weight:400; font-size:13px; }

/* tab rail. Every state has the same font weight and padding, so a tab's box never changes. */
.bench-tabs { margin:0; }
.bench-tabs ul { display:flex; flex-wrap:nowrap; gap:2px; margin:0; padding:0; list-style:none;
  overflow-x:auto; overflow-y:hidden; overscroll-behavior-x:contain; scrollbar-width:none; -webkit-overflow-scrolling:touch; }
.bench-tabs ul::-webkit-scrollbar { display:none; }
.bench-tabs li { flex:none; margin:0; }
.bench-tabs a { position:relative; display:flex; align-items:center; gap:8px; min-height:48px; padding:0 14px; color:var(--muted);
  font-family:var(--font); font-weight:600; font-size:15px; white-space:nowrap; text-decoration:none; }
.bench-tabs a .lb-icon { color:var(--muted-2); }
.bench-tabs a:hover { color:var(--ink); text-decoration:none; }
.bench-tabs a:hover .lb-icon { color:var(--muted); }
.bench-tabs a:focus-visible { outline:2px solid var(--accent); outline-offset:-4px; border-radius:var(--mb-r-ctl); }
.bench-tabs a[aria-current="page"] { color:var(--ink); }
.bench-tabs a[aria-current="page"] .lb-icon { color:var(--accent); }
.bench-tabs a[aria-current="page"]::after { content:""; position:absolute; left:10px; right:10px; bottom:0; height:2px;
  border-radius:2px; background:var(--mb-beam); box-shadow:var(--mb-glow); }
.mb-tab-short { display:none; }

.bench + .bench, .section.bench { padding-top:30px; }
body.bench-article .article { padding-top:30px; }
body.bench-article .article-header h1 { font-family:var(--mb-head); font-weight:600; font-size:clamp(23px,3.3vw,34px); letter-spacing:-.025em; line-height:1.15; }
body.bench-article .prose h2 { font-family:var(--mb-head); font-weight:600; font-size:21px; letter-spacing:-.015em; }

/* tablet and phone: icons above short labels; the full label stays the accessible name */
@media (max-width:840px) {
  .bench-tabs a { flex-direction:column; justify-content:center; gap:3px; min-width:64px; min-height:58px; padding:0 10px; font-size:12.5px; }
  .bench-tabs a .lb-icon { width:20px; height:20px; }
  .bench-tabs a[aria-current="page"]::after { left:8px; right:8px; }
  .mb-tab-long { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }
  .mb-tab-short { display:inline; }
}
@media (max-width:860px) {
  /* edge fades: band-coloured covers scroll with the content, shadows stay at the edges */
  .bench-tabs ul { margin:0 calc(-1 * var(--gutter)); padding:0 var(--gutter);
    background:
      linear-gradient(90deg, var(--mb-band) 30%, transparent) left center / 32px 100% no-repeat local,
      linear-gradient(270deg, var(--mb-band) 30%, transparent) right center / 32px 100% no-repeat local,
      linear-gradient(90deg, var(--line), transparent) left center / 18px 100% no-repeat scroll,
      linear-gradient(270deg, var(--line), transparent) right center / 18px 100% no-repeat scroll; }
}
@media (max-width:560px) {
  .mb-mast { flex-direction:column; align-items:stretch; min-height:0; padding:14px 0 8px; gap:12px; }
  .mb-mark { width:77px; height:28px; }
  .mb-brand { gap:10px; }
  .mb-word { font-size:20px; }
  .mb-powered { margin-top:6px; font-size:12.5px; }
  .mb-version > summary { display:flex; width:100%; box-sizing:border-box; }
  .mb-version-label { flex:1; }
  .mb-version-menu { left:0; right:0; min-width:0; }
}

/* the beam: plain solid accent in high contrast, forced colours and print; never animated */
@media (prefers-contrast: more) {
  .bench-tabs a[aria-current="page"]::after { background:var(--accent); box-shadow:none; height:3px; }
  .bench-tabs a, .bench-tabs a .lb-icon { color:var(--ink); }
  .mb-band { border-bottom-color:var(--muted); }
}
@media (forced-colors: active) {
  .bench-tabs a[aria-current="page"]::after { background:CanvasText; box-shadow:none; forced-color-adjust:none; height:3px; }
  .mb-mark, .lb-icon { color:CanvasText; }
}
@media print {
  .mb-band { background:none; border-bottom:1px solid #000; }
  .bench-tabs a[aria-current="page"]::after { background:#000; box-shadow:none; }
  .mb-version { display:none; }
}

/* an older suite's copy of a page */
.mb-archive { display:flex; gap:12px; align-items:flex-start; margin:0 0 22px; padding:14px 16px; max-width:min(100%,960px);
  background:var(--bg-2); border:1px solid var(--line); border-left:2px solid var(--accent-2); border-radius:var(--mb-r-ctl); }
.mb-archive > .lb-icon { margin-top:2px; color:var(--accent-2); }
.mb-archive p { margin:0; color:var(--prose-body); font-size:14px; }
.mb-archive .mb-archive-title { margin:0 0 4px; color:var(--ink); font-weight:600; font-size:15px; }
.mb-archive-links { display:flex; flex-wrap:wrap; gap:6px 18px; margin-top:8px !important; font-weight:600; }

/* Vote: the most-wanted list leads, what happens next follows */
.bq-grid { grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr)); }
.bq-wanted { grid-column:1 / -1; border-color:var(--accent); }
.bq-wanted h2 { display:flex; align-items:center; gap:10px; font-family:var(--mb-head); font-weight:600; font-size:18px; }
.bq-wanted h2 .lb-icon { color:var(--accent); }
.bq-wanted .bq-list { display:grid; grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr)); }
.bq-next-h { grid-column:1 / -1; margin:14px 0 0 !important; }
.bq-sec h3 { margin:0 0 8px; font-family:var(--display); font-size:17px; }
/* a tab without an icon (the full-board tab, Jake 2026-11-05): no space on the desktop rail; an empty
   icon-sized box in the stacked phone layout keeps its label on the same line as the others */
.bench-tabs .lb-icon-none { display:none; }
@media (max-width:840px) { .bench-tabs .lb-icon-none { display:block; width:20px; height:20px; } }

/* Vote: the search, feedback and privacy note keep a reading width; the status lists use the frame */
body.bench-wide .br-card, body.bench-wide .br-fb, body.bench-wide .br-privacy { max-width:min(100%,960px); }

/* ---- column filter (R3) ---- */
.bt-fbtn, .bt-fclear { padding:8px 14px; font-size:14px; }
.bt-fbadge { display:inline-block; min-width:18px; margin-left:8px; padding:0 6px; border-radius:999px; background:var(--accent);
  color:var(--bg-1); font-size:12px; font-weight:700; line-height:18px; text-align:center; }
.bt-fbadge[hidden], .bt-fclear[hidden] { display:none; }
.bt-export { position:relative; }
.bt-exppanel { width:auto; min-width:200px; padding:6px; }
.bt-exitem { display:block; width:100%; padding:9px 10px; text-align:left; background:none; border:0; border-radius:8px;
  color:var(--ink); font:inherit; font-size:14px; cursor:pointer; }
.bt-exitem:hover { background:var(--accent-soft); }
.bt-exitem:focus-visible, .bt-fin:focus-visible, .bt-pbtn:focus-visible { outline:2px solid var(--accent); outline-offset:2px; }
.bt-ptop { display:flex; flex-wrap:wrap; gap:8px; margin:0 0 8px; }
.bt-pbtn { padding:6px 12px; font-size:13px; }
.bt thead .bt-frow th, .bt thead .bt-frow td { background:var(--bg-3); padding:4px 8px; font-weight:500; }
.bt thead .bt-frow-label { color:var(--muted); font-size:13px; }
.bt-fin { width:100%; min-width:64px; padding:4px 6px; font:inherit; font-size:13px; text-align:right;
  font-variant-numeric:tabular-nums; color:var(--ink); background:var(--bg-2); border:1px solid var(--line); border-radius:8px; }
@media (max-width:560px) {
  .bt-fin { min-height:44px; min-width:76px; font-size:16px; }
  .bt-exppanel { left:0; right:0; width:auto; }
  .bt-export { position:static; }
  .bt-fbtn, .bt-fclear, .bt-expbtn { min-height:44px; }
}
@media (forced-colors:active) {
  .bt-wrap.bt-more::after { background:linear-gradient(to right, transparent, CanvasText); opacity:.5; }
  .bt-fbadge { border:1px solid CanvasText; background:Canvas; color:CanvasText; }
}


/* Main Bench lead sentence under the h1 */
.bench-intro .mb-lead { max-width:70ch; margin:0 0 18px; color:var(--muted); font-size:clamp(17px,1.6vw,19px); line-height:1.5; }
.bench-intro h2:first-child, .bench-intro .mb-lead + h2 { margin-top:0; }
.bench-intro h2::before { display:none; }
.bench-intro h2 { font-family:var(--mb-head); font-weight:600; font-size:17px; margin:0 0 8px; padding-top:0; }
.bench-intro ul { margin-top:0; }
/* phone toolbar: the count line gets its own row under the search, buttons share one row */
@media (max-width:560px) {
  .bt-tools .bt-count { order:1; flex:1 1 100%; margin:0; }
  .bt-tools > :not(.bt-filter):not(.bt-count) { order:2; }
}

/* emoji tab icon (the shark tab): same box as the line icons, no recolouring */
.lb-icon-emoji{display:inline-flex;align-items:center;justify-content:center;font-size:1.05em;line-height:1;width:1.25em;height:1.25em;filter:none}

/* Board lines added 2026-11-06: rig and judge line, adult-fiction lede, footer ask, provisional button */
.bench-rig, .bench-lede { margin:0 0 12px; color:var(--prose-body); font-size:14px; max-width:78ch; }
.bench-lede { font-weight:600; }
.bench-foot { display:flex; flex-wrap:wrap; align-items:center; gap:10px 16px; margin:18px 0 0; padding:14px 16px; background:var(--bg-2);
  border:1px solid var(--line); border-radius:var(--radius); }
.bench-foot p { margin:0; color:var(--muted); font-size:14px; flex:1 1 260px; }
.bt button.bt-warn { font-family:inherit; color:var(--ink); }
.bt button.bt-warn:focus-visible { outline:2px solid var(--accent); outline-offset:2px; }
.bt .bt-d-support { margin:10px 0 0; color:var(--muted); font-size:13px; }
@media (max-width:560px) {
  .bt-colbtn, .bt-latest { min-height:44px; }
  /* the rail scrolls inside its own box; a fading right edge says there is more (the last tab was clipped with no hint) */
  .bench-tabs ul { -webkit-mask-image:linear-gradient(to right,#000 calc(100% - 24px),transparent); mask-image:linear-gradient(to right,#000 calc(100% - 24px),transparent); }
}

/* One line per row when the screen allows (Jake 2026-11-06: rows were tall because the quant
   chip and the provisional/text-suite marks stacked under the name). From 700px the name,
   quant chip and marks sit side by side; the name still truncates first. Narrow screens keep
   the stacked layout. */
@media (min-width:700px) {
  .bt .bt-namecol { display:flex; align-items:center; gap:6px; flex-wrap:nowrap; white-space:nowrap; }
  .bt .bt-namecol .bt-name { flex:0 1 auto; min-width:0; }
  .bt .bt-model .bt-quant { flex:none; margin-top:0; }
  .bt .bt-flags { flex:none; flex-wrap:nowrap; margin-top:0; }
}


/* ---------------------------------------------------------------------------------------
   2026-11-07: latest versions only, Built on, MAX, and model names that stay readable on a phone. */
.bt-latest { display:inline-flex; align-items:center; gap:7px; flex:0 0 auto; min-height:36px; font-size:14px; color:var(--ink); cursor:pointer; }
.bt-latest input { accent-color:var(--accent); width:16px; height:16px; margin:0; }
.bt .bt-old { border-color:var(--accent-2); }
.bt .bt-max, .bt .bt-tso.bt-max { display:inline-block; padding:0 6px; font-size:10.5px; font-weight:700; line-height:1.5; letter-spacing:.05em;
  color:var(--amber); border:1px solid var(--amber); border-radius:999px; background:var(--amber-soft); cursor:help; vertical-align:middle; }
.bt-linkbtn { all:unset; box-sizing:border-box; color:var(--accent); text-decoration:underline; cursor:pointer; border-radius:4px; }
.bt-linkbtn:focus-visible { outline:2px solid var(--accent); outline-offset:2px; }
.bt-oldshow { margin-left:6px; padding:6px 12px; font-size:13px; }
.bt-note-max { margin:8px 0 0; color:var(--muted); font-size:13px; max-width:78ch; }
.bt-hint { display:none; margin:0 0 8px; color:var(--muted); font-size:13px; }
@media (max-width:699px) {
  .bt-hint:not([hidden]) { display:block; }
  /* name, then ONE row of chips (quant, older version, provisional, blocked, MAX) under it */
  .bt .bt-namecol { display:flex; flex-wrap:wrap; align-items:center; gap:4px; white-space:normal; width:clamp(112px,33vw,160px); }
  .bt .bt-namecol .bt-name { flex:0 0 100%; }
  .bt .bt-flags { display:contents; }
  .bt .bt-model .bt-quant { margin-top:0; }
  .bt .bt-warn, .bt .bt-tso, .bt .bt-model .bt-quant { padding:0 6px; font-size:11px; }
  .bt .bt-model .bt-name { white-space:normal; overflow-wrap:anywhere; max-width:none; line-height:1.25;
    display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; text-overflow:clip; }
  .bt .bt-model .bt-name a { font-weight:600; }
  body.bench-wide .bt .bt-name { max-width:none; }
}
@media (max-width:560px) {
  /* long column labels wrap to two lines instead of widening their column; the Model head stays on one line */
  .bt thead th:not(.bt-sticky) { white-space:normal; }
  .bt-th { flex-wrap:nowrap; }
  .bt-sort { text-align:left; min-width:0; }
}

/* Pinned header (bench-table.js): a fixed, aria-hidden copy of the header rows shown while the real header has scrolled off.
   The scroller's own overflow-x stops CSS sticky from pinning to the page, hence the copy. */
.bt.bt-float { display:none; position:fixed; z-index:4; overflow:hidden; background:var(--bg-3); border:0; border-bottom:1px solid var(--line);
  box-shadow:0 6px 10px -8px var(--ink); pointer-events:auto; }
.bt.bt-float.bt-float-on { display:block; }
.bt-float table { table-layout:fixed; border-collapse:separate; border-spacing:0; width:auto; font-size:14px; }
.bt-float th { white-space:nowrap; }
.bt-float thead tr:last-child th { border-bottom:0; }
@media print { .bt-float { display:none !important; } }

/* HF-style board (2026-11-07): inline Total bar, API badge, three-panel detail (Test groups / Final scores / Run info / Links) */
:root { --mb-g0:#2dd4bf; --mb-g1:#a78bfa; --mb-g2:#fbbf24; --mb-g3:#fb7185; --mb-g4:#a3e635; --mb-g5:#fb923c; --mb-g6:#e879f9; --mb-g7:#d6a77a; }
html[data-theme="light"] { --mb-g0:#0d9488; --mb-g1:#7c3aed; --mb-g2:#b45309; --mb-g3:#e11d48; --mb-g4:#4d7c0f; --mb-g5:#c2410c; --mb-g6:#a21caf; --mb-g7:#92400e; }
.bt .bt-tbar { display:inline-block; vertical-align:middle; width:56px; height:6px; margin-left:8px; border-radius:3px; background:var(--line); overflow:hidden; }
.bt .bt-tbar i { display:block; height:100%; background:var(--mb-beam); }
.bt .bt-flags .bt-api { color:var(--accent-2); border-color:var(--accent-2); cursor:help; }
.bt-d-grid { grid-template-columns:repeat(auto-fit,minmax(250px,1fr)); }
.bt-d-sec h4 { font-size:13px; letter-spacing:.01em; }
.bt-brow { display:grid; grid-template-columns:minmax(84px,128px) 1fr auto; align-items:center; gap:4px 10px; margin:5px 0; font-size:13.5px; }
.bt-blab { display:flex; align-items:center; gap:7px; min-width:0; overflow-wrap:anywhere; }
.bt-dot { flex:none; width:10px; height:10px; border-radius:3px; background:var(--gc); }
.bt-bar { display:block; height:6px; border-radius:3px; background:var(--line); overflow:hidden; }
.bt-bar i { display:block; height:100%; border-radius:3px; background:var(--gc, var(--accent)); }
.bt-brow-fin .bt-bar i { background:var(--mb-beam); }
.bt-bval { color:var(--muted); font-variant-numeric:tabular-nums; text-align:right; white-space:nowrap; }
.bt-d-gname { margin:8px 0 0; color:var(--muted); font-size:12px; }
.bt-d-groups .bt-d-sep { margin-top:12px; }
.bt-d-class { color:var(--ink); font-weight:600; }
@media (max-width:640px) {
  .bt .bt-tbar { width:36px; margin-left:6px; }
  .bt-brow { grid-template-columns:minmax(72px,104px) 1fr auto; }
}
