/* MásPilos · asistente (chat) con el rostro animado del docente. Paleta «Eléctrica» (violeta del aula) sobre marfil. */
.mpa { position: fixed; right: max(16px, env(safe-area-inset-right)); bottom: max(16px, env(safe-area-inset-bottom)); z-index: 40; font-family: Inter, system-ui, "Segoe UI", sans-serif; display: flex; flex-direction: column; align-items: flex-end; gap: 10px; }
.mpa-lanzador { display: inline-flex; align-items: center; gap: 10px; background: #5B34F2; color: #fff; border: 0; border-radius: 999px; padding: 6px 18px 6px 6px; font: 500 14px Inter, system-ui, sans-serif; cursor: pointer; box-shadow: 0 10px 30px rgba(0, 0, 0, .18); transition: transform .25s; }
.mpa-lanzador:hover { transform: translateY(-1px); }
.mpa-lanzador img { width: 40px; height: 40px; border-radius: 50%; object-fit: cover; animation: mpa-flotar 3.6s ease-in-out infinite; }
.mpa.abierto .mpa-lanzador span, .mpa.mpa-compacto .mpa-lanzador span { display: none; }
.mpa.abierto .mpa-lanzador, .mpa.mpa-compacto .mpa-lanzador { padding: 6px; }
.mpa-globo { position: relative; max-width: 270px; background: #fff; color: #222; border: 1px solid #E3E3DE; border-radius: 16px; padding: 14px 34px 14px 16px; font-size: 14px; line-height: 1.45; box-shadow: 0 12px 34px rgba(0, 0, 0, .12); animation: mpa-entra .35s ease-out; }
.mpa-globo p { cursor: pointer; }
.mpa-x, .mpa-cerrar { position: absolute; top: 6px; right: 8px; background: none; border: 0; font-size: 20px; line-height: 1; color: #6B6B6B; cursor: pointer; padding: 4px; }
.mpa-panel { width: min(380px, calc(100vw - 32px)); height: min(600px, calc(100vh - 110px)); height: min(600px, calc(100svh - 110px)); background: #F7F7F5; border: 1px solid #E3E3DE; border-radius: 20px; box-shadow: 0 22px 60px rgba(0, 0, 0, .2); display: flex; flex-direction: column; overflow: hidden; animation: mpa-entra .3s ease-out; }
.mpa-panel[hidden] { display: none; }
.mpa-panel, .mpa-globo { order: -1; }   /* el panel y el aviso quedan encima del botón */
.mpa-cab { position: relative; display: flex; align-items: center; gap: 12px; padding: 14px 44px 14px 16px; background: #fff; border-bottom: 1px solid #E3E3DE; }
.mpa-cab b { display: block; font-size: 15px; font-weight: 600; letter-spacing: -.01em; color: #111; }
.mpa-cab small { display: block; font-size: 12px; color: #6B6B6B; }
.mpa-rostro { width: 44px; height: 44px; border-radius: 50%; object-fit: cover; animation: mpa-flotar 3.6s ease-in-out infinite; }
.mpa-panel.hablando .mpa-rostro { animation: mpa-habla .5s ease-in-out infinite; }
.mpa-cerrar { top: 50%; transform: translateY(-50%); right: 10px; }
.mpa-msgs { flex: 1; overflow-y: auto; padding: 16px; display: flex; flex-direction: column; gap: 10px; }
.mpa-m { max-width: 88%; padding: 11px 14px; border-radius: 16px; font-size: 14.5px; line-height: 1.5; color: #222; overflow-wrap: anywhere; }
.mpa-bot { background: #fff; border: 1px solid #E3E3DE; border-bottom-left-radius: 6px; align-self: flex-start; }
.mpa-yo { background: #5B34F2; color: #fff; border-bottom-right-radius: 6px; align-self: flex-end; }
.mpa-acc { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 10px; }
.mpa-acc a { display: inline-block; background: #5B34F2; color: #fff; text-decoration: none; border-radius: 999px; padding: 7px 14px; font-size: 13px; font-weight: 500; }
.mpa-escribe { display: flex; gap: 5px; align-items: center; }
.mpa-escribe i { width: 7px; height: 7px; border-radius: 50%; background: #8A8A8A; animation: mpa-punto 1s infinite ease-in-out; }
.mpa-escribe i:nth-child(2) { animation-delay: .15s; }
.mpa-escribe i:nth-child(3) { animation-delay: .3s; }
.mpa-fichas { display: flex; gap: 8px; overflow-x: auto; padding: 0 16px 10px; scrollbar-width: none; }
.mpa-fichas button { flex: none; background: #fff; border: 1px solid #D6D6D0; color: #222; border-radius: 999px; padding: 7px 12px; font: 500 13px Inter, system-ui, sans-serif; cursor: pointer; }
.mpa-fichas button:hover { border-color: #5B34F2; color: #4521D6; }
.mpa-form { display: flex; gap: 8px; padding: 12px; background: #fff; border-top: 1px solid #E3E3DE; }
.mpa-form input { flex: 1; min-width: 0; border: 1px solid #D6D6D0; border-radius: 999px; padding: 10px 14px; font: 15px Inter, system-ui, sans-serif; color: #111; background: #F7F7F5; }
.mpa-form button { width: 42px; height: 42px; border-radius: 50%; border: 0; background: #5B34F2; color: #fff; font-size: 18px; cursor: pointer; }
@keyframes mpa-flotar { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-3px); } }
@keyframes mpa-habla { 0%, 100% { transform: scale(1); } 50% { transform: scale(1.06); } }
@keyframes mpa-punto { 0%, 100% { opacity: .3; transform: translateY(0); } 50% { opacity: 1; transform: translateY(-3px); } }
@keyframes mpa-entra { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: none; } }
@media (max-width: 520px) {
  .mpa { right: 12px; bottom: 12px; }
  .mpa-panel { width: calc(100vw - 24px); height: calc(100svh - 96px); }
  .mpa-lanzador span { font-size: 13px; }
}
@media (prefers-reduced-motion: reduce) {
  .mpa-lanzador img, .mpa-rostro, .mpa-panel.hablando .mpa-rostro, .mpa-escribe i, .mpa-globo, .mpa-panel { animation: none; }
}
