/* Lane 3 workbench: quiet evidence surfaces, token typography, no fixed composer. */
.v31-graph-page .app-main.wb-main { padding: var(--s-8); display: block; overflow: visible; background: var(--surface); }
[data-v31-root="graph"] { width: 100%; max-width: 1320px; margin: 0 auto; font-family: var(--font-sans); font-size: var(--fs-desc); line-height: var(--lh-desc); color: var(--ink); padding-bottom: var(--s-8); }
[data-v31-root="graph"] [hidden], .v31-graph-page [data-wb-host][hidden] { display: none !important; }

/* Header + summary */
.vg-header { display: flex; align-items: flex-start; justify-content: space-between; gap: var(--s-6); padding-bottom: var(--s-5); }
.vg-header .t-title { margin: var(--s-3) 0; overflow: visible; font-weight: 500; }
.vg-question { max-width: 68ch; margin-bottom: var(--s-3); }
.vg-header > div:first-child { min-width: 0; }
.vg-header > .vg-actions { margin: 0; flex: none; }
.vg-runmeta { display: flex; flex-wrap: wrap; align-items: center; gap: var(--s-2) var(--s-3); }
.vg-summary { display: flex; flex-wrap: wrap; align-items: center; gap: var(--s-3) var(--s-8); padding: var(--s-4) var(--s-5); border: 1px solid var(--hairline); border-radius: var(--r-lg); background: var(--surface); margin-bottom: var(--s-5); }
.vg-stat { display: flex; align-items: baseline; gap: var(--s-2); }
.vg-stat strong { font-size: var(--fs-heading); line-height: var(--lh-heading); font-weight: 500; font-variant-numeric: tabular-nums; }
.vg-stat span { color: var(--ink-2); }
.vg-stat--wide { gap: var(--s-3); flex-wrap: wrap; }
.vg-stances { display: inline-flex; flex-wrap: wrap; gap: var(--s-2); }
.vg-summary-note { margin-left: auto; max-width: 34ch; }

/* Pills (always text + tone, never colour alone) */
.vg-pill { display: inline-flex; align-items: center; min-height: 24px; padding: 0 var(--s-3); border-radius: 999px; border: 1px solid var(--hairline-strong); background: var(--sunken); color: var(--ink-2); font-size: var(--fs-small); line-height: var(--lh-small); font-weight: 600; white-space: nowrap; }
.vg-pill--success { background: var(--success-tint); border-color: var(--success-line); color: var(--success); }
.vg-pill--danger { background: var(--danger-tint); border-color: var(--danger-line); color: var(--danger); }
.vg-pill--warning { background: var(--warning-tint); border-color: var(--warning-line); color: var(--warning); }
.vg-pill--accent { background: var(--accent-tint); border-color: var(--accent-line); color: var(--accent-ink); }

/* Tabs */
.vg-tabs { display: flex; flex-wrap: wrap; gap: var(--s-2); padding: var(--s-2) 0 var(--s-4); border-bottom: 1px solid var(--hairline-strong); margin-bottom: var(--s-5); }
.vg-tab, .vg-button, .vg-link { min-height: 44px; min-width: 44px; padding: var(--s-3) var(--s-4); border-radius: var(--r-md); border: 1px solid var(--hairline-strong); color: var(--ink); background: var(--raised); font: inherit; display: inline-flex; align-items: center; justify-content: flex-start; text-align: left; text-decoration: none; overflow-wrap: anywhere; cursor: pointer; max-width: 100%; }
.vg-tab { border-color: transparent; background: transparent; gap: var(--s-2); color: var(--ink-2); }
.vg-tab::after { content: attr(data-count); min-width: 22px; padding: 0 var(--s-2); border-radius: 999px; background: var(--sunken); color: var(--ink-2); font-size: var(--fs-small); line-height: var(--lh-small); text-align: center; font-variant-numeric: tabular-nums; }
.vg-tab[aria-selected="true"] { background: var(--accent-tint); color: var(--accent-ink); border-color: var(--accent-line); font-weight: 600; }
.vg-tab[aria-selected="true"]::after { background: var(--raised); color: var(--accent-ink); }
.vg-link[aria-current="true"] { border-color: var(--accent); background: var(--accent-tint); color: var(--accent-ink); }
.vg-button:hover, .vg-link:hover, .vg-tab:hover { background: var(--hover-tint); }
.vg-tab[aria-selected="true"]:hover { background: var(--accent-tint); }
.vg-button:disabled { opacity: .55; cursor: wait; }
.vg-button--primary { background: var(--ink); border-color: var(--ink); color: var(--surface); font-weight: 600; }
.vg-button--primary:hover { background: var(--ink); opacity: .88; }
[data-v31-root="graph"] :is(a,button,input,select,summary,[tabindex]):focus-visible { outline: var(--focus-outline); outline-offset: var(--focus-offset); }

/* Layout + cards */
.vg-grid { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); gap: var(--s-5); align-items: start; }
.vg-grid--inspector { grid-template-columns: minmax(0, .5fr) minmax(0, 1.5fr); }
.vg-grid--claims { grid-template-columns: minmax(0, 1.55fr) minmax(0, 1fr); }
.vg-grid--sticky > div:last-child { align-self: stretch; }
.vg-grid > *, .vg-figure-grid > *, .vg-verdict-grid > * { min-width: 0; }
.vg-card { background: var(--raised); border: 1px solid var(--hairline); border-radius: var(--r-lg); padding: var(--s-5); margin-bottom: var(--s-5); overflow-wrap: anywhere; }
.vg-card--sticky { position: sticky; top: var(--s-5); max-height: calc(100vh - var(--s-8)); overflow-y: auto; overscroll-behavior: contain; margin-bottom: 0; }
.vg-card--quiet { background: var(--surface); }
.vg-card--tool { padding: var(--s-2) var(--s-5); }
.vg-card--tool > summary { display: flex; align-items: center; gap: var(--s-3); }
.vg-card h3 { font-size: var(--fs-row); line-height: var(--lh-row); font-weight: 600; margin-bottom: var(--s-4); }
.vg-card h4 { font-size: var(--fs-desc); line-height: var(--lh-desc); font-weight: 600; margin: var(--s-5) 0 var(--s-3); color: var(--ink); }
.vg-card > p + p { margin-top: var(--s-3); }
.vg-actions { display: flex; gap: var(--s-2); flex-wrap: wrap; align-items: center; margin: var(--s-3) 0; }
.vg-actions--tight { margin: var(--s-2) 0; }
.vg-actions--foot { margin-top: var(--s-4); padding-top: var(--s-4); border-top: 1px solid var(--hairline); }
.vg-arrow-sep { color: var(--ink-2); }
.vg-card > .vg-link, .vg-card > .v31-receipt { display: flex; margin-bottom: var(--s-3); }
.vg-claim-text { font-size: var(--fs-body); line-height: var(--lh-body); margin-bottom: var(--s-4); }
.vg-pending, .vg-meta { padding: var(--s-3); border-radius: var(--r-sm); background: var(--sunken); color: var(--ink-2); }
.vg-toolbar { display: flex; align-items: flex-end; flex-wrap: wrap; gap: var(--s-4); margin-bottom: var(--s-5); }
.vg-toolbar label { flex: 1; min-width: 180px; }
.vg-toolbar label:last-child { flex: 0 1 280px; }
[data-v31-root="graph"] label { display: grid; gap: var(--s-2); color: var(--ink-2); }
[data-v31-root="graph"] input:not([type="checkbox"]), [data-v31-root="graph"] select { min-height: 44px; width: 100%; border: 1px solid var(--hairline-strong); border-radius: var(--r-md); background: var(--raised); color: var(--ink); padding: var(--s-3); font-family: var(--font-sans); font-size: var(--fs-body); }

/* Claim topology */
.vg-map { margin: var(--s-4) 0 var(--s-3); border-radius: var(--r-md); background: var(--surface); border: 1px solid var(--hairline); padding: var(--s-3); }
.vg-map svg { display: block; width: 100%; height: auto; max-height: 420px; }
.vg-edge { fill: none; stroke: var(--ink-2); stroke-width: 2; transition: opacity .15s; }
.vg-edge--supports { stroke: var(--success); }
.vg-edge--refutes { stroke: var(--danger); stroke-dasharray: 7 5; }
.vg-edge--neutral { stroke-dasharray: 2 5; }
.vg-edge.is-dim { opacity: .45; }
.vg-edge.is-active { stroke-width: 3; }
.vg-arrow { fill: var(--ink-2); }
.vg-arrow--supports { fill: var(--success); }
.vg-arrow--refutes { fill: var(--danger); }
.vg-node { cursor: pointer; outline: none; }
.vg-node rect { fill: var(--raised); stroke: var(--hairline-strong); stroke-width: 1.5; }
.vg-node:hover rect { fill: var(--hover-tint); }
.vg-node text { fill: var(--ink); font-family: var(--font-sans); }
.vg-node-id { font-size: var(--fs-body); font-weight: 600; }
.vg-node .vg-node-label { font-size: var(--fs-small); color: var(--ink-2); fill: var(--ink-2); }
.vg-node-glyph { font-size: var(--fs-small); font-weight: 700; text-anchor: middle; }
.vg-node-dot { fill: var(--sunken); stroke: var(--hairline-strong); stroke-width: 1.5; }
.vg-node--supported rect { stroke: var(--success); } .vg-node--supported .vg-node-dot { fill: var(--success-tint); stroke: var(--success); } .vg-node--supported .vg-node-glyph { fill: var(--success); }
.vg-node--not-supported rect { stroke: var(--danger); } .vg-node--not-supported .vg-node-dot { fill: var(--danger-tint); stroke: var(--danger); } .vg-node--not-supported .vg-node-glyph { fill: var(--danger); }
.vg-node--already-known rect { stroke: var(--accent); } .vg-node--already-known .vg-node-dot { fill: var(--accent-tint); stroke: var(--accent); } .vg-node--already-known .vg-node-glyph { fill: var(--accent-ink); }
.vg-node--insufficient-evidence rect { stroke: var(--warning); } .vg-node--insufficient-evidence .vg-node-dot { fill: var(--warning-tint); stroke: var(--warning); } .vg-node--insufficient-evidence .vg-node-glyph { fill: var(--warning); }
.vg-node--pending rect { stroke-dasharray: 5 4; } .vg-node--pending .vg-node-glyph { fill: var(--ink-2); }
.vg-node.is-selected rect { fill: var(--accent-tint); stroke: var(--accent); stroke-width: 3; stroke-dasharray: none; }
.vg-node-gap { fill: var(--warning-tint); stroke: var(--warning); stroke-width: 1.5; }
.vg-node-gapmark { stroke: var(--warning); stroke-width: 2.4; stroke-linecap: round; fill: none; }
.vg-node-gapdot { fill: var(--warning); }
.vg-legend { display: flex; flex-wrap: wrap; gap: var(--s-2) var(--s-5); list-style: none; padding: 0; margin: var(--s-2) 0 0; color: var(--ink-2); font-size: var(--fs-small); line-height: var(--lh-small); }
.vg-legend li { display: inline-flex; align-items: center; gap: var(--s-2); }
.vg-key { display: inline-block; width: 28px; border-top: 2px solid var(--ink-2); }
.vg-key--supports { border-top-color: var(--success); }
.vg-key--refutes { border-top: 2px dashed var(--danger); }
.vg-key--neutral { border-top: 2px dotted var(--ink-2); }
.vg-glyph { display: inline-flex; align-items: center; justify-content: center; width: 20px; height: 20px; border-radius: 999px; border: 1.5px solid var(--hairline-strong); background: var(--sunken); font-style: normal; font-weight: 700; font-size: var(--fs-small); line-height: 1; }
.vg-glyph--supported { color: var(--success); border-color: var(--success); background: var(--success-tint); }
.vg-glyph--not-supported { color: var(--danger); border-color: var(--danger); background: var(--danger-tint); }
.vg-glyph--already-known { color: var(--accent-ink); border-color: var(--accent); background: var(--accent-tint); }
.vg-glyph--insufficient-evidence, .vg-glyph--gap { color: var(--warning); border-color: var(--warning); background: var(--warning-tint); }

/* Claim list + paths */
.vg-claims, .vg-paths, .vg-columns, .vg-navlist, .vg-hits, .vg-tally { list-style: none; padding: 0; }
.vg-claims li + li { margin-top: var(--s-2); }
.vg-claimrow { width: 100%; display: flex; justify-content: space-between; align-items: center; gap: var(--s-4); }
.vg-claimrow-text { min-width: 0; }
.vg-claimrow .vg-pill { flex: none; }
.vg-path + .vg-path { border-top: 1px solid var(--hairline); padding-top: var(--s-4); margin-top: var(--s-4); }
.vg-path-head { display: flex; flex-wrap: wrap; align-items: center; gap: var(--s-2) var(--s-3); }
.vg-rationale { margin: var(--s-2) 0; max-width: 70ch; }
.vg-path--contradiction { padding: var(--s-4); background: var(--danger-tint); border-radius: var(--r-md); border: 1px solid var(--danger-line) !important; }
.vg-path--contradiction + .vg-path { margin-top: var(--s-4); }
.vg-gaps { display: grid; gap: var(--s-4); margin-top: var(--s-3); }
.vg-passage { padding: var(--s-4) 0; border-top: 1px solid var(--hairline); margin-top: var(--s-4); }
.vg-passage blockquote, .vg-hit blockquote { margin: 0 0 var(--s-3); padding-left: var(--s-4); border-left: 2px solid var(--hairline-strong); white-space: pre-wrap; }
.vg-warning { padding: var(--s-4); color: var(--ink); background: var(--warning-tint); border: 1px solid var(--warning-line); border-radius: var(--r-md); margin: var(--s-3) 0; }
ul.vg-warning { padding-left: var(--s-8); }
.vg-success { padding: var(--s-4); color: var(--ink); background: var(--success-tint); border: 1px solid var(--success-line); border-radius: var(--r-md); }
.vg-note { padding: var(--s-3) var(--s-4); background: var(--sunken); border-radius: var(--r-md); color: var(--ink-2); margin: var(--s-3) 0; }
.vg-note--ok { background: var(--success-tint); color: var(--ink); border: 1px solid var(--success-line); }
.vg-note--example { background: var(--warning-tint); border: 1px solid var(--warning-line); color: var(--ink); }
[data-v31-root="graph"] .v31-coverage { margin-top: var(--s-4); }
[data-v31-root="graph"] summary { min-height: 44px; padding: var(--s-3) 0; cursor: pointer; color: var(--accent-ink); }
[data-v31-root="graph"] details { border-top: 1px solid var(--hairline); margin-top: var(--s-4); }
.vg-card--tool { border-top: 1px solid var(--hairline); margin-top: 0; }

/* Verdicts */
.vg-tally { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--s-3); margin-bottom: var(--s-5); }
.vg-tally-item { display: grid; grid-template-columns: auto 1fr; column-gap: var(--s-3); align-items: baseline; padding: var(--s-4); border-radius: var(--r-lg); border: 1px solid var(--hairline); background: var(--raised); }
.vg-tally-count { font-size: var(--fs-heading); line-height: var(--lh-heading); font-weight: 500; font-variant-numeric: tabular-nums; }
.vg-tally-label { font-weight: 600; }
.vg-tally-ids { grid-column: 1 / -1; display: flex; flex-wrap: wrap; gap: var(--s-2); margin-top: var(--s-2); }
.vg-tally-ids .vg-link { min-height: 44px; }
.vg-tally-item--supported { border-top: 3px solid var(--success); } .vg-tally-item--supported .vg-tally-label { color: var(--success); }
.vg-tally-item--not-supported { border-top: 3px solid var(--danger); } .vg-tally-item--not-supported .vg-tally-label { color: var(--danger); }
.vg-tally-item--already-known { border-top: 3px solid var(--accent); } .vg-tally-item--already-known .vg-tally-label { color: var(--accent-ink); }
.vg-tally-item--insufficient-evidence { border-top: 3px solid var(--warning); } .vg-tally-item--insufficient-evidence .vg-tally-label { color: var(--warning); }
.vg-verdict-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--s-5); align-items: start; }
.vg-verdict { margin-bottom: 0; }
.vg-verdict.is-selected { border-color: var(--accent); box-shadow: 0 0 0 1px var(--accent); }
.vg-verdict h3 { margin-bottom: var(--s-3); }
.vg-claimlink { color: var(--ink); text-decoration: none; display: inline-flex; gap: var(--s-2); align-items: baseline; }
.vg-claimlink:hover { text-decoration: underline; }
.vg-claimlink .v31-id { font-family: var(--font-sans); font-size: inherit; line-height: inherit; font-weight: 600; padding-top: 0; }
.vg-calib { margin-top: var(--s-2); }
.vg-pending-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--s-3); }
.vg-pending-list > * { min-width: 0; }
.vg-card--quiet { margin-top: var(--s-5); }
.vg-facts { display: grid; gap: 0; margin: var(--s-3) 0; border: 1px solid var(--hairline); border-radius: var(--r-md); background: var(--surface); }
.vg-facts > div { display: grid; grid-template-columns: minmax(110px, 30%) minmax(0, 1fr); gap: var(--s-4); padding: var(--s-3) var(--s-4); }
.vg-facts > div + div { border-top: 1px solid var(--hairline); }
.vg-facts dt { color: var(--ink-2); }
.vg-facts dd { margin: 0; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }

/* Evidence table */
.vg-code { white-space: pre-wrap; overflow-wrap: anywhere; word-break: break-word; background: var(--sunken); border: 1px solid var(--hairline); border-radius: var(--r-md); padding: var(--s-4); font-family: var(--font-mono); font-size: var(--fs-mono); line-height: var(--lh-mono); margin: var(--s-3) 0; }
.vg-hash { font-family: var(--font-mono); font-size: var(--fs-mono); line-height: var(--lh-mono); overflow-wrap: anywhere; }
.vg-hashes { margin: var(--s-3) 0; }
.vg-hashes > div { display: grid; grid-template-columns: 120px minmax(0, 1fr); gap: var(--s-4); align-items: start; padding: var(--s-3) 0; border-top: 1px solid var(--hairline); }
.vg-hashes dt { font-weight: 600; padding-top: var(--s-2); }
.vg-hashes dd { margin: 0; padding: var(--s-2) var(--s-3); background: var(--sunken); border-radius: var(--r-sm); font-family: var(--font-mono); font-size: var(--fs-mono); line-height: var(--lh-mono); overflow-wrap: anywhere; }
.vg-bullets { padding-left: var(--s-5); list-style: disc; }
.vg-table-scroll { overflow-x: auto; border: 1px solid var(--hairline); border-radius: var(--r-lg); margin: var(--s-5) 0; background: var(--raised); }
.vg-table-scroll--tight { margin: var(--s-3) 0; }
.vg-table { width: 100%; border-collapse: collapse; text-align: left; }
.vg-table caption { text-align: left; padding: var(--s-4); color: var(--ink-2); }
.vg-table th, .vg-table td { vertical-align: top; min-width: 160px; max-width: 280px; padding: var(--s-3); border-bottom: 1px solid var(--hairline); }
.vg-table tbody tr:last-child > * { border-bottom: 0; }
.vg-table thead th { background: var(--sunken); font-weight: 600; }
.vg-table tbody th[scope="row"] { font-weight: 400; background: var(--surface); min-width: 200px; }
.vg-table--plain th, .vg-table--plain td { min-width: 0; max-width: none; }
.vg-table--plain td { font-variant-numeric: tabular-nums; }
.vg-rowhead { display: flex; flex-wrap: wrap; align-items: center; gap: var(--s-2); margin-bottom: var(--s-2); }
.vg-table .vg-cell { width: 100%; border-color: transparent; padding: var(--s-3); background: transparent; font-variant-numeric: tabular-nums; }
.vg-table .vg-cell:hover { background: var(--hover-tint); border-color: var(--hairline-strong); }
.vg-table .vg-cell.is-selected { background: var(--accent-tint); border-color: var(--accent); color: var(--accent-ink); }
.vg-table .vg-actions { margin: var(--s-2) 0 0; }
.vg-columns li { display: flex; align-items: center; gap: var(--s-4); justify-content: space-between; margin: var(--s-3) 0; }
.vg-columns label { display: flex !important; align-items: center; min-height: 44px; }
.vg-columns input { width: 24px; height: 24px; accent-color: var(--accent); }
[data-vg-add-column] { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr) auto; align-items: end; gap: var(--s-3); margin-top: var(--s-5); }

/* Operators + receipts */
.vg-navlist { display: grid; gap: var(--s-2); }
.vg-navitem { display: flex; flex-direction: column; align-items: flex-start; gap: var(--s-1); width: 100%; }
.vg-navitem-title { font-weight: 600; }
.vg-navitem-sub { display: flex; flex-wrap: wrap; gap: var(--s-2); }
.vg-result { padding: var(--s-4); border-radius: var(--r-md); border: 1px solid var(--hairline-strong); background: var(--sunken); }
.vg-result--danger { background: var(--danger-tint); border-color: var(--danger-line); }
.vg-result--success { background: var(--success-tint); border-color: var(--success-line); }
.vg-result--warning { background: var(--warning-tint); border-color: var(--warning-line); }
.vg-result-head { display: flex; flex-wrap: wrap; align-items: center; gap: var(--s-2) var(--s-4); margin-bottom: var(--s-2); }
.vg-result-text { font-size: var(--fs-body); line-height: var(--lh-body); max-width: 70ch; }
.vg-hits { display: grid; gap: var(--s-3); margin: var(--s-3) 0; }
.vg-hit { padding: var(--s-4); border: 1px solid var(--hairline); border-radius: var(--r-md); background: var(--surface); }
.vg-hit p + p, .vg-hit p + blockquote { margin-top: var(--s-2); }
.vg-figure-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: var(--s-5); align-items: start; }
.vg-figure-grid .vg-card { margin-bottom: 0; }
.vg-empty { padding: var(--s-5); color: var(--ink-2); background: var(--sunken); border-radius: var(--r-md); }
.vg-status:empty { display: none; }
.vg-status { margin: var(--s-4) 0; }

@media (max-width: 1100px) {
  .vg-grid, .vg-grid--inspector { grid-template-columns: minmax(0,1fr); }
  .vg-grid--claims > div { display: contents; }
  .vg-grid--claims > div:first-child > .vg-card:first-child { grid-row: 1; }
  .vg-grid--claims > div:last-child > .vg-card { grid-row: 2; }
  .vg-card--sticky { position: static; max-height: none; overflow: visible; margin-bottom: var(--s-5); }
  .vg-tally { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .vg-verdict-grid, .vg-figure-grid { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 640px) {
  .v31-graph-page .app-main.wb-main { padding: var(--s-4); }
  [data-v31-root="graph"] { padding-bottom: calc(var(--safe-bottom, 88px) + var(--s-6) + env(safe-area-inset-bottom)); }
  .vg-header { flex-direction: column; gap: var(--s-2); padding-bottom: var(--s-3); }
  .vg-header .t-title { font-size: var(--fs-heading); line-height: var(--lh-heading); margin: var(--s-2) 0; }
  .vg-header > .vg-actions { display: grid; grid-template-columns: 1fr 1fr; width: 100%; margin: var(--s-2) 0 0; }
  .vg-header > .vg-actions .vg-link { justify-content: center; }
  .vg-card { padding: var(--s-4); }
  .vg-tabs { flex-wrap: nowrap; overflow-x: auto; padding-bottom: var(--s-2); margin-bottom: var(--s-4); scrollbar-width: none; -webkit-mask-image: linear-gradient(90deg, #000 88%, transparent); mask-image: linear-gradient(90deg, #000 88%, transparent); }
  .vg-tabs::-webkit-scrollbar { display: none; }
  .vg-tab { flex: none; white-space: nowrap; }
  .vg-toolbar { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: var(--s-2); margin-bottom: var(--s-4); }
  .vg-toolbar label, .vg-toolbar label:last-child { min-width: 0; flex: none; }
  .vg-summary { display: grid; grid-template-columns: 1fr 1fr; gap: var(--s-3); padding: var(--s-4); }
  .vg-stat--wide, .vg-summary-note { grid-column: 1 / -1; }
  .vg-summary-note { margin-left: 0; max-width: none; }
  .vg-map { padding: var(--s-2); }
  .vg-map svg { max-height: none; }
  .vg-claimrow { flex-direction: column; align-items: flex-start; gap: var(--s-2); }
  .vg-pending-list, .vg-figure-grid, [data-vg-add-column] { grid-template-columns: minmax(0,1fr); }
  .vg-tally { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--s-2); }
  .vg-tally-item { grid-template-columns: minmax(0, 1fr); padding: var(--s-3); }
  .vg-columns li { align-items: flex-start; }
  .vg-facts > div, .vg-hashes > div { grid-template-columns: minmax(0, 1fr); gap: var(--s-1); }
  .vg-hashes dt { padding-top: 0; }
  /* Tables become one card per row; role attributes keep the table semantics. */
  .vg-table-scroll { overflow: visible; border: 0; background: transparent; }
  .vg-table, .vg-table tbody, .vg-table tr, .vg-table th, .vg-table td, .vg-table caption { display: block; min-width: 0; max-width: none; }
  .vg-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
  .vg-table caption { padding: 0 0 var(--s-3); }
  .vg-table tbody tr { background: var(--raised); border: 1px solid var(--hairline); border-radius: var(--r-lg); margin-bottom: var(--s-4); padding: var(--s-4); }
  .vg-table th, .vg-table td, .vg-table tbody th[scope="row"] { border: 0; padding: var(--s-2) 0; background: transparent; }
  .vg-table td[data-label]::before { content: attr(data-label); display: block; color: var(--ink-2); font-size: var(--fs-small); line-height: var(--lh-small); margin-bottom: var(--s-1); }
  .vg-table .vg-cell { padding: var(--s-3); border-color: var(--hairline); background: var(--surface); }
  .vg-table--plain tbody tr { padding: var(--s-3) var(--s-4); }
}
