.davinci-voice-launcher {
  position: fixed;
  right: 18px;
  bottom: 18px;
  z-index: 1200;
  display: inline-flex;
  align-items: center;
  gap: 9px;
  border: 1px solid #c8d8da;
  border-radius: 999px;
  background: #fff;
  color: #17353b;
  padding: 5px 12px 5px 5px;
  font: 600 14px/1.1 system-ui, sans-serif;
  box-shadow: 0 8px 28px #001b223d;
  cursor: pointer;
}
.davinci-voice-launcher__portrait {
  display: grid;
  position: relative;
  flex: 0 0 50px;
  width: 50px;
  height: 50px;
  overflow: hidden;
  border-radius: 50%;
  background: #e8f0f1;
  animation: mara-avatar-presence 2.7s ease-in-out infinite;
}
.davinci-voice-launcher__avatar {
  display: block;
  grid-area: 1 / 1;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.davinci-voice-launcher__avatar--idle {
  animation: mara-avatar-idle 1.2s steps(1, end) infinite;
}
.davinci-voice-launcher__avatar--speaking {
  opacity: 0;
  animation: mara-avatar-speaking 1.2s steps(1, end) infinite;
}
.davinci-voice-launcher__portrait::after {
  position: absolute;
  inset: 2px;
  border: 2px solid #65a799;
  border-radius: inherit;
  content: "";
  opacity: 0;
  pointer-events: none;
  animation: mara-avatar-ring 1.8s ease-out infinite;
}
.davinci-voice-launcher__copy {
  display: grid;
  gap: 2px;
  text-align: left;
}
.davinci-voice-launcher__copy small,
.davinci-voice__identity p {
  margin: 0;
  color: #526b70;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}
.davinci-voice-launcher:focus-visible,
.davinci-voice button:focus-visible,
.davinci-voice select:focus-visible {
  outline: 3px solid #f2b84b;
  outline-offset: 3px;
}
.davinci-voice {
  position: fixed;
  right: 18px;
  bottom: 18px;
  z-index: 1201;
  box-sizing: border-box;
  width: min(286px, calc(100vw - 24px));
  max-height: min(270px, calc(100dvh - 24px));
  overflow-y: auto;
  border: 1px solid #c8d8da;
  border-radius: 18px;
  background: #f7fcfa;
  color: #17353b;
  box-shadow: 0 16px 48px #001b2240;
  padding: 12px;
  font:
    15px/1.45 system-ui,
    sans-serif;
}
.davinci-voice[hidden],
.davinci-voice-launcher[hidden] {
  display: none;
}
.davinci-voice__head,
.davinci-voice__actions,
.davinci-voice__identity {
  display: flex;
  align-items: center;
  gap: 9px;
}
.davinci-voice__head {
  justify-content: space-between;
}
.davinci-voice h2 {
  font-size: 18px;
  margin: 0;
}
.davinci-voice__identity img {
  width: 42px;
  height: 42px;
  border-radius: 50%;
  object-fit: cover;
  background: #e8f0f1;
}
.davinci-voice button,
.davinci-voice select {
  font: inherit;
}
.davinci-voice button {
  min-height: 44px;
  border: 0;
  border-radius: 10px;
  padding: 9px 14px;
  background: #286b70;
  color: #fff;
  cursor: pointer;
}
.davinci-voice button[disabled] {
  opacity: 0.55;
  cursor: not-allowed;
}
.davinci-voice .secondary {
  background: #e8f0f1;
  color: #17353b;
}
.davinci-voice__close {
  min-width: 44px;
  padding: 7px !important;
}
.davinci-voice__state {
  min-height: 0;
  margin: 8px 0;
}
.davinci-voice__notice {
  margin: 13px 0 0;
  color: #526b70;
  font-size: 13px;
}
.davinci-voice__captcha {
  display: flex;
  justify-content: center;
  max-width: 100%;
  overflow-x: auto;
}
.davinci-voice[data-state="speaking"] .davinci-voice__state {
  color: #075e6b;
}
.davinci-voice[data-state="error"] .davinci-voice__state {
  color: #9a2d20;
}
@media (max-width: 480px) {
  .davinci-voice,
  .davinci-voice-launcher {
    right: 12px;
    bottom: 12px;
  }
  .davinci-voice {
    left: 50%;
    right: auto;
    transform: translateX(-50%);
    width: min(286px, calc(100vw - 24px));
  }
  .davinci-voice-launcher { padding-right: 9px; }
}
.davinci-voice__privacy { margin-top: 8px; font-size: 12px; color: #526b70; }
.davinci-voice__privacy summary { cursor: pointer; min-height: 28px; padding: 5px 0; }
.davinci-voice__privacy a { color: #286b70; }
.davinci-voice__actions { flex-wrap: wrap; }
@keyframes mara-avatar-presence { 0%, 100% { transform: translateY(0) scale(1); } 40% { transform: translateY(-1px) scale(1.025); } 70% { transform: translateY(0) scale(1.012); } }
@keyframes mara-avatar-idle { 0%, 11%, 40%, 53%, 76%, 100% { opacity: 1; } 12%, 39%, 54%, 75% { opacity: 0; } }
@keyframes mara-avatar-speaking { 0%, 11%, 40%, 53%, 76%, 100% { opacity: 0; } 12%, 39%, 54%, 75% { opacity: 1; } }
@keyframes mara-avatar-ring { 0%, 100% { inset: 2px; opacity: 0; } 35% { inset: -3px; opacity: .68; } 68% { inset: -1px; opacity: .24; } }
@media (prefers-reduced-motion: reduce) { .davinci-voice-launcher__portrait, .davinci-voice-launcher__avatar, .davinci-voice-launcher__portrait::after { animation: none; } .davinci-voice-launcher__avatar--idle { opacity: 1; } .davinci-voice-launcher__avatar--speaking { opacity: 0; } }
.davinci-locale-controls { box-sizing: border-box; display: flex; gap: 12px; justify-content: flex-end; width: min(1120px, calc(100% - 32px)); margin: 10px auto; color: #526b70; font: 12px/1.3 system-ui, sans-serif; }
.davinci-locale-controls label { display: grid; gap: 3px; min-width: 0; max-width: 240px; }
.davinci-locale-controls select { width: 100%; min-height: 44px; max-width: 100%; padding: 7px 26px 7px 9px; border: 1px solid #c8dcd6; border-radius: 9px; background: #f7fcfa; color: #294f52; font: 16px/1.3 system-ui, sans-serif; }
.davinci-locale-controls select:focus-visible { outline: 3px solid #bf8e26; outline-offset: 2px; }
@media (max-width: 480px) { .davinci-locale-controls label { flex: 1; } }
@media (max-width: 340px) { .davinci-locale-controls { width: calc(100% - 24px); gap: 8px; } .davinci-locale-controls select { padding-right: 22px; padding-left: 8px; font-size: 15px; } }
