/* Shared standings presentation. Ranking and competition data stay with the renderer. */
@layer pages {
  .standings-mobile.table-wrapper { position:relative; max-width:100%; overflow-x:auto; overscroll-behavior-inline:contain; }
  .standings-mobile table { width:100%; border-collapse:collapse; }
  .standings-mobile-tools { position:sticky; left:0; width:100%; box-sizing:border-box; padding:10px 12px; }
  .standings-mobile-legend { margin:0; color:var(--muted); font-size:12px; line-height:1.6; white-space:normal; }
  .standings-mobile-toggle { display:none; align-items:center; gap:9px; min-height:44px; width:fit-content; max-width:100%; color:var(--text); font-size:13px; line-height:1.5; cursor:pointer; }
  .standings-mobile-toggle input { appearance:auto; flex:0 0 18px; width:18px; height:18px; min-height:0; margin:0; padding:0; accent-color:var(--accent); }
  .standings-mobile-hint { display:none; margin:0 0 4px; font-size:12px; line-height:1.5; color:var(--muted); white-space:normal; }
  .standings-mobile .standings-value { display:inline-flex; justify-content:center; align-items:center; min-height:28px; font-variant-numeric:tabular-nums; white-space:nowrap; }
  .standings-mobile .standings-value-rank { min-width:26px; border-radius:8px; color:var(--text); background:var(--surface-bg-soft); font-size:14px; font-weight:800; }
  .standings-mobile .standings-value-points { min-width:32px; padding:0 3px; border-radius:8px; color:var(--text); background:var(--accent-soft); font-size:17px; font-weight:800; }
  .standings-mobile.table-pro td[data-stat="played"] { color:var(--text); }
  .standings-mobile .standings-value-gd { color:var(--text); font-size:14px; font-weight:600; }
  .standings-mobile .team-cell .standings-team-link { display:flex; align-items:center; gap:7px; width:100%; min-height:44px; box-sizing:border-box; color:inherit; text-decoration:none; }
  .standings-mobile .standings-team-name { display:flex; align-items:center; min-height:44px; min-width:0; color:var(--text); white-space:normal; overflow-wrap:anywhere; line-height:1.45; font-size:14px; font-weight:600; }
  .standings-mobile .standings-team-arrow { display:flex; align-items:center; min-height:44px; flex:0 0 auto; margin-left:auto; color:var(--muted); font-size:20px; line-height:1; }
  .standings-mobile a.standings-team-link:hover { color:var(--accent); }
  .standings-mobile a.standings-team-link:focus-visible { outline:2px solid var(--accent); outline-offset:2px; border-radius:4px; }
  .standings-mobile tbody tr:focus-within { background:var(--accent-soft); }
  @media (max-width:640px) {
    .standings-mobile.table-pro table { min-width:0; width:100%; table-layout:fixed; }
    .standings-mobile-toggle { display:flex; }
    .standings-mobile:not(.standings-expanded) :is(th,td)[data-stat]:not([data-primary]) { display:none; }
    .standings-mobile.table-pro :is(th,td) { padding:7px 3px; text-align:center; white-space:normal; }
    .standings-mobile.table-pro th { font-weight:700; height:38px; }
    .standings-mobile.table-pro [data-stat="rank"] { width:32px; }
    .standings-mobile.table-pro [data-stat="played"] { width:29px; }
    .standings-mobile.table-pro [data-stat="gd"] { width:42px; }
    .standings-mobile.table-pro [data-stat="points"] { width:52px; }
    .standings-mobile.table-pro .team-cell { min-width:0; }
    .standings-mobile.table-pro [data-stat="team"] { text-align:left; }
    .standings-mobile.table-pro .team-cell img { width:22px; height:22px; flex:0 0 22px; }
    .standings-mobile.standings-expanded table { table-layout:auto; min-width:690px; }
    .standings-mobile.standings-expanded .standings-mobile-hint { display:block; }
    .standings-mobile.standings-expanded [data-stat="team"] { position:sticky; left:0; z-index:1; min-width:170px; background:var(--surface-bg); box-shadow:4px 0 8px #00000014; }
    .standings-mobile.standings-expanded th[data-stat="team"] { z-index:3; }
    .standings-mobile.standings-expanded .standings-mobile-tools { z-index:4; background:var(--surface-bg); }
  }
  @media (max-width:360px) {
    .standings-mobile:not(.standings-expanded) .team-cell img { display:none; }
    .standings-mobile:not(.standings-expanded) .standings-team-arrow { display:none; }
    .standings-mobile.table-pro [data-stat="rank"] { width:30px; }
    .standings-mobile .standings-value-rank { min-width:24px; }
    .standings-mobile.table-pro [data-stat="played"] { width:25px; }
    .standings-mobile.table-pro [data-stat="gd"] { width:38px; }
    .standings-mobile .team-cell .standings-team-link { gap:5px; }
  }
}
