/* Small, distinct personalities. All motion is decorative and pausable. */
.mm-personality{--mm-base-y:0px;--mm-beat:6s;--mm-idle:mmCalmIdle;--mm-eye-open:1}
.mm-personality[data-personality=books]{--mm-idle:mmThoughtfulIdle;--mm-beat:6.8s}
.mm-personality[data-personality=inbox]{--mm-idle:mmWelcomingIdle;--mm-beat:5.8s}
.mm-personality[data-personality=translate]{--mm-idle:mmBrightIdle;--mm-beat:4.8s}
.mm-personality[data-personality=data]{--mm-idle:mmCuriousIdle;--mm-beat:6.2s}
.mm-personality[data-personality=shop]{--mm-idle:mmPreciseIdle;--mm-beat:6.5s}
.mm-personality[data-personality=watch]{--mm-idle:mmCalmIdle;--mm-beat:7.6s}
.mm-personality .mm-character{animation:var(--mm-idle) var(--mm-beat) ease-in-out infinite;animation-delay:var(--mm-delay,0s);transform-origin:50% 70%;will-change:translate,rotate}
.mm-personality .eye{animation:mmPersonalityBlink 6.9s infinite;animation-delay:var(--mm-blink-delay,0s);transform-box:fill-box;transform-origin:center}
.mm-personality .character-signal{animation:mmLittleSpark 4.4s ease-in-out infinite;animation-delay:var(--mm-delay,0s)}
.mm-personality .mm-character>path:nth-of-type(2){transform-box:fill-box;transform-origin:center;transition:scale .24s ease,translate .24s ease}
.mm-personality.mm-is-happy{--mm-eye-open:.72}
.mm-personality.mm-is-happy .mm-character>path:nth-of-type(2){scale:1.16 1.12;translate:0 -1px}
.mm-personality.mm-is-curious .mm-character>path:nth-of-type(2){scale:.82 1;translate:1px 0}
.mm-personality .discovery-art{height:360px;isolation:isolate;flex:0 0 auto}
.mm-character-seat{position:absolute;inset:auto 0 22px;height:192px;display:flex;align-items:center;justify-content:center;pointer-events:none;z-index:1}.mm-personality .discovery-art .mm-character{width:192px;height:192px;position:relative;z-index:1;filter:drop-shadow(0 8px 5px #293d3014)}.mm-personality .role-name{top:auto;bottom:16px;left:16px;z-index:3}.mm-intro-button{font:inherit;font-size:12px;line-height:1.2;min-height:36px;padding:8px 12px;color:var(--ink);background:#fffefbe8;box-shadow:0 2px 8px #26382a08;cursor:pointer}.mm-intro-button:hover{background:#fff;border-color:#26382a70}.mm-intro-button:focus-visible{outline:2px solid var(--signal);outline-offset:3px}.mm-intro-button:disabled{cursor:default;opacity:.55;box-shadow:none}
.mm-personality .discovery-art::after{content:"";position:absolute;left:50%;bottom:13px;width:105px;height:10px;background:#26302b11;border-radius:50%;translate:-50% 0;animation:mmGroundBreath var(--mm-beat) ease-in-out infinite;animation-delay:var(--mm-delay,0s)}
.mm-expression-mark{position:absolute;right:calc(50% - 116px);top:53%;z-index:2;pointer-events:none;color:#e75036;font-size:23px;line-height:1;opacity:0;translate:0 8px;rotate:9deg;transition:opacity .2s,translate .3s,rotate .3s}
.mm-is-happy .mm-expression-mark,.mm-is-curious .mm-expression-mark{opacity:1;translate:0 -6px;rotate:-8deg}
.mm-speech{position:absolute;top:14px;right:16px;max-width:calc(100% - 32px);width:calc(100% - 32px);z-index:6;padding:12px 14px;background:#fffefb;color:#333b35;border:1px solid #25382920;border-radius:15px 15px 15px 4px;box-shadow:0 5px 16px #26382a0c;font-size:13px;line-height:1.45;font-weight:500;letter-spacing:-.01em;pointer-events:none;opacity:0;translate:0 6px;scale:.97;transform-origin:24px 100%;transition:opacity .23s ease,translate .28s ease,scale .28s ease}
.mm-speech::after{content:"";position:absolute;left:20px;bottom:-5px;width:8px;height:8px;background:#fffefb;border-right:1px solid #25382920;border-bottom:1px solid #25382920;rotate:45deg}
.mm-speech.is-speaking{opacity:1;translate:0 0;scale:1}
.mm-speech-hero{z-index:8;right:auto;max-width:none;font-size:13px;box-shadow:0 8px 28px #26382a16;border-radius:18px}.mm-speech-hero::after{left:35px}
.mm-speech-hero::before{content:attr(data-speaker);display:block;color:#71796f;font-size:9px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;margin-bottom:3px}
.mm-speech-hero:not(.mm-speech-above){border-radius:4px 15px 15px 15px}
.mm-speech-hero:not(.mm-speech-above)::after{top:-5px;bottom:auto;rotate:225deg}
.sample-card.mm-personality{--mm-base-y:0px}
.mm-personality:not(.mm-in-view) .mm-character,.mm-personality:not(.mm-in-view) .eye,.mm-personality:not(.mm-in-view) .character-signal,.mm-personality:not(.mm-in-view) .discovery-art::after,.mm-personality-hidden .mm-personality .mm-character,.mm-personality-hidden .mm-personality .eye,.mm-personality-hidden .mm-personality .character-signal,.mm-personality-hidden .mm-personality .discovery-art::after{animation-play-state:paused!important}
.motion-paused .mm-personality .mm-character,.motion-paused .mm-personality .eye,.motion-paused .mm-personality .character-signal,.motion-paused .mm-personality .discovery-art::after,.mm-personality-paused .mm-personality .mm-character,.mm-personality-paused .mm-personality .eye,.mm-personality-paused .mm-personality .character-signal,.mm-personality-paused .mm-personality .discovery-art::after{animation-play-state:paused!important}
.motion-paused .mm-speech,.mm-personality-paused .mm-speech{opacity:0!important;transition:none}
.motion-paused .mm-speech.mm-static-intro.is-speaking,.mm-personality-paused .mm-speech.mm-static-intro.is-speaking{opacity:1!important;translate:none;scale:1;transition:none!important}
.motion-paused .mm-personality *,.mm-personality-paused .mm-personality *{transition:none!important}
@keyframes mmThoughtfulIdle{0%,100%{translate:0 var(--mm-base-y);rotate:-1deg}35%{translate:0 calc(var(--mm-base-y) - 4px);rotate:1.8deg}48%{rotate:1.8deg}65%{translate:0 calc(var(--mm-base-y) - 1px);rotate:-2deg}}
@keyframes mmWelcomingIdle{0%,100%{translate:0 var(--mm-base-y);rotate:-1.8deg}36%{translate:0 calc(var(--mm-base-y) - 5px);rotate:1.8deg}54%{translate:0 calc(var(--mm-base-y) - 3px);rotate:1.8deg}75%{translate:0 var(--mm-base-y);rotate:-1.8deg}}
@keyframes mmBrightIdle{0%,100%{translate:0 var(--mm-base-y);rotate:-1.5deg}32%{translate:0 calc(var(--mm-base-y) - 7px);rotate:2.2deg}50%{translate:0 calc(var(--mm-base-y) - 3px);rotate:-.6deg}69%{translate:0 calc(var(--mm-base-y) - 5px);rotate:1deg}}
@keyframes mmCuriousIdle{0%,100%{translate:0 var(--mm-base-y);rotate:1deg}25%{translate:1px calc(var(--mm-base-y) - 4px);rotate:3.5deg}43%{rotate:3.5deg}69%{translate:-1px calc(var(--mm-base-y) - 2px);rotate:-3deg}}
@keyframes mmPreciseIdle{0%,100%{translate:0 var(--mm-base-y);rotate:-.5deg}38%{translate:0 calc(var(--mm-base-y) - 4px);rotate:1deg}54%{translate:0 calc(var(--mm-base-y) - 3px);rotate:-1deg}70%{translate:0 calc(var(--mm-base-y) - 3px);rotate:0deg}}
@keyframes mmCalmIdle{0%,100%{translate:0 var(--mm-base-y);rotate:0deg}45%{translate:0 calc(var(--mm-base-y) - 4px);rotate:-1deg}70%{translate:0 calc(var(--mm-base-y) - 2px);rotate:.8deg}}
@keyframes mmPersonalityBlink{0%,38%,42%,75%,79%,100%{transform:scaleY(var(--mm-eye-open))}40%,77%{transform:scaleY(.08)}}
@keyframes mmLittleSpark{0%,100%{opacity:.8;scale:.96}50%{opacity:1;scale:1.07}}
@keyframes mmGroundBreath{0%,100%{scale:1;opacity:.8}45%{scale:.87;opacity:.55}}
@media(max-width:780px){
  .mm-personality .discovery-art{height:360px}
  .mm-character-seat{height:176px}
  .mm-personality .discovery-art .mm-character{width:176px;height:176px}
  .mm-speech{font-size:13px}
}
@media(max-width:480px){
  /* A full-width stage gives both the avatar and its introduction room to read. */
  .discovery-card.mm-personality{display:flex;flex-direction:column;grid-template-columns:none;--mm-base-y:0px}
  .mm-personality .discovery-art{height:330px;min-height:330px;width:100%}
  .mm-character-seat{height:180px;bottom:18px}
  .mm-personality .discovery-art .mm-character{width:180px;height:180px}
  .mm-personality .discovery-art::after{width:95px;bottom:11px}
  .mm-personality .discovery-art .mm-speech{top:14px;bottom:auto;left:14px;right:14px;width:auto;max-width:none;font-size:13px;line-height:1.45;text-align:left;padding:12px 14px;border-radius:15px 15px 15px 4px}
  .mm-personality .discovery-art .mm-speech::after{left:39px;top:auto;bottom:-5px;rotate:45deg}
  .mm-expression-mark{font-size:22px;right:calc(50% - 110px);top:51%}
  .mm-speech-hero{font-size:13px;padding:12px 14px}
}
/* The owner requests default motion; this uses gentler ranges on reduced-motion
   devices while the explicit pause control remains available at all times. */
@media(prefers-reduced-motion:reduce){.mm-personality[data-personality]{--mm-beat:9s}.mm-personality .mm-character{animation-name:mmCalmIdle}.mm-personality .character-signal{animation:none}.mm-speech{transition:opacity .18s;translate:none;scale:1}.mm-expression-mark{transition:opacity .18s;translate:none;rotate:0deg}}
