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

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

  .notification-row__mark {
    align-self: center;
    inline-size: var(--space-4);
    block-size: var(--space-4);
    border-radius: var(--radius-pill);
  }

  .notification-row--unread .notification-row__mark {
    background-color: var(--color-info);
  }

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

  .notification-row__title {
    font: var(--type-body);
    color: var(--color-ink-muted);
    text-wrap: pretty;
  }

  .notification-row--unread .notification-row__title {
    color: var(--color-ink);
  }

  .notification-row__detail {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: var(--clamp-lines);
    overflow: hidden;
    font: var(--type-caption);
    color: var(--color-ink-faint);
    text-wrap: pretty;
  }

  .notification-row__time {
    font: var(--type-caption);
    color: var(--color-ink-faint);
    white-space: nowrap;
  }

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