@charset "UTF-8";

#audenki-chat-launcher.launcher {
  position: fixed;
  left: 200px;
  bottom: clamp(14px, 2.5vw, 28px);
  width: 99px;
  height: 100px;
  border: 0;
  padding: 0;
  background: transparent;
  z-index: 9998;
  cursor: pointer;
  filter: drop-shadow(0 12px 20px rgba(24, 103, 144, .22));
  transition: bottom .22s ease, transform .22s ease, opacity .22s ease, filter .22s ease;
}

@media (max-width: 1199px) {
  #audenki-chat-launcher.launcher {
    left: clamp(14px, 2.5vw, 32px);
  }
}

@media (max-width: 639px) {
  body:has(.js-fixed-cv.is-active) #audenki-chat-launcher.launcher {
    bottom: 70px;
  }
}

#audenki-chat-launcher.launcher img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

#audenki-chat-launcher.launcher:hover {
  transform: translateY(-5px) scale(1.025);
  filter: drop-shadow(0 16px 25px rgba(24, 103, 144, .28));
}

#audenki-chat-launcher.launcher:active {
  transform: scale(.95);
}

#audenki-chat-launcher.launcher.is-hidden {
  opacity: 0;
  pointer-events: none;
  transform: scale(.7);
}

#audenki-chat-container.chat-shell {
  position: fixed;
  inset: 0;
  z-index: 9999;
  pointer-events: none;
  -webkit-tap-highlight-color: transparent;
  -webkit-user-select: none;
  user-select: none;
}

#audenki-chat-container.chat-shell.active {
  pointer-events: auto;
}

#audenki-chat-container .bloom {
  position: absolute;
  z-index: 1;
  left: 200px;
  bottom: 30px;
  width: 92px;
  height: 92px;
  border-radius: 50%;
  pointer-events: none;
  opacity: 0;
  background: linear-gradient(145deg, #d4fff9, #8be7ed 48%, #83b8ff);
  transform: scale(.2);
  transform-origin: center;
  box-shadow: 0 0 70px rgba(67, 190, 219, .35);
}

@media (max-width: 1199px) {
  #audenki-chat-container .bloom {
    left: clamp(14px, 2.5vw, 32px);
  }
}

#audenki-chat-container .bloom.run {
  animation: bloom 950ms cubic-bezier(.2, .75, .18, 1) forwards;
}

@keyframes bloom {
  0% {
    opacity: .95;
    transform: scale(.2);
    border-radius: 50%;
  }

  35% {
    opacity: 1;
    transform: scale(2.15);
    border-radius: 28%;
  }

  100% {
    opacity: 1;
    transform: scale(42);
    border-radius: 4%;
  }
}

#audenki-chat-container .chat-app {
  position: absolute;
  inset: 0;
  z-index: 2;
  width: 100%;
  height: 100dvh;
  overflow: hidden;
  background: #fff;
  opacity: 0;
  visibility: hidden;
}

#audenki-chat-container.chat-shell.open .chat-app {
  opacity: 1;
  visibility: visible;
}

#audenki-chat-container .chat-app::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: radial-gradient(circle at 7px 7px, rgba(76, 183, 219, .13) 0 1.8px, transparent 2.2px) 0 100% / 15px 15px no-repeat,
    linear-gradient(180deg, rgba(255, 255, 255, 0) 0 72%, rgba(235, 246, 255, .72) 84%, #e8f5ff 100%);
  opacity: 0;
  transform: translateY(18px);
  transition: opacity .45s ease, transform .45s ease;
  background-size: 100% 24%, 100% 100%;
}

#audenki-chat-container.chat-shell.settled .chat-app::after {
  opacity: 1;
  transform: translateY(0);
}

iframe {
  position: absolute;
  inset: 0;
  z-index: 3;
  transition: opacity .36s ease, transform .36s ease;
}

#audenki-chat-container.chat-shell:not(.ui-ready) iframe {
  opacity: 0;
  pointer-events: none;
}

#audenki-chat-container.chat-shell.ui-ready iframe {
  opacity: 1;
  pointer-events: auto;
}

@media(max-width: 720px) {
  .launcher {
    width: 102px;
    height: 102px;
    right: 12px;
    bottom: 12px;
  }

  .bloom {
    right: 22px;
    bottom: 22px;
  }
}

@media(prefers-reduced-motion: reduce) {

  *,
  *::before,
  *::after {
    animation-duration: .01ms !important;
    transition-duration: .01ms !important;
  }
}
