.mx-launcher {
  position: fixed;
  inset-block-end: 1.5rem;
  inset-inline-end: 1.5rem;
  z-index: 1000;
  display: grid;
  place-items: center;
  width: 3.75rem;
  height: 3.75rem;
  padding: 0;
  border: 2px solid var(--ai-assistant-brand);
  border-radius: 50%;
  background: #fff;
  cursor: pointer;
  box-shadow: 0 6px 16px color-mix(in srgb, var(--ai-assistant-brand) 30%, transparent);
  transition: transform 200ms var(--ease-out);
}
.mx-launcher .avatar {
  width: 2rem;
  height: 2rem;
}
.mx-launcher:active {
  transform: scale(0.97);
}
.mx-launcher[aria-busy="true"] {
  cursor: progress;
}
@media (hover: hover) and (pointer: fine) {
  .mx-launcher:hover {
    transform: translateY(-2px);
  }
}
@media (prefers-reduced-motion: no-preference) {
  .mx-launcher {
    animation: mx-arrive 420ms var(--ease-out) backwards;
  }
}
@keyframes mx-arrive {
  from {
    opacity: 0;
    transform: translateY(10px) scale(0.92);
  }
}

.mx-prompt {
  position: fixed;
  inset-block-end: 6rem;
  inset-inline-end: 1.5rem;
  z-index: 1001;
  display: none;
  width: min(22rem, 100vw - 2rem);
  padding: var(--space-4);
  gap: var(--space-3);
  background: #fff;
  color: #0b1a21;
  border: 1px solid #a6d9e6;
  border-radius: var(--r-5);
  border-end-end-radius: var(--r-2);
  box-shadow: 0 18px 44px color-mix(in srgb, var(--ai-assistant-brand-dark) 28%, transparent);
  transform-origin: bottom right;
}
html[dir="rtl"] .mx-prompt {
  transform-origin: bottom left;
}
.mx-prompt.is-open {
  display: grid;
}
@media (prefers-reduced-motion: no-preference) {
  .mx-prompt.is-open {
    animation: mx-pop 220ms var(--ease-out);
  }
}
@keyframes mx-pop {
  from {
    opacity: 0;
    transform: translateY(8px) scale(0.95);
  }
}
.mx-prompt__head {
  display: flex;
  align-items: center;
  gap: var(--space-3);
}
.mx-prompt__avatar .avatar {
  width: 2.5rem;
  height: 2.5rem;
}
.mx-prompt__title {
  flex: 1;
  margin: 0;
  font-size: 1rem;
  line-height: 1.3;
  font-weight: 600;
}
.mx-prompt__close {
  display: grid;
  place-items: center;
  width: 32px;
  height: 32px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: transparent;
  color: #4f6872;
  cursor: pointer;
}
.mx-prompt__close svg {
  width: 16px;
  height: 16px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
}
.mx-prompt__close:hover {
  background: #ecf4f7;
}
.mx-prompt__lead {
  margin: 0;
  color: #33505b;
  font-size: 0.9375rem;
  line-height: 1.5;
}
.mx-prompt__points {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 6px;
  color: #33505b;
  font-size: 0.875rem;
}
.mx-prompt__points li {
  display: flex;
  align-items: center;
  gap: 8px;
}
.mx-prompt__points li::before {
  content: "";
  flex: none;
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background: #e3f4f9 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14'%3E%3Cpath d='M4 7.2l2 2L10 5' fill='none' stroke='%230f5e74' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 14px no-repeat;
}
.mx-prompt__action {
  min-height: 44px;
  border: 1px solid var(--ai-assistant-brand);
  border-radius: var(--r-3);
  background: var(--ai-assistant-brand);
  color: #fff;
  font: inherit;
  font-weight: 600;
  cursor: pointer;
  transition: transform 120ms var(--ease-out);
}
.mx-prompt__action:active {
  transform: scale(0.97);
}
@media (hover: hover) and (pointer: fine) {
  .mx-prompt__action:hover {
    background: var(--ai-assistant-brand-dark);
    border-color: var(--ai-assistant-brand-dark);
  }
}
.mx-prompt__notice {
  margin: 0;
  padding: 8px 12px;
  border-radius: var(--r-3);
  background: #e3f4f9;
  color: #0f5e74;
  font-size: 0.875rem;
}
.mx-prompt__notice[hidden] {
  display: none;
}
.mx-prompt :focus-visible {
  outline-color: var(--ai-assistant-brand);
}
