:root{font-family:PingFang SC,Hiragino Sans GB,Microsoft YaHei,system-ui,sans-serif;color:#24422f;background:#f1f8dd;--leaf: #5fa646;--deep: #22553a;--grass: #9bd86f;--sky: #dff4ff;--sun: #ffd45c;--orange: #ff9f43;--cream: #fff7d8;--card: rgba(255, 255, 255, .9);--line: rgba(34, 85, 58, .14);--shadow: 0 24px 54px rgba(53, 102, 59, .18)}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{overflow-x:hidden}button,input{font:inherit}button{border:0;cursor:pointer}button:disabled{cursor:not-allowed;opacity:.58}.child-shell{min-height:100vh;padding:24px clamp(18px,4vw,56px) 32px;background:linear-gradient(180deg,#d9f6ffe0,#f4fadef5 46%),radial-gradient(circle at 12% 12%,rgba(255,212,92,.22),transparent 28%),radial-gradient(circle at 88% 82%,rgba(121,184,74,.2),transparent 30%)}.child-topbar{max-width:1320px;height:72px;margin:0 auto 18px;display:flex;align-items:center;justify-content:space-between;gap:16px}.home-title-wrap{min-width:0}.child-topbar h1{margin:6px 0 0;color:var(--deep);font-size:32px;line-height:1.05}.date-chip{display:inline-flex;padding:5px 12px;border-radius:999px;background:#ffffffb8;color:#5b7e66;font-weight:900}.top-stats{display:flex;align-items:center;gap:10px}.sun-stat,.round-icon{min-height:52px;border-radius:20px;background:#ffffffe6;border:1px solid var(--line);box-shadow:0 10px 24px #2e5e361f;color:var(--deep)}.sun-stat{display:grid;grid-template-columns:22px auto;grid-template-rows:auto auto;column-gap:8px;align-items:center;padding:8px 14px}.sun-stat svg{grid-row:1 / 3;color:#e49a15}.sun-stat strong{font-size:22px;line-height:1}.sun-stat span{color:#688774;font-size:13px;font-weight:900}.round-icon{width:52px;display:grid;place-items:center}.sound-toggle{grid-template-rows:1fr auto;gap:0;padding:5px 0;font-weight:1000}.sound-toggle span{font-size:11px;line-height:1}.sound-toggle.compact{width:46px;min-height:46px;border-radius:16px}.garden-home{max-width:1320px;margin:0 auto;display:grid;grid-template-columns:256px minmax(0,1fr);gap:20px;align-items:stretch}.garden-map{min-width:0;align-self:stretch;border-radius:28px;padding:18px;background:#ffffffbd;border:1px solid var(--line);box-shadow:var(--shadow)}.map-title{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:14px}.map-title span{display:block;color:#63846e;font-weight:900}.map-title strong{display:block;color:var(--deep);font-size:30px}.map-toggle,.map-drawer-layer{display:none}.task-path{display:grid;gap:12px;position:relative}.task-path:before{content:"";position:absolute;left:25px;top:18px;bottom:18px;width:7px;border-radius:999px;background:linear-gradient(180deg,var(--sun),var(--grass))}.path-node{position:relative;min-height:76px;display:grid;grid-template-columns:52px minmax(0,1fr);gap:10px;align-items:center;padding:10px 12px 10px 0;border-radius:22px;background:#ffffffb8;color:var(--deep);text-align:left}.path-node.active{background:#fff8dc;box-shadow:inset 0 0 0 3px #ff9f43b3}.path-node.done{background:#edf9e9}.path-dot{z-index:1;width:52px;height:52px;display:grid;place-items:center;border-radius:50%;background:#fff;border:4px solid #f3cc60;color:var(--deep);font-weight:1000}.path-node.done .path-dot{background:var(--leaf);border-color:#cdeea6;color:#fff}.path-node strong{display:block;font-size:19px}.path-node small{display:block;margin-top:4px;color:#658873;font-size:13px;font-weight:900}.home-stage-card,.quest-layout,.coming-stage{min-width:0}.stage-picture,.game-stage{position:relative;overflow:hidden;border-radius:30px;min-height:640px;background-size:cover;background-position:center;border:8px solid rgba(255,255,255,.7);box-shadow:var(--shadow)}.stage-picture:after,.game-stage:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#ffffff05,#fff5c642);pointer-events:none}.home-stage-copy{position:absolute;z-index:4;left:50%;top:50%;width:min(480px,54%);transform:translate(-50%,-48%);display:grid;justify-items:center;text-align:center;gap:10px;padding:28px;border-radius:28px;background:#ffffffbd;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px)}.progress-badge{width:74px;height:74px;display:grid;place-items:center;border-radius:50%;background:radial-gradient(circle at 35% 35%,#fff7a5,var(--sun) 60%,#ffa836);color:var(--deep);font-size:24px;font-weight:1000}.home-stage-copy p,.home-stage-copy span,.coming-card p,.quest-footer p{margin:0;color:#5e806a;font-weight:900}.home-stage-copy h2{margin:0;color:var(--deep);font-size:clamp(38px,5vw,66px);line-height:1}.big-start{min-height:70px;display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:0 30px;border-radius:22px;background:linear-gradient(180deg,#ffbd55,#ff8f35);color:#fff;font-size:24px;font-weight:1000;box-shadow:0 12px #d56d25,0 24px 34px #a152183d}.big-start:active,.answer-button:active{transform:translateY(5px);box-shadow:0 6px #d56d25,0 14px 20px #a152182e}.next-preview{margin-top:14px;display:flex;gap:12px;align-items:center;padding:16px 18px;border-radius:24px;background:var(--card);border:1px solid var(--line)}.next-preview strong,.next-preview span{display:block}.next-preview span{margin-top:4px;color:#658873;font-weight:800}.sprite{position:absolute;z-index:3;background-image:url(/assets/v2/characters-sheet.png);background-size:300% 200%;background-repeat:no-repeat;filter:drop-shadow(0 20px 24px rgba(52,91,41,.26))}.sprite.hero{width:265px;height:265px;left:6%;bottom:6%}.sprite.monster{width:250px;height:250px;right:7%;bottom:7%}.sprite.hero.stand{background-position:0% 0%}.sprite.hero.aim{background-position:50% 0%;animation:heroCharge 1.05s ease-out both}.sprite.hero.celebrate{background-position:100% 0%}.sprite.monster.stand{background-position:0% 100%}.sprite.monster.hit{background-position:50% 100%;animation:monsterBounce 1.05s ease-out both}.sprite.monster.happy{background-position:100% 100%}.sprite.hero.wrong-hint{animation:heroWonder .78s ease both}.sprite.monster.listen-hint{animation:monsterListen .78s ease both}.quest-layout{max-width:1180px;margin:0 auto;display:grid;gap:14px}.quest-topline{height:48px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;color:#5c7e67;font-weight:1000}.quest-topline>strong{justify-self:center;color:var(--deep)}.quest-top-actions{display:flex;align-items:center;justify-content:end;gap:10px}.plain-link{min-height:44px;display:inline-flex;align-items:center;gap:6px;padding:0 16px;border-radius:999px;background:#ffffffc7;color:var(--deep);font-weight:1000}.game-stage{min-height:470px;border-radius:32px}.stage-question{position:absolute;z-index:5;left:50%;top:48%;width:min(520px,52%);transform:translate(-50%,-50%);display:grid;justify-items:center;gap:8px;padding:24px 28px;border-radius:28px;background:#fffc;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 18px 38px #47704229}.stage-question span{color:#5f866b;font-size:17px;font-weight:1000}.stage-question h2{margin:0;color:var(--deep);font-size:clamp(42px,5.6vw,72px);line-height:1.06;text-align:center}.answer-dock{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.answer-button{min-height:82px;border-radius:24px;background:linear-gradient(180deg,#fff,#fff3c8);color:var(--deep);font-size:42px;font-weight:1000;box-shadow:0 9px #edc66f,0 20px 28px #4d672724;border:3px solid rgba(255,255,255,.9)}.answer-button.right{background:linear-gradient(180deg,#e8ffd7,#bce789);box-shadow:0 9px #79b84a,0 20px 28px #4d672724}.answer-button.right:disabled{opacity:1}.answer-button.try-again{animation:softShake .42s ease;background:linear-gradient(180deg,#fff,#ffe4dc);border-color:#e5815fb8;color:#8d4d3c;opacity:1;box-shadow:0 7px #e6a786,0 18px 26px #994b2f29}.answer-button.try-again:disabled{opacity:1}.quest-footer{min-height:72px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;border-radius:24px;background:var(--card);border:1px solid var(--line)}.feedback-copy{min-width:0;min-height:52px;display:flex;align-items:center;gap:12px}.soft-complete{min-height:54px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0 18px;border-radius:18px;background:#eef8e8;color:var(--deep);font-weight:1000}.soft-complete.primary{background:linear-gradient(180deg,#ffbd55,#ff9135);color:#fff}.listen-again{min-height:50px;display:inline-flex;align-items:center;justify-content:center;gap:8px;flex:0 0 auto;padding:0 16px;border-radius:16px;background:#fff8d7;color:var(--deep);font-weight:1000;box-shadow:inset 0 0 0 2px #ff9f4347}.listen-again.needs-attention{background:linear-gradient(180deg,#fff8d7,#ffe8c9);box-shadow:inset 0 0 0 3px #ff9f438f}.stage-effects{position:absolute;z-index:6;top:0;right:0;bottom:0;left:0;overflow:hidden;pointer-events:none}.charge-ring{position:absolute;left:23%;top:57%;width:44px;height:44px;border-radius:50%;border:6px solid rgba(255,242,128,.85);box-shadow:0 0 24px #ffd45ce6;animation:chargeRing .32s ease-out both}.pea-shot{position:absolute;left:26%;top:58%;width:38px;height:38px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#f7ffb2,#8ee54f 62%,#46a83d);box-shadow:0 0 26px #e6ff6df2,-16px 0 20px #c6ff6b6b;animation:peaFlight .9s cubic-bezier(.2,.8,.26,1) both}.hit-spark{position:absolute;right:19%;top:52%;width:72px;height:72px;background:#fff172;clip-path:polygon(50% 0,61% 36%,98% 36%,68% 56%,80% 92%,50% 72%,20% 92%,32% 56%,2% 36%,39% 36%);opacity:0;animation:hitSpark .55s .42s ease-out both}.hit-spark.two{right:14%;top:42%;width:42px;height:42px;animation-delay:.48s}.sun-coin{position:absolute;right:18%;top:54%;width:46px;height:46px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#fff7a5,var(--sun) 60%,#f49a25);box-shadow:0 0 18px #ffd45cdb;opacity:0;animation:coinFly .55s .72s ease-in both}.wrong-effects{position:absolute;z-index:7;top:0;right:0;bottom:0;left:0;overflow:hidden;pointer-events:none}.wrong-effects span{position:absolute;display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:#ffffffc7;color:#b86b37;font-size:24px;font-weight:1000;animation:questionFloat .78s ease-out both}.wrong-effects span:nth-child(1){left:24%;top:35%}.wrong-effects span:nth-child(2){right:28%;top:36%;animation-delay:.08s}.wrong-effects span:nth-child(3){right:18%;top:50%;animation-delay:.15s}.phase-soft-error .stage-question{animation:questionBreathe .78s ease both}.reward-effects{position:absolute;z-index:12;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;pointer-events:none}.reward-badge{width:160px;height:160px;display:grid;place-items:center;align-content:center;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff9bd,var(--sun) 58%,#ff9f43);color:var(--deep);box-shadow:0 0 0 14px #ffd45c47,0 24px 50px #cf7b1957;animation:rewardPop 1.45s ease-out both}.reward-badge strong{margin-top:-4px;font-size:44px;line-height:1}.mini-sun,.flying-sun{position:absolute;width:24px;height:24px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#fff9bd,var(--sun) 60%,#ff9f43);box-shadow:0 0 12px #ffd45cb8}.mini-sun{animation:miniSunBurst 1.35s ease-out both}.sun-1{--x: -150px;--y: -70px}.sun-2{--x: -95px;--y: -125px}.sun-3{--x: 0;--y: -150px}.sun-4{--x: 98px;--y: -118px}.sun-5{--x: 150px;--y: -50px}.sun-6{--x: 135px;--y: 70px}.sun-7{--x: 58px;--y: 135px}.sun-8{--x: -45px;--y: 142px}.sun-9{--x: -130px;--y: 72px}.sun-10{--x: -170px;--y: 10px}.flying-sun{width:42px;height:42px;animation:bigSunFly 1.45s .28s ease-in both}.character-intro,.character-quest,.character-summary-layout{max-width:1180px;min-width:0;margin:0 auto;display:grid;gap:14px}.character-intro{max-width:1320px}.character-intro-stage{min-height:520px}.character-intro-stage .sprite.hero{left:10%;bottom:4%}.character-hero-card{position:absolute;z-index:4;left:50%;top:50%;width:min(560px,58%);transform:translate(-50%,-47%);display:grid;justify-items:center;gap:12px;padding:30px;border-radius:30px;background:#fffc;text-align:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 20px 42px #47704226}.character-hero-card span,.character-symbol-card span,.character-result-card span,.character-panel-title span{color:#5f866b;font-weight:1000}.character-hero-card h2{margin:0;color:var(--deep);font-size:clamp(42px,5vw,62px);line-height:1.04}.character-hero-card p{margin:0;color:#5e806a;font-size:20px;font-weight:900}.character-card-panel{padding:20px;border-radius:28px;background:#ffffffc2;border:1px solid var(--line);box-shadow:var(--shadow)}.character-panel-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.character-panel-title strong{display:block;margin-top:4px;color:var(--deep);font-size:28px}.character-card-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}.character-flash-card{min-height:170px;display:grid;align-content:space-between;gap:12px;padding:16px;border-radius:24px;background:linear-gradient(180deg,#fff,#fff7d9);border:3px solid rgba(255,255,255,.92);box-shadow:0 10px #edc66f,0 20px 28px #4d67271f}.character-flash-card.known{background:linear-gradient(180deg,#f2ffe9,#d7f4bc);box-shadow:0 10px #89c75a,0 20px 28px #4d67271f}.character-flash-card span,.character-flash-card small{display:block;color:#678874;font-weight:900}.character-flash-card strong{display:block;margin:6px 0;color:var(--deep);font-size:58px;line-height:1}.known-toggle{min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:7px;border-radius:16px;background:#fffc;color:var(--deep);font-weight:1000;box-shadow:inset 0 0 0 2px #22553a1a}.known-toggle[aria-pressed=true]{background:#5fa646;color:#fff}.character-game-stage{min-height:470px}.character-symbol-card,.character-result-card{position:absolute;z-index:5;left:50%;top:44%;width:min(520px,50%);transform:translate(-50%,-50%);display:grid;justify-items:center;gap:10px;padding:24px 28px;border-radius:30px;background:#ffffffd1;text-align:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 18px 38px #47704229}.character-symbol-card h2{margin:0;color:var(--deep);font-size:clamp(92px,11vw,138px);line-height:.95}.character-symbol-card.is-correct h2{color:#3f9639}.character-symbol-card p,.character-result-card p{margin:0;color:#5e806a;font-size:18px;font-weight:900}.listen-orb{width:150px;height:150px;display:grid;place-items:center;align-content:center;gap:5px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff9bd,var(--sun) 58%,#ff9f43);color:var(--deep);font-size:20px;font-weight:1000;box-shadow:0 12px #d9892b,0 20px 34px #a1521833}.character-answer-dock.char-options .answer-button{font-size:58px}.character-result-card h2{margin:0;color:var(--deep);font-size:clamp(44px,5vw,66px);line-height:1.05}.coming-stage{max-width:1120px;margin:0 auto;display:grid;gap:16px}.stage-picture.calm{min-height:560px}.coming-card{position:absolute;z-index:4;left:50%;top:50%;width:min(520px,58%);transform:translate(-50%,-50%);padding:26px;border-radius:28px;background:#ffffffd1;text-align:center}.coming-card span{color:#5e806a;font-weight:1000}.coming-card h2{margin:8px 0;color:var(--deep);font-size:34px;line-height:1.18}.text-task-layout{max-width:980px;min-width:0;margin:0 auto;display:grid;gap:14px}.text-task-stage{position:relative;min-height:560px;display:grid;place-items:center;overflow:hidden;border-radius:30px;padding:28px;background:linear-gradient(180deg,#ffffffb3,#fff7d8eb),url(/assets/v2/garden-stage.png) center / cover;border:8px solid rgba(255,255,255,.7);box-shadow:var(--shadow)}.poem-reader-card,.reading-card{position:relative;z-index:2;width:min(700px,100%);display:grid;justify-items:center;gap:14px;padding:28px;border-radius:28px;background:#ffffffdb;text-align:center;box-shadow:0 18px 38px #47704229}.poem-reader-card span,.reading-card span{color:#5f866b;font-weight:1000}.poem-reader-card h2,.reading-card h2{margin:0;color:var(--deep);font-size:clamp(38px,5vw,58px);line-height:1.05}.poem-reader-card p,.reading-card p{margin:0;color:#5e806a;font-weight:900}.poem-lines{display:grid;gap:8px;margin:8px 0}.poem-lines button{min-height:50px;border-radius:16px;padding:0 18px;background:#fff8d7;color:var(--deep);font-size:clamp(26px,4vw,40px);font-weight:1000}.poem-lines button.with-pinyin{min-height:74px;display:grid;align-content:center;gap:4px;padding:8px 18px}.poem-line-pinyin{display:block;color:#6f8b72;font-size:clamp(15px,2.3vw,20px);line-height:1.2;font-weight:900}.poem-reader-card .poem-line-text{display:block;color:var(--deep);font-weight:1000}.story-text{width:100%;max-height:300px;overflow-y:auto;padding:18px;border-radius:20px;background:#fffdf0;color:#315740;text-align:left;white-space:pre-wrap;line-height:1.9;font-size:20px;font-weight:800}.gate-shell{min-height:100vh;display:grid;place-items:center;padding:22px;background:linear-gradient(180deg,#ddf4ff,#f1f8dd)}.gate-card{width:min(560px,100%);display:grid;gap:12px;padding:22px;border-radius:28px;background:#ffffffe0;box-shadow:var(--shadow)}.gate-card.compact{text-align:center}.gate-card img{width:100%;border-radius:24px}.gate-card h1{margin:0;color:var(--deep);font-size:34px}.gate-card p{margin:0;color:#658873;font-weight:800}.gate-card input{min-height:54px;border:2px solid rgba(34,85,58,.14);border-radius:18px;padding:0 16px;outline:none}.gate-error{margin:0;padding:10px 12px;border-radius:16px;background:#ffe5df;color:#9c4432;font-weight:900}@keyframes heroCharge{0%{transform:translate(0) rotate(0)}15%{transform:translate(-8px) rotate(-2deg)}45%{transform:translate(10px) rotate(1deg)}to{transform:translate(0) rotate(0)}}@keyframes monsterBounce{0%,38%{transform:translateY(0) scale(1)}58%{transform:translateY(-15px) scale(1.04)}to{transform:translateY(4px) scale(.98)}}@keyframes heroWonder{0%,to{transform:rotate(0) translateY(0)}35%{transform:rotate(-7deg) translateY(-2px)}68%{transform:rotate(5deg) translateY(1px)}}@keyframes monsterListen{0%,to{transform:scale(1) translateY(0)}45%{transform:scale(1.04) translateY(-5px)}}@keyframes chargeRing{0%{transform:scale(.2);opacity:0}55%{opacity:1}to{transform:scale(1.4);opacity:0}}@keyframes peaFlight{0%{transform:translate(0) scale(.2);opacity:0}12%{opacity:1}58%{transform:translate(36vw,-7vh) scale(1)}to{transform:translate(49vw,-2vh) scale(.6);opacity:0}}@keyframes hitSpark{0%{transform:scale(.1) rotate(-20deg);opacity:0}45%{transform:scale(1.2) rotate(8deg);opacity:1}to{transform:scale(.9) rotate(0);opacity:0}}@keyframes coinFly{0%{transform:translate(0) scale(.4);opacity:0}20%{opacity:1}to{transform:translate(28vw,-42vh) scale(.8);opacity:0}}@keyframes softShake{0%,to{transform:translate(0)}30%{transform:translate(-6px)}60%{transform:translate(6px)}}@keyframes questionFloat{0%{transform:translateY(12px) scale(.5);opacity:0}35%{opacity:1}to{transform:translateY(-32px) scale(1.05);opacity:0}}@keyframes questionBreathe{0%,to{transform:translate(-50%,-50%) scale(1)}50%{transform:translate(-50%,-50%) scale(1.025)}}@keyframes rewardPop{0%{transform:scale(.6);opacity:0}20%{opacity:1}55%{transform:scale(1.15);opacity:1}to{transform:scale(1);opacity:0}}@keyframes miniSunBurst{0%{transform:translate(0) scale(.4);opacity:0}25%{opacity:1}to{transform:translate(var(--x),var(--y)) scale(.9);opacity:0}}@keyframes bigSunFly{0%{transform:translate(0) scale(.6);opacity:0}20%{opacity:1}to{transform:translate(34vw,-38vh) scale(.45);opacity:0}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}@media(max-width:880px){.child-shell{min-height:100dvh;padding:10px 12px calc(12px + env(safe-area-inset-bottom))}.child-topbar{height:64px;margin-bottom:8px;gap:8px}.child-topbar h1{max-width:168px;margin-top:3px;overflow:hidden;font-size:25px;white-space:nowrap;text-overflow:ellipsis}.date-chip{padding:3px 10px;font-size:14px}.top-stats{gap:6px}.sun-stat{min-width:72px;min-height:48px;padding:5px 9px;border-radius:17px}.sun-stat strong{font-size:20px}.sun-stat span{font-size:12px}.round-icon{width:48px;min-height:48px;border-radius:17px}.garden-home{grid-template-columns:1fr;grid-template-rows:minmax(0,1fr) auto;gap:10px;min-height:calc(100dvh - 94px - env(safe-area-inset-bottom))}.home-stage-card{min-height:0;display:grid}.garden-map{order:2;min-height:60px;padding:9px 12px;border-radius:22px}.map-toggle{min-height:42px;display:inline-flex;align-items:center;gap:6px;padding:0 12px;border-radius:999px;background:#eef8e8;color:var(--deep);font-weight:1000}.task-path,.garden-map.open .task-path{display:none}.map-title{margin-bottom:0}.map-title strong{font-size:28px}.map-drawer-layer{position:fixed;z-index:50;top:0;right:0;bottom:0;left:0;display:block;background:#19392638}.map-drawer{position:absolute;left:10px;right:10px;bottom:10px;max-height:70dvh;display:grid;grid-template-rows:20px auto minmax(0,1fr);gap:10px;padding:10px 14px 14px;border-radius:26px;background:#fffffffa;box-shadow:0 24px 70px #1c432647}.drawer-handle{justify-self:center;width:54px;height:6px;border-radius:999px;background:#22553a3d}.drawer-title{display:flex;align-items:center;justify-content:space-between;color:var(--deep);font-weight:1000}.drawer-title span{color:#63846e}.drawer-path{min-height:0;display:grid;gap:10px;overflow-y:auto;padding-right:2px}.stage-picture{min-height:min(520px,calc(100dvh - 158px));border-width:5px}.home-stage-card .stage-picture{height:100%;min-height:0}.stage-picture,.game-stage{border-radius:26px}.home-stage-copy{top:43%;width:calc(100% - 32px);padding:18px 16px;gap:7px}.home-stage-copy h2{font-size:40px}.big-start{width:100%;min-height:66px;font-size:22px}.sprite.hero{width:168px;height:168px;left:-8px;bottom:6px}.sprite.monster{width:158px;height:158px;right:-4px;bottom:10px}.next-preview{display:none}.character-intro,.character-summary-layout{gap:10px}.character-intro-stage{height:min(520px,calc(100dvh - 74px));min-height:0;border-width:5px}.character-intro-stage .sprite.hero{width:144px;height:144px;left:4%;bottom:2%}.character-hero-card{top:42%;width:calc(100% - 34px);padding:20px 16px;border-radius:26px}.character-hero-card h2{font-size:38px}.character-hero-card p{font-size:16px}.character-card-panel{padding:14px;border-radius:24px}.character-panel-title strong{font-size:24px}.character-card-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.character-flash-card{min-height:146px;padding:12px;border-radius:20px;box-shadow:0 7px #edc66f,0 14px 18px #4d67271f}.character-flash-card.known{box-shadow:0 7px #89c75a,0 14px 18px #4d67271f}.character-flash-card strong{font-size:46px}.known-toggle{min-height:42px}.quest-layout{height:calc(100dvh - 22px - env(safe-area-inset-bottom));display:grid;grid-template-rows:48px 322px 154px minmax(116px,1fr);gap:8px;overflow:hidden}.character-summary-layout{height:calc(100dvh - 22px - env(safe-area-inset-bottom));grid-template-rows:48px minmax(0,1fr) minmax(116px,auto);overflow:hidden}.text-task-layout{min-height:calc(100dvh - 22px - env(safe-area-inset-bottom));grid-template-rows:48px auto auto;gap:8px;overflow:visible}.quest-topline{height:48px;grid-template-columns:auto minmax(0,1fr) auto;gap:7px}.quest-topline>strong{overflow:hidden;font-size:17px;white-space:nowrap;text-overflow:ellipsis}.quest-top-actions{gap:6px}.quest-top-actions>span{font-size:13px;white-space:nowrap}.plain-link{min-height:42px;padding:0 12px;font-size:15px}.back-link{max-width:112px}.game-stage{min-height:0;height:322px;border-width:5px;background-position:center}.character-summary-layout .game-stage{height:auto}.text-task-stage{min-height:0;align-items:start;padding:12px;border-width:5px;border-radius:26px}.poem-reader-card,.reading-card{max-height:none;overflow:visible;gap:10px;padding:18px 14px;border-radius:24px}.poem-reader-card h2,.reading-card h2{font-size:36px}.poem-lines{width:100%;max-height:min(44dvh,420px);min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding-right:2px}.poem-lines button{width:100%;min-height:48px;font-size:28px}.poem-lines button.with-pinyin{min-height:68px}.poem-line-pinyin{font-size:14px}.story-text{max-height:min(48dvh,360px);padding:14px;border-radius:18px;font-size:17px}.stage-question{top:35%;width:calc(100% - 32px);padding:14px 12px;border-radius:24px}.stage-question span{font-size:15px}.stage-question h2{font-size:34px;line-height:1.12}.answer-dock{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 12px}.answer-button{min-height:66px;border-radius:20px;font-size:32px;box-shadow:0 7px #edc66f,0 14px 18px #4d67271f}.character-symbol-card,.character-result-card{top:35%;width:calc(100% - 32px);padding:16px 14px;border-radius:24px}.character-symbol-card h2{font-size:92px}.character-symbol-card p,.character-result-card p{font-size:15px}.listen-orb{width:116px;height:116px;font-size:17px}.character-answer-dock.char-options .answer-button{font-size:42px}.character-result-card h2{font-size:40px}.quest-footer{min-height:116px;align-items:stretch;flex-direction:column;justify-content:space-between;gap:8px;padding:10px 12px;border-radius:22px}.quest-footer p{font-size:16px}.feedback-copy{min-height:48px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.listen-again{min-height:48px;padding:0 12px;border-radius:16px;white-space:nowrap}.soft-complete{width:100%;min-height:60px;border-radius:18px}.soft-complete.primary{box-shadow:0 8px #d56d25,0 18px 28px #a1521838}.charge-ring{left:18%;top:63%}.pea-shot{left:23%;top:64%}.hit-spark{right:18%;top:58%}.sun-coin{right:18%;top:60%}.reward-badge{width:130px;height:130px}.reward-badge strong{font-size:36px}.sprite.hero{width:128px;height:128px;left:3%;bottom:3%}.sprite.monster{width:124px;height:124px;right:4%;bottom:4%}}@media(max-width:430px){.stage-picture{min-height:min(510px,calc(100dvh - 158px))}.game-stage{height:322px;min-height:0}.progress-badge{width:64px;height:64px;font-size:21px}}.child-shell.home-map-shell{min-height:100dvh;padding:0;overflow:hidden;background:#86aa62}.home-map-shell .garden-home{position:relative;width:100%;height:100dvh;min-height:700px;max-width:none;margin:0;display:block;overflow:hidden;background:#86aa62}.home-map-shell .garden-map{position:absolute;top:0;right:0;bottom:0;left:0;min-width:0;padding:0;overflow:hidden;border:0;border-radius:0;background:#86aa62;box-shadow:none}.map-artboard{position:absolute;left:50%;top:50%;width:max(100vw,132.8125dvh);height:max(100dvh,calc(100vw * 1088 / 1445));transform:translate(-50%,-50%);overflow:hidden}.map-artboard:after{content:"";position:absolute;z-index:2;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 18% 8%,#ffec9b2e,#ffec9b00 28%),radial-gradient(circle at 50% 48%,#fff0,#2e543017),linear-gradient(180deg,#fff0ac0a,#27532f14);mix-blend-mode:soft-light;pointer-events:none}.map-background,.map-bg-layer{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.map-background{z-index:0}.map-bg-layer{display:block;background-position:center;background-repeat:no-repeat;background-size:100% 100%}.map-bg-scene{z-index:0;background-image:url(/assets/home-map/forest-map-clean.png);filter:saturate(1.04) brightness(.98)}.map-wood-title{position:absolute;z-index:10;left:3.6%;top:2%;width:29%;aspect-ratio:470 / 230;display:grid;place-items:center;background:url(/assets/home-map/home-title-board-style.png) center / contain no-repeat;pointer-events:none;filter:drop-shadow(0 18px 18px rgba(45,69,28,.24))}.map-wood-title:before{content:none}.map-wood-title:after{content:none}.map-wood-title span{position:relative;z-index:1;color:#14713b;font-size:clamp(34px,4.4vw,64px);font-weight:1000;line-height:1;transform:translateY(17%);text-shadow:0 2px 0 rgba(255,232,154,.88),0 4px 0 rgba(100,70,30,.2),0 8px 12px rgba(57,84,33,.22);white-space:nowrap}.map-wood-title>img{position:absolute;z-index:1;left:var(--home-title-art-x, 50%);top:var(--home-title-art-y, 55%);width:var(--home-title-art-width, 72%);max-height:72%;display:block;object-fit:contain;transform:translate(-50%,-50%) rotate(var(--home-title-art-rotation, 0deg));filter:drop-shadow(0 5px 5px rgba(61,74,26,.24));-webkit-user-select:none;user-select:none}.map-sound-button{position:absolute;z-index:11;right:4%;top:5.8%;width:clamp(116px,9.4vw,144px);aspect-ratio:178 / 160;height:auto;min-height:0;padding:0;border-radius:8px;background:url(/assets/home-map/home-music-branch-style.png) center / contain no-repeat;color:#216936;font-size:clamp(11px,.85vw,14px);font-weight:1000;box-shadow:none}.map-sound-button:before{content:none}.map-sound-button svg{position:absolute;left:50%;top:68%;width:20%;height:20%;padding:0;border-radius:0;background:transparent;color:#226c38;transform:translate(-50%,-50%);filter:drop-shadow(0 2px 0 rgba(255,244,184,.78)) drop-shadow(0 3px 4px rgba(66,70,32,.18))}.map-sound-button.is-off{opacity:.9}.map-sound-button.is-off svg{color:#7a5936}@media(min-aspect-ratio:145 / 109){.map-wood-title{top:8.2%}.map-sound-button{top:8.9%}}.map-house{position:absolute;z-index:6;left:80%;top:28.6%;width:clamp(190px,19vw,300px);transform:translate(-50%,-50%);filter:drop-shadow(0 16px 18px rgba(44,80,38,.22));pointer-events:none}.map-house img{display:block;width:100%;-webkit-user-select:none;user-select:none}.map-task-layer{position:absolute;z-index:8;top:0;right:0;bottom:0;left:0}.map-task-card{--status-footprint-left: 19%;--status-footprint-top: 84%;--status-footprint-width: 62%;--status-footprint-height: 17%;position:absolute;left:var(--desktop-x);top:var(--desktop-y);width:clamp(178px,15.6vw,244px);min-height:clamp(174px,16.8vw,250px);display:grid;align-content:end;justify-items:center;gap:0;padding:0;border-radius:8px;transform:translate(-50%,-50%);background:transparent;border:0;color:#20324b;text-align:center;box-shadow:none;-webkit-tap-highlight-color:transparent;transition:transform .18s ease,filter .18s ease}.map-task-card:hover,.map-task-card:focus-visible{transform:translate(-50%,-53%) scale(1.03);outline:0;filter:brightness(1.03)}.map-task-card:disabled{cursor:not-allowed;opacity:1}.map-task-card:disabled:hover,.map-task-card:disabled:focus-visible{transform:translate(-50%,-50%);filter:none}.map-status-scene{position:absolute;z-index:0;left:50%;top:42%;width:clamp(170px,15.8vw,248px);aspect-ratio:1;transform:translate(-50%,-50%);pointer-events:none}.status-celebration-art,.status-completed-rays-art,.status-growth-art,.status-lock-gate{position:absolute;pointer-events:none;opacity:0}.status-celebration-art,.status-completed-rays-art,.status-growth-art{z-index:1;top:-4%;right:-4%;bottom:-4%;left:-4%}.status-celebration-art img,.status-completed-rays-art img,.status-growth-art img,.status-lock-gate img{display:block;width:100%;height:100%;object-fit:contain;-webkit-user-select:none;user-select:none}.status-orbit,.status-mist,.status-sparkle,.status-firefly,.status-growth-art{position:absolute;opacity:0;pointer-events:none}.status-orbit{left:14%;top:22%;width:72%;height:52%;border-radius:48% 42% 52% 46%;background:transparent;filter:blur(3px)}.status-mist{left:14%;bottom:18%;width:76%;height:28%;border-radius:44% 56% 50% 50%;background:radial-gradient(ellipse at 23% 52%,rgba(255,255,255,.32),transparent 48%),radial-gradient(ellipse at 58% 46%,rgba(255,255,255,.22),transparent 54%),radial-gradient(ellipse at 82% 58%,rgba(255,255,255,.2),transparent 44%);filter:blur(7px);transform:rotate(-5deg)}.status-sparkle{width:6px;height:6px;border-radius:50%;background:#fff8a7;box-shadow:16px 7px 0 -2px #fff496c7,33px -4px 0 -1px #ffe154b8,-16px 15px 0 -2px #fff08bb8;filter:drop-shadow(0 0 7px rgba(255,225,84,.74))}.sparkle-one{left:20%;top:23%}.sparkle-two{right:23%;bottom:25%;width:5px;height:5px}.status-firefly{left:32%;top:66%;width:9px;height:9px;border-radius:50%;background:#eaff7f;--firefly-drift-x: -15px;--firefly-rise: clamp(-92px, -6.3vw, -60px);--firefly-mid-x: -4px;--firefly-mid-y: -18px;--firefly-late-x: -11px;--firefly-late-y: -56px;box-shadow:0 0 12px #dcff5eeb,0 0 22px #67db566b}.firefly-one{animation-duration:5.8s!important;animation-delay:-.8s!important}.firefly-two{left:44%;top:69%;--firefly-drift-x: 11px;--firefly-rise: clamp(-78px, -5.4vw, -52px);--firefly-mid-x: 3px;--firefly-mid-y: -16px;--firefly-late-x: 8px;--firefly-late-y: -48px;width:7px;height:7px;animation-duration:6.6s!important;animation-delay:-3.2s!important}.firefly-three{left:58%;top:65%;--firefly-drift-x: -7px;--firefly-rise: clamp(-102px, -7vw, -68px);--firefly-mid-x: -2px;--firefly-mid-y: -20px;--firefly-late-x: -5px;--firefly-late-y: -64px;width:6px;height:6px;animation-duration:7.2s!important;animation-delay:-5.1s!important}.firefly-four{left:70%;top:68%;--firefly-drift-x: 16px;--firefly-rise: clamp(-88px, -6vw, -58px);--firefly-mid-x: 5px;--firefly-mid-y: -17px;--firefly-late-x: 12px;--firefly-late-y: -54px;width:8px;height:8px;animation-duration:5.4s!important;animation-delay:-2.5s!important}.map-task-object{position:relative;z-index:2;width:clamp(116px,10.4vw,170px);display:block;filter:drop-shadow(0 14px 15px rgba(42,77,38,.23));transition:filter .18s ease,transform .18s ease}.status-lock-gate{z-index:4;left:50%;top:51%;width:clamp(72px,6.9vw,108px);aspect-ratio:1;transform:translate(-50%,-50%);filter:drop-shadow(0 14px 16px rgba(43,65,34,.28))}.map-task-object:after{content:"";position:absolute;left:12%;right:12%;bottom:2%;height:16%;border-radius:50%;background:#37762b29;filter:blur(8px);z-index:-1}.map-task-object img{display:block;width:100%;-webkit-user-select:none;user-select:none}.task-characters .map-task-object{width:clamp(122px,10.8vw,176px)}.map-task-card.task-characters{--status-footprint-left: 17%;--status-footprint-top: 84%;--status-footprint-width: 66%;--status-footprint-height: 17%}.task-pinyin .map-task-object{width:clamp(118px,9.6vw,164px)}.map-task-card.task-pinyin{--status-footprint-left: 19%;--status-footprint-top: 84%;--status-footprint-width: 62%;--status-footprint-height: 16%}.task-poem .map-task-object{width:clamp(124px,10.4vw,174px)}.map-task-card.task-poem{--status-footprint-left: 16%;--status-footprint-top: 84%;--status-footprint-width: 68%;--status-footprint-height: 18%}.task-math .map-task-object{width:clamp(118px,9.8vw,162px)}.map-task-card.task-math{--status-footprint-left: 22%;--status-footprint-top: 84%;--status-footprint-width: 56%;--status-footprint-height: 18%}.task-reading .map-task-object{width:clamp(130px,11.2vw,184px)}.map-task-card.task-reading{--status-footprint-left: 14%;--status-footprint-top: 84%;--status-footprint-width: 72%;--status-footprint-height: 19%}.task-jump-rope .map-task-object{width:clamp(122px,10.5vw,174px)}.map-task-card.task-jump-rope{--status-footprint-left: 14%;--status-footprint-top: 84%;--status-footprint-width: 72%;--status-footprint-height: 18%}.task-writing .map-task-object{width:clamp(132px,11.2vw,188px)}.map-task-card.task-writing{--status-footprint-left: 14%;--status-footprint-top: 84%;--status-footprint-width: 72%;--status-footprint-height: 19%}.map-task-label{position:relative;z-index:3;min-width:clamp(108px,8.9vw,148px);min-height:42px;display:inline-grid;grid-template-columns:auto minmax(0,auto);align-items:center;justify-content:center;gap:7px;margin-top:-15px;padding:6px 11px 7px 7px;border:2px solid rgba(103,62,23,.34);border-radius:8px;background:linear-gradient(90deg,rgba(151,88,35,.16),transparent 14%,transparent 86%,rgba(98,57,24,.18)),linear-gradient(180deg,#e9b568,#c88438 53%,#a9652c);box-shadow:0 9px 13px #3f4c2338,inset 0 2px #ffe49d80,inset 0 -3px #6a3b172e;transform:rotate(-1deg)}.map-task-number{width:30px;height:30px;display:grid;place-items:center;border-radius:50%;flex:0 0 auto;background:linear-gradient(180deg,#91b47b,#5d7d4c);color:#fff7d7;font-size:18px;font-weight:1000;text-shadow:0 2px 2px rgba(41,57,31,.25);box-shadow:inset 0 0 0 3px #ffffff7a,0 2px 5px #3c2f1b3d}.map-task-copy{min-width:0;display:block}.map-task-copy strong{display:block;color:#553112;font-size:clamp(19px,1.36vw,24px);line-height:1;font-weight:1000;text-shadow:0 1px 0 rgba(255,225,152,.78),0 2px 3px rgba(86,49,18,.2);white-space:nowrap}.map-task-card.status-completed .map-task-object{filter:drop-shadow(0 0 22px rgba(255,222,86,.86)) drop-shadow(0 16px 16px rgba(74,91,37,.2))}.map-task-card.status-completed .status-celebration-art{opacity:1;clip-path:inset(0 40% 70% 40%);animation:mapCelebrationBreathe 3.8s ease-in-out infinite;filter:sepia(.22) saturate(1.48) brightness(1.28) contrast(1.08) drop-shadow(0 0 10px rgba(255,232,107,.72));mix-blend-mode:screen}.map-task-card.status-completed .status-completed-rays-art{z-index:0;top:0;right:0;bottom:0;left:0;opacity:.86;transform-origin:50% 62%;animation:mapRaysPulse 3.2s ease-in-out infinite}.map-task-card.status-completed .status-orbit{opacity:1;left:var(--status-footprint-left);top:var(--status-footprint-top);width:var(--status-footprint-width);height:var(--status-footprint-height);border:2px solid rgba(255,231,105,.84);border-radius:48% 52% 46% 54%/55% 48% 52% 45%;background:radial-gradient(ellipse at 50% 50%,#ffe26361,#ffdd5e00 70%);box-shadow:0 0 7px 2px #fff089b8,0 0 14px 4px #ffc72c57,inset 0 0 12px #fff19780;filter:blur(1px);animation:mapCompletedGlow 3.6s ease-in-out infinite}.map-task-card.status-completed .status-sparkle{opacity:1;animation:mapSunTwinkle 2.8s ease-in-out infinite}.map-task-card.status-completed .map-task-label{border-color:#ffd94cbd;background:linear-gradient(90deg,rgba(255,235,130,.18),transparent 14%,transparent 86%,rgba(158,91,29,.16)),linear-gradient(180deg,#ecc16d,#c98636 56%,#aa682e);box-shadow:0 0 16px #ffdb5b57,0 10px 15px #5c481f33,inset 0 2px #fff0ab9e,inset 0 -3px #6a3b1729}.map-task-card.status-completed .map-task-number{background:linear-gradient(180deg,#88b45d,#4f7a3e);color:#fff7dc}.map-task-card.status-in_progress .map-task-object{filter:drop-shadow(0 0 15px rgba(152,239,98,.54)) drop-shadow(0 16px 16px rgba(70,89,40,.22))}.map-task-card.status-in_progress .status-orbit{opacity:1;left:var(--status-footprint-left);top:var(--status-footprint-top);width:var(--status-footprint-width);height:var(--status-footprint-height);border:2px solid rgba(176,255,118,.86);border-radius:48% 52% 46% 54%/55% 48% 52% 45%;background:radial-gradient(ellipse at 50% 50%,#aeff7261,#aeff7200 70%);box-shadow:0 0 7px 2px #d8ff94ad,0 0 14px 4px #59de5170,inset 0 0 12px #c5ff8b80;filter:blur(1px);animation:mapActiveGlow 2.6s ease-in-out infinite}.map-task-card.status-in_progress .status-firefly{animation-name:mapFireflyRise;animation-timing-function:ease-out;animation-iteration-count:infinite}.map-task-card.status-in_progress .map-task-label{border-color:#9deb5ac2;box-shadow:0 0 22px #abf35d80,0 10px 15px #435b2633,inset 0 2px #ffe69e8f,inset 0 -3px #623a1a2e;animation:mapTaskBreathe 2.8s ease-in-out infinite}.map-task-card.status-in_progress .map-task-number{background:linear-gradient(180deg,#9fe36f,#3f963f);color:#fff}.map-task-card.status-not_started .map-task-number{background:linear-gradient(180deg,#a4ba95,#718764)}.map-task-card.status-not_started .status-orbit{opacity:0}.map-task-card.status-not_started .status-mist{left:calc(var(--status-footprint-left) - 3%);top:calc(var(--status-footprint-top) - 2%);bottom:auto;width:calc(var(--status-footprint-width) + 6%);height:calc(var(--status-footprint-height) + 5%);border:2px solid rgba(255,255,255,.66);border-radius:48% 52% 46% 54%/55% 48% 52% 45%;background:radial-gradient(ellipse at 20% 56%,rgba(255,255,255,.7),transparent 38%),radial-gradient(ellipse at 52% 48%,rgba(255,255,255,.48),transparent 58%),radial-gradient(ellipse at 84% 58%,rgba(255,255,255,.62),transparent 40%);box-shadow:0 0 9px 3px #ffffff6b,inset 0 0 12px #fff6;filter:blur(3px);opacity:.94;animation:mapMistDrift 5.6s ease-in-out infinite}.map-task-card.status-not_started .status-growth-art{opacity:.92;animation:mapGrowthBreathe 4.6s ease-in-out infinite}.map-task-card.status-locked .map-task-object{opacity:.82;filter:grayscale(.12) saturate(.82) brightness(.92) drop-shadow(0 12px 14px rgba(48,73,39,.2))}.map-task-card.status-locked .status-lock-gate{opacity:1}.map-task-card.status-locked .map-task-label{border-color:#4b5e387a;background:linear-gradient(90deg,rgba(80,98,61,.2),transparent 16%,transparent 84%,rgba(63,79,49,.24)),linear-gradient(180deg,#b8b687,#8e9667 55%,#6d784f);box-shadow:0 8px 13px #2d3b2538,inset 0 2px #efedb766,inset 0 -3px #3d482c3d}.map-task-card.status-locked .map-task-number{background:linear-gradient(180deg,#8b9675,#5e684e)}.map-task-card.status-locked .map-task-copy strong{color:#34402b;text-shadow:0 1px 0 rgba(224,221,167,.62)}.home-style-classic .map-task-card.status-completed .status-celebration-art{top:-4%;right:-4%;bottom:-4%;left:-4%;clip-path:none;animation-name:mapCelebrationBreathe}.home-style-classic .map-task-card.status-completed .status-completed-rays-art{top:-7%;right:-7%;bottom:-7%;left:-7%;transform-origin:50% 50%;animation-name:mapRaysPulseClassic}.home-style-classic .map-task-card.status-completed .status-orbit,.home-style-classic .map-task-card.status-in_progress .status-orbit{left:9%;top:18%;width:82%;height:64%;border-width:4px;border-radius:50%;filter:blur(2px)}.home-style-classic .map-task-card.status-completed .status-orbit{box-shadow:0 0 12px 4px #fff089db,0 0 30px 10px #ffc72c85,inset 0 0 24px #fff197a6;animation-name:mapCompletedGlowClassic}.home-style-classic .map-task-card.status-in_progress .status-orbit{box-shadow:0 0 12px 4px #d8ff94cc,0 0 28px 9px #59de518a,inset 0 0 22px #c5ff8b9e;animation-name:mapActiveGlowClassic}.home-style-classic .map-task-card.status-in_progress .status-firefly{left:50%;top:49%;--firefly-radius: clamp(48px, 5.2vw, 78px);animation-name:mapFireflyOrbitClassic;animation-timing-function:linear}.home-style-classic .map-task-card.status-in_progress .firefly-one{animation-duration:5.6s!important;animation-delay:-.4s!important}.home-style-classic .map-task-card.status-in_progress .firefly-two{--firefly-radius: clamp(42px, 4.6vw, 69px);width:7px;height:7px;animation-duration:6.8s!important;animation-delay:-2.1s!important}.home-style-classic .map-task-card.status-in_progress .firefly-three{--firefly-radius: clamp(50px, 5.5vw, 83px);width:6px;height:6px;animation-duration:7.4s!important;animation-delay:-4.8s!important}.home-style-classic .map-task-card.status-in_progress .firefly-four{--firefly-radius: clamp(38px, 4.2vw, 63px);width:8px;height:8px;animation-duration:5.1s!important;animation-delay:-3.2s!important}.home-style-classic .map-task-card.status-not_started .status-mist{left:6%;top:17%;width:88%;height:68%;border-width:4px;border-radius:50%;box-shadow:0 0 18px 7px #ffffff85,inset 0 0 24px #ffffff85;filter:blur(5px);animation-name:mapMistDriftClassic}.empty-map-card{position:absolute;z-index:6;left:50%;top:50%;width:min(360px,calc(100% - 40px));display:grid;gap:8px;padding:20px;border-radius:8px;transform:translate(-50%,-50%);background:#fffcefeb;color:var(--deep);text-align:center;box-shadow:0 20px 42px #365b2a33}.empty-map-card strong,.empty-map-card span{display:block}.empty-map-card strong{font-size:24px}.empty-map-card span{color:#5f7c67;font-weight:900}.home-map-shell .garden-map .map-pet{position:absolute;z-index:7;left:var(--desktop-pet-x);top:var(--desktop-pet-y);bottom:auto;width:clamp(76px,7.5vw,112px);aspect-ratio:773 / 1205;background:url(/assets/home-map/home-pet-transparent.png) center / contain no-repeat;filter:drop-shadow(0 14px 16px rgba(42,77,38,.28));transform:translate(-50%,-36%);pointer-events:none}.home-map-shell .garden-map .map-pet.is-home{transform:translate(-50%,-30%) rotate(-2deg)}@keyframes mapTaskBreathe{0%,to{box-shadow:0 0 16px #abf35d6b,0 10px 15px #435b2633,inset 0 2px #ffe69e8f,inset 0 -3px #623a1a2e}50%{box-shadow:0 0 27px #b7ff70a8,0 12px 18px #435b2638,inset 0 2px #ffecae9e,inset 0 -3px #623a1a2e}}@keyframes mapCompletedGlow{0%,to{transform:rotate(-4deg) scale(.98);opacity:.92}50%{transform:rotate(-4deg) scale(1.04);opacity:1}}@keyframes mapCompletedGlowClassic{0%,to{transform:scale(.98);opacity:.92}50%{transform:scale(1.04);opacity:1}}@keyframes mapCelebrationBreathe{0%,to{transform:scale(.97);opacity:.9}50%{transform:scale(1.04);opacity:1}}@keyframes mapRaysPulse{0%,to{transform:translateY(45%) scaleX(.64) scaleY(.2) rotate(-2deg);opacity:.72}50%{transform:translateY(45%) scaleX(.68) scaleY(.22) rotate(2deg);opacity:.96}}@keyframes mapRaysPulseClassic{0%,to{transform:scale(.94) rotate(-2deg);opacity:.72}50%{transform:scale(1.06) rotate(2deg);opacity:.96}}@keyframes mapGrowthBreathe{0%,to{transform:translateY(1px) scale(.98)}50%{transform:translateY(-2px) scale(1.02)}}@keyframes mapActiveGlow{0%,to{transform:rotate(-4deg) scale(.98);opacity:.86}50%{transform:rotate(-4deg) scale(1.05);opacity:1}}@keyframes mapActiveGlowClassic{0%,to{transform:scale(.98);opacity:.86}50%{transform:scale(1.05);opacity:1}}@keyframes mapSunTwinkle{0%,to{transform:scale(.9);opacity:.72}50%{transform:scale(1.08);opacity:1}}@keyframes mapFireflyRise{0%,8%{transform:translate(-50%) scale(.35);opacity:0}24%{transform:translate(calc(-50% + var(--firefly-mid-x)),var(--firefly-mid-y)) scale(1);opacity:1}68%{transform:translate(calc(-50% + var(--firefly-late-x)),var(--firefly-late-y)) scale(.8);opacity:.76}to{transform:translate(calc(-50% + var(--firefly-drift-x)),var(--firefly-rise)) scale(.28);opacity:0}}@keyframes mapFireflyOrbitClassic{0%{transform:translate(-50%,-50%) rotate(0) translate(var(--firefly-radius)) scale(.55);opacity:0}16%,76%{opacity:1}to{transform:translate(-50%,-50%) rotate(360deg) translate(var(--firefly-radius)) scale(.55);opacity:0}}@keyframes mapMistDrift{0%,to{transform:rotate(-4deg) translate(-3px) scale(.98)}50%{transform:rotate(-4deg) translate(4px) scale(1.02)}}@keyframes mapMistDriftClassic{0%,to{transform:translate(-3px) scale(.98)}50%{transform:translate(4px) scale(1.02)}}@media(max-width:880px){.child-shell.home-map-shell{min-height:100dvh;overflow:hidden}.home-map-shell .garden-home{height:100dvh;min-height:0;overflow:hidden}.map-artboard{width:max(100vw,calc(100dvh * 853 / 1844));height:max(100dvh,calc(100vw * 1844 / 853))}.map-artboard:after{background:radial-gradient(circle at 22% 5%,#ffe89624,#ffe89600 27%),radial-gradient(circle at 50% 44%,#fff0,#2a5e3914),linear-gradient(180deg,#fff1b208,#2a5b3814)}.map-bg-scene{background-size:cover;background-position:center;filter:saturate(1.03) brightness(.98)}.map-wood-title{left:5.8%;top:-.2%;width:54%;aspect-ratio:470 / 230}.map-wood-title span{font-size:clamp(34px,9.4vw,43px);transform:translateY(17%)}.map-sound-button{right:3.8%;top:1.3%;width:26.5%;aspect-ratio:178 / 160;height:auto;font-size:10px}.map-sound-button svg{left:50%;top:68%;width:20%;height:20%}.map-house{left:73%;top:20.8%;width:37%}.map-task-card{left:var(--mobile-x);top:var(--mobile-y);width:clamp(116px,32vw,144px);min-height:clamp(126px,35vw,154px)}.map-status-scene{width:clamp(118px,34vw,148px);top:41%}.map-task-object,.task-characters .map-task-object,.task-pinyin .map-task-object,.task-poem .map-task-object,.task-math .map-task-object,.task-reading .map-task-object,.task-jump-rope .map-task-object,.task-writing .map-task-object{width:clamp(74px,22vw,96px)}.task-reading .map-task-object,.task-writing .map-task-object{width:clamp(82px,24vw,104px)}.map-task-label{min-width:clamp(88px,24vw,108px);min-height:34px;gap:5px;margin-top:-8px;padding:5px 8px 5px 5px;border-width:2px;border-radius:8px}.map-task-number{width:23px;height:23px;font-size:14px;box-shadow:inset 0 0 0 2px #ffffffb8}.map-task-copy strong{font-size:clamp(15px,4.4vw,18px);white-space:nowrap}.status-sparkle{width:4px;height:4px}.status-lock-gate{top:49%;width:clamp(54px,16.5vw,72px)}.map-task-card.status-not_started .status-mist{opacity:.92}.home-style-classic .map-task-card.status-not_started .status-mist{opacity:.84}.home-map-shell .garden-map .map-pet{left:var(--mobile-pet-x);top:var(--mobile-pet-y);width:clamp(42px,12.5vw,56px);transform:translate(-50%,-36%)}}@media(prefers-reduced-motion:reduce){.map-task-card.status-in_progress .map-task-label,.map-task-card.status-completed .status-celebration-art,.map-task-card.status-completed .status-completed-rays-art,.map-task-card.status-not_started .status-growth-art,.status-orbit,.status-mist,.status-sparkle,.status-firefly{animation:none}}
