/* Nexus benchmark skin — Figma 2095:92343, 2095:92384, 1696:187261.
   Shared width tokens align all page wrappers; benchmark skin rules stay scoped to the index. */
:root { --content-width:1120px; --content-inner-width:1024px; }
/* A slower, longer ease-out curve so the cards settle visibly instead of flickering. */
.hero .claim { animation:claim-enter 1100ms cubic-bezier(.22,.61,.36,1) 80ms both; }
.hero .claim:nth-child(2) { animation-delay:170ms; }
.hero .claim:nth-child(3) { animation-delay:260ms; }
@keyframes claim-enter { from { opacity:.5;transform:translateY(12px); } to { opacity:1;transform:translateY(0); } }
.boards-section { max-width:var(--content-width,1120px);margin:0 auto;padding:80px 48px 24px; }
.benchmarks-title { margin:0;font:600 32px/37.4px 'Inter',sans-serif;letter-spacing:-.68px;color:#000; }
.benchmark-toolbar { position:sticky;top:var(--nav-h);z-index:20;background:#fff; }
.benchmark-toolbar::after { content:"";position:absolute;bottom:0;left:50%;width:100vw;transform:translateX(-50%);height:1px;background:var(--fw-border);pointer-events:none; }
.benchmark-toolbar .domain-tabs { gap:6px;padding:16px 0;border:0; }
.benchmark-toolbar .domain-tab { height:36px;padding:8px 16px;gap:6px;font:500 14px/20px 'Inter',sans-serif;letter-spacing:-.14px;color:#000; }
.benchmark-toolbar .domain-tab[aria-pressed="true"] { background:#000;border-color:#000;color:#fff;font-weight:600; }
.benchmark-toolbar .domain-tab-count { display:inline-flex;align-items:center;justify-content:center;height:18px;min-width:16px;padding:0 4px;border-radius:4px;background:var(--fw-surface-muted,#F7F7F8);font:500 12px/18px 'Inter',sans-serif;color:var(--fw-gray-800); }
.benchmark-toolbar .domain-tab[aria-pressed="true"] .domain-tab-count { background:#323439;color:#fff; }
.industry-section { padding-bottom:48px; }
/* Equal breathing room above and below each main-industry divider. */
.industry-section:has(+ .industry-divider) { padding-bottom:48px; }
.industry-divider { margin-top:0;padding-top:48px; }
/* Scroll position is a secondary cue; a selected filter keeps its black treatment. */
.benchmark-toolbar .domain-tab[data-in-view="true"]:not([aria-pressed="true"]), .benchmark-toolbar .domain-tab[data-in-view="true"]:not([aria-pressed="true"]):hover { background:#F7F3FF;border-color:#E7DAFF;color:#501CBE; }
.benchmark-toolbar .domain-tab[data-in-view="true"]:not([aria-pressed="true"]) .domain-tab-count { background:#ECE2FF;color:#501CBE; }

.industry-title { display:flex;align-items:center;gap:8px;margin:0;font:600 24px/30px 'Inter',sans-serif;letter-spacing:-.24px;color:#000; }
.industry-icon { width:24px;height:24px;flex:none; }
.boards-section .sec-head { align-items:center;gap:16px;margin-bottom:16px; }
.boards-section .sec-head-sub .industry-title { font:600 16px/24px 'Inter',sans-serif;letter-spacing:0;text-transform:none;color:#18181B; }
.boards-section .sec-head-sub .industry-icon { display:none; }
.boards-section .sec-head-sub { margin-bottom:8px; }
.boards-section .cat-head { border:0;padding:0;margin-bottom:10px; }
.boards-section .cat-head h3 { font-size:24px!important;line-height:30px;letter-spacing:-.24px!important;font-weight:600!important; }
.boards-section .control-label { font:500 12px/17.4px 'Inter',sans-serif;letter-spacing:-.06px; }
.boards-section .config-group { gap:6px; }
.boards-section .col-chips { gap:4px; }
.boards-section .col-chip { height:30px;padding:0 10px;gap:4px;color:var(--fw-gray-800);font-weight:500; }
.boards-section .col-chip.on { border-color:transparent;background:var(--fw-brand-light);color:var(--fw-purple-700); }
.column-icon { width:14px;height:14px;flex:none; }
.boards-section .rank-pick { overflow:visible;height:30px; }
.boards-section .rank-trigger { height:28px;font-weight:500;padding:0 10px;border-radius:7px 0 0 7px; }
.boards-section .rank-dir { height:28px;padding:0 8px;border:0;border-left:1px solid var(--fw-surface-elevated,#EEEEF2);border-radius:0 7px 7px 0; }
.sort-direction { width:14px;height:14px; }
.sort-direction.is-ascending, .expand-direction.is-expanded { transform:rotate(180deg); }
.nexus-matrix { --leader-width:252px;--leader-gap:28px;--model-row-height:46px;--table-heading-height:52px;--metric-header-height:40px;--table-motion:600ms cubic-bezier(.4,0,.2,1);--matrix-bottom-space:28px;--matrix-fade-width:32px; }
.nexus-matrix[data-wrapped-headers="true"] { --metric-header-height:58px; }
.nexus-matrix .matrix-scroll { padding:0 0 var(--matrix-bottom-space);scroll-padding-left:calc(var(--leader-width) + var(--leader-gap)); }
.benchmark-layout { display:flex;align-items:flex-start;width:max-content;min-width:100%;transition:min-width var(--table-motion); }
.nexus-matrix.fill-cards .benchmark-layout { width:100%;min-width:calc(var(--leader-width) + var(--leader-gap) + var(--cards-min-width)); }
.nexus-matrix.fill-cards .benchmark-cards { flex:1;min-width:0; }
.nexus-matrix.fill-cards .benchmark-card { flex:1;min-width:var(--card-min-width,260px);width:auto; }
.model-leaderboard { position:sticky;left:0;z-index:4;align-self:stretch;flex:0 0 var(--leader-width);width:var(--leader-width);background:#fff;box-shadow:0 var(--matrix-bottom-space) 0 #fff; }
.model-leaderboard.has-metrics { flex-basis:320px;width:320px;overflow-x:auto; }
/* Match the cards' full height and mask their border/shadow below the sticky
   identities, including the gutter. The native scrollbar remains uncovered. */
.model-leaderboard::after { content:"";position:absolute;top:0;bottom:calc(0px - var(--matrix-bottom-space));left:100%;width:var(--leader-gap);background:#fff;pointer-events:none; }
/* A noninteractive fade softens partially hidden cards, only away from the start. */
.model-leaderboard::before { content:"";position:absolute;top:0;bottom:calc(0px - var(--matrix-bottom-space));left:calc(100% + var(--leader-gap));width:var(--matrix-fade-width);background:linear-gradient(90deg,#fff,rgba(255,255,255,0));opacity:0;pointer-events:none;transition:opacity 180ms ease; }
.nexus-matrix[data-scroll-left="true"] .model-leaderboard::before { opacity:1; }
.leaderboard-heading { box-sizing:border-box;height:calc(var(--table-heading-height) + 1px);padding:17px 0 16px;display:flex;align-items:center; }
.leaderboard-heading-copy { position:relative;z-index:8;display:flex;align-items:center;gap:8px;min-width:0;width:100%;height:20px;white-space:nowrap; }
.leaderboard-heading strong { font:600 14px/20px 'Inter',sans-serif;letter-spacing:-.14px;color:#000; }
.leaderboard-heading-meta { display:inline-flex;align-items:center;gap:2px;min-width:0; }
.leaderboard-count { font:600 14px/20px 'Inter',sans-serif;letter-spacing:-.28px;color:var(--fw-gray-600); }
.leaderboard-info { position:static;display:inline-flex;align-items:center;justify-content:center;flex:none;width:16px;height:16px;padding:0;border:0;background:transparent;color:var(--fw-ink-secondary,#6E6E7F);font:inherit;cursor:pointer; }
.leaderboard-help-icon { display:block;width:16px;height:16px; }
.leaderboard-info:hover, .leaderboard-info:focus-visible { color:var(--fw-brand,#6720FF); }
.leaderboard-info:focus-visible { outline:2px solid var(--fw-brand-light,#E7DAFF);outline-offset:2px; }
.leaderboard-info-tooltip { position:absolute;top:calc(100% + 6px);left:0;z-index:30;display:block;box-sizing:border-box;width:300px;max-width:100%;padding:10px 12px;border:1px solid var(--fw-surface-elevated,#EEEEF2);border-radius:10px;background:#FFFFFF;color:#181D27;font:400 12px/1.45 'Inter',sans-serif;letter-spacing:-.06px;text-align:left;white-space:normal;box-shadow:0 4px 20px rgba(24,24,27,.06),0 2px 3px rgba(24,24,27,.02);opacity:0;visibility:hidden;transform:translateY(2px);transition:opacity 180ms ease,transform 180ms ease,visibility 0s 180ms;pointer-events:none; }
.leaderboard-info:hover > .leaderboard-info-tooltip, .leaderboard-info:focus > .leaderboard-info-tooltip { opacity:1;visibility:visible;transform:translateY(0);transition:opacity 180ms ease,transform 180ms ease,visibility 0s; }
.leaderboard-columns, .leaderboard-row { display:grid;grid-template-columns:10px minmax(0,1fr);column-gap:10px;padding-left:16px;padding-right:12px;align-items:center; }
.leaderboard-columns.has-metrics, .leaderboard-row.has-metrics { grid-template-columns:10px minmax(130px,1fr) 70px;min-width:280px; }
.leaderboard-columns { height:var(--metric-header-height,40px);transition:height var(--table-motion);border-radius:8px;background:#FBFBFC;font:500 12px/18px 'Inter',sans-serif;letter-spacing:0;color:var(--fw-ink-secondary,#6E6E7F); }
.leaderboard-columns > :not(:first-child) { padding:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis; }
.leaderboard-row { height:var(--model-row-height,46px);border-bottom:1px solid var(--fw-surface-elevated);font-variant-numeric:tabular-nums;transition:background-color 280ms cubic-bezier(.22,.61,.36,1); }
.model-leaderboard > .model-row-reveal.is-visible:not(:has(~ .model-row-reveal.is-visible)) .leaderboard-row { border-bottom-color:#FFFFFF; }
.leaderboard-row:focus-visible { outline:2px solid var(--fw-brand,#6720FF);outline-offset:-2px;border-radius:4px; }
.leaderboard-rank { text-align:center;font:400 12px/18px 'Inter',sans-serif;color:var(--fw-ink-secondary); }
.leaderboard-model { display:flex;align-items:center;gap:4px;min-width:0;padding:0; }
.leaderboard-metric { min-width:0;color:var(--fw-ink-secondary);font:400 12px/18px 'Inter',sans-serif;white-space:nowrap; }
/* Normalize the existing provider marks without stretching or cropping the artwork. */
.model-logo-wrapper { box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;flex:0 0 24px;width:24px;height:24px;border:1px solid var(--fw-surface-elevated,#EEEEF2);border-radius:9999px;background:#FFFFFF;overflow:hidden; }
.model-logo { display:block;flex:none;width:15px;height:15px;object-fit:contain;object-position:center; }
.leaderboard-model .mx-model-name, .leaderboard-model .mx-model-link { display:block;min-width:0;flex:0 1 auto;font:500 14px/20px 'Inter',sans-serif;letter-spacing:0;color:#18181B;white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere; }
.leaderboard-model .model-link-group[data-tooltip]:not([data-tooltip=""]) > .mx-model-link { color:var(--fw-brand,#6720FF);text-decoration:underline;text-decoration-color:currentColor;text-underline-offset:2px;text-decoration-thickness:1px; }
.leaderboard-model .model-link-group[data-tooltip]:not([data-tooltip=""]) > .mx-model-link:hover { color:var(--fw-brand-hover,#501CBE);text-decoration-color:currentColor; }
.leaderboard-provider { display:flex;align-items:center;min-width:0;padding:0;white-space:nowrap;font:500 12px/18px 'Inter',sans-serif;color:var(--fw-ink-secondary); }
.leaderboard-provider > span { min-width:0;overflow:hidden;text-overflow:ellipsis; }
.fireworks-mark { position:relative;display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;flex:none;border-radius:6px;transition:background-color 140ms ease,transform 140ms ease; }
.fireworks-mark img { display:block;width:16px;height:8px;object-fit:contain; }
.fireworks-mark:hover, .fireworks-mark:focus-visible { background:var(--fw-brand-light);transform:translateY(-1px); }
/* One tooltip covers the existing name and logo links, without modifying either action. */
.model-link-group { position:relative;display:inline-flex;align-items:center;gap:4px;min-width:0;max-width:100%; }
.model-link-tooltip { position:absolute;bottom:calc(100% + 10px);left:0;z-index:20;display:flex;align-items:center;gap:4px;width:max-content;max-width:calc(100vw - 48px);padding:10px 16px;border:1px solid var(--fw-surface-elevated);border-radius:12px;background:#FFFFFF;color:#181D27;font:400 12px/1.45 'Inter',sans-serif;letter-spacing:-.06px;white-space:nowrap;box-shadow:0 4px 20px rgba(24,24,27,.06),0 2px 3px rgba(24,24,27,.02);opacity:0;visibility:hidden;transform:translateY(2px);transition:opacity 140ms ease,transform 140ms ease,visibility 0s 140ms;pointer-events:none; }
.model-link-group:hover > .model-link-tooltip, .model-link-group:focus-within > .model-link-tooltip { opacity:1;visibility:visible;transform:translateY(0);transition:opacity 140ms ease,transform 140ms ease,visibility 0s; }
.tooltip-external { display:block;flex:none;width:16px;height:16px; }
.tooltip-pointer { position:absolute;bottom:-6px;left:28px;display:block;width:16px;height:9px; }
/* Let the hovered tooltip escape its row, but retain clipping for collapsed rows and animations. */
.model-leaderboard > .model-row-reveal.is-visible:has(.model-link-group:hover, .model-link-group:focus-within) { position:relative;z-index:6; }
.model-leaderboard > .model-row-reveal.is-visible:has(.model-link-group:hover, .model-link-group:focus-within) > .model-row-content { overflow:visible; }
/* ── the domain frontier ──────────────────────────────────────────────────────
   A domain shows one benchmark's trade-off curve beside its leaderboard rather
   than a row of tables. The panel is a single column so nothing scrolls sideways:
   the leaderboard keeps its fixed track and the chart takes whatever is left. */
.nexus-matrix:has(.board-chart) .matrix-scroll { overflow:visible;scroll-padding-left:0; }
.nexus-matrix:has(.board-chart) .benchmark-layout { width:100%;min-width:0; }
.nexus-matrix:has(.board-chart) .model-leaderboard { position:static;box-shadow:none; }
.nexus-matrix:has(.board-chart) .model-leaderboard::before,
.nexus-matrix:has(.board-chart) .model-leaderboard::after { display:none; }
.board-chart { flex:1;min-width:0;margin-right:var(--leader-gap);display:flex;flex-direction:column;border:1px solid var(--fw-surface-elevated);border-radius:20px;background:#fff;overflow:visible;transition:border-color 160ms ease,box-shadow 160ms ease; }
.board-chart:hover, .board-chart:focus-within { border-color:var(--fw-border);box-shadow:0 2px 3px -1.5px rgba(10,13,18,.04),0 15px 24px -4px rgba(10,13,18,.08); }
/* Every benchmark in the domain is on the panel, so a reader can see what else is
   measured here without opening anything. The set is small — one to four — so they
   are tabs, not a menu that hides the alternatives behind a click. */
.board-chart-head { display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:var(--table-heading-height);padding:10px 16px 10px 20px;border-bottom:1px solid var(--fw-surface-elevated); }
.board-chart-pick { display:flex;align-items:center;gap:10px;min-width:0;flex-wrap:wrap; }
.board-chart-pick .control-label { flex:none;font:500 12px/17.4px 'Inter',sans-serif;letter-spacing:-.06px;color:var(--fw-ink-secondary,#6E6E7F); }
.bench-tabs { display:flex;align-items:center;gap:4px;flex-wrap:wrap;min-width:0; }
.bench-tab { display:inline-flex;align-items:center;gap:6px;height:30px;max-width:260px;padding:0 11px;border:1px solid var(--fw-border,#E4E4EB);border-radius:8px;background:#fff;color:var(--fw-gray-800,#414651);font:500 13px/20px 'Inter',sans-serif;letter-spacing:-.13px;cursor:pointer;white-space:nowrap;transition:border-color 140ms ease,background 140ms ease,color 140ms ease; }
.bench-tab:hover { border-color:#BCBCC7;color:#18181B; }
.bench-tab.on { border-color:transparent;background:var(--fw-brand-light,#F8F4FF);color:var(--fw-purple-700,#501CBE);font-weight:600; }
.bench-tab:focus-visible { outline:2px solid var(--fw-brand,#6720FF);outline-offset:2px; }
.bench-tab-name { min-width:0;overflow:hidden;text-overflow:ellipsis; }
.bench-tab-logo { display:block;flex:none;width:14px;height:14px;max-width:46px;object-fit:contain;object-position:left center; }
.board-chart-open { display:inline-flex;align-items:center;gap:4px;flex:none;font:500 12px/18px 'Inter',sans-serif;color:var(--fw-ink-secondary,#6E6E7F);white-space:nowrap;transition:color 140ms ease; }
.board-chart-open-arrow { display:block;width:16px;height:16px;transition:transform 140ms cubic-bezier(.2,.8,.2,1); }
.board-chart:hover .board-chart-open, .board-chart-open:hover, .board-chart-open:focus-visible { color:var(--fw-brand,#6720FF); }
.board-chart-open:hover .board-chart-open-arrow { transform:translateX(3px); }
.board-chart-body { padding:16px 20px 18px; }
.board-chart-meta { display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:14px; }
.board-chart-title { font:500 12px/18px 'Inter',sans-serif;letter-spacing:-.06px;color:var(--fw-ink-secondary,#6E6E7F); }
.board-dim-pickers { display:flex;align-items:center;gap:6px;flex-wrap:wrap; }
.board-dim-pickers.is-two-row { flex-direction:column;align-items:flex-end; }
.board-dim-picker { display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap; }
.board-dim-picker .dim-btn { height:26px;padding:0 10px;font-size:11px;border-radius:7px; }
/* Axis labels and gridlines must resolve percentages against the same plot box.
   Keep the x-axis furniture in separate rows, outside the y-axis height. */
.board-plot-frame { display:grid;grid-template-columns:auto auto minmax(0,1fr);align-items:stretch; }
.board-plot-frame > .board-plot-ytitle { grid-column:1;grid-row:1; }
.board-plot-frame > .board-plot-yticks { grid-column:2;grid-row:1; }
.board-plot-col > .board-plot { grid-column:3;grid-row:1;min-width:0; }
.board-plot-col > .board-plot-xticks { grid-column:3;grid-row:2; }
.board-plot-col > .board-plot-xtitle { grid-column:3;grid-row:3; }
.board-plot-ytitle { position:relative;flex:none;width:28px; }
.board-plot-ytitle .graph-axis-label { position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) rotate(-90deg);white-space:nowrap; }
.board-plot-yticks { position:relative;flex:none;width:44px; }
.board-plot-yticks .board-tick { position:absolute;right:9px;transform:translateY(50%); }
.board-plot-col { display:contents; }
/* Single metrics use the same model/value/track rows as the hero Bar view. */
.metric-bars { padding:4px 0 12px; }
.metric-bars-note { margin:0 0 18px;color:var(--fw-ink-secondary, #5A5E63);font:400 11px/1.5 var(--fw-font-label, 'JetBrains Mono', monospace); }
.metric-bars .hero-board-rows { gap:14px; }
.metric-bars .hero-board-fill { transform:scaleX(1); }
.metric-bars .hero-board-model { white-space:normal;overflow:visible;overflow-wrap:anywhere;color:var(--fw-ink-secondary, #5A5E63); }
.metric-bars .hero-board-score { white-space:nowrap;color:var(--fw-ink-secondary, #5A5E63); }
.metric-bars .hero-board-track { background:var(--fw-surface-muted, #F5F5F5); }
.board-tick { font:400 11px/1.2 'Inter',sans-serif;color:#6E6E7F;white-space:nowrap; }
.board-plot.plot { height:448px;border-radius:0; }
.board-grid-h { position:absolute;left:0;right:0;border-top:1px dashed #E4E4EB; }
.board-grid-v { position:absolute;top:0;bottom:0;border-left:1px dashed #E4E4EB; }
.board-plot-svg { position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none; }
.board-point { position:absolute;width:0;height:0; }
.board-dot { position:absolute;left:50%;top:50%;border-radius:50%;background:#FFFFFF; }
.board-dot-plain { position:absolute;left:50%;top:50%;width:11px;height:11px;margin:-5.5px 0 0 -5.5px;border-radius:50%; }
.board-point-label { position:absolute;top:0;font:600 11px/1.2 'Inter',sans-serif;white-space:nowrap;pointer-events:none;text-shadow:0 0 4px #F7F7F8,0 0 4px #F7F7F8,0 0 4px #F7F7F8; }
.board-tip { position:absolute;left:0;top:-15px;z-index:12;padding:8px 11px;background:#18181B;color:#fff;box-shadow:0 8px 24px rgba(0,0,0,.18);pointer-events:none;white-space:nowrap; }
.board-tip-name { font:600 12px/1.3 'Inter',sans-serif;margin-bottom:5px; }
.board-tip-vals { display:flex;gap:12px;font:400 11px/1.3 'Inter',sans-serif;color:#CEB4FF; }
.board-plot-xticks { position:relative;height:26px; }
.board-plot-xticks .board-tick { position:absolute;top:8px;transform:translateX(-50%); }
.board-plot-xtitle { text-align:center; }
/* Rotating the cube moves which edge each axis sits on, so the projector places
   this furniture in percentages and the transform it supplies carries the flip
   between labels that hang left of an edge and labels that hang right of it. */
.board-cube-tick, .board-cube-title { position:absolute;pointer-events:none;white-space:nowrap; }
.board-chart-legend { display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin-top:14px;padding-top:13px;border-top:1px solid var(--fw-surface-elevated);font:400 11px/1.45 'Inter',sans-serif;color:var(--fw-ink-secondary,#6E6E7F); }
.board-legend-item { display:inline-flex;align-items:center;gap:8px; }
.board-legend-swatch { position:relative;flex:none;width:11px;height:11px;border-radius:50%;background:#fff;box-shadow:0 0 0 1px var(--fw-ink-muted,#ABABAB);opacity:.7; }
.board-legend-swatch.is-frontier { box-shadow:0 0 0 1.5px var(--fw-ink,#18181B);opacity:1; }
/* Names the cube's controls, so it sits apart from the two swatches that key the
   data: pushed to the far end of the row and set in mono like the other metadata. */
.board-chart-empty { padding:28px 20px;font:400 13px/1.5 'Inter',sans-serif;color:var(--fw-ink-secondary,#6E6E7F); }
/* Hovering a leaderboard row lights the same model in the chart, so the ranking
   and the frontier stay one picture rather than two. */
.leaderboard-value { display:flex;flex-direction:column;align-items:flex-end;justify-content:center;gap:4px;min-width:0; }
.leaderboard-value-head { display:flex;flex-direction:column;align-items:flex-end;justify-content:center;line-height:15px;text-align:right; }
.leaderboard-value-head .metric-label-detail { color:var(--fw-ink-muted,#ABABAB);font-size:11px; }
.leaderboard-value-num { font:600 13px/18px 'Inter',sans-serif;letter-spacing:-.13px;font-variant-numeric:tabular-nums; }
.leaderboard-value-bar { display:block;width:100%;height:3px;border-radius:9999px;background:var(--fw-surface-elevated,#EEEEF2);overflow:hidden; }
.leaderboard-value-bar > span { display:block;height:100%;border-radius:9999px;transition:width 280ms cubic-bezier(.22,.61,.36,1); }

.benchmark-cards { display:flex;align-items:flex-start;gap:8px;margin-left:var(--leader-gap);padding-right:1px; }
.benchmark-card { width:var(--card-min-width,260px);flex:none;border:1px solid var(--fw-surface-elevated);border-radius:20px;background:#fff;overflow:hidden;transition:width var(--table-motion),min-width var(--table-motion),background-color 160ms ease,border-color 160ms ease,box-shadow 160ms ease; }
.benchmark-card:hover, .benchmark-card:focus-within { border-color:var(--fw-border);box-shadow:0 2px 3px -1.5px rgba(10,13,18,.04),0 15px 24px -4px rgba(10,13,18,.08); }
.benchmark-card-heading { display:flex;align-items:center;gap:8px;padding:16px 20px;height:var(--table-heading-height);color:#000;position:relative; }
.benchmark-card-identity { display:flex;flex:1;min-width:0;align-items:center;gap:6px;height:20px; }
.benchmark-card-identity strong { min-width:0;font:600 14px/20px 'Inter',sans-serif;letter-spacing:-.14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
.benchmark-card-identity > span { font:600 14px/20px 'Inter',sans-serif;letter-spacing:-.28px;color:var(--fw-gray-600); }
.benchmark-card-owner { display:flex;flex:none;align-items:center;min-height:14px;white-space:nowrap;gap:6px; }
.benchmark-owner-logo { display:block;flex:none;width:14px;height:14px;max-width:78.4px;object-fit:contain;object-position:left center; }
/* A square provider mark alone above a benchmark name reads as a heading-weight
   glyph. Where the card shows the owner's name too, the mark drops to label size
   and sits beside the word, the way a partner lockup reads. */
.benchmark-card-owner:has(.benchmark-owner-name) .benchmark-owner-logo { height:12px;max-width:20px;flex:none; }
.benchmark-owner-name { font:600 12px/20px 'Inter',sans-serif;letter-spacing:-.2px;color:var(--fw-gray-600);white-space:nowrap;overflow:hidden;text-overflow:ellipsis; }
/* Bound each existing wordmark by its own aspect ratio at the Figma 14px height. */
.benchmark-owner-logo[src="assets/partner-harvey.svg"] { width:46.44px; }
.benchmark-owner-logo[src="assets/partner-mercor.svg"] { width:73.39px; }
.benchmark-owner-logo[src="assets/partner-proximal.svg"] { width:78.40px; }
.benchmark-owner-logo[src="assets/partner-doximity.svg"] { width:57.43px; }
.benchmark-owner-logo[src="assets/partner-decagon.svg"] { width:64.31px; }
.benchmark-owner-logo[src="assets/partner-traversal.svg"] { width:78.40px; }
.benchmark-owner-logo[src="assets/partner-depthfirst.svg"] { width:66.04px; }
.benchmark-owner-logo[src="assets/partner-novee.svg"] { width:57.35px; }
.benchmark-owner-logo[src="assets/partner-heidi.svg"] { width:46.67px; }
.benchmark-owner-divider { position:relative;flex:none;width:5px;height:10px; }
.benchmark-owner-divider img { position:absolute;top:-.535px;left:-.535px;display:block;width:6.07px;height:11.07px; }
.benchmark-card-heading:hover { color:#000; }
.benchmark-card-heading:focus-visible { outline-offset:-3px;border-radius:19px 19px 0 0; }
.benchmark-card-arrow { width:16px;height:16px;flex:none;transition:transform 180ms cubic-bezier(.2,.8,.2,1); }
.benchmark-card:hover .benchmark-card-arrow, .benchmark-card:focus-within .benchmark-card-arrow { transform:translateX(4px); }
/* The exported arrow is the visible drill-in. Keep its full text available to AT. */
.benchmark-card .gh-see { position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap; }
.benchmark-columns, .benchmark-row { display:grid;grid-template-columns:repeat(var(--metric-count),minmax(0,1fr)); }
.benchmark-columns { height:var(--metric-header-height,40px);transition:height var(--table-motion);background:#FBFBFC;align-items:center;color:var(--fw-ink-secondary,#6E6E7F);font:500 12px/18px 'Inter',sans-serif;letter-spacing:0; }
.benchmark-columns > span { min-width:0;padding:0 12px; }
.metric-label-copy { display:flex;align-items:center;flex-wrap:wrap;gap:0 4px;line-height:18px; }
.metric-label-name, .metric-label-detail { display:block;flex:0 1 auto;min-width:0;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis; }
.mh-label[data-wrap="false"] .metric-label-copy { flex-wrap:nowrap; }
.mh-label[data-wrap="true"] .metric-label-copy { flex-direction:column;align-items:flex-start;flex-wrap:nowrap;gap:0; }
.benchmark-columns > span:first-child { padding-left:20px; }
.benchmark-card .mh-caret { display:none; }
.benchmark-row { height:var(--model-row-height,46px);border-bottom:1px solid var(--fw-surface-elevated);font:500 12px/18px 'Inter',sans-serif;font-variant-numeric:tabular-nums;color:var(--fw-ink); }
.benchmark-table > .model-row-reveal.is-visible:not(:has(~ .model-row-reveal.is-visible)) .benchmark-row { border-bottom:1px solid #FFFFFF; }
.benchmark-row { transition:background-color 140ms ease; }
.benchmark-cell { display:flex;align-items:center;gap:4px;padding:0 16px;min-width:0;cursor:pointer;white-space:nowrap;transition:background-color 280ms cubic-bezier(.22,.61,.36,1),color 280ms cubic-bezier(.22,.61,.36,1); }
.benchmark-cell:first-child { padding-left:20px; }
/* Background alpha only: labels, logos, and scores retain full opacity. */
.leaderboard-row.is-model-result, .benchmark-cell.is-benchmark-best, .benchmark-cell.is-model-result { background:rgb(247 243 255 / 70%); }
.benchmark-cell.is-benchmark-best, .benchmark-cell.is-model-result { color:#18181B; }
.benchmark-margin { color:var(--fw-gray-600); }
.benchmark-cell[data-missing="true"] { color:var(--fw-gray-600); }
.nexus-matrix .matrix-more { width:96px;bottom:var(--matrix-bottom-space);background:linear-gradient(90deg,rgba(255,255,255,0),#fff); }
.nexus-matrix .matrix-more > span { width:36px;height:36px;background:#fff;border:1px solid var(--fw-border);box-shadow:0 2px 4px #0000000d; }
.nexus-matrix .matrix-more img { display:block;width:20px;height:20px; }
.industry-footer { display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:0;position:relative;z-index:5;overflow:visible; }
.expand-direction { flex:none;width:16px;height:16px;transition:transform 280ms cubic-bezier(.2,.8,.2,1); }
/* Animate mounted rows, not a snapshot of the table. Hidden rows are removed from
   keyboard navigation and the accessibility tree while the height eases closed. */
.model-row-reveal { pointer-events:none;display:grid;grid-template-rows:0fr;opacity:0;visibility:hidden;transition:grid-template-rows 280ms cubic-bezier(.2,.8,.2,1),opacity 180ms ease,visibility 0s 280ms; }
.model-row-reveal.is-visible { pointer-events:auto;grid-template-rows:1fr;opacity:1;visibility:visible;transition:grid-template-rows 280ms cubic-bezier(.2,.8,.2,1),opacity 220ms ease,visibility 0s; }
.model-row-content { min-height:0;overflow:hidden; }
.leaderboard-coverage-note { padding:10px 14px;border-top:1px solid var(--fw-border,#E6EAF4);font:400 11px/1.45 'Inter',sans-serif;color:var(--fw-ink-secondary,#696969); }
.leaderboard-footer { padding-top:16px; }
.leaderboard-footer .ghost-btn { flex:none;min-width:max-content;white-space:nowrap;height:36px;padding:0 14px;gap:8px;border-radius:8px;font:500 12px/18px 'Inter',sans-serif; }
@media(prefers-reduced-motion:reduce) {
  .hero .claim { animation:none!important;opacity:1;transform:none; }
  .benchmark-layout, .benchmark-card, .leaderboard-columns, .benchmark-columns { transition:none; }
  .model-leaderboard::before, .model-row-reveal, .model-row-reveal.is-visible, .expand-direction, .benchmark-card-arrow, .leaderboard-row, .benchmark-row, .benchmark-cell, .model-link-tooltip, .leaderboard-info-tooltip { transition:none; }
}
.industry-note { font:400 11px/1.45 'Inter',sans-serif;color:var(--fw-ink-secondary); }
@media(max-width:900px) {
  .boards-section { padding-top:56px; }
  .boards-section .board-config { justify-content:flex-start; }
  .nexus-matrix { --leader-gap:24px; }
}
@media(max-width:640px) {
  .board-dim-pickers.is-two-row { align-items:flex-start; }
}
/* Below this the two columns each get roughly 400px, which is too narrow for a
   scatter with model labels beside every point. The ranking goes above the chart
   and both get the full width instead. */
@media(max-width:1080px) {
  .nexus-matrix:has(.board-chart) .benchmark-layout { flex-direction:column; }
  .nexus-matrix:has(.board-chart) .model-leaderboard { flex:none;width:100%; }
  .nexus-matrix:has(.board-chart) .model-leaderboard.has-metrics { width:100%; }
  .board-chart { width:100%;margin:0 0 24px; }
  .board-plot.plot { height:340px; }
}
@media(max-width:640px) {
  .board-chart-head { flex-wrap:wrap;gap:8px;padding:12px 14px; }
  .board-chart-body { padding:14px 14px 16px; }
  .board-plot-ytitle { display:none; }
  .board-plot-yticks { width:38px; }
  .board-plot.plot { height:280px; }
  .bench-tab { max-width:170px;font-size:12px; }
}
@media(max-width:640px) {
  .industry-section ~ .industry-section:is([data-is-subcategory="false"], [data-category-heading="true"]) { margin-top:24px; }
  .benchmark-toolbar .domain-tabs { flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;gap:6px; }
  .benchmark-toolbar .domain-tab { flex:none; }
  .boards-section .sec-head { align-items:flex-start;flex-direction:column;gap:12px; }
  .boards-section .board-config { gap:10px; }
  .industry-section { padding-bottom:36px; }
  .industry-title { font-size:22px; }
  /* Keep provider information in its own visible column on phones as well. */
  .nexus-matrix { --leader-width:220px;--leader-gap:12px;--matrix-fade-width:16px; }
  .leaderboard-columns, .leaderboard-row { grid-template-columns:10px minmax(0,1fr); }
  .leaderboard-model .mx-model-name, .leaderboard-model .mx-model-link { font-size:12px; }
  .leaderboard-provider { font-size:11px; }
  .fireworks-mark { width:18px;height:18px; }
  .fireworks-mark img { width:14px;height:14px; }
  .leaderboard-heading strong { font-size:12px; }
  .leaderboard-count { font-size:12px; }
  .nexus-matrix .matrix-more { width:42px;padding-right:0; }
  /* Expand tap targets to ~40px without changing rendered glyph size. */
  .leaderboard-info { position:relative; }
  .leaderboard-info::after { content:'';position:absolute;inset:-12px; }
  .fireworks-mark::after { content:'';position:absolute;inset:-10px; }
}

@media print {
  .hero .claim { animation:none!important;opacity:1;transform:none; }
}
