/* Generated by design-system-stage-1/scripts/build-design-css.cjs. Edit the source CSS and tokens. */
/* Shared catalog header, used by Challenges and the Rankings index. */


.ds-catalog-hero { display:grid; place-items:center; min-height:var(--page-hero-min-height); padding:var(--space-section) 0; text-align:center; }
.ds-catalog-hero__main { display:grid; justify-items:center; gap:var(--space-lg); max-width:var(--width-composition); }
.ds-catalog-hero__eyebrow { color:var(--color-accent); font:var(--font-weight-label) var(--font-label)/var(--line-height-caption) var(--font-family-data); letter-spacing:var(--tracking-label); text-transform:uppercase; }
.ds-catalog-hero__title { max-width:17ch; color:var(--color-text); font-size:var(--display-index); font-weight:var(--font-weight-h1); line-height:var(--line-height-h1); letter-spacing:var(--tracking-h1); text-wrap:balance; }
.ds-catalog-hero__subtitle { text-wrap:balance; max-width:var(--width-reading); color:var(--color-text-muted); font-size:var(--font-h5); line-height:var(--line-height-reading); }
.ds-catalog-hero__actions { display:flex; flex-wrap:wrap; justify-content:center; gap:var(--space-md); }
/* Split catalog header follows the established Offers spacing. */
.ds-catalog-hero[data-layout="split"] { min-height:0; padding:var(--space-2xl) 0 var(--space-section); grid-template-columns:minmax(0,1.12fr) minmax(var(--width-card-min),.88fr); align-items:center; justify-items:stretch; gap:var(--space-section); text-align:start; }
.ds-catalog-hero[data-layout="split"] .ds-catalog-hero__main { justify-items:start; min-width:0; }
.ds-catalog-hero[data-layout="split"] .ds-catalog-hero__title { max-width:15ch; }
.ds-catalog-hero[data-layout="split"] .ds-catalog-hero__actions { justify-content:flex-start; }
/* Summary contains index coverage; category choices live below the segment nav. */
.ds-catalog-hero__summary { display:grid; align-content:start; min-width:0; gap:var(--space-md); padding-inline-start:var(--space-2xl); border-inline-start:var(--stroke-width) solid var(--color-border); }
.ds-catalog-hero__summary>strong { color:var(--color-text); font:var(--font-weight-h1) var(--display-chapter)/var(--line-height-h1) var(--font-family-data); letter-spacing:var(--tracking-h1); }
.ds-catalog-hero__summary>p { color:var(--color-text-muted); font-size:var(--font-body-small); line-height:var(--line-height-reading); }
.ds-catalog-hero__summary dl { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); margin:0; border-block:var(--stroke-width) solid var(--color-border); }
.ds-catalog-hero__summary dl>div { display:grid; gap:var(--space-xs); padding:var(--space-md) 0; }
.ds-catalog-hero__summary dl>div+div { padding-inline-start:var(--space-md); border-inline-start:var(--stroke-width) solid var(--color-border); }
.ds-catalog-hero__summary dt { color:var(--color-text-muted); font:var(--font-weight-label) var(--font-caption)/var(--line-height-caption) var(--font-family-data); text-transform:uppercase; }
.ds-catalog-hero__summary dd { margin:0; color:var(--color-text); font:var(--font-weight-heading) var(--font-h4)/var(--line-height-heading) var(--font-family-data); }
@media (max-width: 1180px) {
  .ds-catalog-hero__title { font-size:var(--display-chapter); } }
@media (max-width: 860px) {
  .ds-catalog-hero[data-layout="split"] { min-height:0; padding:var(--space-2xl) 0 var(--space-section); grid-template-columns:1fr; }
  .ds-catalog-hero__summary { padding-inline-start:0; border-inline-start:0; width:100%; }
  .ds-catalog-hero { min-height:auto; padding:var(--prop-hero-padding-start) 0 var(--space-section); }
  .ds-catalog-hero__title { max-width:16ch; font-size:var(--primitive-size-48); }
  .ds-catalog-hero__subtitle { font-size:var(--font-body); } }
@media (max-width: 640px) {
  .ds-catalog-hero { text-align:start; place-items:start; }
  .ds-catalog-hero__main { justify-items:start; }
  .ds-catalog-hero__title { font-size:var(--primitive-size-40); }
  .ds-catalog-hero__actions { width:100%; justify-content:flex-start; }
  .ds-catalog-hero__actions .ds-button { width:100%; } }

/* Canonical catalog components for markets, brokers, exchanges, platforms and tools.
   Records keep rich decision content flat: regions are separated by rhythm and rules,
   never by stacks of decorative cards. Values come from design-system/tokens.css. */

/* Segment navigation */
.tsb-design-system .pf-prop-global-nav {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  min-height:var(--segment-nav-height);
  margin:0;
  border-block:var(--stroke-width) solid var(--color-border);
}
.tsb-design-system .pf-prop-global-nav a {
  display:flex;
  min-width:0;
  align-items:center;
  justify-content:center;
  gap:var(--space-sm);
  padding:var(--space-md);
  border-inline-start:var(--stroke-width) solid var(--color-border);
  color:var(--color-text-muted);
  font:var(--button-weight) var(--button-compact-font)/var(--primitive-line-control) var(--font-family);
  text-decoration:none;
  transition:color var(--duration-fast) var(--ease-out),background var(--duration-fast) var(--ease-out);
}
.tsb-design-system .pf-prop-global-nav a:first-child { border-inline-start:0; }
.tsb-design-system .pf-prop-global-nav a:is(:hover,:focus-visible) { color:var(--color-text); background:var(--color-surface-hover); }
.tsb-design-system .pf-prop-global-nav a.is-active { color:var(--color-accent); background:var(--color-accent-soft); }
.tsb-design-system .pf-prop-global-nav :is(i,svg) { width:var(--primitive-size-18); height:var(--primitive-size-18); flex:none; }

/* Filter toolbar */
.ds-filter-group {
  display:grid;
  grid-auto-flow:column;
  grid-auto-columns:minmax(0,1fr);
  min-width:0;
  min-height:var(--field-height);
  gap:0;
  padding:var(--space-xs);
  border:var(--stroke-width) solid var(--color-border);
  border-radius:var(--radius-control);
  background:var(--color-surface-card);
}
.ds-filter-option,.ds-filter-button {
  display:flex;
  min-width:0;
  min-height:calc(var(--field-height) - var(--space-xs) * 2 - var(--stroke-width) * 2);
  align-items:center;
  justify-content:center;
  gap:var(--space-sm);
  padding-inline:var(--space-md);
  border:var(--stroke-width) solid transparent;
  border-radius:var(--radius-inner);
  background:transparent;
  color:var(--color-text-muted);
  font:var(--button-weight) var(--button-compact-font)/var(--primitive-line-control) var(--font-family);
  white-space:nowrap;
  cursor:pointer;
}
.tsb-design-system :is(.ds-filter-option,.ds-filter-button) {
  font:var(--button-weight) var(--button-compact-font)/var(--primitive-line-control) var(--font-family);
}
.ds-filter-option:is(:hover,:focus-visible),.ds-filter-button:is(:hover,:focus-visible) { color:var(--color-text); background:var(--color-surface-hover); }
.ds-filter-option[aria-pressed="true"],.ds-filter-option.is-active,.ds-filter-button.has-active-filters { color:var(--button-primary-text); border-color:var(--button-primary-border); background:var(--button-primary-bg); }
.ds-filter-button { min-height:var(--field-height); border-color:var(--color-border); border-radius:var(--radius-control); background:var(--color-surface-card); }
.ds-filter-button :is(i,svg) { width:var(--select-chevron-size); height:var(--select-chevron-size); flex:none; }
.ds-filter-menu {
  position:absolute;
  z-index:var(--select-menu-layer);
  top:calc(100% + var(--space-sm));
  right:0;
  display:grid;
  width:min(var(--filter-menu-width),calc(100vw - var(--space-xl)));
  grid-template-columns:repeat(var(--filter-menu-columns),minmax(0,1fr));
  gap:var(--space-sm);
  padding:var(--space-md);
  border:var(--stroke-width) solid var(--color-border-strong);
  border-radius:var(--radius-control);
  background:var(--color-surface-raised);
  box-shadow:var(--shadow-float);
}
.ds-filter-menu .ds-filter-option { min-height:var(--button-compact-height); border-color:var(--color-border); background:var(--color-surface-card); }
.ds-filter-menu .ds-filter-option[aria-pressed="true"] { border-color:var(--button-primary-border); background:var(--button-primary-bg); }

/* Expandable decision record */
.ds-decision-record {
  min-width:0;
  border:var(--stroke-width) solid var(--record-border);
  border-radius:var(--record-radius);
  background:var(--record-surface);
  overflow:hidden;
  transition:border-color var(--duration-fast) var(--ease-out),background var(--duration-fast) var(--ease-out),transform var(--duration-fast) var(--ease-out);
}
.ds-decision-record:is(:hover,:focus-within) { border-color:var(--record-border-strong); background:var(--record-surface-hover); transform:translateY(var(--record-hover-lift)); }
.ds-decision-record:has(.ds-decision-record__details[open]) { border-color:var(--record-border-strong); background:var(--record-surface-open); transform:none; }
.ds-decision-record__main {
  display:grid;
  min-height:var(--record-min-height);
  grid-template-columns:minmax(var(--record-identity-min-width),var(--record-identity-width)) var(--record-fit-width) minmax(var(--record-facts-min-width),1fr) var(--record-commercial-width);
  align-items:stretch;
}
.ds-decision-record__main>* { min-width:0; padding:var(--record-main-padding); }
.ds-decision-record__main>*+* { border-inline-start:var(--stroke-width) solid var(--record-border); }
.ds-decision-record__identity { align-self:stretch; align-items:flex-start; padding-top:var(--space-xl); }
.ds-decision-record__fit { display:grid; place-items:center; text-align:center; }
.ds-decision-record__facts { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); padding:0; }
.ds-decision-record__facts>span { display:grid; min-width:0; align-content:center; gap:var(--space-sm); padding:var(--record-main-padding) var(--space-md); }
.ds-decision-record__facts>span+span { border-inline-start:var(--stroke-width) solid var(--record-border); }
.ds-decision-record__facts small,.ds-decision-record__commercial small,.ds-decision-record__evidence small {
  color:var(--color-text-decorative);
  font:var(--font-weight-label) var(--font-caption)/var(--line-height-caption) var(--font-family);
}
.ds-decision-record__facts strong { color:var(--color-text); font:var(--font-weight-heading) var(--font-body)/var(--line-height-heading) var(--font-family-data); font-variant-numeric:tabular-nums; overflow-wrap:anywhere; }
.ds-decision-record__facts em { color:var(--color-text-muted); font:normal var(--font-weight-body) var(--font-caption)/var(--line-height-caption) var(--font-family); overflow-wrap:anywhere; }
.ds-decision-record__commercial { display:grid; grid-template-rows:1fr auto; align-content:stretch; gap:var(--space-md); }
.ds-decision-record__commercial>span { display:grid; align-content:center; gap:var(--space-xs); min-width:0; }
.ds-decision-record__commercial>span>strong { color:var(--color-accent); font:var(--font-weight-heading) var(--font-h4)/var(--line-height-heading) var(--font-family-data); font-variant-numeric:tabular-nums; overflow-wrap:anywhere; }
.ds-decision-record__commercial .ds-button { width:100%; justify-content:space-between; min-height:var(--button-hero-height); padding-inline:var(--space-md); }
.ds-decision-record__commercial .ds-button>span { display:grid; gap:var(--space-xs); text-align:start; }
.ds-decision-record__commercial .ds-button small { color:inherit; opacity:.72; }
.ds-decision-record__evidence {
  display:grid;
  grid-template-columns:var(--record-status-width) repeat(3,minmax(0,1fr)) auto;
  min-width:0;
  align-items:center;
  border-top:var(--stroke-width) solid var(--record-border);
}
.ds-decision-record__evidence>* { min-width:0; padding:var(--record-evidence-padding); }
.ds-decision-record__evidence>*+* { border-inline-start:var(--stroke-width) solid var(--record-border); }
.ds-decision-record__evidence .ds-badge { justify-self:center; }
.ds-decision-record__evidence>span:not(.ds-badge) { display:grid; gap:var(--space-xs); }
.ds-decision-record__evidence b { color:var(--color-text-muted); font-size:var(--font-caption); font-weight:var(--font-weight-label); overflow-wrap:anywhere; }
.ds-decision-record__evidence>span:last-child a { display:inline-flex; align-items:center; gap:var(--space-sm); color:var(--color-accent); font-size:var(--font-body-small); font-weight:var(--font-weight-label); text-decoration:none; white-space:nowrap; }
.ds-decision-record__evidence>span:last-child :is(i,svg) { width:var(--select-chevron-size); height:var(--select-chevron-size); }
.ds-decision-record__details { border-top:var(--stroke-width) solid var(--record-border); }
.ds-decision-record__details>summary {
  display:flex;
  min-height:var(--button-height);
  align-items:center;
  gap:var(--space-md);
  padding-inline:var(--record-detail-padding);
  color:var(--color-text-muted);
  font:var(--font-weight-label) var(--font-body-small)/var(--line-height-body) var(--font-family);
  cursor:pointer;
  list-style:none;
}
.ds-decision-record__details>summary::-webkit-details-marker { display:none; }
.ds-decision-record__details>summary::after { content:'+'; display:grid; width:var(--primitive-size-28); height:var(--primitive-size-28); place-items:center; margin-inline-start:auto; border:var(--stroke-width) solid var(--record-border-strong); border-radius:var(--radius-inner); color:var(--color-accent); }
.ds-decision-record__details[open]>summary::after { content:'−'; }
.ds-decision-record__details>summary:is(:hover,:focus-visible) { color:var(--color-text); }

@media (max-width: 1180px) {
  .ds-decision-record__main { grid-template-columns:minmax(0,1fr) var(--record-fit-width); }
  .ds-decision-record__identity { grid-column:1; }
  .ds-decision-record__fit { grid-column:2; }
  .ds-decision-record__facts { grid-column:1 / -1; border-top:var(--stroke-width) solid var(--record-border); border-inline-start:0!important; }
  .ds-decision-record__commercial { grid-column:1 / -1; grid-template-columns:minmax(0,1fr) minmax(var(--record-action-min-width),.45fr); grid-template-rows:auto; align-items:center; border-top:var(--stroke-width) solid var(--record-border); border-inline-start:0!important; }
}
@media (max-width: 860px) {
  .tsb-design-system .pf-prop-global-nav { overflow:auto; grid-template-columns:repeat(4,minmax(var(--segment-nav-item-min-width),1fr)); }
  .ds-decision-record__facts { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .ds-decision-record__facts>span:nth-child(3) { border-inline-start:0; }
  .ds-decision-record__facts>span:nth-child(n+3) { border-top:var(--stroke-width) solid var(--record-border); }
  .ds-decision-record__evidence { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .ds-decision-record__evidence>* { border-top:var(--stroke-width) solid var(--record-border); }
  .ds-decision-record__evidence>*:nth-child(-n+2) { border-top:0; }
  .ds-decision-record__evidence>*:nth-child(odd) { border-inline-start:0; }
  .ds-decision-record__evidence .ds-badge { justify-self:start; }
  .ds-decision-record__evidence>span:last-child { grid-column:1 / -1; border-inline-start:0; }
}
@media (max-width: 640px) {
  .ds-filter-menu { --filter-menu-columns:2; right:auto; left:0; }
  .ds-decision-record__main { grid-template-columns:minmax(0,1fr) auto; }
  .ds-decision-record__main>* { padding:var(--space-md); }
  .ds-decision-record__commercial { grid-template-columns:1fr; }
  .ds-decision-record__commercial .ds-button { min-height:var(--button-height); }
}
@media (max-width: 380px) {
  .ds-filter-menu { --filter-menu-columns:1; }
  .ds-decision-record__facts { grid-template-columns:1fr; }
  .ds-decision-record__facts>span,.ds-decision-record__facts>span:nth-child(3) { border-inline-start:0; border-top:var(--stroke-width) solid var(--record-border); }
  .ds-decision-record__facts>span:first-child { border-top:0; }
  .ds-decision-record__evidence { grid-template-columns:1fr; }
  .ds-decision-record__evidence>*+*,.ds-decision-record__evidence>*:nth-child(-n+2) { border-top:var(--stroke-width) solid var(--record-border); border-inline-start:0; }
  .ds-decision-record__evidence>*:first-child { border-top:0; }
}

/* Comparison ledger: table semantics on wide screens, flat evidence records below.
   Markets, brokers, exchanges, platforms and tools share the six-slot anatomy. */
.ds-comparison-ledger {
  min-width:0;
  border-block:var(--stroke-width) solid var(--color-border);
  overflow:clip;
}
.ds-comparison-table {
  width:100%;
  min-width:var(--comparison-ledger-min-width);
  border-collapse:collapse;
  table-layout:fixed;
  color:var(--color-text);
  background:transparent;
  font-size:var(--font-body-small);
}
.ds-comparison-table th,
.ds-comparison-table td {
  min-width:0;
  padding:var(--comparison-cell-padding);
  text-align:start;
  vertical-align:top;
  overflow-wrap:anywhere;
}
.ds-comparison-table th {
  padding-block:var(--space-md);
  border-bottom:var(--stroke-width) solid var(--color-border);
  color:var(--color-text-decorative);
  font:var(--font-weight-label) var(--font-caption)/var(--line-height-caption) var(--font-family);
}
.ds-comparison-table tbody tr {
  min-height:var(--comparison-row-min-height);
  transition:background var(--duration-fast) var(--ease-out);
}
.ds-comparison-table tbody tr+tr td { border-top:var(--stroke-width) solid var(--color-border); }
.ds-comparison-table tbody tr:is(:hover,:focus-within) { background:var(--color-surface-hover); }
.ds-comparison-table th:nth-child(1) { width:var(--comparison-identity-width); }
.ds-comparison-table th:nth-child(2) { width:var(--comparison-model-width); }
.ds-comparison-table th:nth-child(3) { width:var(--comparison-loss-width); }
.ds-comparison-table th:nth-child(4) { width:var(--comparison-drawdown-width); }
.ds-comparison-table th:nth-child(5) { width:var(--comparison-evidence-width); }
.ds-comparison-table th:nth-child(6) { width:var(--comparison-actions-width); }
.ds-comparison-table td::before { display:none; }

@media (max-width: 1180px) {
  .ds-comparison-ledger { border-block:0; overflow:visible; }
  .ds-comparison-table,.ds-comparison-table tbody { display:block; min-width:0; }
  .ds-comparison-table thead { display:none; }
  .ds-comparison-table tbody { border-top:var(--stroke-width) solid var(--color-border); }
  .ds-comparison-table tbody tr {
    display:grid;
    grid-template-columns:minmax(var(--comparison-identity-width),.82fr) minmax(0,1.18fr);
    grid-template-areas:'identity model' 'loss drawdown' 'evidence actions';
    min-height:0;
    border-bottom:var(--stroke-width) solid var(--color-border);
  }
  .ds-comparison-table tbody tr+tr td { border-top:0; }
  .ds-comparison-table td { display:block; padding:var(--space-lg); }
  .ds-comparison-table td[data-slot='identity'] { grid-area:identity; }
  .ds-comparison-table td[data-slot='model'] { grid-area:model; }
  .ds-comparison-table td[data-slot='loss'] { grid-area:loss; }
  .ds-comparison-table td[data-slot='drawdown'] { grid-area:drawdown; }
  .ds-comparison-table td[data-slot='evidence'] { grid-area:evidence; }
  .ds-comparison-table td[data-slot='actions'] { grid-area:actions; }
  .ds-comparison-table td:nth-child(even) { border-inline-start:var(--stroke-width) solid var(--color-border); }
  .ds-comparison-table td:nth-child(n+3) { border-top:var(--stroke-width) solid var(--color-border); }
  .ds-comparison-table td::before {
    content:attr(data-label);
    display:block;
    margin-bottom:var(--space-sm);
    color:var(--color-text-decorative);
    font:var(--font-weight-label) var(--font-caption)/var(--line-height-caption) var(--font-family);
  }
}

@media (max-width: 640px) {
  .ds-comparison-table tbody tr { grid-template-columns:repeat(2,minmax(0,1fr)); grid-template-areas:'identity identity' 'model drawdown' 'loss evidence' 'actions actions'; }
  .ds-comparison-table td { padding:var(--space-md); border-top:var(--stroke-width) solid var(--color-border); border-inline-start:0; }
  .ds-comparison-table td[data-slot='identity'] { border-top:0; }
  .ds-comparison-table td[data-slot='drawdown'],.ds-comparison-table td[data-slot='evidence'] { border-inline-start:var(--stroke-width) solid var(--color-border); }
}

@media (max-width: 380px) {
  .ds-comparison-table tbody tr { grid-template-columns:1fr; grid-template-areas:'identity' 'model' 'loss' 'drawdown' 'evidence' 'actions'; }
  .ds-comparison-table td:nth-child(even),.ds-comparison-table td:nth-child(n+3),.ds-comparison-table td[data-slot='drawdown'],.ds-comparison-table td[data-slot='evidence'] { border-inline-start:0; }
}

/* Ranking ledger: a seven-zone table at wide desktop and the same evidence as
   labeled records before columns become compressed. */
.ds-ranking-ledger {
  min-width:0;
  border-block:var(--stroke-width) solid var(--color-border);
  overflow:clip;
}
.ds-ranking-table {
  width:100%;
  min-width:var(--ranking-ledger-min-width);
  border-collapse:collapse;
  table-layout:fixed;
  color:var(--color-text);
  background:transparent;
  font-size:var(--font-body-small);
}
.ds-ranking-table th,.ds-ranking-table td {
  min-width:0;
  padding:var(--ranking-cell-padding);
  text-align:start;
  vertical-align:top;
  overflow-wrap:anywhere;
}
.ds-ranking-table th {
  padding-block:var(--space-md);
  border-bottom:var(--stroke-width) solid var(--color-border);
  color:var(--color-text-decorative);
  font:var(--font-weight-label) var(--font-caption)/var(--line-height-caption) var(--font-family);
  text-transform:uppercase;
}
.ds-ranking-table tbody tr { min-height:var(--ranking-row-min-height); transition:background var(--duration-fast) var(--ease-out); }
.ds-ranking-table tbody tr+tr td { border-top:var(--stroke-width) solid var(--color-border); }
.ds-ranking-table tbody tr:is(:hover,:focus-within) { background:var(--color-surface-hover); }
.ds-ranking-table tbody tr:first-child { background:linear-gradient(to right,var(--ranking-first-surface),transparent); }
.ds-ranking-table th:nth-child(1) { width:var(--ranking-identity-width); }
.ds-ranking-table th:nth-child(2) { width:var(--ranking-fit-width); }
.ds-ranking-table th:nth-child(3) { width:var(--ranking-limits-width); }
.ds-ranking-table th:nth-child(4) { width:var(--ranking-platforms-width); }
.ds-ranking-table th:nth-child(5) { width:var(--ranking-scale-width); }
.ds-ranking-table th:nth-child(6) { width:var(--ranking-offer-width); }
.ds-ranking-table th:nth-child(7) { width:var(--ranking-actions-width); }
.ds-ranking-table td::before { display:none; }

@media (max-width: 1180px) {
  .ds-ranking-ledger { border-block:0; overflow:visible; }
  .ds-ranking-table,.ds-ranking-table tbody { display:block; min-width:0; }
  .ds-ranking-table thead { display:none; }
  .ds-ranking-table tbody { border-top:var(--stroke-width) solid var(--color-border); }
  .ds-ranking-table tbody tr {
    display:grid;
    grid-template-columns:var(--ranking-record-columns);
    grid-template-areas:'identity fit' 'limits platforms' 'scale offer' 'research research';
    min-height:0;
    border-bottom:var(--stroke-width) solid var(--color-border);
  }
  .ds-ranking-table tbody tr+tr td { border-top:0; }
  .ds-ranking-table td { display:block; padding:var(--space-lg); border-top:var(--stroke-width) solid var(--color-border); }
  .ds-ranking-table td[data-slot='identity'] { grid-area:identity; border-top:0; }
  .ds-ranking-table td[data-slot='fit'] { grid-area:fit; border-top:0; border-inline-start:var(--stroke-width) solid var(--color-border); }
  .ds-ranking-table td[data-slot='limits'] { grid-area:limits; }
  .ds-ranking-table td[data-slot='platforms'] { grid-area:platforms; border-inline-start:var(--stroke-width) solid var(--color-border); }
  .ds-ranking-table td[data-slot='scale'] { grid-area:scale; }
  .ds-ranking-table td[data-slot='offer'] { grid-area:offer; border-inline-start:var(--stroke-width) solid var(--color-border); }
  .ds-ranking-table td[data-slot='research'] { grid-area:research; }
  .ds-ranking-table td::before {
    content:attr(data-label);
    display:block;
    margin-bottom:var(--space-sm);
    color:var(--color-text-decorative);
    font:var(--font-weight-label) var(--font-caption)/var(--line-height-caption) var(--font-family);
    text-transform:uppercase;
  }
}

@media (max-width: 640px) {
  .ds-ranking-table tbody tr {
    grid-template-columns:var(--ranking-record-mobile-columns);
    grid-template-areas:'identity identity' 'fit platforms' 'limits limits' 'scale offer' 'research research';
  }
  .ds-ranking-table td { padding:var(--space-md); }
  .ds-ranking-table td[data-slot='fit'] { border-top:var(--stroke-width) solid var(--color-border); border-inline-start:0; }
  .ds-ranking-table td[data-slot='platforms'],.ds-ranking-table td[data-slot='offer'] { border-inline-start:var(--stroke-width) solid var(--color-border); }
}

@media (max-width: 380px) {
  .ds-ranking-table tbody tr { grid-template-columns:1fr; grid-template-areas:'identity' 'fit' 'limits' 'platforms' 'scale' 'offer' 'research'; }
  .ds-ranking-table td[data-slot='platforms'],.ds-ranking-table td[data-slot='offer'] { border-inline-start:0; }
}

@media (prefers-reduced-motion:reduce) {
  .ds-decision-record,.ds-comparison-table tbody tr,.ds-ranking-table tbody tr,.tsb-design-system .pf-prop-global-nav a { transition:none; }
}
