.g-aikit-message-list {
  overflow-y: auto;
  overflow-anchor: none;
  display: flex;
  flex-direction: column;
  min-height: 0;
  min-width: 0;
  flex: 1;
  align-self: stretch;
}
.g-aikit-message-list__messages {
  display: flex;
  flex-direction: column;
  gap: var(--g-spacing-4);
  min-width: 0;
}
.g-aikit-message-list_virtualized {
  overflow: hidden;
  position: relative;
}
.g-aikit-message-list__shimmer {
  position: absolute;
  inset: 0;
  z-index: 2;
  display: flex;
  flex-direction: column;
  gap: var(--g-spacing-4);
  padding: var(--g-spacing-3);
  background: var(--g-color-base-background);
}
.g-aikit-message-list__shimmer-row {
  height: 56px;
  flex-shrink: 0;
  inline-size: 70%;
  align-self: flex-start;
  border-radius: 12px;
  background: linear-gradient(90deg, var(--g-color-base-generic) 25%, var(--g-color-base-generic-hover) 37%, var(--g-color-base-generic) 63%);
  background-size: 400% 100%;
  animation: g-aikit-message-list-shimmer 1.4s ease infinite;
}
.g-aikit-message-list__shimmer-row_assistant {
  align-self: flex-end;
  inline-size: 55%;
}
.g-aikit-message-list__list {
  flex: 1;
  min-height: 0;
}
.g-aikit-message-list__row {
  padding-block-end: var(--g-spacing-4);
}
.g-aikit-message-list__footer-content {
  display: flex;
  flex-shrink: 0;
  min-width: 0;
  align-self: stretch;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  padding: var(--g-aikit-message-list-footer-content-padding);
}
.g-aikit-message-list__retry-button {
  display: flex;
  align-items: center;
  gap: var(--g-spacing-1);
}
.g-aikit-message-list__loader, .g-aikit-message-list__error-alert {
  margin-top: var(--g-spacing-4);
}
.g-aikit-message-list__load-trigger {
  display: flex;
  justify-content: center;
  padding: var(--g-spacing-2);
}
.g-aikit-message-list__rating-block {
  position: sticky;
  bottom: 0;
  margin-top: var(--g-spacing-4);
  background: var(--g-color-base-background);
  z-index: 1;
}

@keyframes g-aikit-message-list-shimmer {
  0% {
    background-position: 100% 50%;
  }
  100% {
    background-position: 0 50%;
  }
}