  .event-content img { max-width: 100%; height: auto; }
  .event-content p   { margin-bottom: 0.75rem; }

  /* Results / participants list */
  .results-list { overflow-x: auto; }
  .dist-athletes-table {
    width: 100%;
    margin: 0;
    border-collapse: collapse;
    background: transparent;
  }
  .dist-athletes-table thead th {
    padding: 0 8px 12px;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.09em;
    text-transform: uppercase;
    white-space: nowrap;
    color: var(--color-text-muted);
    border-bottom: 1px solid var(--color-border);
  }
  .dist-athletes-table thead th.sort-col { cursor: pointer; user-select: none; }
  .dist-athletes-table thead th.sort-col:hover { color: var(--color-text-primary); }
  .dist-athletes-table .sort-icon { margin-left: 5px; font-size: 10px; opacity: 0.55; }
  .dist-athletes-table .res-col-place { width: 1%; padding-left: 1rem; }
  .dist-athletes-table .res-col-time { width: 1%; padding-right: 1rem; text-align: right; }

  .athlete-main-row { cursor: pointer; }
  .athlete-main-row > td,
  .athlete-preview-row > td {
    padding: 12px 8px;
    vertical-align: middle;
    border-bottom: 1px solid var(--color-divider);
    transition: background .12s;
  }
  .athlete-main-row:hover > td { background: var(--color-surface-light); }
  .dist-athletes-table tbody tr:last-child > td { border-bottom: 0; }
  .athlete-row--mine > td { background: var(--color-success-tint); }
  .athlete-row--mine .res-name { color: var(--color-success); }
  .athlete-row--suspended { opacity: 0.55; }

  .res-place { width: 1%; padding-left: 1rem !important; }
  .res-rank {
    width: 34px;
    height: 34px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    font-size: 14px;
    font-weight: 700;
    color: var(--color-text-secondary);
  }
  .res-rank--gold { background: var(--color-rank-gold-solid); color: var(--color-white); }
  .res-rank--silver { background: var(--color-rank-silver-solid); color: var(--color-white); }
  .res-rank--bronze { background: var(--color-rank-bronze-solid); color: var(--color-white); }
  .res-rank--empty { font-weight: 500; color: var(--color-text-faint); }

  .res-athlete { width: 100%; max-width: 0; }
  .res-name {
    display: flex;
    align-items: center;
    gap: 6px;
    min-width: 0;
    font-size: 15.5px;
    font-weight: 600;
    letter-spacing: -0.01em;
    color: var(--color-text-primary);
  }
  .res-name > span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .res-club {
    margin-top: 1px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 12.5px;
    color: var(--color-text-muted);
  }
  .res-dsq {
    padding: 1px 6px;
    border-radius: var(--radius-pill);
    background: var(--color-surface-muted);
    color: var(--color-text-muted);
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 0.04em;
  }

  .res-time {
    width: 1%;
    padding-right: 1rem !important;
    text-align: right;
    white-space: nowrap;
    font-family: var(--font-family-mono);
    font-size: 15px;
    font-weight: 500;
  }
  .res-status { font-weight: 400; color: var(--color-text-faint); }

  .athlete-detail-row > td {
    padding: 10px 1rem 14px;
    font-size: 12.5px;
    background: var(--color-surface-light);
    border-bottom: 1px solid var(--color-divider);
  }

  .dist-athletes-table tbody { counter-reset: athlete-seq; }
  .athlete-seq-num::before { counter-increment: athlete-seq; content: counter(athlete-seq); }

  @media (max-width: 576px) {
    .athlete-main-row > td,
    .athlete-preview-row > td { padding: 10px 6px; }
    .dist-athletes-table .res-col-place, .res-place { padding-left: 0.875rem !important; }
    .dist-athletes-table .res-col-time, .res-time { padding-right: 0.875rem !important; }
    .dist-athletes-table thead th {
      padding-bottom: 10px;
      font-size: 9.5px;
      letter-spacing: 0.06em;
    }
    .res-rank { width: 28px; height: 28px; font-size: 13px; }
    .res-name { font-size: 14px; }
    .res-club { font-size: 11.5px; }
    .res-time { font-size: 13.5px; }
  }
  .photo-lib-card { transition: transform .15s, box-shadow .15s; }
  .photo-lib-card:hover { transform: translateY(-2px); box-shadow: 0 4px 12px rgba(0,0,0,0.1) !important; }
  .race-file-card { transition: transform .15s, box-shadow .15s; color: var(--color-text-primary); }
  .race-file-card:hover { transform: translateY(-2px); box-shadow: 0 4px 12px rgba(0,0,0,0.1); }

  /* Tabs pill container */
  .race-tabs-pill {
    background: var(--color-glass-bg);
    backdrop-filter: blur(16px) saturate(180%);
    -webkit-backdrop-filter: blur(16px) saturate(180%);
    border-radius: 22px;
    border: 1px solid var(--color-glass-border);
    box-shadow: 0 2px 16px var(--color-shadow-soft);
    padding: 6px 4px;
    display: flex;
  }
  .race-tabs-pill .nav {
    gap: 2px;
    flex-wrap: nowrap;
    width: 100%;
  }
  .race-tabs-pill .nav-item {
    flex: 1;
  }
  .race-tab-btn {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
    padding: 6px 12px 5px;
    border: none;
    border-radius: 16px;
    background: none;
    color: var(--color-text-faint);
    transition: color .15s, background .15s;
  }
  .race-tab-btn:hover { color: var(--color-text-secondary); }
  .race-tab-btn.active {
    color: var(--color-text-primary);
    background: var(--color-white);
    box-shadow: 0 2px 8px var(--color-shadow-medium), 0 1px 2px var(--color-shadow-light);
  }
  .race-tab-icon-wrap {
    position: relative;
    display: inline-flex;
  }
  .race-tab-icon-bg {
    width: 46px;
    height: 46px;
    border-radius: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 22px;
    transition: background .18s, color .18s, transform .15s;
  }
  .race-tab-btn:hover .race-tab-icon-bg { transform: scale(1.06); }

  .race-tab--distances .race-tab-icon-bg { background: var(--color-tab-blue-tint);   color: var(--color-tab-blue); }
  .race-tab--about     .race-tab-icon-bg { background: var(--color-cup-tint);   color: var(--color-cup); }
  .race-tab--photos    .race-tab-icon-bg { background: var(--color-account-tint);  color: var(--color-account); }
  .race-tab--files     .race-tab-icon-bg { background: var(--color-tab-rose-tint);  color: var(--color-tab-rose); }

  .race-tab--distances.active .race-tab-icon-bg,
  .race-tab--distances:hover  .race-tab-icon-bg { background: var(--color-tab-blue); color: var(--color-white); }
  .race-tab--about.active     .race-tab-icon-bg,
  .race-tab--about:hover      .race-tab-icon-bg { background: var(--color-cup); color: var(--color-white); }
  .race-tab--photos.active    .race-tab-icon-bg,
  .race-tab--photos:hover     .race-tab-icon-bg { background: var(--color-account); color: var(--color-white); }
  .race-tab--files.active     .race-tab-icon-bg,
  .race-tab--files:hover      .race-tab-icon-bg { background: var(--color-tab-rose); color: var(--color-white); }

  /* A completed or live race's distances tab shows its results (formerly a conditional inline rule). */
  .race-tabs-pill--results .race-tab--distances .race-tab-icon-bg { background: var(--color-account-tint); color: var(--color-account); }
  .race-tabs-pill--results .race-tab--distances.active .race-tab-icon-bg,
  .race-tabs-pill--results .race-tab--distances:hover  .race-tab-icon-bg { background: var(--color-account); color: var(--color-white); }

  .race-tab-label {
    font-size: 11px;
    font-weight: 500;
    line-height: 1;
    white-space: nowrap;
    transition: font-weight .15s;
  }
  .race-tab-btn.active .race-tab-label { font-weight: 700; }

  .race-tab-badge {
    position: absolute;
    top: -5px;
    right: -6px;
    min-width: 18px;
    height: 18px;
    border-radius: 9px;
    background: var(--color-badge-dot);
    color: var(--color-white);
    font-size: 10px;
    font-weight: 700;
    line-height: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 4px;
    border: 2px solid var(--color-surface-light);
    box-shadow: 0 1px 3px var(--color-shadow-strong);
  }
