@layer components {
  .conversation-row + .conversation-row {
    border-block-start: var(--border-width) solid var(--color-border);
  }

  .conversation-row__link {
    display: grid;
    grid-template-columns: max-content minmax(var(--space-0), var(--track-fill)) max-content;
    align-items: center;
    column-gap: var(--space-5);
    min-block-size: var(--tap-min);
    padding-block: var(--space-4);
    color: var(--color-ink);
    -webkit-tap-highlight-color: transparent;
  }

  .conversation-row__text {
    display: flex;
    flex-direction: column;
    gap: var(--space-1);
    min-inline-size: var(--space-0);
  }

  .conversation-row__title {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: var(--clamp-lines);
    overflow: hidden;
    font: var(--type-body);
    text-wrap: pretty;
  }

  .conversation-row__detail {
    font: var(--type-caption);
    color: var(--color-ink-faint);
  }

  .conversation-row--live .kind {
    animation: speaking-ring var(--dur-speaking) var(--ease-calm) infinite;
  }

  .conversation-row__live {
    color: var(--color-accent-ink);
  }

  .conversation-row__link > .icon {
    --icon-size: var(--input-icon-size);

    color: var(--color-ink-faint);
  }

  @media (any-hover: hover) {
    .conversation-row__link:hover .conversation-row__title {
      color: var(--color-link);
    }
  }
}
