.lesson-banner{margin-top:18px}
.lesson-header{display:flex;align-items:end;justify-content:space-between;gap:18px;margin:29px 0 15px}
.lesson-header h2{font-size:21px;margin:0 0 4px}
.lesson-header p{font-size:13px;color:#8291a6;margin:0}
.lesson-rail{display:flex;gap:10px;overflow-x:auto;padding:2px 2px 13px;scrollbar-color:#c9d9f3 transparent;scroll-snap-type:x proximity}
.lesson-pill{scroll-snap-align:start;flex:0 0 156px;border:1.5px solid #e4ebfa;background:#fff;border-radius:17px;padding:12px 13px;text-align:left;color:#48607e;box-shadow:0 5px 14px #6080b410;transition:transform .2s,box-shadow .2s,border-color .2s}
.lesson-pill:hover{transform:translateY(-3px);box-shadow:0 10px 20px #6080b426}
.lesson-pill.active{border-color:#79a2f0;background:linear-gradient(145deg,#eef6ff,#f8f1ff);box-shadow:0 7px 18px #7196e52c}
.lesson-pill span{display:block;color:#7891bf;font-size:11px;font-weight:900}
.lesson-pill b{display:block;font-size:14px;margin:5px 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lesson-pill small{display:block;color:#95a3b6;font-size:11px}
.lesson-current{display:flex;align-items:center;gap:13px;background:#fff;border:1px solid #e9eef7;border-radius:19px;padding:15px 17px;margin:8px 0 17px;box-shadow:var(--shadow)}
.lesson-current b{font-size:16px}
.lesson-current p{margin:3px 0 0;color:#8c9db3;font-size:12px}
.lesson-spark{width:38px;height:38px;border-radius:13px;display:grid;place-items:center;color:#fff;background:linear-gradient(140deg,#83b9f6,#9b88f1);font-size:22px;flex:none}
.notice a{color:#6d7fce;font-weight:900;text-decoration:underline;text-underline-offset:2px}
.enhanced-level-grid .level-card{min-height:180px}
.pet-alive{transform-origin:50% 72%;animation:petIdle 2.8s ease-in-out infinite}
.pet-form-3,.pet-form-4{filter:drop-shadow(0 4px 8px #e8b25355)}
.pet-form-4{filter:drop-shadow(0 0 12px #ffe188aa)}
.pet-profile .pet-stage{position:relative;overflow:hidden;min-height:240px}
.pet-stage-glow{position:absolute;width:180px;height:70px;border-radius:50%;background:#ffffffa8;filter:blur(18px);bottom:28px;left:50%;transform:translateX(-50%)}
.pet-profile .pet-stage .pet{position:relative;z-index:1}
.pet-stage-caption{position:absolute;bottom:10px;left:8px;right:8px;text-align:center;color:#7892a9;font-size:11px;font-weight:800}
.pet-burst{position:absolute;z-index:2;top:14px;right:22px;font-size:37px;animation:burst 1.3s ease-out both;pointer-events:none}
.pet-stat{display:grid;grid-template-columns:100px minmax(0,1fr);align-items:center;gap:10px;margin-top:11px;font-size:12px;font-weight:900;color:#7187a4}
.pet-stat-bar{height:9px;background:#e5ebf4;border-radius:99px;overflow:hidden}
.pet-stat-bar i{height:100%;display:block;border-radius:inherit;transition:width .3s}
.pet-play-note{display:block;color:#91a2b6;margin-top:10px;font-size:11px}
.pet-action-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
.pet-action-button{border:1.5px solid #e7ecf8;border-radius:18px;background:#fff;padding:15px 8px 13px;min-height:113px;display:grid;justify-items:center;align-content:center;gap:3px;color:#476081;box-shadow:0 7px 17px #607da515;transition:transform .18s,box-shadow .18s,border-color .18s}
.pet-action-button:hover{transform:translateY(-4px);border-color:#a5baf5;box-shadow:0 13px 24px #607da528}
.pet-action-button span{font-size:27px}.pet-action-button b{font-size:13px}.pet-action-button small{font-size:10px;color:#9caac0}
.enhanced-dialog{width:min(100%,660px)}
.quiz-question-line{display:flex;align-items:start;justify-content:space-between;gap:12px;margin:5px 0 17px}
.quiz-question-line .question{margin:0;flex:1}
.enhanced-dialog .question{white-space:pre-line}
.speak-question,.speak-mini{border:0;background:#ecf5ff;color:#557bd1;border-radius:12px;font-weight:900;min-width:44px;min-height:44px;flex:none}
.speak-question{padding:8px 12px;white-space:nowrap;font-size:12px}
.speak-question:hover,.speak-mini:hover{background:#dcecff}
.quiz-choices{grid-template-columns:1fr}
.quiz-choice-row{display:flex;gap:9px;align-items:stretch}
.quiz-choice-row .choice{flex:1;text-align:left;min-width:0}
.quiz-choice-row .choice.selected{border-color:#789ff1;background:#eef5ff}
.quiz-choice-row .choice.correct{border-color:#5fce99;background:#e9faef}
.quiz-choice-row .choice.wrong{border-color:#f09f9f;background:#fff0ef}
.quiz-check{margin-top:14px}
.quiz-fill{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px;align-items:end}
.quiz-fill label{grid-column:1/-1;color:#7890ad;font-size:12px;font-weight:900}
.quiz-fill input{height:49px;border:2px solid #dfe8f8;border-radius:14px;padding:0 14px;font:inherit;color:#334d70;min-width:0}
.quiz-fill input:focus{outline:3px solid #bdd5ff;outline-offset:2px}
.quiz-order-tray{display:flex;align-items:center;flex-wrap:wrap;gap:8px;min-height:65px;border:2px dashed #cbdaf5;background:#f8fbff;border-radius:15px;padding:10px;margin-bottom:15px}
.quiz-order-tray b{font-size:12px;color:#7890ad}.quiz-order-tray span{font-size:12px;color:#a4b2c5}
.quiz-token-list{display:flex;flex-wrap:wrap;gap:10px}.quiz-token-wrap{display:inline-flex;align-items:center;background:#fff;border:1px solid #dde9f9;border-radius:13px;overflow:hidden}
.quiz-token{border:0;background:#fff;color:#476081;font-weight:900;padding:11px 13px;min-height:44px}
.quiz-token.picked{background:#e8f2ff;border-radius:10px}.quiz-token-wrap .speak-mini{border-radius:0;background:#f2f8ff}
.quiz-token:hover{background:#eef5ff}
.pet-action-jump .pet{animation:petJump 1.4s ease-in-out both}.pet-action-spin .pet{animation:petSpin 1.4s ease-in-out both}
.pet-action-wave .pet{animation:petWave 1.4s ease-in-out both}.pet-action-blink .pet{animation:petBlink 1.4s ease-in-out both}
.pet-action-dance .pet{animation:petDance 1.4s ease-in-out both}.pet-action-run .pet{animation:petRun 1.4s ease-in-out both}
.pet-action-roll .pet{animation:petRoll 1.4s ease-in-out both}.pet-action-stretch .pet{animation:petStretch 1.4s ease-in-out both}
.pet-action-sparkle .pet{animation:petSparkle 1.4s ease-in-out both}.pet-action-nap .pet{animation:petNap 1.4s ease-in-out both}
@keyframes petIdle{0%,100%{transform:translateY(0) scale(1)}50%{transform:translateY(-5px) scale(1.025)}}
@keyframes burst{0%{opacity:0;transform:translateY(12px) scale(.4)}25%{opacity:1}100%{opacity:0;transform:translateY(-34px) scale(1.5)}}
@keyframes petJump{0%,100%{transform:translateY(0)}25%,70%{transform:translateY(-62px) scale(.92,1.08)}45%{transform:translateY(-20px)}}
@keyframes petSpin{0%,100%{transform:rotate(0)}50%{transform:rotate(360deg) scale(1.08)}}
@keyframes petWave{0%,100%{transform:rotate(0)}25%,65%{transform:rotate(-17deg)}45%,85%{transform:rotate(17deg)}}
@keyframes petBlink{0%,100%{transform:scale(1)}35%,52%{transform:scale(1.1,.67)}75%{transform:scale(1.02)}}
@keyframes petDance{0%,100%{transform:translate(0,0) rotate(0)}20%{transform:translate(-14px,-15px) rotate(-12deg)}40%{transform:translate(13px,-6px) rotate(12deg)}60%{transform:translate(-13px,-18px) rotate(-12deg)}80%{transform:translate(13px,-5px) rotate(12deg)}}
@keyframes petRun{0%,100%{transform:translateX(0)}20%{transform:translate(-32px,-10px)}45%{transform:translate(30px,-4px)}70%{transform:translate(-18px,-9px)}}
@keyframes petRoll{0%,100%{transform:rotate(0)}45%{transform:rotate(-360deg) translateY(-12px)}}
@keyframes petStretch{0%,100%{transform:scale(1)}35%{transform:scale(1.22,.86)}70%{transform:scale(.91,1.16)}}
@keyframes petSparkle{0%,100%{transform:scale(1);filter:brightness(1)}30%,70%{transform:scale(1.16);filter:brightness(1.45)}}
@keyframes petNap{0%,100%{transform:translateY(17px) rotate(-8deg) scale(.9)}50%{transform:translateY(20px) rotate(-8deg) scale(.93)}}
@media(max-width:900px){.pet-action-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:700px){.lesson-header{align-items:start;flex-direction:column}.lesson-header h2{font-size:18px}.lesson-pill{flex-basis:146px}.pet-action-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.pet-action-button{min-height:95px}.quiz-question-line{flex-direction:column}.speak-question{align-self:flex-start}.quiz-fill{grid-template-columns:1fr}.quiz-fill .soft-btn{width:100%}}
@media(prefers-reduced-motion:reduce){.pet-alive,.pet-stage .pet,.pet-burst{animation:none!important}.lesson-pill,.pet-action-button{transition:none}}
