.pinyin-module__xo798q__page{-webkit-user-select:none;user-select:none;background:linear-gradient(160deg,#fff8f0 0%,#f0fff8 50%,#f8f0ff 100%);flex-direction:column;height:100dvh;display:flex;position:relative;overflow:hidden}.pinyin-module__xo798q__svgCanvas{pointer-events:none;z-index:100;width:100%;height:100%;position:fixed;inset:0}.pinyin-module__xo798q__header{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffd9;border-bottom:2px solid #ff8c4226;flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;padding:12px 20px;display:flex}.pinyin-module__xo798q__backBtn{color:#ff8c42;white-space:nowrap;background:#ff8c421a;border-radius:999px;flex-shrink:0;padding:8px 16px;font-size:16px;font-weight:800;text-decoration:none;transition:all .2s}.pinyin-module__xo798q__backBtn:hover{background:#ff8c4233;transform:translate(-2px)}.pinyin-module__xo798q__titleArea{flex-direction:column;flex:1;align-items:center;gap:4px;display:flex}.pinyin-module__xo798q__levelBadge{color:#ff8c42;background:#ff8c421a;border-radius:999px;padding:2px 10px;font-size:12px;font-weight:700}.pinyin-module__xo798q__title{color:#2d1b0e;text-align:center;white-space:nowrap;font-size:20px;font-weight:900}.pinyin-module__xo798q__starsBadge{color:#f0c000;white-space:nowrap;background:#ffd93d26;border-radius:999px;flex-shrink:0;padding:8px 16px;font-size:20px;font-weight:900}.pinyin-module__xo798q__phaseBar{background:#ffffff80;border-bottom:1px solid #0000000f;flex-shrink:0;justify-content:center;align-items:center;gap:0;padding:8px 20px;display:flex}.pinyin-module__xo798q__phaseStep{color:#b89070;border-radius:999px;align-items:center;gap:6px;padding:4px 10px;font-size:12px;font-weight:700;transition:all .3s;display:flex}.pinyin-module__xo798q__phaseStep:after{content:"→";color:#ddd;margin-left:6px}.pinyin-module__xo798q__phaseStep:last-child:after{display:none}.pinyin-module__xo798q__phaseNum{color:#fff;background:#e0d0d0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;font-size:11px;font-weight:800;display:flex}.pinyin-module__xo798q__phaseActive{color:#ff8c42}.pinyin-module__xo798q__phaseActive .pinyin-module__xo798q__phaseNum{background:#ff8c42;box-shadow:0 0 0 4px #ff8c4233}.pinyin-module__xo798q__phaseDone{color:#6bcb77}.pinyin-module__xo798q__phaseDone .pinyin-module__xo798q__phaseNum{background:#6bcb77}.pinyin-module__xo798q__content{flex-direction:column;flex:1;align-items:center;padding:16px 20px 20px;display:flex;overflow:hidden auto}.pinyin-module__xo798q__particlesOverlay{pointer-events:none;z-index:500;position:fixed;inset:0}.pinyin-module__xo798q__particle{background:var(--color);border-radius:50%;width:12px;height:12px;animation:.8s ease-out forwards pinyin-module__xo798q__particleExplode;position:absolute;top:50%;left:50%}@keyframes pinyin-module__xo798q__particleExplode{0%{transform:translate(-50%, -50%) rotate(var(--angle)) translateY(0);opacity:1}to{transform:translate(-50%, -50%) rotate(var(--angle)) translateY(-120px) scale(0);opacity:0}}.pinyin-module__xo798q__introContainer{flex-direction:column;align-items:center;gap:24px;width:100%;max-width:700px;display:flex}.pinyin-module__xo798q__forestScene{background:linear-gradient(#87ceeb 0% 60%,#5dbb63 60% 100%);border:3px solid #ff8c4226;border-radius:28px;justify-content:center;align-items:flex-start;gap:20px;width:100%;min-height:200px;padding:24px 20px 20px;display:flex;position:relative;overflow:hidden}.pinyin-module__xo798q__treeBg{opacity:.7;font-size:48px;position:absolute;top:20px;left:10px}.pinyin-module__xo798q__birdBox{cursor:pointer;z-index:1;background:#ffffffd9;border:3px solid #ff8c4233;border-radius:20px;flex-direction:column;align-items:center;gap:6px;min-width:120px;padding:16px 20px;transition:all .3s cubic-bezier(.34,1.56,.64,1);display:flex;position:relative}.pinyin-module__xo798q__birdBox:hover{transform:translateY(-3px);box-shadow:0 8px 20px #ff8c4233}.pinyin-module__xo798q__birdSinging{border-color:#ff8c42;animation:.3s ease-in-out infinite alternate pinyin-module__xo798q__birdBounce;box-shadow:0 0 20px #ff8c424d}@keyframes pinyin-module__xo798q__birdBounce{0%{transform:translateY(0)scale(1)}to{transform:translateY(-8px)scale(1.05)}}.pinyin-module__xo798q__birdPerch{opacity:.7;font-size:20px}.pinyin-module__xo798q__birdEmoji{font-size:48px}.pinyin-module__xo798q__birdName{color:#7a5c3a;font-size:14px;font-weight:700}.pinyin-module__xo798q__birdSoundLabel{color:#ff8c42;background:#ff8c421a;border-radius:999px;padding:3px 10px;font-size:13px;font-weight:600}.pinyin-module__xo798q__notesBurst{gap:3px;font-size:16px;animation:.6s ease-out infinite pinyin-module__xo798q__notesFloat;display:flex;position:absolute;top:-10px;right:-5px}@keyframes pinyin-module__xo798q__notesFloat{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-20px)}}.pinyin-module__xo798q__playBtn{color:#ff8c42;cursor:pointer;background:#ff8c421a;border:none;border-radius:999px;padding:6px 12px;font-size:13px;font-weight:700;transition:all .2s}.pinyin-module__xo798q__playBtn:hover{background:#ff8c4233}.pinyin-module__xo798q__questionMark{color:#fff;text-shadow:0 3px 10px #0003;z-index:1;align-self:center;font-size:48px;font-weight:900;animation:2s ease-in-out infinite pinyin-module__xo798q__float;position:relative}@keyframes pinyin-module__xo798q__float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.pinyin-module__xo798q__narratorBox{background:#ffffffe6;border:2px solid #ff8c4226;border-radius:20px;align-items:flex-start;gap:12px;width:100%;padding:16px 20px;display:flex}.pinyin-module__xo798q__narratorEmoji{flex-shrink:0;font-size:36px;animation:2.5s ease-in-out infinite pinyin-module__xo798q__float}.pinyin-module__xo798q__narratorBubble{color:#2d1b0e;font-size:16px;font-weight:700;line-height:1.6}.pinyin-module__xo798q__lessonContainer{flex-direction:column;align-items:center;gap:20px;width:100%;max-width:700px;display:flex}.pinyin-module__xo798q__lessonProgress{justify-content:center;gap:8px;display:flex}.pinyin-module__xo798q__stepDot{color:#b89070;background:#0000000f;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;font-size:13px;font-weight:800;transition:all .3s cubic-bezier(.34,1.56,.64,1);display:flex}.pinyin-module__xo798q__stepDone{color:#fff;background:#6bcb77}.pinyin-module__xo798q__stepActive{color:#fff;background:#ff8c42;transform:scale(1.2);box-shadow:0 0 0 6px #ff8c4233}.pinyin-module__xo798q__teachBadge{color:#2ba8a0;background:#4ecdc41a;border:2px solid #4ecdc433;border-radius:999px;padding:6px 16px;font-size:14px;font-weight:700}.pinyin-module__xo798q__practiceBadge{color:#e09000;background:#ffd93d26;border:2px solid #ffd93d4d;border-radius:999px;padding:6px 16px;font-size:14px;font-weight:700;animation:2s ease-in-out infinite pinyin-module__xo798q__practiceGlow}@keyframes pinyin-module__xo798q__practiceGlow{0%,to{box-shadow:0 0 #ffd93d4d}50%{box-shadow:0 0 0 6px #ffd93d1a}}.pinyin-module__xo798q__animalRow{flex-wrap:wrap;justify-content:center;align-items:center;gap:16px;width:100%;display:flex}.pinyin-module__xo798q__animalCard{border:3px solid var(--card-color,#ff8c42);min-width:140px;max-width:220px;box-shadow:0 5px 0 var(--card-color,#ff8c42);cursor:pointer;background:#fff;border-radius:24px;flex-direction:column;flex:1;align-items:center;gap:10px;padding:20px 16px;transition:all .3s;display:flex;position:relative}.pinyin-module__xo798q__animalCard:active{box-shadow:0 2px 0 var(--card-color,#ff8c42);transform:translateY(3px)}.pinyin-module__xo798q__animalPlaying{animation:.3s ease-in-out infinite alternate pinyin-module__xo798q__animalBounce}@keyframes pinyin-module__xo798q__animalBounce{0%{transform:scale(1)}to{transform:scale(1.06)translateY(-4px)}}.pinyin-module__xo798q__animalEmoji{font-size:52px}.pinyin-module__xo798q__animalName{color:#7a5c3a;font-size:15px;font-weight:700}.pinyin-module__xo798q__soundBtn{color:var(--card-color,#ff8c42);cursor:pointer;background:#0000000d;border:none;border-radius:999px;padding:6px 14px;font-size:14px;font-weight:700;transition:all .2s}.pinyin-module__xo798q__soundBtn:hover{background:#0000001a}.pinyin-module__xo798q__soundWave{font-size:16px;animation:.5s ease-in-out infinite alternate pinyin-module__xo798q__float}.pinyin-module__xo798q__vsArea{flex-direction:column;flex-shrink:0;align-items:center;gap:6px;display:flex}.pinyin-module__xo798q__vsCircle{color:#fff;background:linear-gradient(135deg,#ff8c42,#ffb37a);border-radius:50%;justify-content:center;align-items:center;width:52px;height:52px;font-size:16px;font-weight:900;display:flex;box-shadow:0 4px 12px #ff8c424d}.pinyin-module__xo798q__vsHint{color:#b89070;text-align:center;white-space:nowrap;font-size:13px;font-weight:600}.pinyin-module__xo798q__feedbackCorrect{color:#6bcb77;font-size:24px;font-weight:900;animation:.4s cubic-bezier(.34,1.56,.64,1) pinyin-module__xo798q__popIn}.pinyin-module__xo798q__feedbackWrong{color:#ff8c42;font-size:22px;font-weight:900;animation:.4s cubic-bezier(.34,1.56,.64,1) pinyin-module__xo798q__popIn}@keyframes pinyin-module__xo798q__popIn{0%{opacity:0;transform:scale(0)}to{opacity:1;transform:scale(1)}}.pinyin-module__xo798q__choiceRow{flex-wrap:wrap;justify-content:center;gap:16px;width:100%;display:flex}.pinyin-module__xo798q__choiceBtn{color:#2d1b0e;cursor:pointer;-webkit-tap-highlight-color:transparent;background:#fff;border:3px solid #00000014;border-radius:20px;flex:1;justify-content:center;align-items:center;gap:10px;min-width:140px;max-width:220px;padding:18px 20px;font-size:22px;font-weight:800;transition:all .2s;display:flex;box-shadow:0 4px #0000000f}.pinyin-module__xo798q__choiceBtn:hover:not(:disabled){transform:translateY(-3px);box-shadow:0 7px #0000000f}.pinyin-module__xo798q__choiceBtn:active:not(:disabled){transform:translateY(2px);box-shadow:0 2px #0000000f}.pinyin-module__xo798q__choiceBtn:disabled{opacity:.6;cursor:not-allowed}.pinyin-module__xo798q__choiceSameSelected{background:#6bcb770d;border-color:#6bcb77}.pinyin-module__xo798q__choiceDiffSelected{background:#ff6b6b0d;border-color:#ff6b6b}.pinyin-module__xo798q__choiceCorrect{color:#2e7d32;background:#6bcb771f;border-color:#6bcb77;animation:.5s cubic-bezier(.34,1.56,.64,1) pinyin-module__xo798q__correctPop}.pinyin-module__xo798q__choiceWrong{color:#c62828;background:#ff6b6b1f;border-color:#ff6b6b;animation:.5s pinyin-module__xo798q__wrongShake}@keyframes pinyin-module__xo798q__correctPop{0%{transform:scale(1)}50%{transform:scale(1.08)}to{transform:scale(1)}}@keyframes pinyin-module__xo798q__wrongShake{0%,to{transform:translate(0)}20%{transform:translate(-8px)}40%{transform:translate(8px)}60%{transform:translate(-5px)}80%{transform:translate(5px)}}.pinyin-module__xo798q__choiceIcon{font-size:24px}.pinyin-module__xo798q__gameContainer{flex-direction:column;align-items:center;gap:16px;width:100%;max-width:700px;display:flex}.pinyin-module__xo798q__gameTitle{color:#2d1b0e;text-align:center;font-size:22px;font-weight:900}.pinyin-module__xo798q__gameInstruction{color:#7a5c3a;background:#fffc;border-radius:999px;padding:8px 20px;font-size:15px;font-weight:600}.pinyin-module__xo798q__balloonBoard{background:linear-gradient(#a8d8ff 0%,#c8f0a0 100%);border:3px solid #ff8c4226;border-radius:28px;flex-direction:column;gap:16px;width:100%;padding:20px;display:flex}.pinyin-module__xo798q__legendRow{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.pinyin-module__xo798q__legendItem{color:#2d1b0e;border:2px solid var(--legend-color,#ff8c42);background:#fffc;border-radius:999px;align-items:center;gap:6px;padding:6px 14px;font-size:14px;font-weight:700;display:flex}.pinyin-module__xo798q__legendItem span:first-child{font-size:18px}.pinyin-module__xo798q__balloonGrid{flex-wrap:wrap;justify-content:center;gap:16px;display:flex}.pinyin-module__xo798q__balloon{cursor:grab;animation:3s ease-in-out infinite pinyin-module__xo798q__balloonFloat;animation-delay:var(--anim-delay,0s);-webkit-tap-highlight-color:transparent;flex-direction:column;align-items:center;gap:4px;display:flex}@keyframes pinyin-module__xo798q__balloonFloat{0%,to{transform:translateY(0)rotate(-3deg)}50%{transform:translateY(-10px)rotate(3deg)}}.pinyin-module__xo798q__balloonBody{background:radial-gradient(circle at 35% 30%, #fff9, var(--balloon-color,#ff8c42));border-radius:50%/40% 40% 60% 60%;flex-direction:column;justify-content:center;align-items:center;gap:4px;width:80px;height:90px;transition:all .3s;display:flex;position:relative;box-shadow:inset 0 -4px 8px #0000001a,0 4px 12px #00000026}.pinyin-module__xo798q__balloonAnimal{font-size:28px}.pinyin-module__xo798q__balloonSpeaker{font-size:14px}.pinyin-module__xo798q__balloonCheckmark{color:#fff;text-shadow:0 2px 4px #0000004d;font-size:20px;font-weight:900}.pinyin-module__xo798q__balloonString{background:#0000004d;border-radius:1px;width:2px;height:20px}.pinyin-module__xo798q__balloonMatched{opacity:.7;cursor:default;animation:none}.pinyin-module__xo798q__balloonMatched .pinyin-module__xo798q__balloonBody{background:radial-gradient(circle at 35% 30%,#fffc,#6bcb77);box-shadow:0 0 20px #6bcb7766}.pinyin-module__xo798q__balloonDragging{opacity:.5;animation:none;transform:scale(.9)}.pinyin-module__xo798q__balloonWrong{animation:.5s pinyin-module__xo798q__wrongShake!important}.pinyin-module__xo798q__balloonJustMatched{animation:.6s cubic-bezier(.34,1.56,.64,1) pinyin-module__xo798q__matchPop!important}@keyframes pinyin-module__xo798q__matchPop{0%{transform:scale(1)}50%{transform:scale(1.3)}to{transform:scale(1)}}.pinyin-module__xo798q__matchProgress{text-align:center;color:#7a5c3a;background:#ffffffb3;border-radius:999px;padding:8px 20px;font-size:16px;font-weight:700}.pinyin-module__xo798q__victoryContainer{justify-content:center;align-items:center;width:100%;padding:20px;display:flex;position:relative}.pinyin-module__xo798q__confettiRain{pointer-events:none;position:fixed;inset:0;overflow:hidden}.pinyin-module__xo798q__confetti{top:-20px;left:var(--x);background:var(--color);width:10px;height:10px;animation:pinyin-module__xo798q__confettiFall 3s linear var(--delay,0s) infinite;border-radius:2px;position:absolute}@keyframes pinyin-module__xo798q__confettiFall{0%{opacity:1;transform:translateY(-20px)rotate(0)}to{opacity:0;transform:translateY(100vh)rotate(720deg)}}.pinyin-module__xo798q__victoryCard{text-align:center;background:#fff;border:3px solid #ff8c4226;border-radius:40px;width:100%;max-width:500px;padding:40px 32px;animation:.6s cubic-bezier(.34,1.56,.64,1) pinyin-module__xo798q__popIn;box-shadow:0 20px 60px #ff8c4233}.pinyin-module__xo798q__victoryBadge{margin-bottom:8px;font-size:72px;animation:2s ease-in-out infinite pinyin-module__xo798q__float}.pinyin-module__xo798q__victoryTitle{color:#ff8c42;margin-bottom:8px;font-size:36px;font-weight:900}.pinyin-module__xo798q__victoryText{color:#7a5c3a;margin-bottom:20px;font-size:18px}.pinyin-module__xo798q__skillAchieved{color:#6bcb77;flex-direction:column;gap:8px;margin-bottom:24px;font-size:15px;font-weight:700;display:flex}.pinyin-module__xo798q__rewardStars{justify-content:center;gap:12px;margin-bottom:8px;display:flex}.pinyin-module__xo798q__starAnim{animation:.6s cubic-bezier(.34,1.56,.64,1) both pinyin-module__xo798q__starBounce;animation-delay:var(--delay,0s);font-size:40px}@keyframes pinyin-module__xo798q__starBounce{0%{opacity:0;transform:scale(0)rotate(-180deg)}to{opacity:1;transform:scale(1)rotate(0)}}.pinyin-module__xo798q__rewardLabel{color:#f0c000;font-size:20px;font-weight:800}
