.docs-hub {
  color: var(--groupui-sys-color-text-normal);
}

.docs-hub__header {
  position: relative;
  overflow: hidden;
  padding: 12px 0 24px;
  border-bottom: 1px solid var(--groupui-sys-color-line-weak);
}

.docs-hub__eyebrow,
.docs-hub__label {
  color: var(--groupui-sys-color-text-weak);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.docs-hub__header groupui-headline {
  margin: 12px 0;
}

.docs-hub__header > groupui-text {
  color: var(--groupui-sys-color-text-weak);
}

.docs-hub__start {
  display: flex;
  align-items: center;
  gap: var(--groupui-sys-spacing-400);
  margin-top: 20px;
  padding: 16px 20px;
  border: 1px solid var(--app-team-tint);
  border-left: 4px solid var(--app-team-accent);
  border-radius: var(--groupui-sys-border-radius-m);
  background: var(--groupui-sys-color-background-base);
  box-shadow: var(--app-shadow-sm);
}
.docs-hub__start groupui-text {
  flex: 1;
}
.docs-hub__start groupui-button {
  flex: none;
}
.docs-hub__start-icon {
  font-size: 28px;
  line-height: 1;
}

.docs-hub__groups {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  margin-top: 24px;
}
.docs-hub__group {
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 3;
  min-width: 0;
}
.docs-hub__group-header {
  display: flex;
  align-items: flex-start;
  gap: var(--groupui-sys-spacing-400);
}
.docs-hub__group-header groupui-text {
  color: var(--groupui-sys-color-text-weak);
}

.docs-hub__step {
  display: inline-grid;
  flex: none;
  place-items: center;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: var(--app-team-tint);
  color: var(--app-team-accent);
  font-weight: 700;
}

.docs-hub__choices {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  grid-template-rows: subgrid;
  grid-row: span 2;
  gap: inherit;
}
.docs-hub__choices > groupui-card {
  min-width: 0;
  border-radius: var(--groupui-sys-border-radius-m);
  box-shadow: var(--app-shadow-sm);
}
.docs-hub__choices > .docs-hub__restricted {
  background: var(--groupui-sys-color-background-canvas);
}

.docs-hub__card {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  height: 100%;
  gap: 10px;
}

.docs-hub__card groupui-text {
  color: var(--groupui-sys-color-text-weak);
}

.docs-hub__card groupui-button {
  margin-top: auto;
  white-space: normal;
}

.docs-hub__actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--groupui-sys-spacing-300);
  margin-top: auto;
}
.docs-hub__card .docs-hub__note {
  margin-top: auto;
}
.docs-hub__note + .docs-hub__actions {
  margin-top: 0;
}

.docs-hub__footer {
  padding: 28px 0 8px;
}

.docs-hub__schemas {
  display: grid;
  justify-items: start;
  gap: 16px;
  margin-bottom: 32px;
  padding: 24px;
  background: var(--groupui-sys-color-background-base);
  border: 1px solid var(--groupui-sys-color-line-weak);
  border-radius: var(--groupui-sys-border-radius-m);
  box-shadow: var(--app-shadow-sm);
}

.docs-hub__drive {
  position: absolute;
  inset: auto 0 0;
  height: 36px;
  pointer-events: none;
}

.docs-hub__car {
  position: absolute;
  left: -48px;
  font-size: 24px;
  opacity: 0;
  animation: docs-drive-in 2.4s ease-in-out 0.2s 1 both;
}

.docs-hub__car:nth-child(2) {
  animation-delay: 0.8s;
}

@keyframes docs-drive-in {
  0% {
    left: -48px;
    opacity: 0;
    transform: translateY(3px) scaleX(-1);
  }
  15% {
    opacity: 0.8;
  }
  50% {
    transform: translateY(-5px) scaleX(-1);
  }
  85% {
    opacity: 0.8;
  }
  100% {
    left: 100%;
    opacity: 0;
    transform: translateY(3px) scaleX(-1);
  }
}

@media (max-width: 1100px) {
  .docs-hub__groups {
    grid-template-columns: minmax(0, 1fr);
    gap: 24px;
  }
  .docs-hub__group {
    grid-template-rows: auto auto;
    grid-row: auto;
    gap: 16px;
  }
  .docs-hub__choices {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-rows: auto;
    grid-row: auto;
  }
}

@media (max-width: 767px) {
  .docs-hub__start {
    flex-direction: column;
    align-items: flex-start;
  }
  .docs-hub__choices {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (prefers-reduced-motion: reduce) {
  .docs-hub__drive {
    display: none;
  }
  .docs-hub__car {
    animation: none;
  }
}
