/* Retrato aprovado, compartilhado pelos chats e pelos controles de voz. */
html:not([data-aki-avatar="oculto"]) .mensagem.assistente {
  position: relative; padding-inline-start: 52px; min-height: 58px;
}
html:not([data-aki-avatar="oculto"]) .mensagem.assistente::before {
  content: ''; position: absolute; inset-inline-start: 11px; top: 12px;
  width: 28px; height: 34px; border-radius: 10px;
  background: #181615 url('../assets/avatar-aki.png') center 25% / cover no-repeat;
  border: 1px solid #9b743b; pointer-events: none;
}
html:not([data-aki-avatar="oculto"]) .mensagem.assistente:is(.rodando, .chat-processando, [aria-busy="true"], [data-avatar-fala="preparando"])::before {
  box-shadow: 0 0 0 2px #fbc56030;
}
html:not([data-aki-avatar="oculto"]) .mensagem.assistente[data-avatar-fala="falando"]::before {
  border-color: #fbc560; box-shadow: 0 0 0 3px #fbc56045;
}
.aki-avatar-retrato { display: none; }
html:not([data-aki-avatar="oculto"]) .voz-comando:has(.voz-estudio):not(.mini) .voz-comando-topo {
  grid-template-columns: minmax(0, 1fr); justify-items: center; gap: 14px;
}
html:not([data-aki-avatar="oculto"]) .voz-comando:has(.voz-estudio):not(.mini) .voz-comando-status { text-align: center; }
html:not([data-aki-avatar="oculto"]) .voz-orbe.aki-avatar-voz:not(.aki-avatar-indisponivel),
html:not([data-aki-avatar="oculto"]) .voz-comando:has(.voz-estudio):not(.mini) .voz-orbe.aki-avatar-voz:not(.aki-avatar-indisponivel) {
  width: 176px; height: 224px; border-radius: 26px; padding: 0;
  border: 1px solid #9b743b; background: #151413; overflow: hidden;
  box-shadow: 0 8px 28px #0005, 0 0 0 4px #fbc5600b;
  animation: none; transform: none; filter: none;
}
html:not([data-aki-avatar="oculto"]) .aki-avatar-voz:not(.aki-avatar-indisponivel) > :is(svg, .voz-orbe-anel) { display: none; }
html:not([data-aki-avatar="oculto"]) .aki-avatar-voz:not(.aki-avatar-indisponivel) > .aki-avatar-retrato {
  display: block; position: absolute; inset: 0; pointer-events: none;
}
.aki-avatar-retrato img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center 24%; }
html:not([data-aki-avatar="oculto"]) .voz-orbe.aki-avatar-voz:is([data-estado="ouvindo"], [data-estado="voce"], [data-estado="atento"]) { border-color: #e6d3a6; }
html:not([data-aki-avatar="oculto"]) .voz-orbe.aki-avatar-voz[data-estado="falando"] { border-color: #fbc560; box-shadow: 0 0 0 4px #fbc56024, 0 8px 28px #0005; }
.aki-avatar-som { display: none; position: absolute; bottom: 10px; left: 50%; transform: translateX(-50%); align-items: center; gap: 3px; padding: 5px 9px; border-radius: 20px; background: #14120fe6; border: 1px solid #fbc56055; }
.aki-avatar-som i { width: 3px; height: 12px; border-radius: 3px; background: #fbc560; transform: scaleY(.5); }
.aki-avatar-voz[data-estado="falando"] .aki-avatar-som { display: flex; }
html:not([data-aki-avatar-movimento="parado"]) .aki-avatar-voz:is([data-estado="pensando"], [data-estado="conectando"], [data-estado="reconectando"], [data-estado="preparando-escuta"]) .aki-avatar-retrato::after {
  content: ''; position: absolute; inset: 0; border: 2px solid #fbc56065; border-radius: inherit; animation: avatar-luz 1.8s ease-in-out infinite;
}
html:not([data-aki-avatar-movimento="parado"]) .aki-avatar-som i { animation: avatar-som .8s ease-in-out infinite alternate; }
.aki-avatar-som i:nth-child(2) { animation-delay: -.2s; }.aki-avatar-som i:nth-child(3) { animation-delay: -.4s; }.aki-avatar-som i:nth-child(4) { animation-delay: -.6s; }
html:not([data-aki-avatar="oculto"]) .voz-comando.mini .voz-orbe.aki-avatar-voz { width: 46px; height: 54px; border-radius: 13px; }
.voz-comando.mini .aki-avatar-som { display: none; }
.avatar-ajustes { margin-top: 20px; }
.voz-comando.aki-com-avatar .voz-comando-rodape { flex-wrap: wrap; }
.voz-comando.mini .voz-mini-fala::before { content: attr(data-avatar-estado); display: block; font-size: 11px; color: var(--acento-claro); }
@keyframes avatar-luz { 50% { opacity: .28; } }
@keyframes avatar-som { to { transform: scaleY(1); } }
@media (max-width: 567px) {
  html:not([data-aki-avatar="oculto"]) .voz-orbe.aki-avatar-voz:not(.aki-avatar-indisponivel),
  html:not([data-aki-avatar="oculto"]) .voz-comando:has(.voz-estudio):not(.mini) .voz-orbe.aki-avatar-voz:not(.aki-avatar-indisponivel) { width: 142px; height: 188px; border-radius: 22px; }
  html:not([data-aki-avatar="oculto"]) .voz-comando.mini .voz-orbe.aki-avatar-voz { width: 46px; height: 54px; border-radius: 13px; }
}
@media (prefers-reduced-motion: reduce) {
  .aki-avatar-plano, .aki-avatar-retrato img, .aki-avatar-retrato::after, .aki-avatar-som i { animation: none !important; }
}

/* O atlas fica parado. Só as regiões dos olhos e da boca mudam de quadro. */
.aki-avatar-plano { position: absolute; }
.aki-avatar-plano img { object-fit: fill; }
.aki-avatar-neutro, .aki-avatar-olhos, .aki-avatar-boca, .aki-avatar-boca-ampla {
  position: absolute; inset: 0; display: none;
  background: url('../assets/avatar-aki-quadros.png') 0 0 / 200% 200% no-repeat;
}
.aki-avatar-quadros .aki-avatar-neutro { display: block; }
.aki-avatar-quadros .aki-avatar-plano img { visibility: hidden; }
.aki-avatar-olhos {
  background-position: 100% 0;
  -webkit-mask-image: radial-gradient(ellipse 5.8% 3.1% at 39.2% 25%, #000 60%, transparent 100%), radial-gradient(ellipse 5.6% 3.1% at 48.7% 22.7%, #000 60%, transparent 100%);
  mask-image: radial-gradient(ellipse 5.8% 3.1% at 39.2% 25%, #000 60%, transparent 100%), radial-gradient(ellipse 5.6% 3.1% at 48.7% 22.7%, #000 60%, transparent 100%);
}
.aki-avatar-boca, .aki-avatar-boca-ampla {
  background-position: 0 100%;
  -webkit-mask-image: radial-gradient(ellipse 7% 3.1% at 46% 33.4%, #000 65%, transparent 100%);
  mask-image: radial-gradient(ellipse 7% 3.1% at 46% 33.4%, #000 65%, transparent 100%);
}
/* Proteção do nariz e ponte também na apresentação de reserva sem WebGL. */
.aki-avatar-olhos, .aki-avatar-boca, .aki-avatar-boca-ampla {
  clip-path: polygon(evenodd, 0 0, 100% 0, 100% 100%, 0 100%, 0 0, 41.5% 23.3%, 47.1% 23.3%, 47.1% 31.7%, 41.5% 31.7%, 41.5% 23.3%, 0 0);
}
.aki-avatar-quadros .aki-avatar-olhos { display: block; opacity: var(--avatar-piscada, 0); }
.aki-avatar-quadros .aki-avatar-boca { display: block; opacity: var(--avatar-boca, 0); }
.aki-avatar-quadros .aki-avatar-boca-ampla { display: block; background-position: 100% 100%; opacity: var(--avatar-boca-ampla, 0); }
.aki-avatar-canvas { display: none; position: absolute; inset: 0; width: 100%; height: 100%; }
.aki-avatar-fluido .aki-avatar-canvas { display: block; }
.aki-avatar-fluido :is(.aki-avatar-neutro, .aki-avatar-olhos, .aki-avatar-boca, .aki-avatar-boca-ampla) { display: none; }
html:is([data-aki-avatar="oculto"], [data-aki-avatar-movimento="parado"]) :is(.aki-avatar-olhos, .aki-avatar-boca, .aki-avatar-boca-ampla) { display: none; }
@media (prefers-reduced-motion: reduce) { .aki-avatar-olhos, .aki-avatar-boca, .aki-avatar-boca-ampla { display: none !important; } }
html[data-aki-avatar-quadros="pronto"] .mensagem.assistente::before {
  background-image: url('../assets/avatar-aki-quadros.png'); background-size: 120px 120px; background-position: -16px -2px;
}
html[data-aki-avatar-quadros="pronto"]:not([data-aki-avatar-movimento="parado"])[data-aki-avatar-boca="1"] .mensagem.assistente[data-avatar-fala="falando"]::before { background-position: -16px -62px; }
html[data-aki-avatar-quadros="pronto"]:not([data-aki-avatar-movimento="parado"])[data-aki-avatar-boca="2"] .mensagem.assistente[data-avatar-fala="falando"]::before { background-position: -76px -62px; }
@media (prefers-reduced-motion: reduce) {
  html[data-aki-avatar-quadros="pronto"] .mensagem.assistente[data-avatar-fala="falando"]::before { background-position: -16px -2px !important; }
}

/* Mesmo enquadramento quadrado aprovado no laboratório, sem esticar o rosto. */
html:not([data-aki-avatar="oculto"]) .voz-orbe.aki-avatar-voz:not(.aki-avatar-indisponivel),
html:not([data-aki-avatar="oculto"]) .voz-comando:has(.voz-estudio):not(.mini) .voz-orbe.aki-avatar-voz:not(.aki-avatar-indisponivel) {
  width: min(256px, 100%); height: auto; aspect-ratio: 1; border-radius: 26px;
}
.aki-avatar-presenca .aki-avatar-plano {
  inset: 0; width: 100%; height: 100%;
  background: #241b16 url('../assets/aki-avatar/aki-expressoes-v6.png') left top / 300% 200% no-repeat;
}
.aki-avatar-presenca .aki-avatar-plano > * { display: none; }
.aki-avatar-presenca-canvas, .aki-avatar-presenca-gpu { display: none; position: absolute; width: 100%; height: 100%; inset: 0; object-fit: cover; }
.aki-avatar-presenca-pronta .aki-avatar-presenca-canvas, .aki-avatar-presenca-pronta .aki-avatar-presenca-gpu { display: block; }
.aki-avatar-presenca-pronta .aki-avatar-plano { visibility: hidden; }
html:not([data-aki-avatar="oculto"]) .voz-comando.mini .voz-orbe.aki-avatar-voz {
  width: 48px; height: 48px; border-radius: 13px;
}
@media (max-width: 567px) {
  html:not([data-aki-avatar="oculto"]) .voz-orbe.aki-avatar-voz:not(.aki-avatar-indisponivel),
  html:not([data-aki-avatar="oculto"]) .voz-comando:has(.voz-estudio):not(.mini) .voz-orbe.aki-avatar-voz:not(.aki-avatar-indisponivel) {
    width: min(220px, 100%); border-radius: 22px;
  }
  html:not([data-aki-avatar="oculto"]) .voz-comando.mini .voz-orbe.aki-avatar-voz { width: 48px; height: 48px; }
}

.aki-avatar-reserva .aki-avatar-plano { background: #241b16; }
.aki-avatar-reserva .aki-avatar-plano > img { display: block; object-fit: cover; }

/* O foco no campo de texto rola somente o conteúdo, preservando o rosto. */
.modal:has(.voz-comando.aki-com-avatar) { display: flex; flex-direction: column; overflow: hidden; }
.modal:has(.voz-comando.aki-com-avatar) > .modal-cab { flex: none; }
.voz-comando.aki-com-avatar:not(.mini) {
  flex: 1; min-height: 0; grid-template-rows: auto minmax(0, 1fr) auto auto;
}
.voz-comando-conteudo {
  display: grid; align-content: start; gap: 12px; min-width: 0; min-height: 0;
  overflow-y: auto; overscroll-behavior: contain; container: conversa / inline-size;
  scrollbar-gutter: stable;
}
.voz-comando.mini > .voz-comando-conteudo { display: none; }
.voz-comando.aki-com-avatar:not(.mini) .voz-comando-lista { max-height: none; overflow: visible; }
.voz-comando.aki-com-avatar:not(.mini) > .voz-comando-rodape { flex-wrap: wrap; }
@container conversa (max-width: 620px) { .voz-estudio-conteudo { grid-template-columns: minmax(0, 1fr); } }
@media (min-width: 768px) {
  .voz-comando.aki-com-avatar:not(.mini) {
    grid-template-columns: minmax(180px, 256px) minmax(0, 1fr); grid-template-rows: minmax(0, 1fr) auto auto;
    column-gap: 24px;
  }
  .voz-comando.aki-com-avatar:not(.mini) > .voz-comando-topo { grid-column: 1; grid-row: 1 / 4; align-self: start; }
  .voz-comando.aki-com-avatar:not(.mini) > .voz-comando-conteudo { grid-column: 2; grid-row: 1; }
  .voz-comando.aki-com-avatar:not(.mini) > .voz-comando-area { grid-column: 2; grid-row: 2; }
  .voz-comando.aki-com-avatar:not(.mini) > .voz-comando-rodape { grid-column: 2; grid-row: 3; }
  html[data-aki-avatar="oculto"] .voz-comando.aki-com-avatar:not(.mini) { grid-template-columns: 100px minmax(0, 1fr); }
}
@media (max-height: 520px) {
  html:not([data-aki-avatar="oculto"]) .voz-comando:has(.voz-estudio):not(.mini) .voz-orbe.aki-avatar-voz:not(.aki-avatar-indisponivel) { width: 128px; }
}
