.ChatUi {
  position: relative;
  flex: 1;
  min-width: 0;
}
.ChatUi .header {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 64px;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  padding: 0 20px;
  background: linear-gradient(
    180deg,
    var(--base-background, #fff) 0%,
    var(--base-background, #fff) 62.5%,
    rgba(255, 255, 255, 0.8) 100%
  );
  z-index: 10;
  font-size: 14px;
  color: var(--base-muted-foreground, #737373);
  line-height: 20px;
}
.ChatUi .header .headerContent {
  min-width: 0;
  max-width: calc(100% - 160px);
}
.ChatUi .header .courseSummary {
  min-width: 0;
}
.ChatUi .header .courseSummaryTitle {
  color: var(--base-foreground, #0a0a0a);
  font-size: 18px;
  font-weight: var(--font-weight-semibold, 600);
  line-height: var(--text-sm-line-height, 18px);
}
.ChatUi .header .headerActions {
  position: absolute;
  right: 20px;
  top: 50%;
  transform: translateY(-50%);
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
.ChatUi .headerMobile {
  height: 80px;
  width: 100%;
}
.ChatUi .footer {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 16px;
  background: linear-gradient(
    0deg,
    #fff 0%,
    #fff 62.5%,
    rgba(255, 255, 255, 0.8) 100%
  );
  z-index: 10;
}
.ChatUi .footer .scrollTarget {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 0;
  overflow: visible;
  pointer-events: none;
  z-index: 20;
}
.ChatUi .footer .footerContent {
  display: flex;
  align-items: center;
  gap: 8px;
}
.ChatUi .footer .footerText {
  color: rgba(10, 10, 10, 0.45);
  text-align: center;
  font-size: 12px;
  font-style: normal;
  font-weight: 400;
  line-height: 24px;
}
.ChatUi .footer .separator {
  color: rgba(10, 10, 10, 0.45);
  font-size: 12px;
  font-style: normal;
  font-weight: 400;
  line-height: 24px;
}
.ChatUi .footer .footerLink {
  color: rgba(10, 10, 10, 0.45);
  text-align: center;
  font-size: 12px;
  font-style: normal;
  font-weight: 400;
  line-height: 24px;
  text-decoration: none;
  cursor: pointer;
}
.ChatUi .footer .footerLink:hover {
  color: rgba(10, 10, 10, 0.65);
  text-decoration: underline;
}
.ChatUi.mobile {
  width: 100%;
  overflow: hidden;
}
.ChatUi.mobile .chatComponents {
  padding-top: 0;
  overflow-y: auto;
}
.ChatUi.mobile .footer {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  padding-bottom: 0;
}
.ChatUi.mobile.listenMode {
  display: flex;
  flex: 1 1 0;
  height: calc(
    var(--app-viewport-block-unit, 1dvh) * 100 -
      var(--mobile-chat-header-height, 44px) - 40px
  );
  max-height: calc(
    var(--app-viewport-block-unit, 1dvh) * 100 -
      var(--mobile-chat-header-height, 44px) - 40px
  );
  min-height: 0;
  flex-direction: column;
  overflow: visible;
}
.ChatUi.mobile.listenMode .chatComponents {
  height: 100%;
  min-height: 0;
  flex: 1 1 auto;
  padding: 0 !important;
}
.ChatUi.mobile.listenMode.listenModeWithPlayer
  .chatComponents
  :global(
    .listen-reveal-wrapper.mobile .listen-slide-root .slide-stage__content
  ) {
  min-height: 100%;
}
.ChatUi.mobile.listenMode.listenModeWithPlayer
  .chatComponents
  :global(
    .listen-reveal-wrapper.mobile .listen-slide-root .slide-stage__layer
  ) {
  padding-bottom: 0;
}
.ChatUi .chatComponents {
  width: 100%;
  height: 100%;
  min-width: 0;
  min-height: calc(var(--app-viewport-block-unit, 1dvh) * 100);
  background: #fff;
  flex: 1 1 auto;
  justify-content: center;
  overflow-y: auto;
  padding-top: 64px;
  box-sizing: border-box;
}
.ChatUi .chatComponentsHidden {
  overflow-y: hidden;
  display: none;
}
.ChatUi .UserSettings {
  position: absolute;
  width: 100%;
  height: 100%;
  z-index: 2;
  margin-top: 64px;
}
.hideMobileFooter .footer {
  display: none;
}
.previewMode {
  position: fixed;
  bottom: 100px;
  right: 20px;
  z-index: 1000;
}
.previewMode .previewModeButton {
  padding: 8px 16px;
  border-radius: 10px;
  border: 1px solid #d9d9d9;
  background: #fff;
  cursor: pointer;
  transition: all 0.3s;
  font-size: 14px;
}
.previewMode .previewModeButton:hover {
  border-color: #1890ff;
  color: #1890ff;
}
.previewMode .previewModeButton.active {
  background: #1890ff;
  border-color: #1890ff;
  color: #fff;
}
.previewMode .previewModeButton.active:hover {
  background: #40a9ff;
  border-color: #40a9ff;
  color: #fff;
}
