/* Keep the mobile grid outside the browser's anonymous table-box algorithm.
 * High specificity is intentional: lazy-loaded scoped styles may arrive later.
 * Desktop table semantics and layout are unchanged. */
@media (max-width: 767px) {
  html:root body .lb-table,
  html:root body .lb-table thead,
  html:root body .lb-table tbody {
    display: block;
    width: 100%;
    min-width: 0;
  }
  html:root body .lb-table tr {
    display: grid;
    grid-template-columns: 32px minmax(0, 1fr) 82px;
    align-items: center;
    gap: 0 8px;
    width: 100%;
    padding: 10px 8px;
    border-bottom: 1px solid var(--color-border, #e8eaf0);
  }
  html:root body .lb-table thead tr {
    background: var(--color-surface-2, #f8f9fb);
  }
  html:root body .lb-table th,
  html:root body .lb-table td {
    display: block;
    width: auto;
    min-width: 0;
    padding: 0;
    border: 0;
    white-space: normal;
    line-height: 1.5;
  }
  html:root body .lb-table th:first-child,
  html:root body .lb-table .lb-col-rank { text-align: center; }
  html:root body .lb-table .lb-col-team,
  html:root body .lb-table .lb-col-matches { display: none; }
  html:root body .lb-table .lb-col-player { text-align: left; }
  html:root body .lb-table .lb-name,
  html:root body .lb-table .lb-pos,
  html:root body .lb-table .lb-team {
    display: block;
    max-width: 100%;
    margin: 0;
    white-space: normal;
    overflow-wrap: anywhere;
  }
  html:root body .lb-table .lb-col-value {
    text-align: right;
    overflow-wrap: anywhere;
    font-variant-numeric: tabular-nums;
  }
  html:root body .rights-row {
    grid-template-columns: minmax(0, 1fr) 42px 68px;
    gap: 12px;
    min-height: 68px;
    padding: 12px;
    align-items: center;
  }
  html:root body .rights-row > span { min-width: 0; overflow-wrap: anywhere; }
  html:root body .rights-row > span:first-child { gap: 4px; }
  html:root body .rights-row > span:not(:first-child) { text-align: center; }
  html:root body .rights-row strong,
  html:root body .rights-row small { line-height: 1.5; white-space: normal; }
  html:root body .rights-row--head { min-height: 40px; padding-block: 10px; }
}
