@charset "UTF-8";
/* Miss Minutes — Profesor Labs teacher-world intros */
@import url("https://fonts.googleapis.com/css2?family=Overpass:wght@700&display=swap");
#missMinutes {
  --primary-color: #f67531;
  --secondary-color: #fff;
  --terceary-color: #000;
  --bold-border: 8px solid #000;
  --light-border: 6px solid #000;
  --thin-border: 4px solid #000;
  position: relative;
  width: 400px;
  height: 400px;
  margin: 0 auto;
  filter: drop-shadow(0px 4px 18px rgba(246, 117, 49, 0.55));
  transform: scale(0.42);
  transform-origin: top center;
  pointer-events: none;
}
#missMinutes.is-talking .mouth {
  animation: mouth-talk 0.22s infinite;
}
#missMinutes h1 { display: none !important; }
#missMinutes .face,
#missMinutes .back-face {
  background-color: var(--primary-color);
  border-radius: 50%;
  height: 400px;
  width: 400px;
}
#missMinutes .back-face {
  border: var(--thin-border);
  position: absolute;
  top: 0;
  right: -20px;
}
#missMinutes .face {
  position: relative;
  z-index: 1;
  border: var(--bold-border);
}
#missMinutes .face .eye-container {
  position: absolute;
  top: 120px;
  left: 50%;
  transform: translate(-50%, 0) rotate(-4deg);
  width: 240px;
  height: 110px;
  display: flex;
  justify-content: center;
  align-items: center;
}
#missMinutes .face .eyes {
  background-color: var(--secondary-color);
  border: var(--thin-border);
  width: 82px;
  height: 136px;
  border-radius: 50%/50% 50% 30% 30%;
  position: absolute;
}
#missMinutes .face .eyes::before, #missMinutes .face .eyes::after {
  content: "";
  position: absolute;
}
#missMinutes .face .eyes::before {
  top: 64px;
  right: 25px;
  z-index: 1;
  transform: rotate(32deg);
  width: 0;
  height: 0;
  border-left: 6px solid transparent;
  border-right: 6px solid transparent;
  border-top: 12px solid var(--secondary-color);
}
#missMinutes .face .eyes::after {
  width: 25px;
  height: 45px;
  background-color: var(--terceary-color);
  border-radius: 50%;
  bottom: 22px;
  left: 24px;
}
#missMinutes .face .eyes span {
  position: absolute;
  display: block;
  width: 4px;
  height: 20px;
  background-color: var(--terceary-color);
  border-radius: 50px;
}
#missMinutes .face .left-eye {
  border-radius: 46% 50% 15% 30%;
  left: 0;
  transform: rotate(2deg);
  animation: mm-left-eye 2.5s infinite;
}
#missMinutes .face .left-eye::before {
  right: 16px;
}
#missMinutes .face .left-eye::after {
  left: 33px;
  animation: mm-left-eye-pupil 2.5s infinite;
}
#missMinutes .face .left-eye span:nth-child(1) {
  top: -8px;
  left: 62px;
  transform: rotate(27deg);
}
#missMinutes .face .left-eye span:nth-child(2) {
  top: -20px;
  left: 45px;
  transform: rotate(20deg);
}
#missMinutes .face .left-eye span:nth-child(3) {
  top: -21px;
  left: 27px;
  transform: rotate(5deg);
}
#missMinutes .face .left-eye span:nth-child(4) {
  top: -11px;
  left: 10px;
  transform: rotate(-11deg);
}
#missMinutes .face .right-eye {
  border-radius: 46% 50% 30% 15%;
  right: 0;
  transform: rotate(-2deg);
  animation: mm-right-eye 2.5s infinite;
}
#missMinutes .face .right-eye::after {
  animation: mm-right-eye-pupil 2.5s infinite;
}
#missMinutes .face .right-eye span:nth-child(1) {
  top: -6px;
  left: 5px;
  transform: rotate(-27deg);
}
#missMinutes .face .right-eye span:nth-child(2) {
  top: -18px;
  left: 20px;
  transform: rotate(-20deg);
}
#missMinutes .face .right-eye span:nth-child(3) {
  top: -21px;
  left: 40px;
  transform: rotate(-5deg);
}
#missMinutes .face .right-eye span:nth-child(4) {
  top: -12px;
  left: 57px;
  transform: rotate(11deg);
}
#missMinutes .face .nose {
  background-color: var(--terceary-color);
  border-radius: 50%;
  width: 20px;
  height: 20px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
#missMinutes .face .mouth {
  background-color: var(--terceary-color);
  border: var(--light-border);
  overflow: hidden;
  border-radius: 80% 20% 80% 20%;
  width: 80px;
  height: 80px;
  position: absolute;
  top: 265px;
  left: 48.6%;
  transform: rotate(40deg) translate(-50%, 0);
  z-index: -1;
  animation: mm-mouth 2.5s infinite;
}
#missMinutes .face .mouth span {
  background-color: var(--secondary-color);
  position: absolute;
  width: 128px;
  height: 60px;
}
#missMinutes .face .mouth span:nth-child(1) {
  top: -17px;
  left: -45px;
  transform: rotate(-45deg) translate(0, -10px);
}
#missMinutes .face .mouth span:nth-child(2) {
  bottom: -16px;
  transform: rotate(-45deg) translate(0, 10px);
}
#missMinutes .face .time {
  background-color: var(--terceary-color);
  width: 10px;
  height: 45px;
  border-radius: 30px;
  position: absolute;
}
#missMinutes .face .time-12 {
  top: 12px;
  left: 175px;
  transform: rotate(-4deg);
}
#missMinutes .face .time-6 {
  bottom: 12px;
  left: 200px;
  transform: rotate(-5deg);
}
#missMinutes .face .time-3 {
  top: 153px;
  right: 26px;
  transform: rotate(84deg);
}
#missMinutes .face .time-9 {
  top: 188px;
  left: 27px;
  transform: rotate(85deg);
}
#missMinutes .face .secondary-time-container {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  height: 100%;
  width: 100%;
}
#missMinutes .face .secondary-time-container .secondary-time {
  width: 2px;
  height: calc(50% - 18px);
  position: absolute;
  top: 18px;
  left: calc(50% - 1px);
  transform-origin: bottom center;
}
#missMinutes .face .secondary-time-container .secondary-time::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 2px;
  height: 22px;
  background-color: var(--terceary-color);
}
#missMinutes .face .secondary-time-container .secondary-time:nth-child(1) {
  transform: rotateZ(376.2deg);
}
#missMinutes .face .secondary-time-container .secondary-time:nth-child(2) {
  transform: rotateZ(400.2deg);
}
#missMinutes .face .secondary-time-container .secondary-time:nth-child(3) {
  transform: rotateZ(424.2deg);
}
#missMinutes .face .secondary-time-container .secondary-time:nth-child(4) {
  transform: rotateZ(468deg);
}
#missMinutes .face .secondary-time-container .secondary-time:nth-child(5) {
  transform: rotateZ(492deg);
}
#missMinutes .face .secondary-time-container .secondary-time:nth-child(6) {
  transform: rotateZ(516deg);
}
#missMinutes .face .secondary-time-container .secondary-time:nth-child(7) {
  transform: rotateZ(554.4deg);
}
#missMinutes .face .secondary-time-container .secondary-time:nth-child(8) {
  transform: rotateZ(579.6deg);
}
#missMinutes .face .secondary-time-container .secondary-time:nth-child(9) {
  transform: rotateZ(603.6deg);
}
#missMinutes .face .secondary-time-container .secondary-time:nth-child(10) {
  transform: rotateZ(646.2deg);
}
#missMinutes .face .secondary-time-container .secondary-time:nth-child(11) {
  transform: rotateZ(670.2deg);
}
#missMinutes .face .secondary-time-container .secondary-time:nth-child(12) {
  transform: rotateZ(694.2deg);
}
#missMinutes .right-hand,
#missMinutes .left-hand {
  background-color: var(--secondary-color);
  border: var(--thin-border);
  position: absolute;
}
#missMinutes .right-hand .fingers,
#missMinutes .left-hand .fingers {
  background-color: var(--secondary-color);
  border: var(--thin-border);
  border-radius: 40px;
  width: 18px;
  height: 60px;
  position: absolute;
}
#missMinutes .right-hand {
  width: 54px;
  height: 66px;
  border-radius: 40% 40% 50% 50%;
  top: 204px;
  right: -20px;
  z-index: 3;
  transform: rotate(-39deg);
  animation: mm-right-hand 2.5s infinite;
}
#missMinutes .right-hand::before {
  content: "";
  width: 48.3px;
  height: 59.4px;
  background-color: var(--secondary-color);
  position: absolute;
  top: -1px;
  left: -2px;
  z-index: 1;
  transform: rotate(2.3deg);
  border-radius: 45% 45% 50% 50%;
}
#missMinutes .right-hand .finger-1 {
  top: 0;
  left: -14px;
  transform: rotate(-43deg);
}
#missMinutes .right-hand .finger-2 {
  top: -36px;
  left: -3px;
  transform: rotate(-11deg);
}
#missMinutes .right-hand .finger-3 {
  top: -39px;
  left: 18px;
  transform: rotate(5deg);
}
#missMinutes .right-hand .finger-4 {
  top: -21px;
  left: 33px;
  transform: rotate(27deg);
}
#missMinutes .left-hand {
  width: 42px;
  height: 55px;
  border-radius: 50%;
  top: 367px;
  left: -16px;
  z-index: 3;
  animation: mm-left-hand 2.5s infinite;
}
#missMinutes .left-hand::before, #missMinutes .left-hand::after {
  content: "";
  background-color: var(--secondary-color);
  position: absolute;
}
#missMinutes .left-hand::before {
  width: 33px;
  height: 47px;
  border-radius: 56%;
  top: 0;
  z-index: 2;
}
#missMinutes .left-hand::after {
  border: var(--thin-border);
  border-radius: 50% 50% 20% 20%;
  transform: rotate(5deg);
  width: 30px;
  height: 4px;
  top: -4px;
  left: 0;
  z-index: 4;
}
#missMinutes .left-hand .finger-1 {
  top: 30px;
  left: 7px;
  z-index: 1;
  transform: rotate(-10deg);
  height: 42px;
  animation: mm-left-hand-finger-1 2.5s infinite;
}
#missMinutes .left-hand .finger-2 {
  top: 11px;
  left: -13px;
  transform: rotate(21deg);
  height: 70px;
  animation: mm-left-hand-finger-2 2.5s infinite;
}
#missMinutes .left-hand .finger-3 {
  top: 23px;
  left: -6px;
  transform: rotate(9deg);
  z-index: -1;
  animation: mm-left-hand-finger-3 2.5s infinite;
}
#missMinutes .forearm-right-arm,
#missMinutes .forearm-left-arm {
  position: absolute;
}
#missMinutes .forearm-right-arm .forearm-details,
#missMinutes .forearm-left-arm .forearm-details {
  background-color: var(--primary-color);
  border: var(--thin-border);
  border-radius: 50%;
  position: absolute;
  width: 35px;
  height: 20px;
}
#missMinutes .forearm-right-arm .elbow,
#missMinutes .forearm-left-arm .elbow {
  background-color: var(--primary-color);
  border: var(--thin-border);
  border-radius: 30px;
  position: absolute;
  width: 36px;
  height: 150px;
}
#missMinutes .forearm-right-arm {
  top: 205px;
  right: -58px;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-flow: column;
  transform: rotate(-63deg);
  width: 50px;
  height: 120px;
  animation: mm-forearm-right-hand 2.5s infinite;
}
#missMinutes .forearm-right-arm .forearm-details-1 {
  top: 31px;
  z-index: 2;
}
#missMinutes .forearm-right-arm .forearm-details-2 {
  top: 38px;
  z-index: 1;
}
#missMinutes .forearm-right-arm .forearm-details-3 {
  top: 46px;
}
#missMinutes .forearm-right-arm .elbow {
  top: -63px;
  left: 42px;
  transform: rotate(35deg);
  z-index: -1;
}
#missMinutes .forearm-left-arm {
  top: 223px;
  left: -4px;
  animation: mm-forearm-left-hand 2.5s infinite;
}
#missMinutes .forearm-left-arm .forearm-details-1 {
  top: 123px;
  left: -5px;
  z-index: 1;
  transform: rotate(4deg);
}
#missMinutes .forearm-left-arm .forearm-details-2 {
  top: 130px;
  left: -6px;
  z-index: 2;
  transform: rotate(4deg);
}
#missMinutes .forearm-left-arm .forearm-details-3 {
  top: 137px;
  left: -7px;
  transform: rotate(6deg);
  z-index: 3;
}
#missMinutes .forearm-left-arm .elbow {
  transform: rotate(6deg);
}
#missMinutes .legs {
  background-color: var(--terceary-color);
  width: 20px;
  height: 180px;
  position: absolute;
}
#missMinutes .right-leg {
  top: 382px;
  left: 136px;
  transform: rotate(-2deg);
}
#missMinutes .left-leg {
  top: 382px;
  right: 134px;
  transform: rotate(2deg);
}
#missMinutes .shoes-container-right {
  right: 124px;
  transform: scaleX(-1) rotateZ(-8deg);
}
#missMinutes .shoes-container-left {
  left: 126px;
  transform: rotateZ(-10deg);
}
#missMinutes .shoes-container {
  position: absolute;
  bottom: -144px;
  z-index: -1;
}
#missMinutes .shoes-container::before {
  content: "";
  background-color: var(--secondary-color);
  width: 55px;
  height: 37px;
  position: absolute;
  top: 20px;
  left: -34px;
  z-index: 2;
  border-radius: 50%;
  transform: rotate(-2deg);
}
#missMinutes .shoes-container .shoes {
  background-color: var(--secondary-color);
  border: var(--thin-border);
  border-radius: 50%;
  position: absolute;
  width: 42px;
  height: 32px;
  border-bottom-color: transparent;
}
#missMinutes .shoes-container .shoes::before {
  content: "";
  background-color: var(--terceary-color);
  width: 26px;
  height: 17px;
  border-radius: 50%;
  position: absolute;
  bottom: 4px;
  left: 4px;
}
#missMinutes .shoes-container .details-1,
#missMinutes .shoes-container .details-2,
#missMinutes .shoes-container .details-3 {
  background-color: var(--secondary-color);
  border: var(--thin-border);
  position: absolute;
  z-index: -2;
}
#missMinutes .shoes-container .details-1 {
  width: 52px;
  height: 60px;
  display: block;
  top: 4px;
  left: -8px;
  border-radius: 50% 50% 20px 50%;
  transform: rotate(-12deg);
}
#missMinutes .shoes-container .details-2 {
  width: 74px;
  height: 45px;
  border-radius: 40%/55%;
  border-right-color: transparent;
  top: 2px;
  left: -56px;
  transform: rotate(10deg);
}
#missMinutes .shoes-container .details-3 {
  width: 95px;
  height: 50px;
  border-radius: 50%;
  top: 11px;
  left: -60px;
  z-index: -3;
}

/* Compact host for teacher-world guide */
.tw-guide__stage #missMinutesHost {
  position: relative;
  width: 100%;
  height: 100%;
  min-height: 380px;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  padding-top: 28px;
  overflow: hidden;
}

.tw-guide__stage #missMinutesHost #missMinutes {
  transform: scale(0.48);
  margin-top: 8px;
}

@media (max-width: 860px) {
  .tw-guide__stage #missMinutesHost #missMinutes {
    transform: scale(0.36);
  }
}
.tw-guide__copy .speech.is-typing::after {
  content: "|";
  display: inline-block;
  width: 0.55ch;
  margin-left: 1px;
  background: currentColor;
  color: transparent;
  animation: mm-caret 0.7s step-end infinite;
  vertical-align: -2px;
  height: 1em;
}

@keyframes mm-caret {
  50% {
    opacity: 0;
  }
}
@keyframes mouth-talk {
  0%, 100% {
    transform: rotate(40deg) translate(-50%, 0) scale(1);
    border-radius: 80% 20% 80% 20%;
  }
  50% {
    transform: rotate(40deg) translate(-46%, 3px) scale(0.72);
    border-radius: 100% 40% 70% 40%;
  }
}
@keyframes mm-left-eye {
  0%, 100% {
    transform: rotate(2deg) scale(1);
  }
  50% {
    transform: rotate(2deg) scale(1.1);
  }
}
@keyframes mm-left-eye-pupil {
  0%, 100% {
    transform: scale(1);
  }
  50% {
    transform: scale(0.8);
  }
}
@keyframes mm-right-eye {
  0%, 100% {
    transform: rotate(-2deg) scale(1);
  }
  50% {
    transform: rotate(-2deg) scale(1.1);
  }
}
@keyframes mm-right-eye-pupil {
  0%, 100% {
    transform: scale(1);
  }
  50% {
    transform: scale(0.8);
  }
}
@keyframes mm-forearm-left-hand {
  0%, 100% {
    transform: rotate(0);
  }
  50% {
    transform: rotate(6deg);
  }
}
@keyframes mm-left-hand {
  0%, 100% {
    transform: rotate(0) translate(0, 0);
  }
  50% {
    transform: rotate(11deg) translate(-20px, 0);
  }
}
@keyframes mm-left-hand-finger-1 {
  0%, 100% {
    transform: rotate(-10deg);
  }
  50% {
    transform: rotate(0);
  }
}
@keyframes mm-left-hand-finger-2 {
  0%, 100% {
    transform: rotate(21deg);
  }
  50% {
    transform: rotate(36deg);
  }
}
@keyframes mm-left-hand-finger-3 {
  0%, 100% {
    transform: rotate(9deg);
  }
  50% {
    transform: rotate(29deg);
  }
}
@keyframes mm-right-hand {
  0%, 100% {
    transform: rotate(-39deg) translate(0, 0);
  }
  50% {
    transform: rotate(-22deg) translate(18px, 3px);
  }
}
@keyframes mm-forearm-right-hand {
  0%, 100% {
    transform: rotate(-63deg) translate(0, 0);
  }
  50% {
    transform: rotate(-67deg) translate(10px, 10px);
  }
}
@keyframes mm-mouth {
  0%, 100% {
    transform: rotate(40deg) translate(-50%, 0);
    border-radius: 80% 20% 80% 20%;
  }
  50% {
    transform: rotate(40deg) translate(-46%, 2px) scale(0.8);
    border-radius: 100% 32% 80% 32%;
  }
}
/* —— Hologram projection (IA proyectada) —— */
#missMinutesHost {
  position: relative;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  padding-top: 36px;
  overflow: hidden;
  background: radial-gradient(ellipse 70% 45% at 50% 18%, rgba(90, 255, 230, 0.18), transparent 55%), radial-gradient(circle at 50% 35%, #0a3a42 0%, #041018 52%, #02060c 100%);
}

#missMinutesHost .mm-beam {
  position: absolute;
  left: 50%;
  bottom: -8%;
  width: 54%;
  height: 72%;
  transform: translateX(-50%);
  background: linear-gradient(180deg, rgba(90, 255, 230, 0.42) 0%, rgba(90, 255, 230, 0.08) 42%, transparent 78%);
  clip-path: polygon(38% 0, 62% 0, 100% 100%, 0 100%);
  filter: blur(10px);
  opacity: 0;
  pointer-events: none;
  animation: mm-beam-in 0.85s ease-out 0s forwards, mm-beam-pulse 2.8s ease-in-out 0.9s infinite;
}

#missMinutesHost .mm-scan {
  position: absolute;
  inset: 0;
  background: repeating-linear-gradient(180deg, transparent 0, transparent 3px, rgba(120, 255, 240, 0.045) 3px, rgba(120, 255, 240, 0.045) 4px);
  mix-blend-mode: screen;
  opacity: 0;
  pointer-events: none;
  animation: mm-scan-in 1s ease 0.4s forwards, mm-scan-drift 6s linear infinite;
  z-index: 5;
}

#missMinutesHost .mm-floor-glow {
  position: absolute;
  left: 50%;
  bottom: 6%;
  width: 46%;
  height: 18%;
  transform: translateX(-50%);
  border-radius: 50%;
  background: radial-gradient(ellipse, rgba(90, 255, 230, 0.55), transparent 70%);
  filter: blur(12px);
  opacity: 0;
  animation: mm-floor-in 0.7s ease 0s forwards, mm-floor-pulse 2.4s ease-in-out 0.8s infinite;
  pointer-events: none;
}

#missMinutesHost .mm-spark {
  position: absolute;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: #a8fff0;
  box-shadow: 0 0 10px #5affe6, 0 0 20px rgba(90, 255, 230, 0.6);
  opacity: 0;
  z-index: 6;
  animation: mm-spark 3.6s ease-in-out infinite;
}

#missMinutesHost .mm-spark:nth-of-type(1) {
  left: 28%;
  top: 58%;
  animation-delay: 0.9s;
}

#missMinutesHost .mm-spark:nth-of-type(2) {
  left: 52%;
  top: 42%;
  animation-delay: 1.4s;
}

#missMinutesHost .mm-spark:nth-of-type(3) {
  left: 68%;
  top: 62%;
  animation-delay: 1.9s;
}

#missMinutesHost .mm-spark:nth-of-type(4) {
  left: 40%;
  top: 34%;
  animation-delay: 2.3s;
}

#missMinutesHost > #missMinutes {
  --primary-color: #ff8a4a;
  opacity: 0;
  filter: drop-shadow(0 0 18px rgba(90, 255, 230, 0.55)) drop-shadow(0 12px 28px rgba(246, 117, 49, 0.35)) saturate(1.15);
  animation: mm-holo-intro 1.6s ease-out 0.15s forwards, mm-holo-float 4.2s ease-in-out 1.85s infinite, mm-holo-flicker 5.5s steps(2, end) 1.85s infinite;
}

#missMinutesHost > #missMinutes .face,
#missMinutesHost > #missMinutes .back-face {
  background: linear-gradient(165deg, rgba(255, 200, 140, 0.92) 0%, rgba(246, 117, 49, 0.78) 42%, rgba(90, 255, 230, 0.35) 100%) !important;
  box-shadow: inset 0 -40px 60px rgba(90, 255, 230, 0.35), inset 0 20px 40px rgba(255, 255, 255, 0.25), 0 0 40px rgba(90, 255, 230, 0.25);
}

#missMinutesHost > #missMinutes .face::after {
  content: "";
  position: absolute;
  inset: 8%;
  border-radius: 50%;
  background: linear-gradient(125deg, rgba(255, 255, 255, 0.45) 0%, transparent 38%, transparent 62%, rgba(90, 255, 230, 0.2) 100%);
  pointer-events: none;
  mix-blend-mode: screen;
  z-index: 4;
}

#missMinutesHost > #missMinutes h1 { display: none !important; }

#missMinutesHost > #missMinutes.is-talking {
  filter: drop-shadow(0 0 22px rgba(90, 255, 230, 0.75)) drop-shadow(0 12px 28px rgba(246, 117, 49, 0.4)) saturate(1.2);
}

@keyframes mm-holo-intro {
  0% {
    opacity: 0;
    transform: scale(0.42) translateY(0);
    filter: blur(10px) brightness(2.2) drop-shadow(0 0 0 transparent);
  }
  25% {
    opacity: 0.28;
    transform: scale(0.42) translateY(0);
    filter: blur(6px) brightness(1.7) drop-shadow(0 0 20px rgba(90, 255, 230, 0.45));
  }
  55% {
    opacity: 0.62;
    transform: scale(0.42) translateY(0);
    filter: blur(2px) brightness(1.25) drop-shadow(0 0 18px rgba(90, 255, 230, 0.55));
  }
  80% {
    opacity: 0.88;
    transform: scale(0.42) translateY(0);
    filter: blur(0) brightness(1.08) drop-shadow(0 0 18px rgba(90, 255, 230, 0.55)) drop-shadow(0 12px 28px rgba(246, 117, 49, 0.3));
  }
  100% {
    opacity: 0.9;
    transform: scale(0.42) translateY(0);
    filter: drop-shadow(0 0 18px rgba(90, 255, 230, 0.55)) drop-shadow(0 12px 28px rgba(246, 117, 49, 0.35)) saturate(1.15);
  }
}
@keyframes mm-holo-float {
  0%, 100% {
    transform: scale(0.42) translateY(0);
  }
  50% {
    transform: scale(0.42) translateY(-14px);
  }
}
@keyframes mm-holo-flicker {
  0%, 92%, 100% {
    opacity: 0.88;
  }
  93% {
    opacity: 0.55;
  }
  94% {
    opacity: 0.95;
  }
  96% {
    opacity: 0.7;
  }
  97% {
    opacity: 0.9;
  }
}
@keyframes mm-beam-in {
  from {
    opacity: 0;
    transform: translateX(-50%) scaleY(0.4);
  }
  to {
    opacity: 0.85;
    transform: translateX(-50%) scaleY(1);
  }
}
@keyframes mm-beam-pulse {
  0%, 100% {
    opacity: 0.7;
  }
  50% {
    opacity: 1;
  }
}
@keyframes mm-floor-in {
  from {
    opacity: 0;
    transform: translateX(-50%) scale(0.6);
  }
  to {
    opacity: 0.9;
    transform: translateX(-50%) scale(1);
  }
}
@keyframes mm-floor-pulse {
  0%, 100% {
    opacity: 0.65;
    transform: translateX(-50%) scale(1);
  }
  50% {
    opacity: 1;
    transform: translateX(-50%) scale(1.08);
  }
}
@keyframes mm-scan-in {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes mm-scan-drift {
  from {
    background-position: 0 0;
  }
  to {
    background-position: 0 40px;
  }
}
@keyframes mm-spark {
  0%, 100% {
    opacity: 0;
    transform: translateY(6px) scale(0.5);
  }
  35% {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
  70% {
    opacity: 0.15;
    transform: translateY(-14px) scale(0.7);
  }
}
@keyframes mm-holo-intro-sm {
  0% {
    opacity: 0;
    transform: scale(0.36) translateY(0);
    filter: blur(8px) brightness(2);
  }
  50% {
    opacity: 0.55;
    transform: scale(0.36) translateY(0);
    filter: blur(2px) brightness(1.3);
  }
  100% {
    opacity: 0.9;
    transform: scale(0.36) translateY(0);
    filter: drop-shadow(0 0 14px rgba(90, 255, 230, 0.55)) drop-shadow(0 10px 22px rgba(246, 117, 49, 0.35)) saturate(1.15);
  }
}
@keyframes mm-holo-float-sm {
  0%, 100% {
    transform: scale(0.36) translateY(0);
  }
  50% {
    transform: scale(0.36) translateY(-10px);
  }
}
@media (max-width: 860px) {
  #missMinutesHost > #missMinutes {
    animation-name: mm-holo-intro-sm, mm-holo-float-sm, mm-holo-flicker;
  }
}



/* ========== CLEAN OVERRIDES mmTalk9 ========== */

#missMinutes { --lip: 0; }
#missMinutes h1 { display: none !important; }

/* Mouth */
#missMinutes .face .mouth {
  background: transparent !important;
  border: 0 !important;
  overflow: visible !important;
  border-radius: 0 !important;
  width: 92px !important;
  height: 72px !important;
  position: absolute;
  top: 268px !important;
  left: 50% !important;
  transform: translateX(-52%) rotate(-4deg) !important;
  z-index: 3 !important;
  animation: none !important;
}
#missMinutes .face .mouth span { display: none !important; }
#missMinutes .face .mouth .mouth__smile {
  position: absolute; left: 50%; top: 20px; width: 56px; height: 30px; margin-left: -28px;
  border: 5px solid #111; border-color: transparent transparent #111 transparent;
  border-radius: 0 0 50% 50%; box-sizing: border-box;
  opacity: calc(1 - var(--lip) * 4); transform: scaleY(0.9); pointer-events: none; z-index: 1;
}
#missMinutes .face .mouth .mouth__hole {
  position: absolute; left: 50%; top: 6px; width: 56px; height: 52px; margin-left: -28px;
  background: #070707; border: 5px solid #111;
  border-radius: 50% 50% 48% 48% / 42% 42% 58% 58%;
  box-shadow: inset 0 -10px 0 #fff, inset 0 -16px 0 #111, 0 0 14px rgba(90, 255, 230, 0.35);
  transform-origin: 50% 8%;
  transform: scale(calc(0.5 + var(--lip) * 0.9), calc(0.04 + var(--lip) * 1.2));
  opacity: calc(var(--lip) * 1.35); z-index: 2;
}
#missMinutes .face .mouth .mouth__jaw {
  position: absolute; left: 50%; top: 30px; width: 62px; height: 28px; margin-left: -31px;
  border-radius: 0 0 50% 50%; border: 5px solid #111; border-top: 0;
  opacity: calc(var(--lip) * 0.85);
  transform: translateY(calc(var(--lip) * 12px)) scaleY(calc(0.3 + var(--lip) * 0.95));
  pointer-events: none; z-index: 0;
}

/* Beam intensifies while projecting */
#missMinutesHost.is-projecting .mm-beam {
  opacity: 1 !important;
  filter: blur(8px) brightness(1.35);
}
#missMinutesHost.is-projecting .mm-floor-glow {
  opacity: 1 !important;
  transform: translateX(-50%) scale(1.15);
}

/* Arm pivots + explaining rig mmTalk11 */
#missMinutes .arm-pivot {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 400px !important;
  height: 400px !important;
  margin: 0 !important;
  pointer-events: none;
  z-index: 3;
}
/* Shoulders on clock rim */
#missMinutes .arm-pivot--left { transform-origin: 22px 200px; }
#missMinutes .arm-pivot--right { transform-origin: 378px 198px; }

/* Soft shoulder caps aligned to rim */
#missMinutes .arm-pivot--left::before,
#missMinutes .arm-pivot--right::before {
  content: "";
  position: absolute;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: var(--primary-color, #f67531);
  border: 4px solid #111;
  z-index: 5;
  box-shadow: 0 0 0 1px rgba(90,255,230,.25);
}
#missMinutes .arm-pivot--left::before { top: 188px; left: 10px; }
#missMinutes .arm-pivot--right::before { top: 186px; left: 366px; }

/* Kill original limb idles */
#missMinutes .forearm-left-arm,
#missMinutes .forearm-right-arm,
#missMinutes .left-hand,
#missMinutes .right-hand,
#missMinutes .left-hand .fingers,
#missMinutes .right-hand .fingers {
  animation: none !important;
}

/*
 * LEFT ARM (viewer left): one thick orange shaft from shoulder down-out,
 * glove locked at tip. Elbow bend pivots from TOP of shaft.
 */
#missMinutes .forearm-left-arm {
  top: 190px !important;
  left: 2px !important;
  width: 44px !important;
  height: 140px !important;
  transform: rotate(32deg);
  transform-origin: 22px 8px;
}
#missMinutes .forearm-left-arm .forearm-details { display: none !important; }
#missMinutes .forearm-left-arm .elbow {
  top: 0 !important;
  left: 6px !important;
  width: 30px !important;
  height: 112px !important;
  transform: none !important;
  border-radius: 16px !important;
  z-index: 2 !important;
}
#missMinutes .forearm-left-arm .left-hand {
  top: 100px !important;
  left: 1px !important;
  right: auto !important;
  width: 42px !important;
  height: 40px !important;
  border-radius: 48% 48% 42% 42% !important;
  transform: rotate(0deg);
  z-index: 6;
}
#missMinutes .forearm-left-arm .left-hand .fingers {
  width: 12px !important;
  height: 20px !important;
  animation: none !important;
}
#missMinutes .forearm-left-arm .left-hand .finger-1 {
  top: 26px !important; left: 4px !important; height: 20px !important;
  transform: rotate(-12deg) !important;
}
#missMinutes .forearm-left-arm .left-hand .finger-2 {
  top: 28px !important; left: 15px !important; height: 22px !important;
  transform: rotate(0deg) !important;
}
#missMinutes .forearm-left-arm .left-hand .finger-3 {
  top: 26px !important; left: 26px !important; height: 20px !important;
  transform: rotate(12deg) !important; z-index: 0 !important;
}
#missMinutes .forearm-left-arm .left-hand::before,
#missMinutes .forearm-left-arm .left-hand::after {
  display: none !important;
}

/*
 * RIGHT ARM (viewer right): shaft up from shoulder, hand with pointer.
 * Single clean angle — no double-bent rag look.
 */
#missMinutes .forearm-right-arm {
  top: 175px !important;
  right: -8px !important;
  width: 50px !important;
  height: 120px !important;
  transform: rotate(-52deg);
  transform-origin: 10px 12px;
}
#missMinutes .forearm-right-arm .forearm-details { display: none !important; }
#missMinutes .forearm-right-arm .elbow {
  top: 4px !important;
  left: 8px !important;
  width: 30px !important;
  height: 100px !important;
  transform: none !important;
  border-radius: 16px !important;
  z-index: 2 !important;
}
#missMinutes .forearm-right-arm .right-hand {
  top: 92px !important;
  left: 4px !important;
  right: auto !important;
  width: 44px !important;
  height: 42px !important;
  border-radius: 48% 48% 42% 42% !important;
  transform: rotate(0deg);
  z-index: 6;
}
#missMinutes .forearm-right-arm .right-hand .fingers {
  width: 12px !important;
  height: 20px !important;
}
#missMinutes .forearm-right-arm .right-hand .finger-1 {
  top: 28px !important; left: 2px !important; height: 20px !important;
  transform: rotate(-14deg) !important;
}
#missMinutes .forearm-right-arm .right-hand .finger-2 {
  top: 30px !important; left: 13px !important; height: 22px !important;
  transform: rotate(-4deg) !important;
}
#missMinutes .forearm-right-arm .right-hand .finger-3 {
  top: 30px !important; left: 24px !important; height: 22px !important;
  transform: rotate(4deg) !important;
}
#missMinutes .forearm-right-arm .right-hand .finger-4 {
  top: 28px !important; left: 34px !important; height: 20px !important;
  transform: rotate(14deg) !important;
}
#missMinutes .forearm-right-arm .right-hand::before,
#missMinutes .forearm-right-arm .right-hand::after {
  display: none !important;
}

/* Idle: soft breathing at shoulder only */
#missMinutes:not(.is-talking) .arm-pivot--left {
  animation: mm-pivot-idle-l 3.6s ease-in-out infinite;
}
#missMinutes:not(.is-talking) .arm-pivot--right {
  animation: mm-pivot-idle-r 3.8s ease-in-out infinite;
}

/*
 * Talking: clear explaining — shoulder leads, forearm bends from its TOP origin
 * in the SAME phase (not opposite) so the whole arm reads as one unit.
 * Left and right alternate by delay.
 */
#missMinutes.is-talking .arm-pivot--left {
  animation: mm-talk-shoulder-l 2.2s cubic-bezier(0.4, 0.0, 0.2, 1) infinite;
}
#missMinutes.is-talking .arm-pivot--right {
  animation: mm-talk-shoulder-r 2.2s cubic-bezier(0.4, 0.0, 0.2, 1) infinite;
  animation-delay: -1.1s;
}
#missMinutes.is-talking .forearm-left-arm {
  animation: mm-talk-elbow-l 2.2s cubic-bezier(0.4, 0.0, 0.2, 1) infinite !important;
}
#missMinutes.is-talking .forearm-right-arm {
  animation: mm-talk-elbow-r 2.2s cubic-bezier(0.4, 0.0, 0.2, 1) infinite !important;
  animation-delay: -1.1s;
}
/* Hands stay glued — only tiny tip nod in same phase */
#missMinutes.is-talking .forearm-left-arm .left-hand {
  animation: mm-talk-hand-l 2.2s cubic-bezier(0.4, 0.0, 0.2, 1) infinite !important;
}
#missMinutes.is-talking .forearm-right-arm .right-hand {
  animation: mm-talk-hand-r 2.2s cubic-bezier(0.4, 0.0, 0.2, 1) infinite !important;
  animation-delay: -1.1s;
}

@keyframes mm-pivot-idle-l {
  0%, 100% { transform: rotate(0deg); }
  50% { transform: rotate(2deg); }
}
@keyframes mm-pivot-idle-r {
  0%, 100% { transform: rotate(0deg); }
  50% { transform: rotate(-2deg); }
}

/* Left: raise to present, then open out */
@keyframes mm-talk-shoulder-l {
  0%, 100% { transform: rotate(0deg); }
  30% { transform: rotate(-18deg); }
  55% { transform: rotate(-6deg); }
  78% { transform: rotate(10deg); }
}
@keyframes mm-talk-elbow-l {
  0%, 100% { transform: rotate(32deg); }
  30% { transform: rotate(12deg); }
  55% { transform: rotate(18deg); }
  78% { transform: rotate(38deg); }
}
@keyframes mm-talk-hand-l {
  0%, 100% { transform: rotate(0deg); }
  30% { transform: rotate(-6deg); }
  55% { transform: rotate(2deg); }
  78% { transform: rotate(4deg); }
}
  30% { transform: rotate(-26deg); }
  55% { transform: rotate(-14deg); }
  78% { transform: rotate(-6deg); }
}

/* Right: lift pointer, tip emphasis, settle */
@keyframes mm-talk-shoulder-r {
  0%, 100% { transform: rotate(0deg); }
  30% { transform: rotate(-16deg); }
  55% { transform: rotate(-4deg); }
  78% { transform: rotate(8deg); }
}
@keyframes mm-talk-elbow-r {
  0%, 100% { transform: rotate(-52deg); }
  30% { transform: rotate(-64deg); }
  55% { transform: rotate(-56deg); }
  78% { transform: rotate(-42deg); }
}
@keyframes mm-talk-hand-r {
  0%, 100% { transform: rotate(0deg); }
  30% { transform: rotate(6deg); }
  55% { transform: rotate(-2deg); }
  78% { transform: rotate(-4deg); }
}
  30% { transform: rotate(0deg); }
  55% { transform: rotate(10deg); }
  78% { transform: rotate(16deg); }
}
