.BaseChat {
  &[data-chat-visible='false'] {
    --workbench-inner-width: 100%;
    --workbench-left: 0;

    .Chat {
      --at-apply: upage-ease-cubic-bezier;
      transition-property: transform, opacity;
      transition-duration: 0.3s;
      will-change: transform, opacity;
      transform: translateX(-50%);
      opacity: 0;
    }
  }
}

.Chat {
  opacity: 1;
}

.PromptEffectContainer {
  --prompt-container-offset: 50px;
  --prompt-line-stroke-width: 2px;
  position: absolute;
  pointer-events: none;
  inset: calc(var(--prompt-container-offset) / -2);
  width: calc(100% + var(--prompt-container-offset));
  height: calc(100% + var(--prompt-container-offset));
  overflow: visible;
  z-index: 0;
}

.PromptEffectLine {
  width: calc(100% - var(--prompt-container-offset) + var(--prompt-line-stroke-width));
  height: calc(100% - var(--prompt-container-offset) + var(--prompt-line-stroke-width));
  x: calc(var(--prompt-container-offset) / 2 - var(--prompt-line-stroke-width) / 2);
  y: calc(var(--prompt-container-offset) / 2 - var(--prompt-line-stroke-width) / 2);
  rx: 10px;
  fill: transparent;
  stroke-width: var(--prompt-line-stroke-width);
  stroke: url(#line-gradient);
  stroke-dasharray: 20 30;
  stroke-dashoffset: 0;
  animation: borderRotate 18s linear infinite;
  filter: drop-shadow(0 0 5px rgba(180, 74, 255, 0.7));
}

@keyframes borderRotate {
  0% {
    stroke-dashoffset: 0;
  }
  100% {
    stroke-dashoffset: -500;
  }
}
