.home-page {
  padding-block-start: clamp(0rem, 6vh, var(--space-12));
}

.home-page__group {
  display: grid;
  gap: var(--space-3);
}

.home-page__blocks {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(9rem, 100%), 1fr));
  grid-auto-rows: 1fr;
  gap: var(--space-grid);
}

.home-page__block {
  --spot-color: var(--tone-soft);
  display: grid;
  align-content: start;
  gap: var(--space-hair);
  min-inline-size: 0;
  padding: var(--space-card);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  background: var(--color-surface);
  box-shadow: var(--shadow-sm);
  transition: transform var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out);
}

.home-page__icon {
  display: grid;
  place-items: center;
  inline-size: var(--space-10);
  block-size: var(--space-10);
  border-radius: var(--radius-sm);
  background: var(--tone-soft);
  color: var(--tone);
}

.home-page__block > .home-page__icon {
  margin-block-end: var(--space-3);
}

.home-page__icon svg {
  inline-size: var(--icon-xl);
  block-size: var(--icon-xl);
}

.home-page__name {
  font-size: var(--text-md);
  font-weight: var(--weight-semibold);
}

.home-page__text {
  color: var(--color-text-muted);
  font-size: var(--text-sm);
  line-height: 1.4;
}

.home-page__recent {
  display: grid;
  padding-block: var(--space-1);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  background: var(--color-surface);
  box-shadow: var(--shadow-sm);
}

.home-page__item {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: var(--space-3);
  padding: var(--space-3) var(--space-card);
}

.home-page__item + .home-page__item {
  border-block-start: 1px solid var(--color-border-light);
}

.home-page__item > .home-page__icon {
  inline-size: var(--space-8);
  block-size: var(--space-8);
}

.home-page__item > .home-page__icon svg {
  inline-size: var(--icon-lg);
  block-size: var(--icon-lg);
}

.home-page__item-main {
  display: grid;
  min-inline-size: 0;
}

.home-page__item-title,
.home-page__item-meta {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.home-page__item-title {
  font-weight: var(--weight-medium);
}

.home-page__item-meta {
  color: var(--color-text-muted);
  font-size: var(--text-sm);
}

.home-page__arrow {
  color: var(--color-text-subtle);
}

.home-page__arrow svg {
  inline-size: var(--icon-lg);
  block-size: var(--icon-lg);
}

@media (hover: hover) {
  .home-page__block:hover {
    border-color: var(--tone);
    box-shadow: var(--shadow-md);
    transform: translateY(calc(var(--space-hair) * -1));
  }

  .home-page__item:hover {
    background: var(--color-surface-hover);
  }

  .home-page__item:hover .home-page__arrow {
    color: var(--tone);
  }
}

@media (max-width: 768px) {
  .home-page {
    padding-block-start: 0;
  }

  .home-page__blocks {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .home-page__block:last-child:nth-child(odd) {
    grid-column: 1 / -1;
  }
}
