.grid {
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
  list-style: none;
  padding-left: 0;

  a {
    aspect-ratio: 1 / 1;
    border-radius: 8px;
    border: 1px solid var(--border);
    display: block;
    overflow: hidden;
    transition: border-color 150ms;

    &:hover, &:focus-visible {
      border-color: var(--border-hover);
    }
  }

  img {
    display: block;
    height: 100%;
    object-fit: contain;
    width: 100%;
  }

  .title {
    color: var(--primary);
    display: block;
  }

  .creator {
    color: var(--secondary);
    display: block;
  }
}

header {
  align-items: baseline;
  display: flex;
  justify-content: space-between;
}

table {
  border-collapse: collapse;
}

tbody tr + tr {
  border-top: 1px solid var(--border);
}

td {
  padding-block: 4px;
}

td:not(:last-child), th:not(:last-child) {
  padding-right: 12px;
}

th {
  text-align: left;
}
