.villageSection .doodleMouth,.villageSection .visitor .doodleMouth{animation:none}.doodleOpenMouth{opacity:0;transform-origin:0 196px}.hostSpeaking .host .doodleOpenMouth,.guestSpeaking .visitor .doodleOpenMouth{opacity:1;animation:mouthTalking .32s ease-in-out infinite alternate}.hostSpeaking .host .doodleMouth,.guestSpeaking .visitor .doodleMouth{opacity:0}.villageSection .wavingArm{animation:none}.hostSpeaking .host .wavingArm,.guestSpeaking .visitor .wavingArm{animation:villageWave 1s ease-in-out infinite}.localBubble,.guestBubble{transition:opacity .4s,box-shadow .4s,border-color .4s}.hostSpeaking .localBubble{box-shadow:0 0 0 4px #f5bb5370,0 8px 20px #946b2220;border-color:#d58a27}.guestSpeaking .guestBubble{box-shadow:0 0 0 4px #60b8df55,0 8px 20px #34679b20;border-color:#2a93c1}.hostSpeaking .guestBubble,.guestSpeaking .localBubble{opacity:.66}.hostSpeaking .localBubble small:after,.guestSpeaking .guestBubble small:after{content:' • SPEAKING';font-weight:800}.isPaused .villager,.isPaused .wavingArm,.isPaused .doodleOpenMouth,.isPaused .doodleEyes{animation-play-state:paused!important}@keyframes mouthTalking{from{transform:scaleY(.4)}to{transform:scaleY(1.2)}}
.conversationStage .videoStage>img:not(.selfVideo){animation:tutorPortraitMove 6s ease-in-out infinite;transform-origin:50% 65%;will-change:transform}.conversationStage .videoStage>.selfVideo{animation:studentPortraitMove 5s ease-in-out infinite;transform-origin:50% 65%;z-index:5;transition:outline .3s;will-change:transform}.heroTalkCaption{position:absolute;left:12px;right:12px;bottom:55px;z-index:6;background:#fffef4f5;border:1px solid #fff9d8;border-radius:10px;padding:12px 14px;font:500 13px/1.5 Manrope,sans-serif;color:#174934;box-shadow:0 5px 20px #153f3325;backdrop-filter:blur(6px)}.heroTalkCaption strong{color:#12634c}.heroTalkingWaves{position:absolute;top:15px;left:15px;z-index:6;display:flex;align-items:center;justify-content:center;gap:4px;height:35px;padding:8px 12px;background:#14563ed9;border-radius:20px}.heroTalkingWaves i{display:block;width:3px;height:9px;border-radius:4px;background:#ffe29a;animation:voiceBar .65s ease-in-out infinite alternate}.heroTalkingWaves i:nth-child(2){animation-delay:.15s;height:18px}.heroTalkingWaves i:nth-child(3){animation-delay:.3s;height:23px}.heroTalkingWaves i:nth-child(4){animation-delay:.1s;height:16px}.heroTalkingWaves i:nth-child(5){animation-delay:.4s}.studentSpeaking .videoStage>.selfVideo{outline:3px solid #ffd158;outline-offset:2px}.tutorSpeaking .sessionWindow{border-color:#e4f1d8}.studentSpeaking .heroTalkingWaves{background:#966c20d9}.heroPreviewPlay{border:1px solid #c4d8c0;background:#edf6e5;color:#18513b;width:34px;height:34px;border-radius:50%;font-size:15px;cursor:pointer}.heroPreviewPaused .videoStage>img,.heroPreviewPaused .heroTalkingWaves i{animation-play-state:paused!important}@keyframes tutorPortraitMove{0%,100%{transform:scale(1.025) translateY(0) rotate(-.25deg)}50%{transform:scale(1.055) translateY(2px) rotate(.35deg)}}@keyframes studentPortraitMove{0%,100%{transform:translateY(0) rotate(.5deg)}50%{transform:translateY(-3px) rotate(-.5deg)}}@keyframes voiceBar{to{transform:scaleY(.35)}}@media(max-width:760px){.heroTalkCaption{font-size:11px;padding:9px 11px;bottom:48px;left:8px;right:8px}.heroTalkingWaves{top:10px;left:10px;height:29px}.villageBubble small:after{font-size:5px}}@media(prefers-reduced-motion:reduce){.conversationStage *,.villageSection *{animation:none!important;transition:none!important;will-change:auto!important}}
.conversationStage .heroTalkCaption{right:112px;bottom:12px}.conversationStage .teacherName{bottom:93px}@media(max-width:760px){.conversationStage .heroTalkCaption{right:105px;bottom:10px}.conversationStage .teacherName{bottom:90px}}
