.btn {
  display: inline-block;
  padding: 0.6rem 1rem;
  border-radius: var(--radius-sm);
  background: var(--brand);
  color: white;
  font-weight: 600;
  border: 1px solid color-mix(in srgb, var(--brand), white 10%);
  transition: filter 0.2s ease;
}

.btn:hover {
  filter: brightness(1.05);
  text-decoration: none;
}

.row {
  background: var(--surface-2);
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  margin-bottom: 0.5rem;
  transition: background-color 0.2s ease;
}

.row:hover {
  background: #2a3245;
}

.item-link {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 1rem;
  color: var(--text);
  padding: 0.8rem 1rem;
  text-decoration: none;
}

.item-link:hover {
  text-decoration: none;
}

.name {
  font-family: var(--font-mono);
  word-break: break-all;
}

.meta,
.meta-details {
  color: var(--muted);
  font-size: var(--fs-4);
}

.meta-details {
  display: grid;
  gap: 0.25rem;
  justify-items: end;
  text-align: right;
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
}

@media (max-width: 640px) {
  .item-link {
    grid-template-columns: auto 1fr;
    align-items: start;
  }

  .meta-details {
    justify-items: start;
    text-align: left;
  }
}

.breadcrumbs {
  color: var(--muted);
  margin-bottom: var(--space-3);
  font-family: var(--font-mono);
}

.breadcrumbs a {
  color: var(--brand);
}

.icon-folder::before {
  content: "\1F4C1";
}

.icon-file::before {
  content: "\1F4C4";
}
