/* Modo presentador: mantiene visible la plataforma y reutiliza el visor 3D de LIAM. */
.liam-panel { width: min(380px, calc(100vw - 18px)); }
.elian-presenter { position: fixed; inset: 0; z-index: 10043; pointer-events: none; }
.elian-presenter[hidden] { display: none; }
.elian-presenter-caption {
  position: absolute; left: 50%; bottom: 76px;
  width: min(760px, calc(100vw - 32px)); transform: translateX(-50%);
  padding: 12px 18px; border: 1px solid #22d3ee99; border-radius: 14px;
  background: #061527ee; color: #f0fdfa; box-shadow: 0 12px 38px #02061799;
  font-size: clamp(13px, 1.5vw, 16px); line-height: 1.5; text-align: center;
  pointer-events: auto;
}
.elian-presenter-controls {
  position: absolute; left: 50%; bottom: 18px; display: flex;
  max-width: calc(100vw - 24px); transform: translateX(-50%); gap: 6px;
  padding: 6px; border: 1px solid #334155; border-radius: 13px;
  background: #020617e8; box-shadow: 0 8px 24px #0009; pointer-events: auto;
}
.elian-presenter-controls button {
  min-height: 36px; white-space: nowrap; border: 1px solid #334155; border-radius: 9px;
  background: #0f172a; color: #cffafe; padding: 6px 10px; font-size: 11px;
}
.elian-presenter-controls button:hover,
.elian-presenter-controls button:focus-visible { border-color: #22d3ee; background: #164e63; }
.liam-shell[data-mode="presenter"] > .liam-tab,
.liam-shell[data-mode="presenter"] > .liam-panel { display: none !important; }
.elian-presenter-active .pi-a11y-widget { opacity: .75; }
.elian-presenter.has-error .elian-presenter-caption { border-color: #fb7185; }
.ian-tour-avatar > .liam-model-viewer {
  position: absolute; inset: 0; width: 100%; height: 100%;
  opacity: 1; transform: none; pointer-events: none; background: transparent;
}
.ian-tour-avatar[data-state="speaking"]::after {
  content: ''; position: absolute; right: 7px; bottom: 7px; width: 11px; height: 11px;
  border-radius: 50%; background: #67e8f9; box-shadow: 0 0 0 6px #67e8f940;
  animation: liam-presenter-voice-pulse 1.1s ease-in-out infinite;
}
.ian-tour-avatar[data-state="speaking"] > .liam-model-viewer { animation: liam-presenter-speaking 1.2s ease-in-out infinite alternate; }
@keyframes liam-presenter-voice-pulse { 50% { transform: scale(1.35); box-shadow: 0 0 0 10px #67e8f91f; } }
@keyframes liam-presenter-speaking { to { transform: translateY(-2px) scale(1.012); } }
@media (max-width: 768px) {
  .elian-presenter-caption { bottom: 112px; max-height: 32vh; overflow: auto; }
  .elian-presenter-controls { bottom: 10px; width: calc(100vw - 20px); overflow-x: auto; justify-content: flex-start; }
  .elian-presenter-controls button { flex: 0 0 auto; }
  .ian-tour-avatar { width: 118px !important; height: 154px !important; }
}
@media (prefers-reduced-motion: reduce) {
  .ian-tour-avatar[data-state="speaking"]::after,.ian-tour-avatar[data-state="speaking"] > .liam-model-viewer { animation: none !important; }
}
@media (prefers-reduced-motion: reduce) {
  .elian-presenter *, .ian-tour-avatar { animation: none !important; transition: none !important; }
}
