.site-body {
  display: grid;
  grid-template-rows: 0fr;
  opacity: 0;
  border-top-color: transparent;
  overflow: hidden;
  transition:
    grid-template-rows 180ms var(--ease),
    opacity 180ms var(--ease),
    border-color 180ms var(--ease);
}
.site-body .group-detail {
  min-height: 0;
  overflow: hidden;
}
.site-card.open .site-body {
  display: grid;
  grid-template-rows: 1fr;
  opacity: 1;
  border-top-color: var(--border);
}
.tab-panel {
  opacity: 1;
  transition: opacity 90ms var(--ease);
}
.tab-panel.page-leaving {
  opacity: 0;
  pointer-events: none;
}
.tab-panel.page-entering {
  animation: tab-enter 130ms var(--ease) both;
}
@keyframes tab-enter {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@media (prefers-reduced-motion: reduce) {
  .site-body,
  .tab-panel {
    transition: none !important;
    animation: none !important;
  }
}
