/* League sessions — a night's worth of matches grouped together. */

.sessions-page {
  max-width: var(--measure-mid);
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
}

.sessions-page__title {
  margin: 0;
  font-size: var(--text-3xl);
  font-weight: var(--weight-semibold);
}

.sessions-page__subtitle {
  margin: 0;
  color: var(--text-secondary);
  font-size: var(--text-base);
}

.sessions-page__actions {
  display: flex;
  gap: var(--space-sm);
}

.sessions-page__empty {
  margin: 0;
  color: var(--text-secondary);
  font-size: var(--text-base);
}

.sessions__list,
.sessions__matches {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
}

.sessions__item,
.sessions__match {
  margin: 0;
}

.sessions__link,
.sessions__match-link {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: baseline;
  gap: var(--space-sm);
  padding: var(--row-pad-y) var(--space-smd);
  margin: 0 calc(-1 * var(--space-smd));
  border-radius: var(--radius-sm);
  border-bottom: var(--border-width) solid var(--border-default);
  font-size: var(--text-base);
  transition: background var(--dur) var(--ease-out);
}

.sessions__link:hover,
.sessions__match-link:hover {
  background: var(--surface-hover);
}

.sessions__item:last-child .sessions__link,
.sessions__match:last-child .sessions__match-link {
  border-bottom: none;
}

.sessions__title,
.sessions__match-when {
  font-weight: var(--weight-medium);
}

.sessions__count,
.sessions__match-status {
  font-family: var(--font-mono);
  font-size: var(--text-sm);
  font-variant-numeric: tabular-nums;
  color: var(--text-secondary);
}
