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

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

    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;
  }

  .file-row .file-preview--thumb {
    --file-preview-size: var(--row-icon-size);
  }

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

  .file-row__name {
    font: var(--type-body);
    overflow-wrap: anywhere;
  }

  .file-row__meta {
    font: var(--type-caption);
    color: var(--color-ink-faint);
  }

  .file-row__link > .icon {
    color: var(--color-ink-faint);
  }

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